@fern-api/fdr-sdk 0.139.20-acfba7d42 → 0.139.21-81d4fdb7d

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 (30) hide show
  1. package/dist/js/client/FdrClient.js +2 -0
  2. package/dist/js/client/FdrClient.js.map +1 -1
  3. package/dist/js/client/FdrClient.mjs +2 -0
  4. package/dist/js/client/FdrClient.mjs.map +1 -1
  5. package/dist/js/index.js +6 -2
  6. package/dist/js/index.js.map +1 -1
  7. package/dist/js/index.mjs +6 -2
  8. package/dist/js/index.mjs.map +1 -1
  9. package/dist/tsconfig.tsbuildinfo +1 -1
  10. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/PageActionsConfig.d.ts +12 -0
  11. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/PageActionsConfig.d.ts.map +1 -0
  12. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/index.d.ts +1 -0
  13. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/index.d.ts.map +1 -1
  14. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/db/types/DocsDbConfig.d.ts +1 -0
  15. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/db/types/DocsDbConfig.d.ts.map +1 -1
  16. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/read/types/DocsConfig.d.ts +1 -0
  17. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/read/types/DocsConfig.d.ts.map +1 -1
  18. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/write/client/Client.d.ts +1 -0
  19. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/write/client/Client.d.ts.map +1 -1
  20. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/write/client/requests/RegisterDocsRequest.d.ts +1 -0
  21. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/write/client/requests/RegisterDocsRequest.d.ts.map +1 -1
  22. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/write/types/DocsConfig.d.ts +1 -0
  23. package/dist/types/client/generated/api/resources/docs/resources/v1/resources/write/types/DocsConfig.d.ts.map +1 -1
  24. package/dist/types/client/generated/api/resources/docs/resources/v2/resources/write/client/Client.d.ts +1 -0
  25. package/dist/types/client/generated/api/resources/docs/resources/v2/resources/write/client/Client.d.ts.map +1 -1
  26. package/dist/types/client/generated/api/resources/docs/resources/v2/resources/write/client/requests/RegisterDocsRequest.d.ts +1 -0
  27. package/dist/types/client/generated/api/resources/docs/resources/v2/resources/write/client/requests/RegisterDocsRequest.d.ts.map +1 -1
  28. package/dist/types/converters/db/convertDocsDefinitionToDb.d.ts.map +1 -1
  29. package/dist/types/converters/read/convertDbDocsConfigToRead.d.ts.map +1 -1
  30. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/client/FdrClient.ts","../../../src/client/generated/api/resources/api/index.ts","../../../src/client/generated/api/resources/api/resources/latest/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/auth/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/auth/types/AuthSchemeId.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/commons/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/endpoint/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/type/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/type/types/ObjectPropertyAccess.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/webhook/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/webhook/types/WebhookHttpMethod.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/websocket/index.ts","../../../src/client/generated/api/resources/api/resources/latest/client/getApiLatest.ts","../../../src/client/generated/api/resources/api/resources/v1/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/db/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/db/resources/endpoint/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/endpoint/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/endpoint/types/SupportedLanguage.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/type/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/type/types/ObjectPropertyAccess.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/webhook/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/websocket/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/client/getApi.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/types/SourceId.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/endpoint/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/type/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/type/types/ObjectPropertyAccess.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/webhook/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/websocket/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/client/registerApiDefinition.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/types/SubpackageId.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/types/WebSocketMessageId.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/types/WebSocketMessageOrigin.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/types/WebhookHttpMethod.ts","../../../src/client/generated/api/resources/dashboard/index.ts","../../../src/client/generated/api/resources/dashboard/client/getDocsSitesForOrg.ts","../../../src/client/generated/api/resources/docs/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/commons/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/frontmatter/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/frontmatter/types/Layout.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/seo/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/seo/types/TwitterCardSetting.ts","../../../src/client/generated/api/resources/docs/resources/v1/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/db/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/read/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/read/client/getDocsForDomainLegacy.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/read/client/getDocsForDomain.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/types/FilePath.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/types/DocsRegistrationId.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/client/startDocsRegister.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/client/finishDocsRegister.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/AiModel.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/ProgrammingLanguage.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/SearchbarPlacement.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/TabsPlacement.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/ContentAlignment.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/HeaderPosition.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/TwitterCardSetting.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/JsScriptStrategy.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/FontStyle.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/FontDisplay.ts","../../../src/client/generated/api/resources/docs/resources/v2/index.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/index.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getOrganizationForUrl.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getDocsUrlMetadata.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getDocsForUrl.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getPrivateDocsForUrl.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/listAllDocsUrls.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getDocsConfigById.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/prepopulateFdrReadS3Bucket.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/index.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/startDocsRegister.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/startDocsPreviewRegister.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/finishDocsRegister.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/transferOwnershipOfDomain.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/setIsArchived.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/setDocsUrlMetadata.ts","../../../src/client/generated/api/resources/generators/index.ts","../../../src/client/generated/api/resources/generators/types/GeneratorId.ts","../../../src/client/generated/api/resources/generators/types/GeneratorLanguage.ts","../../../src/client/generated/api/resources/generators/resources/cli/index.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/getLatestCliRelease.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/getChangelog.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/getMinCliForIr.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/upsertCliRelease.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/getCliRelease.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/listCliReleases.ts","../../../src/client/generated/api/resources/generators/resources/commons/index.ts","../../../src/client/generated/api/resources/generators/resources/commons/types/ChangelogEntryType.ts","../../../src/client/generated/api/resources/generators/resources/commons/types/ReleaseType.ts","../../../src/client/generated/api/resources/generators/resources/versions/index.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/getLatestGeneratorRelease.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/getChangelog.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/upsertGeneratorRelease.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/getGeneratorRelease.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/listGeneratorReleases.ts","../../../src/client/generated/api/resources/generators/client/upsertGenerator.ts","../../../src/client/generated/api/resources/generators/client/getGeneratorByImage.ts","../../../src/client/generated/api/resources/generators/client/getGenerator.ts","../../../src/client/generated/api/resources/generators/client/listGenerators.ts","../../../src/client/generated/api/resources/diff/index.ts","../../../src/client/generated/api/resources/diff/client/diff.ts","../../../src/client/generated/api/resources/git/index.ts","../../../src/client/generated/api/resources/git/types/PullRequestState.ts","../../../src/client/generated/api/resources/git/client/getRepository.ts","../../../src/client/generated/api/resources/git/client/listRepositories.ts","../../../src/client/generated/api/resources/git/client/upsertRepository.ts","../../../src/client/generated/api/resources/git/client/deleteRepository.ts","../../../src/client/generated/api/resources/git/client/getPullRequest.ts","../../../src/client/generated/api/resources/git/client/listPullRequests.ts","../../../src/client/generated/api/resources/git/client/upsertPullRequest.ts","../../../src/client/generated/api/resources/git/client/deletePullRequest.ts","../../../src/client/generated/api/resources/sdks/index.ts","../../../src/client/generated/api/resources/sdks/resources/versions/index.ts","../../../src/client/generated/api/resources/sdks/resources/versions/types/Language.ts","../../../src/client/generated/api/resources/sdks/resources/versions/types/VersionBump.ts","../../../src/client/generated/api/resources/sdks/resources/versions/client/computeSemanticVersion.ts","../../../src/client/generated/api/resources/snippetsFactory/index.ts","../../../src/client/generated/api/resources/snippetsFactory/client/createSnippetsForSdk.ts","../../../src/client/generated/api/resources/snippets/index.ts","../../../src/client/generated/api/resources/snippets/client/get.ts","../../../src/client/generated/api/resources/snippets/client/load.ts","../../../src/client/generated/api/resources/templates/index.ts","../../../src/client/generated/api/resources/templates/types/PayloadLocation.ts","../../../src/client/generated/api/resources/templates/client/register.ts","../../../src/client/generated/api/resources/templates/client/registerBatch.ts","../../../src/client/generated/api/resources/templates/client/get.ts","../../../src/client/generated/api/resources/tokens/index.ts","../../../src/client/generated/api/resources/tokens/client/generate.ts","../../../src/client/generated/api/resources/tokens/client/revoke.ts","../../../src/client/generated/api/resources/docsCache/index.ts","../../../src/client/generated/api/resources/docsCache/client/invalidate.ts","../../../src/client/generated/environments.ts","../../../src/client/generated/core/json.ts","../../../src/client/generated/core/fetcher/RawResponse.ts","../../../src/client/generated/core/fetcher/createRequestUrl.ts","../../../src/client/generated/core/runtime/runtime.ts","../../../src/client/generated/core/fetcher/getFetchFn.ts","../../../src/client/generated/core/fetcher/getRequestBody.ts","../../../src/client/generated/core/fetcher/getResponseBody.ts","../../../src/client/generated/core/fetcher/signals.ts","../../../src/client/generated/core/fetcher/makeRequest.ts","../../../src/client/generated/core/fetcher/requestWithRetries.ts","../../../src/client/generated/core/fetcher/Fetcher.ts","../../../src/client/generated/core/fetcher/Supplier.ts","../../../src/client/generated/core/fetcher/HttpResponsePromise.ts","../../../src/client/generated/api/resources/api/resources/latest/client/Client.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/client/Client.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/client/Client.ts","../../../src/client/generated/api/resources/api/resources/v1/client/Client.ts","../../../src/client/generated/api/resources/api/client/Client.ts","../../../src/client/generated/api/resources/dashboard/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/read/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v1/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v2/client/Client.ts","../../../src/client/generated/api/resources/docs/client/Client.ts","../../../src/client/generated/api/resources/generators/client/Client.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/Client.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/Client.ts","../../../src/client/generated/api/resources/diff/client/Client.ts","../../../src/client/generated/api/resources/docsCache/client/Client.ts","../../../src/client/generated/api/resources/git/client/Client.ts","../../../src/client/generated/api/resources/sdks/resources/versions/client/Client.ts","../../../src/client/generated/api/resources/sdks/client/Client.ts","../../../src/client/generated/api/resources/snippetsFactory/client/Client.ts","../../../src/client/generated/api/resources/snippets/client/Client.ts","../../../src/client/generated/api/resources/templates/client/Client.ts","../../../src/client/generated/api/resources/tokens/client/Client.ts","../../../src/client/generated/Client.ts"],"sourcesContent":["export { FernRegistryClient as FdrClient } from \"./generated\";\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type AuthSchemeId = string & {\n api_latest_AuthSchemeId: void;\n};\n\nexport function AuthSchemeId(value: string): FernRegistry.api.latest.AuthSchemeId {\n return value as unknown as FernRegistry.api.latest.AuthSchemeId;\n}\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ObjectPropertyAccess = \"READ_ONLY\" | \"WRITE_ONLY\";\nexport const ObjectPropertyAccess = {\n ReadOnly: \"READ_ONLY\",\n WriteOnly: \"WRITE_ONLY\",\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type WebhookHttpMethod = \"GET\" | \"POST\";\nexport const WebhookHttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.api.latest.getApiLatest.Error.UnauthorizedError\n | FernRegistry.api.latest.getApiLatest.Error.ApiDoesNotExistError\n | FernRegistry.api.latest.getApiLatest.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface ApiDoesNotExistError {\n error: \"ApiDoesNotExistError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n apiDoesNotExistError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.api.latest.getApiLatest.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n apiDoesNotExistError: (): FernRegistry.api.latest.getApiLatest.Error.ApiDoesNotExistError => {\n return {\n error: \"ApiDoesNotExistError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.api.latest.getApiLatest.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.api.latest.getApiLatest.Error,\n visitor: FernRegistry.api.latest.getApiLatest.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"ApiDoesNotExistError\":\n return visitor.apiDoesNotExistError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type SupportedLanguage =\n | \"curl\"\n | \"python\"\n | \"javascript\"\n | \"js\"\n | \"node\"\n | \"typescript\"\n | \"ts\"\n | \"go\"\n | \"ruby\"\n | \"csharp\"\n | \"php\"\n | \"swift\";\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} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ObjectPropertyAccess = \"READ_ONLY\" | \"WRITE_ONLY\";\nexport const ObjectPropertyAccess = {\n ReadOnly: \"READ_ONLY\",\n WriteOnly: \"WRITE_ONLY\",\n} as const;\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.api.v1.read.getApi.Error.UnauthorizedError\n | FernRegistry.api.v1.read.getApi.Error.ApiDoesNotExistError\n | FernRegistry.api.v1.read.getApi.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface ApiDoesNotExistError {\n error: \"ApiDoesNotExistError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n apiDoesNotExistError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.api.v1.read.getApi.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n apiDoesNotExistError: (): FernRegistry.api.v1.read.getApi.Error.ApiDoesNotExistError => {\n return {\n error: \"ApiDoesNotExistError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.api.v1.read.getApi.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.api.v1.read.getApi.Error,\n visitor: FernRegistry.api.v1.read.getApi.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"ApiDoesNotExistError\":\n return visitor.apiDoesNotExistError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type SourceId = string & {\n api_v1_register_SourceId: void;\n};\n\nexport function SourceId(value: string): FernRegistry.api.v1.register.SourceId {\n return value as unknown as FernRegistry.api.v1.register.SourceId;\n}\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ObjectPropertyAccess = \"READ_ONLY\" | \"WRITE_ONLY\";\nexport const ObjectPropertyAccess = {\n ReadOnly: \"READ_ONLY\",\n WriteOnly: \"WRITE_ONLY\",\n} as const;\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.api.v1.register.registerApiDefinition.Error.UnauthorizedError\n | FernRegistry.api.v1.register.registerApiDefinition.Error.UserNotInOrgError\n | FernRegistry.api.v1.register.registerApiDefinition.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.api.v1.register.registerApiDefinition.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.api.v1.register.registerApiDefinition.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.api.v1.register.registerApiDefinition.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.api.v1.register.registerApiDefinition.Error,\n visitor: FernRegistry.api.v1.register.registerApiDefinition.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type SubpackageId = string & {\n api_v1_SubpackageId: void;\n};\n\nexport function SubpackageId(value: string): FernRegistry.api.v1.SubpackageId {\n return value as unknown as FernRegistry.api.v1.SubpackageId;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type WebSocketMessageId = string & {\n api_v1_WebSocketMessageId: void;\n};\n\nexport function WebSocketMessageId(value: string): FernRegistry.api.v1.WebSocketMessageId {\n return value as unknown as FernRegistry.api.v1.WebSocketMessageId;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type WebSocketMessageOrigin = \"client\" | \"server\";\nexport const WebSocketMessageOrigin = {\n Client: \"client\",\n Server: \"server\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type WebhookHttpMethod = \"GET\" | \"POST\";\nexport const WebhookHttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.dashboard.getDocsSitesForOrg.Error.UnauthorizedError\n | FernRegistry.dashboard.getDocsSitesForOrg.Error.UserNotInOrgError\n | FernRegistry.dashboard.getDocsSitesForOrg.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.dashboard.getDocsSitesForOrg.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.dashboard.getDocsSitesForOrg.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.dashboard.getDocsSitesForOrg.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.dashboard.getDocsSitesForOrg.Error,\n visitor: FernRegistry.dashboard.getDocsSitesForOrg.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type Layout =\n /**\n * Guides are typically long-form content, and are designed for readability. */\n | \"guide\"\n /**\n * Overview pages are typically meant to be a landing page for a section of the documentation.\n * These pages are 50% wider than guide pages, but the table of contents is still visible. */\n | \"overview\"\n /**\n * Reference pages are best used for API docs or other material that is meant to have a right-hand column.\n * This layout is not recommended for long-form content because they are 2x the width of guide pages and can be difficult to read.\n * Using an <Aside> component is recommended. It will generate a sticky right-hand column for the page, which is useful for code snippets.\n * <Aside> component is not available in guides and overview, and will automatically cause the layout to switch to reference.\n * Note: Table of contents are always hidden on reference pages. */\n | \"reference\"\n /**\n * The layout used for full-width pages. This is useful for landing pages or other custom layouts.\n * Both the navigation sidebar and the table of contents are hidden.\n * The content will take up the full width of the page-width container, which is set by docs.yml. */\n | \"page\"\n /**\n * This layout takes over 100% of the viewport width, below the header.\n * Unlike PageLayout, the content will not be constrained to the page-width container, and does not render any padding. */\n | \"custom\";\nexport const Layout = {\n Guide: \"guide\",\n Overview: \"overview\",\n Reference: \"reference\",\n Page: \"page\",\n Custom: \"custom\",\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type TwitterCardSetting = \"summary\" | \"summary_large_image\" | \"app\" | \"player\";\nexport const TwitterCardSetting = {\n Summary: \"summary\",\n SummaryLargeImage: \"summary_large_image\",\n App: \"app\",\n Player: \"player\",\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error.UnauthorizedError\n | FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error.DomainNotRegisteredError\n | FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n domainNotRegisteredError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n domainNotRegisteredError: (): FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error,\n visitor: FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v1.read.getDocsForDomain.Error.UnauthorizedError\n | FernRegistry.docs.v1.read.getDocsForDomain.Error.DomainNotRegisteredError\n | FernRegistry.docs.v1.read.getDocsForDomain.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n domainNotRegisteredError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v1.read.getDocsForDomain.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n domainNotRegisteredError: (): FernRegistry.docs.v1.read.getDocsForDomain.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v1.read.getDocsForDomain.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v1.read.getDocsForDomain.Error,\n visitor: FernRegistry.docs.v1.read.getDocsForDomain.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\n/**\n * Each string is a unique key for the file. You can use the filepath as a key.\n */\nexport type FilePath = string & {\n docs_v1_write_FilePath: void;\n};\n\nexport function FilePath(value: string): FernRegistry.docs.v1.write.FilePath {\n return value as unknown as FernRegistry.docs.v1.write.FilePath;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type DocsRegistrationId = string & {\n docs_v1_write_DocsRegistrationId: void;\n};\n\nexport function DocsRegistrationId(value: string): FernRegistry.docs.v1.write.DocsRegistrationId {\n return value as unknown as FernRegistry.docs.v1.write.DocsRegistrationId;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.docs.v1.write.startDocsRegister.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v1.write.startDocsRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v1.write.startDocsRegister.Error,\n visitor: FernRegistry.docs.v1.write.startDocsRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v1.write.finishDocsRegister.Error.UnauthorizedError\n | FernRegistry.docs.v1.write.finishDocsRegister.Error.UserNotInOrgError\n | FernRegistry.docs.v1.write.finishDocsRegister.Error.DocsRegistrationIdNotFound\n | FernRegistry.docs.v1.write.finishDocsRegister.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface DocsRegistrationIdNotFound {\n error: \"DocsRegistrationIdNotFound\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n docsRegistrationIdNotFound: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v1.write.finishDocsRegister.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.docs.v1.write.finishDocsRegister.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n docsRegistrationIdNotFound: (): FernRegistry.docs.v1.write.finishDocsRegister.Error.DocsRegistrationIdNotFound => {\n return {\n error: \"DocsRegistrationIdNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v1.write.finishDocsRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v1.write.finishDocsRegister.Error,\n visitor: FernRegistry.docs.v1.write.finishDocsRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"DocsRegistrationIdNotFound\":\n return visitor.docsRegistrationIdNotFound();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./resources/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type AiModel = \"claude-3.5\" | \"claude-3.7\" | \"claude-4\" | \"command-a\";\nexport const AiModel = {\n Claude35: \"claude-3.5\",\n Claude37: \"claude-3.7\",\n Claude4: \"claude-4\",\n CommandA: \"command-a\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ProgrammingLanguage =\n | \"typescript\"\n | \"javascript\"\n | \"python\"\n | \"java\"\n | \"go\"\n | \"ruby\"\n | \"csharp\"\n | \"php\"\n | \"swift\"\n | \"nodets\"\n | \"nodejs\"\n | \"dotnet\"\n | \"curl\"\n | \"jvm\"\n | \"ts\"\n | \"js\";\nexport const ProgrammingLanguage = {\n Typescript: \"typescript\",\n Javascript: \"javascript\",\n Python: \"python\",\n Java: \"java\",\n Go: \"go\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Php: \"php\",\n Swift: \"swift\",\n Nodets: \"nodets\",\n Nodejs: \"nodejs\",\n Dotnet: \"dotnet\",\n Curl: \"curl\",\n Jvm: \"jvm\",\n Ts: \"ts\",\n Js: \"js\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type SearchbarPlacement = \"HEADER\" | \"HEADER_TABS\" | \"SIDEBAR\";\nexport const SearchbarPlacement = {\n Header: \"HEADER\",\n HeaderTabs: \"HEADER_TABS\",\n Sidebar: \"SIDEBAR\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type TabsPlacement = \"HEADER\" | \"SIDEBAR\";\nexport const TabsPlacement = {\n Header: \"HEADER\",\n Sidebar: \"SIDEBAR\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ContentAlignment = \"CENTER\" | \"LEFT\";\nexport const ContentAlignment = {\n Center: \"CENTER\",\n Left: \"LEFT\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type HeaderPosition = \"FIXED\" | \"ABSOLUTE\";\nexport const HeaderPosition = {\n Fixed: \"FIXED\",\n Absolute: \"ABSOLUTE\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type TwitterCardSetting = \"summary\" | \"summary_large_image\" | \"app\" | \"player\";\nexport const TwitterCardSetting = {\n Summary: \"summary\",\n SummaryLargeImage: \"summary_large_image\",\n App: \"app\",\n Player: \"player\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type JsScriptStrategy = \"beforeInteractive\" | \"afterInteractive\" | \"lazyOnload\";\nexport const JsScriptStrategy = {\n BeforeInteractive: \"beforeInteractive\",\n AfterInteractive: \"afterInteractive\",\n LazyOnload: \"lazyOnload\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type FontStyle = \"normal\" | \"italic\";\nexport const FontStyle = {\n Normal: \"normal\",\n Italic: \"italic\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type FontDisplay = \"auto\" | \"block\" | \"swap\" | \"fallback\" | \"optional\";\nexport const FontDisplay = {\n Auto: \"auto\",\n Block: \"block\",\n Swap: \"swap\",\n Fallback: \"fallback\",\n Optional: \"optional\",\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getOrganizationForUrl.Error.DomainNotRegisteredError\n | FernRegistry.docs.v2.read.getOrganizationForUrl.Error._Unknown;\n\nexport namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n domainNotRegisteredError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n domainNotRegisteredError: (): FernRegistry.docs.v2.read.getOrganizationForUrl.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getOrganizationForUrl.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getOrganizationForUrl.Error,\n visitor: FernRegistry.docs.v2.read.getOrganizationForUrl.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getDocsUrlMetadata.Error.DomainNotRegisteredError\n | FernRegistry.docs.v2.read.getDocsUrlMetadata.Error._Unknown;\n\nexport namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n domainNotRegisteredError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n domainNotRegisteredError: (): FernRegistry.docs.v2.read.getDocsUrlMetadata.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getDocsUrlMetadata.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getDocsUrlMetadata.Error,\n visitor: FernRegistry.docs.v2.read.getDocsUrlMetadata.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getDocsForUrl.Error.DomainNotRegisteredError\n | FernRegistry.docs.v2.read.getDocsForUrl.Error.UnauthorizedError\n | FernRegistry.docs.v2.read.getDocsForUrl.Error._Unknown;\n\nexport namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n domainNotRegisteredError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n domainNotRegisteredError: (): FernRegistry.docs.v2.read.getDocsForUrl.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n unauthorizedError: (value: string): FernRegistry.docs.v2.read.getDocsForUrl.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getDocsForUrl.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getDocsForUrl.Error,\n visitor: FernRegistry.docs.v2.read.getDocsForUrl.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error.DomainNotRegisteredError\n | FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error.UnauthorizedError\n | FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error._Unknown;\n\nexport namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n domainNotRegisteredError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n domainNotRegisteredError: (): FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n unauthorizedError: (value: string): FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error,\n visitor: FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.listAllDocsUrls.Error.UnauthorizedError\n | FernRegistry.docs.v2.read.listAllDocsUrls.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v2.read.listAllDocsUrls.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.listAllDocsUrls.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.listAllDocsUrls.Error,\n visitor: FernRegistry.docs.v2.read.listAllDocsUrls.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getDocsConfigById.Error.DocsDefinitionNotFoundError\n | FernRegistry.docs.v2.read.getDocsConfigById.Error._Unknown;\n\nexport namespace Error {\n export interface DocsDefinitionNotFoundError {\n error: \"DocsDefinitionNotFoundError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n docsDefinitionNotFoundError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n docsDefinitionNotFoundError: (): FernRegistry.docs.v2.read.getDocsConfigById.Error.DocsDefinitionNotFoundError => {\n return {\n error: \"DocsDefinitionNotFoundError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getDocsConfigById.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getDocsConfigById.Error,\n visitor: FernRegistry.docs.v2.read.getDocsConfigById.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DocsDefinitionNotFoundError\":\n return visitor.docsDefinitionNotFoundError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error,\n visitor: FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.startDocsRegister.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.UnavailableError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.UserNotInOrgError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidDomainError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidCustomDomainError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.DomainBelongsToAnotherOrgError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidUrlError\n | FernRegistry.docs.v2.write.startDocsRegister.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UnavailableError {\n error: \"UnavailableError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface InvalidDomainError {\n error: \"InvalidDomainError\";\n }\n\n export interface InvalidCustomDomainError {\n error: \"InvalidCustomDomainError\";\n }\n\n export interface DomainBelongsToAnotherOrgError {\n error: \"DomainBelongsToAnotherOrgError\";\n content: string;\n }\n\n export interface InvalidUrlError {\n error: \"InvalidURLError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n unavailableError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n invalidDomainError: () => _Result;\n invalidCustomDomainError: () => _Result;\n domainBelongsToAnotherOrgError: (value: string) => _Result;\n invalidUrlError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.startDocsRegister.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n unavailableError: (value: string): FernRegistry.docs.v2.write.startDocsRegister.Error.UnavailableError => {\n return {\n content: value,\n error: \"UnavailableError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.docs.v2.write.startDocsRegister.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n invalidDomainError: (): FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidDomainError => {\n return {\n error: \"InvalidDomainError\",\n };\n },\n\n invalidCustomDomainError: (): FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidCustomDomainError => {\n return {\n error: \"InvalidCustomDomainError\",\n };\n },\n\n domainBelongsToAnotherOrgError: (\n value: string,\n ): FernRegistry.docs.v2.write.startDocsRegister.Error.DomainBelongsToAnotherOrgError => {\n return {\n content: value,\n error: \"DomainBelongsToAnotherOrgError\",\n };\n },\n\n invalidUrlError: (value: string): FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidUrlError => {\n return {\n content: value,\n error: \"InvalidURLError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.write.startDocsRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.startDocsRegister.Error,\n visitor: FernRegistry.docs.v2.write.startDocsRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UnavailableError\":\n return visitor.unavailableError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"InvalidDomainError\":\n return visitor.invalidDomainError();\n case \"InvalidCustomDomainError\":\n return visitor.invalidCustomDomainError();\n case \"DomainBelongsToAnotherOrgError\":\n return visitor.domainBelongsToAnotherOrgError(value.content);\n case \"InvalidURLError\":\n return visitor.invalidUrlError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UnavailableError\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UserNotInOrgError\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.InvalidDomainError\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UnavailableError {\n error: \"UnavailableError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface InvalidDomainError {\n error: \"InvalidDomainError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n unavailableError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n invalidDomainError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n unavailableError: (value: string): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UnavailableError => {\n return {\n content: value,\n error: \"UnavailableError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n invalidDomainError: (): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.InvalidDomainError => {\n return {\n error: \"InvalidDomainError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.startDocsPreviewRegister.Error,\n visitor: FernRegistry.docs.v2.write.startDocsPreviewRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UnavailableError\":\n return visitor.unavailableError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"InvalidDomainError\":\n return visitor.invalidDomainError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.finishDocsRegister.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.finishDocsRegister.Error.UserNotInOrgError\n | FernRegistry.docs.v2.write.finishDocsRegister.Error.DocsRegistrationIdNotFound\n | FernRegistry.docs.v2.write.finishDocsRegister.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface DocsRegistrationIdNotFound {\n error: \"DocsRegistrationIdNotFound\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n docsRegistrationIdNotFound: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.finishDocsRegister.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.docs.v2.write.finishDocsRegister.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n docsRegistrationIdNotFound: (): FernRegistry.docs.v2.write.finishDocsRegister.Error.DocsRegistrationIdNotFound => {\n return {\n error: \"DocsRegistrationIdNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.write.finishDocsRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.finishDocsRegister.Error,\n visitor: FernRegistry.docs.v2.write.finishDocsRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"DocsRegistrationIdNotFound\":\n return visitor.docsRegistrationIdNotFound();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error.DocsNotFoundError\n | FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error._Unknown;\n\nexport namespace Error {\n export interface DocsNotFoundError {\n error: \"DocsNotFoundError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n docsNotFoundError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n docsNotFoundError: (): FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error.DocsNotFoundError => {\n return {\n error: \"DocsNotFoundError\",\n };\n },\n\n unauthorizedError: (\n value: string,\n ): FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error,\n visitor: FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DocsNotFoundError\":\n return visitor.docsNotFoundError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.setIsArchived.Error.DocsNotFoundError\n | FernRegistry.docs.v2.write.setIsArchived.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.setIsArchived.Error._Unknown;\n\nexport namespace Error {\n export interface DocsNotFoundError {\n error: \"DocsNotFoundError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n docsNotFoundError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n docsNotFoundError: (): FernRegistry.docs.v2.write.setIsArchived.Error.DocsNotFoundError => {\n return {\n error: \"DocsNotFoundError\",\n };\n },\n\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.setIsArchived.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.write.setIsArchived.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.setIsArchived.Error,\n visitor: FernRegistry.docs.v2.write.setIsArchived.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DocsNotFoundError\":\n return visitor.docsNotFoundError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.setDocsUrlMetadata.Error.DocsNotFoundError\n | FernRegistry.docs.v2.write.setDocsUrlMetadata.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.setDocsUrlMetadata.Error._Unknown;\n\nexport namespace Error {\n export interface DocsNotFoundError {\n error: \"DocsNotFoundError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n docsNotFoundError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n docsNotFoundError: (): FernRegistry.docs.v2.write.setDocsUrlMetadata.Error.DocsNotFoundError => {\n return {\n error: \"DocsNotFoundError\",\n };\n },\n\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.setDocsUrlMetadata.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.write.setDocsUrlMetadata.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.setDocsUrlMetadata.Error,\n visitor: FernRegistry.docs.v2.write.setDocsUrlMetadata.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DocsNotFoundError\":\n return visitor.docsNotFoundError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\n\n/**\n * The type of the generator, e.g. fern-python-sdk\n */\nexport type GeneratorId = string & {\n generators_GeneratorId: void;\n};\n\nexport function GeneratorId(value: string): FernRegistry.generators.GeneratorId {\n return value as unknown as FernRegistry.generators.GeneratorId;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type GeneratorLanguage = \"python\" | \"go\" | \"java\" | \"typescript\" | \"ruby\" | \"csharp\" | \"php\" | \"swift\" | \"rust\";\nexport const GeneratorLanguage = {\n Python: \"python\",\n Go: \"go\",\n Java: \"java\",\n Typescript: \"typescript\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Php: \"php\",\n Swift: \"swift\",\n Rust: \"rust\",\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.cli.getLatestCliRelease.Error.NoValidClisFoundError\n | FernRegistry.generators.cli.getLatestCliRelease.Error._Unknown;\n\nexport namespace Error {\n export interface NoValidClisFoundError {\n error: \"NoValidClisFoundError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n noValidClisFoundError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n noValidClisFoundError: (): FernRegistry.generators.cli.getLatestCliRelease.Error.NoValidClisFoundError => {\n return {\n error: \"NoValidClisFoundError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.getLatestCliRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.getLatestCliRelease.Error,\n visitor: FernRegistry.generators.cli.getLatestCliRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"NoValidClisFoundError\":\n return visitor.noValidClisFoundError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.cli.getChangelog.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.getChangelog.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.getChangelog.Error,\n visitor: FernRegistry.generators.cli.getChangelog.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.cli.getMinCliForIr.Error.NoValidClisFoundError\n | FernRegistry.generators.cli.getMinCliForIr.Error._Unknown;\n\nexport namespace Error {\n export interface NoValidClisFoundError {\n error: \"NoValidClisFoundError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n noValidClisFoundError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n noValidClisFoundError: (): FernRegistry.generators.cli.getMinCliForIr.Error.NoValidClisFoundError => {\n return {\n error: \"NoValidClisFoundError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.getMinCliForIr.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.getMinCliForIr.Error,\n visitor: FernRegistry.generators.cli.getMinCliForIr.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"NoValidClisFoundError\":\n return visitor.noValidClisFoundError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.cli.upsertCliRelease.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.upsertCliRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.upsertCliRelease.Error,\n visitor: FernRegistry.generators.cli.upsertCliRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.cli.getCliRelease.Error.CliVersionNotFoundError\n | FernRegistry.generators.cli.getCliRelease.Error._Unknown;\n\nexport namespace Error {\n export interface CliVersionNotFoundError {\n error: \"CliVersionNotFoundError\";\n content: FernRegistry.generators.InvalidVersionErrorMessage;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n cliVersionNotFoundError: (value: FernRegistry.generators.InvalidVersionErrorMessage) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n cliVersionNotFoundError: (\n value: FernRegistry.generators.InvalidVersionErrorMessage,\n ): FernRegistry.generators.cli.getCliRelease.Error.CliVersionNotFoundError => {\n return {\n content: value,\n error: \"CliVersionNotFoundError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.getCliRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.getCliRelease.Error,\n visitor: FernRegistry.generators.cli.getCliRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"CliVersionNotFoundError\":\n return visitor.cliVersionNotFoundError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.cli.listCliReleases.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.listCliReleases.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.listCliReleases.Error,\n visitor: FernRegistry.generators.cli.listCliReleases.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\n/**\n * Following `conventional commit` types for the entries here.\n */\nexport type ChangelogEntryType = \"fix\" | \"feat\" | \"chore\" | \"break\" | \"internal\";\nexport const ChangelogEntryType = {\n Fix: \"fix\",\n Feat: \"feat\",\n Chore: \"chore\",\n Break: \"break\",\n Internal: \"internal\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ReleaseType = \"GA\" | \"RC\";\nexport const ReleaseType = {\n Ga: \"GA\",\n Rc: \"RC\",\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.versions.getLatestGeneratorRelease.Error.NoValidGeneratorsFoundError\n | FernRegistry.generators.versions.getLatestGeneratorRelease.Error._Unknown;\n\nexport namespace Error {\n export interface NoValidGeneratorsFoundError {\n error: \"NoValidGeneratorsFoundError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n noValidGeneratorsFoundError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n noValidGeneratorsFoundError:\n (): FernRegistry.generators.versions.getLatestGeneratorRelease.Error.NoValidGeneratorsFoundError => {\n return {\n error: \"NoValidGeneratorsFoundError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.generators.versions.getLatestGeneratorRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.getLatestGeneratorRelease.Error,\n visitor: FernRegistry.generators.versions.getLatestGeneratorRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"NoValidGeneratorsFoundError\":\n return visitor.noValidGeneratorsFoundError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.versions.getChangelog.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.versions.getChangelog.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.getChangelog.Error,\n visitor: FernRegistry.generators.versions.getChangelog.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.versions.upsertGeneratorRelease.Error.InvalidVersionError\n | FernRegistry.generators.versions.upsertGeneratorRelease.Error._Unknown;\n\nexport namespace Error {\n export interface InvalidVersionError {\n error: \"InvalidVersionError\";\n content: FernRegistry.generators.InvalidVersionErrorMessage;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n invalidVersionError: (value: FernRegistry.generators.InvalidVersionErrorMessage) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n invalidVersionError: (\n value: FernRegistry.generators.InvalidVersionErrorMessage,\n ): FernRegistry.generators.versions.upsertGeneratorRelease.Error.InvalidVersionError => {\n return {\n content: value,\n error: \"InvalidVersionError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.generators.versions.upsertGeneratorRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.upsertGeneratorRelease.Error,\n visitor: FernRegistry.generators.versions.upsertGeneratorRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"InvalidVersionError\":\n return visitor.invalidVersionError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.versions.getGeneratorRelease.Error.GeneratorVersionNotFoundError\n | FernRegistry.generators.versions.getGeneratorRelease.Error._Unknown;\n\nexport namespace Error {\n export interface GeneratorVersionNotFoundError {\n error: \"GeneratorVersionNotFoundError\";\n content: FernRegistry.generators.InvalidVersionErrorMessage;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n generatorVersionNotFoundError: (value: FernRegistry.generators.InvalidVersionErrorMessage) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n generatorVersionNotFoundError: (\n value: FernRegistry.generators.InvalidVersionErrorMessage,\n ): FernRegistry.generators.versions.getGeneratorRelease.Error.GeneratorVersionNotFoundError => {\n return {\n content: value,\n error: \"GeneratorVersionNotFoundError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.generators.versions.getGeneratorRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.getGeneratorRelease.Error,\n visitor: FernRegistry.generators.versions.getGeneratorRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"GeneratorVersionNotFoundError\":\n return visitor.generatorVersionNotFoundError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.versions.listGeneratorReleases.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.generators.versions.listGeneratorReleases.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.listGeneratorReleases.Error,\n visitor: FernRegistry.generators.versions.listGeneratorReleases.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.upsertGenerator.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.upsertGenerator.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.upsertGenerator.Error,\n visitor: FernRegistry.generators.upsertGenerator.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.getGeneratorByImage.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.getGeneratorByImage.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.getGeneratorByImage.Error,\n visitor: FernRegistry.generators.getGeneratorByImage.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.getGenerator.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.getGenerator.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.getGenerator.Error,\n visitor: FernRegistry.generators.getGenerator.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.listGenerators.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.listGenerators.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.listGenerators.Error,\n visitor: FernRegistry.generators.listGenerators.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.diff.diff.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.diff.diff.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.diff.diff.Error,\n visitor: FernRegistry.diff.diff.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type PullRequestState = \"open\" | \"closed\" | \"merged\";\nexport const PullRequestState = {\n Open: \"open\",\n Closed: \"closed\",\n Merged: \"merged\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.getRepository.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.getRepository.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.getRepository.Error,\n visitor: FernRegistry.git.getRepository.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.listRepositories.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.listRepositories.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.listRepositories.Error,\n visitor: FernRegistry.git.listRepositories.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.upsertRepository.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.upsertRepository.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.upsertRepository.Error,\n visitor: FernRegistry.git.upsertRepository.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.deleteRepository.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.deleteRepository.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.deleteRepository.Error,\n visitor: FernRegistry.git.deleteRepository.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.getPullRequest.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.getPullRequest.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.getPullRequest.Error,\n visitor: FernRegistry.git.getPullRequest.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.listPullRequests.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.listPullRequests.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.listPullRequests.Error,\n visitor: FernRegistry.git.listPullRequests.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.upsertPullRequest.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.upsertPullRequest.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.upsertPullRequest.Error,\n visitor: FernRegistry.git.upsertPullRequest.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.deletePullRequest.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.deletePullRequest.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.deletePullRequest.Error,\n visitor: FernRegistry.git.deletePullRequest.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type Language = \"Go\" | \"TypeScript\" | \"Java\" | \"Python\" | \"Csharp\" | \"Ruby\" | \"Php\" | \"Swift\";\nexport const Language = {\n Go: \"Go\",\n TypeScript: \"TypeScript\",\n Java: \"Java\",\n Python: \"Python\",\n Csharp: \"Csharp\",\n Ruby: \"Ruby\",\n Php: \"Php\",\n Swift: \"Swift\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type VersionBump = \"MAJOR\" | \"MINOR\" | \"PATCH\";\nexport const VersionBump = {\n Major: \"MAJOR\",\n Minor: \"MINOR\",\n Patch: \"PATCH\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.sdks.versions.computeSemanticVersion.Error.FailedToComputeExistingVersion\n | FernRegistry.sdks.versions.computeSemanticVersion.Error.FailedToIncrementVersion\n | FernRegistry.sdks.versions.computeSemanticVersion.Error._Unknown;\n\nexport namespace Error {\n export interface FailedToComputeExistingVersion {\n error: \"FailedToComputeExistingVersion\";\n }\n\n export interface FailedToIncrementVersion {\n error: \"FailedToIncrementVersion\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n failedToComputeExistingVersion: () => _Result;\n failedToIncrementVersion: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n failedToComputeExistingVersion:\n (): FernRegistry.sdks.versions.computeSemanticVersion.Error.FailedToComputeExistingVersion => {\n return {\n error: \"FailedToComputeExistingVersion\",\n };\n },\n\n failedToIncrementVersion: (): FernRegistry.sdks.versions.computeSemanticVersion.Error.FailedToIncrementVersion => {\n return {\n error: \"FailedToIncrementVersion\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.sdks.versions.computeSemanticVersion.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.sdks.versions.computeSemanticVersion.Error,\n visitor: FernRegistry.sdks.versions.computeSemanticVersion.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"FailedToComputeExistingVersion\":\n return visitor.failedToComputeExistingVersion();\n case \"FailedToIncrementVersion\":\n return visitor.failedToIncrementVersion();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error.UnauthorizedError\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error.UserNotInOrgError\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error.OrgIdNotFound\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error.SdkNotFound\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface OrgIdNotFound {\n error: \"OrgIdNotFound\";\n content: string;\n }\n\n export interface SdkNotFound {\n error: \"SDKNotFound\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n orgIdNotFound: (value: string) => _Result;\n sdkNotFound: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.snippetsFactory.createSnippetsForSdk.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.snippetsFactory.createSnippetsForSdk.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n orgIdNotFound: (value: string): FernRegistry.snippetsFactory.createSnippetsForSdk.Error.OrgIdNotFound => {\n return {\n content: value,\n error: \"OrgIdNotFound\",\n };\n },\n\n sdkNotFound: (value: string): FernRegistry.snippetsFactory.createSnippetsForSdk.Error.SdkNotFound => {\n return {\n content: value,\n error: \"SDKNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.snippetsFactory.createSnippetsForSdk.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.snippetsFactory.createSnippetsForSdk.Error,\n visitor: FernRegistry.snippetsFactory.createSnippetsForSdk.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"OrgIdNotFound\":\n return visitor.orgIdNotFound(value.content);\n case \"SDKNotFound\":\n return visitor.sdkNotFound(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.snippets.get.Error.UnauthorizedError\n | FernRegistry.snippets.get.Error.UserNotInOrgError\n | FernRegistry.snippets.get.Error.UnavailableError\n | FernRegistry.snippets.get.Error.ApiIdRequiredError\n | FernRegistry.snippets.get.Error.OrgIdRequiredError\n | FernRegistry.snippets.get.Error.OrgIdAndApiIdNotFound\n | FernRegistry.snippets.get.Error.OrgIdNotFound\n | FernRegistry.snippets.get.Error.EndpointNotFound\n | FernRegistry.snippets.get.Error.SdkNotFound\n | FernRegistry.snippets.get.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface UnavailableError {\n error: \"UnavailableError\";\n content: string;\n }\n\n export interface ApiIdRequiredError {\n error: \"ApiIdRequiredError\";\n content: string;\n }\n\n export interface OrgIdRequiredError {\n error: \"OrgIdRequiredError\";\n content: string;\n }\n\n export interface OrgIdAndApiIdNotFound {\n error: \"OrgIdAndApiIdNotFound\";\n content: string;\n }\n\n export interface OrgIdNotFound {\n error: \"OrgIdNotFound\";\n content: string;\n }\n\n export interface EndpointNotFound {\n error: \"EndpointNotFound\";\n content: string;\n }\n\n export interface SdkNotFound {\n error: \"SDKNotFound\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n unavailableError: (value: string) => _Result;\n apiIdRequiredError: (value: string) => _Result;\n orgIdRequiredError: (value: string) => _Result;\n orgIdAndApiIdNotFound: (value: string) => _Result;\n orgIdNotFound: (value: string) => _Result;\n endpointNotFound: (value: string) => _Result;\n sdkNotFound: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.snippets.get.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.snippets.get.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n unavailableError: (value: string): FernRegistry.snippets.get.Error.UnavailableError => {\n return {\n content: value,\n error: \"UnavailableError\",\n };\n },\n\n apiIdRequiredError: (value: string): FernRegistry.snippets.get.Error.ApiIdRequiredError => {\n return {\n content: value,\n error: \"ApiIdRequiredError\",\n };\n },\n\n orgIdRequiredError: (value: string): FernRegistry.snippets.get.Error.OrgIdRequiredError => {\n return {\n content: value,\n error: \"OrgIdRequiredError\",\n };\n },\n\n orgIdAndApiIdNotFound: (value: string): FernRegistry.snippets.get.Error.OrgIdAndApiIdNotFound => {\n return {\n content: value,\n error: \"OrgIdAndApiIdNotFound\",\n };\n },\n\n orgIdNotFound: (value: string): FernRegistry.snippets.get.Error.OrgIdNotFound => {\n return {\n content: value,\n error: \"OrgIdNotFound\",\n };\n },\n\n endpointNotFound: (value: string): FernRegistry.snippets.get.Error.EndpointNotFound => {\n return {\n content: value,\n error: \"EndpointNotFound\",\n };\n },\n\n sdkNotFound: (value: string): FernRegistry.snippets.get.Error.SdkNotFound => {\n return {\n content: value,\n error: \"SDKNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.snippets.get.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.snippets.get.Error,\n visitor: FernRegistry.snippets.get.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"UnavailableError\":\n return visitor.unavailableError(value.content);\n case \"ApiIdRequiredError\":\n return visitor.apiIdRequiredError(value.content);\n case \"OrgIdRequiredError\":\n return visitor.orgIdRequiredError(value.content);\n case \"OrgIdAndApiIdNotFound\":\n return visitor.orgIdAndApiIdNotFound(value.content);\n case \"OrgIdNotFound\":\n return visitor.orgIdNotFound(value.content);\n case \"EndpointNotFound\":\n return visitor.endpointNotFound(value.content);\n case \"SDKNotFound\":\n return visitor.sdkNotFound(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.snippets.load.Error.UnauthorizedError\n | FernRegistry.snippets.load.Error.UserNotInOrgError\n | FernRegistry.snippets.load.Error.UnavailableError\n | FernRegistry.snippets.load.Error.InvalidPageError\n | FernRegistry.snippets.load.Error.ApiIdRequiredError\n | FernRegistry.snippets.load.Error.OrgIdRequiredError\n | FernRegistry.snippets.load.Error.OrgIdAndApiIdNotFound\n | FernRegistry.snippets.load.Error.OrgIdNotFound\n | FernRegistry.snippets.load.Error.SdkNotFound\n | FernRegistry.snippets.load.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface UnavailableError {\n error: \"UnavailableError\";\n content: string;\n }\n\n export interface InvalidPageError {\n error: \"InvalidPageError\";\n content: string;\n }\n\n export interface ApiIdRequiredError {\n error: \"ApiIdRequiredError\";\n content: string;\n }\n\n export interface OrgIdRequiredError {\n error: \"OrgIdRequiredError\";\n content: string;\n }\n\n export interface OrgIdAndApiIdNotFound {\n error: \"OrgIdAndApiIdNotFound\";\n content: string;\n }\n\n export interface OrgIdNotFound {\n error: \"OrgIdNotFound\";\n content: string;\n }\n\n export interface SdkNotFound {\n error: \"SDKNotFound\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n unavailableError: (value: string) => _Result;\n invalidPageError: (value: string) => _Result;\n apiIdRequiredError: (value: string) => _Result;\n orgIdRequiredError: (value: string) => _Result;\n orgIdAndApiIdNotFound: (value: string) => _Result;\n orgIdNotFound: (value: string) => _Result;\n sdkNotFound: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.snippets.load.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.snippets.load.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n unavailableError: (value: string): FernRegistry.snippets.load.Error.UnavailableError => {\n return {\n content: value,\n error: \"UnavailableError\",\n };\n },\n\n invalidPageError: (value: string): FernRegistry.snippets.load.Error.InvalidPageError => {\n return {\n content: value,\n error: \"InvalidPageError\",\n };\n },\n\n apiIdRequiredError: (value: string): FernRegistry.snippets.load.Error.ApiIdRequiredError => {\n return {\n content: value,\n error: \"ApiIdRequiredError\",\n };\n },\n\n orgIdRequiredError: (value: string): FernRegistry.snippets.load.Error.OrgIdRequiredError => {\n return {\n content: value,\n error: \"OrgIdRequiredError\",\n };\n },\n\n orgIdAndApiIdNotFound: (value: string): FernRegistry.snippets.load.Error.OrgIdAndApiIdNotFound => {\n return {\n content: value,\n error: \"OrgIdAndApiIdNotFound\",\n };\n },\n\n orgIdNotFound: (value: string): FernRegistry.snippets.load.Error.OrgIdNotFound => {\n return {\n content: value,\n error: \"OrgIdNotFound\",\n };\n },\n\n sdkNotFound: (value: string): FernRegistry.snippets.load.Error.SdkNotFound => {\n return {\n content: value,\n error: \"SDKNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.snippets.load.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.snippets.load.Error,\n visitor: FernRegistry.snippets.load.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"UnavailableError\":\n return visitor.unavailableError(value.content);\n case \"InvalidPageError\":\n return visitor.invalidPageError(value.content);\n case \"ApiIdRequiredError\":\n return visitor.apiIdRequiredError(value.content);\n case \"OrgIdRequiredError\":\n return visitor.orgIdRequiredError(value.content);\n case \"OrgIdAndApiIdNotFound\":\n return visitor.orgIdAndApiIdNotFound(value.content);\n case \"OrgIdNotFound\":\n return visitor.orgIdNotFound(value.content);\n case \"SDKNotFound\":\n return visitor.sdkNotFound(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\n/**\n * The location of the payload, if omitted the full payload is used.\n * Note that RELATIVE should be used for iterables primarily, so be\n * able to specify the path to the field relative to the iterated on object\n */\nexport type PayloadLocation = \"BODY\" | \"QUERY\" | \"PATH\" | \"HEADERS\" | \"RELATIVE\" | \"AUTH\";\nexport const PayloadLocation = {\n Body: \"BODY\",\n Query: \"QUERY\",\n Path: \"PATH\",\n Headers: \"HEADERS\",\n Relative: \"RELATIVE\",\n Auth: \"AUTH\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.templates.register.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.templates.register.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.templates.register.Error,\n visitor: FernRegistry.templates.register.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.templates.registerBatch.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.templates.registerBatch.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.templates.registerBatch.Error,\n visitor: FernRegistry.templates.registerBatch.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.templates.get.Error.UnauthorizedError\n | FernRegistry.templates.get.Error.SnippetNotFound\n | FernRegistry.templates.get.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface SnippetNotFound {\n error: \"SnippetNotFound\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n snippetNotFound: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.templates.get.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n snippetNotFound: (value: string): FernRegistry.templates.get.Error.SnippetNotFound => {\n return {\n content: value,\n error: \"SnippetNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.templates.get.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.templates.get.Error,\n visitor: FernRegistry.templates.get.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"SnippetNotFound\":\n return visitor.snippetNotFound(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.tokens.generate.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.tokens.generate.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.tokens.generate.Error,\n visitor: FernRegistry.tokens.generate.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.tokens.revoke.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.tokens.revoke.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.tokens.revoke.Error,\n visitor: FernRegistry.tokens.revoke.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.docsCache.invalidate.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docsCache.invalidate.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docsCache.invalidate.Error,\n visitor: FernRegistry.docsCache.invalidate.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport const FernRegistryEnvironment = {\n Prod: \"https://registry.buildwithfern.com\",\n} as const;\n\nexport type FernRegistryEnvironment = typeof FernRegistryEnvironment.Prod;\n","/**\n * Serialize a value to JSON\n * @param value A JavaScript value, usually an object or array, to be converted.\n * @param replacer A function that transforms the results.\n * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.\n * @returns JSON string\n */\nexport const toJson = (\n value: unknown,\n replacer?: (this: unknown, key: string, value: unknown) => unknown,\n space?: string | number,\n): string => {\n return JSON.stringify(value, replacer, space);\n};\n\n/**\n * Parse JSON string to object, array, or other type\n * @param text A valid JSON string.\n * @param reviver A function that transforms the results. This function is called for each member of the object. If a member contains nested objects, the nested objects are transformed before the parent object is.\n * @returns Parsed object, array, or other type\n */\nexport function fromJson<T = unknown>(\n text: string,\n reviver?: (this: unknown, key: string, value: unknown) => unknown,\n): T {\n return JSON.parse(text, reviver);\n}\n","/**\n * The raw response from the fetch call excluding the body.\n */\nexport type RawResponse = Omit<\n {\n [K in keyof Response as Response[K] extends Function ? never : K]: Response[K]; // strips out functions\n },\n \"ok\" | \"body\" | \"bodyUsed\"\n>; // strips out body and bodyUsed\n\n/**\n * A raw response indicating that the request was aborted.\n */\nexport const abortRawResponse: RawResponse = {\n headers: new Headers(),\n redirected: false,\n status: 499,\n statusText: \"Client Closed Request\",\n type: \"error\",\n url: \"\",\n} as const;\n\n/**\n * A raw response indicating an unknown error.\n */\nexport const unknownRawResponse: RawResponse = {\n headers: new Headers(),\n redirected: false,\n status: 0,\n statusText: \"Unknown Error\",\n type: \"error\",\n url: \"\",\n} as const;\n\n/**\n * Converts a `RawResponse` object into a `RawResponse` by extracting its properties,\n * excluding the `body` and `bodyUsed` fields.\n *\n * @param response - The `RawResponse` object to convert.\n * @returns A `RawResponse` object containing the extracted properties of the input response.\n */\nexport function toRawResponse(response: Response): RawResponse {\n return {\n headers: response.headers,\n redirected: response.redirected,\n status: response.status,\n statusText: response.statusText,\n type: response.type,\n url: response.url,\n };\n}\n\n/**\n * Creates a `RawResponse` from a standard `Response` object.\n */\nexport interface WithRawResponse<T> {\n readonly data: T;\n readonly rawResponse: RawResponse;\n}\n","import qs from \"qs\";\n\nexport function createRequestUrl(\n baseUrl: string,\n queryParameters?: Record<string, string | string[] | object | object[] | null>,\n): string {\n return Object.keys(queryParameters ?? {}).length > 0\n ? `${baseUrl}?${qs.stringify(queryParameters, { arrayFormat: \"repeat\" })}`\n : baseUrl;\n}\n","interface DenoGlobal {\n version: {\n deno: string;\n };\n}\n\ninterface BunGlobal {\n version: string;\n}\n\ndeclare const Deno: DenoGlobal | undefined;\ndeclare const Bun: BunGlobal | undefined;\ndeclare const EdgeRuntime: string | undefined;\n\n/**\n * A constant that indicates which environment and version the SDK is running in.\n */\nexport const RUNTIME: Runtime = evaluateRuntime();\n\nexport interface Runtime {\n type: \"browser\" | \"web-worker\" | \"deno\" | \"bun\" | \"node\" | \"react-native\" | \"unknown\" | \"workerd\" | \"edge-runtime\";\n version?: string;\n parsedVersion?: number;\n}\n\nfunction evaluateRuntime(): Runtime {\n /**\n * A constant that indicates whether the environment the code is running is a Web Browser.\n */\n const isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n if (isBrowser) {\n return {\n type: \"browser\",\n version: window.navigator.userAgent,\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Cloudflare.\n * https://developers.cloudflare.com/workers/runtime-apis/web-standards/#navigatoruseragent\n */\n const isCloudflare = typeof globalThis !== \"undefined\" && globalThis?.navigator?.userAgent === \"Cloudflare-Workers\";\n if (isCloudflare) {\n return {\n type: \"workerd\",\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Edge Runtime.\n * https://vercel.com/docs/functions/runtimes/edge-runtime#check-if-you're-running-on-the-edge-runtime\n */\n const isEdgeRuntime = typeof EdgeRuntime === \"string\";\n if (isEdgeRuntime) {\n return {\n type: \"edge-runtime\",\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is a Web Worker.\n */\n const isWebWorker =\n typeof self === \"object\" &&\n // @ts-ignore\n typeof self?.importScripts === \"function\" &&\n (self.constructor?.name === \"DedicatedWorkerGlobalScope\" ||\n self.constructor?.name === \"ServiceWorkerGlobalScope\" ||\n self.constructor?.name === \"SharedWorkerGlobalScope\");\n if (isWebWorker) {\n return {\n type: \"web-worker\",\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Deno.\n * FYI Deno spoofs process.versions.node, see https://deno.land/std@0.177.0/node/process.ts?s=versions\n */\n const isDeno =\n typeof Deno !== \"undefined\" && typeof Deno.version !== \"undefined\" && typeof Deno.version.deno !== \"undefined\";\n if (isDeno) {\n return {\n type: \"deno\",\n version: Deno.version.deno,\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Bun.sh.\n */\n const isBun = typeof Bun !== \"undefined\" && typeof Bun.version !== \"undefined\";\n if (isBun) {\n return {\n type: \"bun\",\n version: Bun.version,\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Node.JS.\n */\n const isNode =\n typeof process !== \"undefined\" &&\n \"version\" in process &&\n !!process.version &&\n \"versions\" in process &&\n !!process.versions?.node;\n if (isNode) {\n return {\n type: \"node\",\n version: process.versions.node,\n parsedVersion: Number(process.versions.node.split(\".\")[0]),\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is in React-Native.\n * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js\n */\n const isReactNative = typeof navigator !== \"undefined\" && navigator?.product === \"ReactNative\";\n if (isReactNative) {\n return {\n type: \"react-native\",\n };\n }\n\n return {\n type: \"unknown\",\n };\n}\n","import { RUNTIME } from \"../runtime/index.js\";\n\n/**\n * Returns a fetch function based on the runtime\n */\nexport async function getFetchFn(): Promise<any> {\n // In Node.js 18+ environments, use native fetch\n if (RUNTIME.type === \"node\" && RUNTIME.parsedVersion != null && RUNTIME.parsedVersion >= 18) {\n return fetch;\n }\n\n // In Node.js 18 or lower environments, the SDK always uses`node-fetch`.\n if (RUNTIME.type === \"node\") {\n return (await import(\"node-fetch\")).default as any;\n }\n\n // Otherwise the SDK uses global fetch if available,\n // and falls back to node-fetch.\n if (typeof fetch == \"function\") {\n return fetch;\n }\n\n // Defaults to node `node-fetch` if global fetch isn't available\n return (await import(\"node-fetch\")).default as any;\n}\n","import { toJson } from \"../json.js\";\n\nexport declare namespace GetRequestBody {\n interface Args {\n body: unknown;\n type: \"json\" | \"file\" | \"bytes\" | \"other\";\n }\n}\n\nexport async function getRequestBody({ body, type }: GetRequestBody.Args): Promise<BodyInit | undefined> {\n if (type.includes(\"json\")) {\n return toJson(body);\n } else {\n return body as BodyInit;\n }\n}\n","export async function getResponseBody(response: Response, responseType?: string): Promise<unknown> {\n if (response.body != null && responseType === \"blob\") {\n return await response.blob();\n } else if (response.body != null && responseType === \"sse\") {\n return response.body;\n } else if (response.body != null && responseType === \"text\") {\n return await response.text();\n } else {\n const text = await response.text();\n if (text.length > 0) {\n try {\n let responseBody = JSON.parse(text);\n return responseBody;\n } catch (err) {\n return {\n ok: false,\n error: {\n reason: \"non-json\",\n statusCode: response.status,\n rawBody: text,\n },\n };\n }\n } else {\n return undefined;\n }\n }\n}\n","const TIMEOUT = \"timeout\";\n\nexport function getTimeoutSignal(timeoutMs: number): { signal: AbortSignal; abortId: NodeJS.Timeout } {\n const controller = new AbortController();\n const abortId = setTimeout(() => controller.abort(TIMEOUT), timeoutMs);\n return { signal: controller.signal, abortId };\n}\n\n/**\n * Returns an abort signal that is getting aborted when\n * at least one of the specified abort signals is aborted.\n *\n * Requires at least node.js 18.\n */\nexport function anySignal(...args: AbortSignal[] | [AbortSignal[]]): AbortSignal {\n // Allowing signals to be passed either as array\n // of signals or as multiple arguments.\n const signals = (args.length === 1 && Array.isArray(args[0]) ? args[0] : args) as AbortSignal[];\n\n const controller = new AbortController();\n\n for (const signal of signals) {\n if (signal.aborted) {\n // Exiting early if one of the signals\n // is already aborted.\n controller.abort((signal as any)?.reason);\n break;\n }\n\n // Listening for signals and removing the listeners\n // when at least one symbol is aborted.\n signal.addEventListener(\"abort\", () => controller.abort((signal as any)?.reason), {\n signal: controller.signal,\n });\n }\n\n return controller.signal;\n}\n","import { anySignal, getTimeoutSignal } from \"./signals.js\";\n\nexport const makeRequest = async (\n fetchFn: (url: string, init: RequestInit) => Promise<Response>,\n url: string,\n method: string,\n headers: Record<string, string>,\n requestBody: BodyInit | undefined,\n timeoutMs?: number,\n abortSignal?: AbortSignal,\n withCredentials?: boolean,\n duplex?: \"half\",\n): Promise<Response> => {\n const signals: AbortSignal[] = [];\n\n // Add timeout signal\n let timeoutAbortId: NodeJS.Timeout | undefined = undefined;\n if (timeoutMs != null) {\n const { signal, abortId } = getTimeoutSignal(timeoutMs);\n timeoutAbortId = abortId;\n signals.push(signal);\n }\n\n // Add arbitrary signal\n if (abortSignal != null) {\n signals.push(abortSignal);\n }\n let newSignals = anySignal(signals);\n const response = await fetchFn(url, {\n method: method,\n headers,\n body: requestBody,\n signal: newSignals,\n credentials: withCredentials ? \"include\" : undefined,\n // @ts-ignore\n duplex,\n });\n\n if (timeoutAbortId != null) {\n clearTimeout(timeoutAbortId);\n }\n\n return response;\n};\n","const INITIAL_RETRY_DELAY = 1000; // in milliseconds\nconst MAX_RETRY_DELAY = 60000; // in milliseconds\nconst DEFAULT_MAX_RETRIES = 2;\nconst JITTER_FACTOR = 0.2; // 20% random jitter\n\nfunction addJitter(delay: number): number {\n // Generate a random value between -JITTER_FACTOR and +JITTER_FACTOR\n const jitterMultiplier = 1 + (Math.random() * 2 - 1) * JITTER_FACTOR;\n return delay * jitterMultiplier;\n}\n\nexport async function requestWithRetries(\n requestFn: () => Promise<Response>,\n maxRetries: number = DEFAULT_MAX_RETRIES,\n): Promise<Response> {\n let response: Response = await requestFn();\n\n for (let i = 0; i < maxRetries; ++i) {\n if ([408, 429].includes(response.status) || response.status >= 500) {\n // Calculate base delay using exponential backoff (in milliseconds)\n const baseDelay = Math.min(INITIAL_RETRY_DELAY * Math.pow(2, i), MAX_RETRY_DELAY);\n\n // Add jitter to the delay\n const delayWithJitter = addJitter(baseDelay);\n\n await new Promise((resolve) => setTimeout(resolve, delayWithJitter));\n response = await requestFn();\n } else {\n break;\n }\n }\n return response!;\n}\n","import { toJson } from \"../json.js\";\nimport { APIResponse } from \"./APIResponse.js\";\nimport { abortRawResponse, toRawResponse, unknownRawResponse } from \"./RawResponse.js\";\nimport { createRequestUrl } from \"./createRequestUrl.js\";\nimport { getFetchFn } from \"./getFetchFn.js\";\nimport { getRequestBody } from \"./getRequestBody.js\";\nimport { getResponseBody } from \"./getResponseBody.js\";\nimport { makeRequest } from \"./makeRequest.js\";\nimport { requestWithRetries } from \"./requestWithRetries.js\";\n\nexport type FetchFunction = <R = unknown>(args: Fetcher.Args) => Promise<APIResponse<R, Fetcher.Error>>;\n\nexport declare namespace Fetcher {\n export interface Args {\n url: string;\n method: string;\n contentType?: string;\n headers?: Record<string, string | undefined>;\n queryParameters?: Record<string, string | string[] | object | object[] | null>;\n body?: unknown;\n timeoutMs?: number;\n maxRetries?: number;\n withCredentials?: boolean;\n abortSignal?: AbortSignal;\n requestType?: \"json\" | \"file\" | \"bytes\";\n responseType?: \"json\" | \"blob\" | \"sse\" | \"streaming\" | \"text\" | \"arrayBuffer\";\n duplex?: \"half\";\n }\n\n export type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError;\n\n export interface FailedStatusCodeError {\n reason: \"status-code\";\n statusCode: number;\n body: unknown;\n }\n\n export interface NonJsonError {\n reason: \"non-json\";\n statusCode: number;\n rawBody: string;\n }\n\n export interface TimeoutError {\n reason: \"timeout\";\n }\n\n export interface UnknownError {\n reason: \"unknown\";\n errorMessage: string;\n }\n}\n\nexport async function fetcherImpl<R = unknown>(args: Fetcher.Args): Promise<APIResponse<R, Fetcher.Error>> {\n const headers: Record<string, string> = {};\n if (args.body !== undefined && args.contentType != null) {\n headers[\"Content-Type\"] = args.contentType;\n }\n\n if (args.headers != null) {\n for (const [key, value] of Object.entries(args.headers)) {\n if (value != null) {\n headers[key] = value;\n }\n }\n }\n\n const url = createRequestUrl(args.url, args.queryParameters);\n const requestBody: BodyInit | undefined = await getRequestBody({\n body: args.body,\n type: args.requestType === \"json\" ? \"json\" : \"other\",\n });\n const fetchFn = await getFetchFn();\n\n try {\n const response = await requestWithRetries(\n async () =>\n makeRequest(\n fetchFn,\n url,\n args.method,\n headers,\n requestBody,\n args.timeoutMs,\n args.abortSignal,\n args.withCredentials,\n args.duplex,\n ),\n args.maxRetries,\n );\n const responseBody = await getResponseBody(response, args.responseType);\n\n if (response.status >= 200 && response.status < 400) {\n return {\n ok: true,\n body: responseBody as R,\n headers: response.headers,\n rawResponse: toRawResponse(response),\n };\n } else {\n return {\n ok: false,\n error: {\n reason: \"status-code\",\n statusCode: response.status,\n body: responseBody,\n },\n rawResponse: toRawResponse(response),\n };\n }\n } catch (error) {\n if (args.abortSignal != null && args.abortSignal.aborted) {\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: \"The user aborted a request\",\n },\n rawResponse: abortRawResponse,\n };\n } else if (error instanceof Error && error.name === \"AbortError\") {\n return {\n ok: false,\n error: {\n reason: \"timeout\",\n },\n rawResponse: abortRawResponse,\n };\n } else if (error instanceof Error) {\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: error.message,\n },\n rawResponse: unknownRawResponse,\n };\n }\n\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: toJson(error),\n },\n rawResponse: unknownRawResponse,\n };\n }\n}\n\nexport const fetcher: FetchFunction = fetcherImpl;\n","export type Supplier<T> = T | Promise<T> | (() => T | Promise<T>);\n\nexport const Supplier = {\n get: async <T>(supplier: Supplier<T>): Promise<T> => {\n if (typeof supplier === \"function\") {\n return (supplier as () => T)();\n } else {\n return supplier;\n }\n },\n};\n","import { WithRawResponse } from \"./RawResponse.js\";\n\n/**\n * A promise that returns the parsed response and lets you retrieve the raw response too.\n */\nexport class HttpResponsePromise<T> extends Promise<T> {\n private innerPromise: Promise<WithRawResponse<T>>;\n private unwrappedPromise: Promise<T> | undefined;\n\n private constructor(promise: Promise<WithRawResponse<T>>) {\n // Initialize with a no-op to avoid premature parsing\n super((resolve) => {\n resolve(undefined as unknown as T);\n });\n this.innerPromise = promise;\n }\n\n /**\n * Creates an `HttpResponsePromise` from a function that returns a promise.\n *\n * @param fn - A function that returns a promise resolving to a `WithRawResponse` object.\n * @param args - Arguments to pass to the function.\n * @returns An `HttpResponsePromise` instance.\n */\n public static fromFunction<F extends (...args: never[]) => Promise<WithRawResponse<T>>, T>(\n fn: F,\n ...args: Parameters<F>\n ): HttpResponsePromise<T> {\n return new HttpResponsePromise<T>(fn(...args));\n }\n\n /**\n * Creates a function that returns an `HttpResponsePromise` from a function that returns a promise.\n *\n * @param fn - A function that returns a promise resolving to a `WithRawResponse` object.\n * @returns A function that returns an `HttpResponsePromise` instance.\n */\n public static interceptFunction<\n F extends (...args: never[]) => Promise<WithRawResponse<T>>,\n T = Awaited<ReturnType<F>>[\"data\"],\n >(fn: F): (...args: Parameters<F>) => HttpResponsePromise<T> {\n return (...args: Parameters<F>): HttpResponsePromise<T> => {\n return HttpResponsePromise.fromPromise<T>(fn(...args));\n };\n }\n\n /**\n * Creates an `HttpResponsePromise` from an existing promise.\n *\n * @param promise - A promise resolving to a `WithRawResponse` object.\n * @returns An `HttpResponsePromise` instance.\n */\n public static fromPromise<T>(promise: Promise<WithRawResponse<T>>): HttpResponsePromise<T> {\n return new HttpResponsePromise<T>(promise);\n }\n\n /**\n * Creates an `HttpResponsePromise` from an executor function.\n *\n * @param executor - A function that takes resolve and reject callbacks to create a promise.\n * @returns An `HttpResponsePromise` instance.\n */\n public static fromExecutor<T>(\n executor: (resolve: (value: WithRawResponse<T>) => void, reject: (reason?: unknown) => void) => void,\n ): HttpResponsePromise<T> {\n const promise = new Promise<WithRawResponse<T>>(executor);\n return new HttpResponsePromise<T>(promise);\n }\n\n /**\n * Creates an `HttpResponsePromise` from a resolved result.\n *\n * @param result - A `WithRawResponse` object to resolve immediately.\n * @returns An `HttpResponsePromise` instance.\n */\n public static fromResult<T>(result: WithRawResponse<T>): HttpResponsePromise<T> {\n const promise = Promise.resolve(result);\n return new HttpResponsePromise<T>(promise);\n }\n\n private unwrap(): Promise<T> {\n if (!this.unwrappedPromise) {\n this.unwrappedPromise = this.innerPromise.then(({ data }) => data);\n }\n return this.unwrappedPromise;\n }\n\n /** @inheritdoc */\n public override then<TResult1 = T, TResult2 = never>(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null,\n ): Promise<TResult1 | TResult2> {\n return this.unwrap().then(onfulfilled, onrejected);\n }\n\n /** @inheritdoc */\n public override catch<TResult = never>(\n onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null,\n ): Promise<T | TResult> {\n return this.unwrap().catch(onrejected);\n }\n\n /** @inheritdoc */\n public override finally(onfinally?: (() => void) | null): Promise<T> {\n return this.unwrap().finally(onfinally);\n }\n\n /**\n * Retrieves the data and raw response.\n *\n * @returns A promise resolving to a `WithRawResponse` object.\n */\n public async withRawResponse(): Promise<WithRawResponse<T>> {\n return await this.innerPromise;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Latest {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Latest {\n constructor(protected readonly _options: Latest.Options = {}) {}\n\n /**\n * @param {FernRegistry.ApiDefinitionId} apiDefinitionId\n * @param {Latest.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.api.latest.getApiLatest(FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"))\n */\n public getApiLatest(\n apiDefinitionId: FernRegistry.ApiDefinitionId,\n requestOptions?: Latest.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.api.latest.ApiDefinition, FernRegistry.api.latest.getApiLatest.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getApiLatest(apiDefinitionId, requestOptions));\n }\n\n private async __getApiLatest(\n apiDefinitionId: FernRegistry.ApiDefinitionId,\n requestOptions?: Latest.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.api.latest.ApiDefinition, FernRegistry.api.latest.getApiLatest.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/registry/api/latest/load/${encodeURIComponent(apiDefinitionId)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.api.latest.ApiDefinition,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.api.latest.getApiLatest.Error)?.error) {\n case \"UnauthorizedError\":\n case \"ApiDoesNotExistError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.api.latest.getApiLatest.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.api.latest.getApiLatest.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Read {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Read {\n constructor(protected readonly _options: Read.Options = {}) {}\n\n /**\n * @param {FernRegistry.ApiDefinitionId} apiDefinitionId\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.api.v1.read.getApi(FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"))\n */\n public getApi(\n apiDefinitionId: FernRegistry.ApiDefinitionId,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.api.v1.read.ApiDefinition, FernRegistry.api.v1.read.getApi.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getApi(apiDefinitionId, requestOptions));\n }\n\n private async __getApi(\n apiDefinitionId: FernRegistry.ApiDefinitionId,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.api.v1.read.ApiDefinition, FernRegistry.api.v1.read.getApi.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/registry/api/load/${encodeURIComponent(apiDefinitionId)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.api.v1.read.ApiDefinition,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.api.v1.read.getApi.Error)?.error) {\n case \"UnauthorizedError\":\n case \"ApiDoesNotExistError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.api.v1.read.getApi.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.api.v1.read.getApi.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Register {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Register {\n constructor(protected readonly _options: Register.Options = {}) {}\n\n /**\n * @param {FernRegistry.api.v1.register.RegisterApiDefinitionRequest} request\n * @param {Register.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.api.v1.register.registerApiDefinition({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * definition: undefined,\n * definitionV2: undefined,\n * sources: undefined,\n * dynamicIRs: undefined\n * })\n */\n public registerApiDefinition(\n request: FernRegistry.api.v1.register.RegisterApiDefinitionRequest,\n requestOptions?: Register.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.api.v1.register.RegisterApiDefinitionResponse,\n FernRegistry.api.v1.register.registerApiDefinition.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__registerApiDefinition(request, requestOptions));\n }\n\n private async __registerApiDefinition(\n request: FernRegistry.api.v1.register.RegisterApiDefinitionRequest,\n requestOptions?: Register.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.api.v1.register.RegisterApiDefinitionResponse,\n FernRegistry.api.v1.register.registerApiDefinition.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/registry/api/register\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.api.v1.register.RegisterApiDefinitionResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.api.v1.register.registerApiDefinition.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.api.v1.register.registerApiDefinition.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.api.v1.register.registerApiDefinition.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport { Read } from \"../resources/read/client/Client.js\";\nimport { Register } from \"../resources/register/client/Client.js\";\n\nexport declare namespace V1 {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class V1 {\n protected _read: Read | undefined;\n protected _register: Register | undefined;\n\n constructor(protected readonly _options: V1.Options = {}) {}\n\n public get read(): Read {\n return (this._read ??= new Read(this._options));\n }\n\n public get register(): Register {\n return (this._register ??= new Register(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport { Latest } from \"../resources/latest/client/Client.js\";\nimport { V1 } from \"../resources/v1/client/Client.js\";\n\nexport declare namespace Api {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class Api {\n protected _latest: Latest | undefined;\n protected _v1: V1 | undefined;\n\n constructor(protected readonly _options: Api.Options = {}) {}\n\n public get latest(): Latest {\n return (this._latest ??= new Latest(this._options));\n }\n\n public get v1(): V1 {\n return (this._v1 ??= new V1(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Dashboard {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * APIs for the Fern Dashboard\n */\nexport class Dashboard {\n constructor(protected readonly _options: Dashboard.Options = {}) {}\n\n /**\n * Get all docs sites that belong to a given organization\n *\n * @param {FernRegistry.dashboard.GetDocsSitesForOrgRequest} request\n * @param {Dashboard.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.dashboard.getDocsSitesForOrg({\n * orgId: FernRegistry.OrgId(\"orgId\")\n * })\n */\n public getDocsSitesForOrg(\n request: FernRegistry.dashboard.GetDocsSitesForOrgRequest,\n requestOptions?: Dashboard.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.dashboard.GetDocsSitesForOrgResponse,\n FernRegistry.dashboard.getDocsSitesForOrg.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsSitesForOrg(request, requestOptions));\n }\n\n private async __getDocsSitesForOrg(\n request: FernRegistry.dashboard.GetDocsSitesForOrgRequest,\n requestOptions?: Dashboard.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.dashboard.GetDocsSitesForOrgResponse,\n FernRegistry.dashboard.getDocsSitesForOrg.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/dashboard/get-docs-sites-for-org\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.dashboard.GetDocsSitesForOrgResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.dashboard.getDocsSitesForOrg.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.dashboard.getDocsSitesForOrg.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.dashboard.getDocsSitesForOrg.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Read {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Read {\n constructor(protected readonly _options: Read.Options = {}) {}\n\n /**\n * @param {string} domain\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v1.read.getDocsForDomainLegacy(\"domain\")\n */\n public getDocsForDomainLegacy(\n domain: string,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v1.read.DocsDefinition,\n FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsForDomainLegacy(domain, requestOptions));\n }\n\n private async __getDocsForDomainLegacy(\n domain: string,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v1.read.DocsDefinition,\n FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/registry/docs/load/${encodeURIComponent(domain)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v1.read.DocsDefinition,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error)?.error) {\n case \"UnauthorizedError\":\n case \"DomainNotRegisteredError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v1.read.LoadDocsForDomainRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v1.read.getDocsForDomain({\n * domain: \"domain\"\n * })\n */\n public getDocsForDomain(\n request: FernRegistry.docs.v1.read.LoadDocsForDomainRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.docs.v1.read.DocsDefinition, FernRegistry.docs.v1.read.getDocsForDomain.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsForDomain(request, requestOptions));\n }\n\n private async __getDocsForDomain(\n request: FernRegistry.docs.v1.read.LoadDocsForDomainRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.docs.v1.read.DocsDefinition, FernRegistry.docs.v1.read.getDocsForDomain.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/registry/docs/load\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v1.read.DocsDefinition,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v1.read.getDocsForDomain.Error)?.error) {\n case \"UnauthorizedError\":\n case \"DomainNotRegisteredError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v1.read.getDocsForDomain.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v1.read.getDocsForDomain.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Write {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Write {\n constructor(protected readonly _options: Write.Options = {}) {}\n\n /**\n * @param {FernRegistry.docs.v1.write.StartDocsRegisterRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v1.write.startDocsRegister({\n * domain: \"domain\",\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * filepaths: [FernRegistry.docs.v1.write.FilePath(\"filepaths\"), FernRegistry.docs.v1.write.FilePath(\"filepaths\")]\n * })\n */\n public startDocsRegister(\n request: FernRegistry.docs.v1.write.StartDocsRegisterRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n FernRegistry.docs.v1.write.startDocsRegister.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__startDocsRegister(request, requestOptions));\n }\n\n private async __startDocsRegister(\n request: FernRegistry.docs.v1.write.StartDocsRegisterRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n FernRegistry.docs.v1.write.startDocsRegister.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/registry/docs/init\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v1.write.startDocsRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v1.write.DocsRegistrationId} docsRegistrationId\n * @param {FernRegistry.docs.v1.write.RegisterDocsRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v1.write.finishDocsRegister(FernRegistry.docs.v1.write.DocsRegistrationId(\"docsRegistrationId\"), {\n * docsDefinition: {\n * pages: {\n * \"pages\": {\n * markdown: \"markdown\",\n * editThisPageUrl: undefined,\n * rawMarkdown: undefined\n * }\n * },\n * config: {\n * title: undefined,\n * defaultLanguage: undefined,\n * announcement: undefined,\n * navigation: undefined,\n * root: undefined,\n * navbarLinks: undefined,\n * footerLinks: undefined,\n * hideNavLinks: undefined,\n * logoHeight: undefined,\n * logoHref: undefined,\n * favicon: undefined,\n * metadata: undefined,\n * redirects: undefined,\n * colorsV3: undefined,\n * layout: undefined,\n * typographyV2: undefined,\n * analyticsConfig: undefined,\n * integrations: undefined,\n * css: undefined,\n * js: undefined,\n * aiChatConfig: undefined,\n * backgroundImage: undefined,\n * logoV2: undefined,\n * logo: undefined,\n * colors: undefined,\n * colorsV2: undefined,\n * typography: undefined\n * },\n * jsFiles: undefined\n * }\n * })\n */\n public finishDocsRegister(\n docsRegistrationId: FernRegistry.docs.v1.write.DocsRegistrationId,\n request: FernRegistry.docs.v1.write.RegisterDocsRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v1.write.finishDocsRegister.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__finishDocsRegister(docsRegistrationId, request, requestOptions),\n );\n }\n\n private async __finishDocsRegister(\n docsRegistrationId: FernRegistry.docs.v1.write.DocsRegistrationId,\n request: FernRegistry.docs.v1.write.RegisterDocsRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v1.write.finishDocsRegister.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/registry/docs/register/${encodeURIComponent(docsRegistrationId)}`,\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v1.write.finishDocsRegister.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"DocsRegistrationIdNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v1.write.finishDocsRegister.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v1.write.finishDocsRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport { Read } from \"../resources/read/client/Client.js\";\nimport { Write } from \"../resources/write/client/Client.js\";\n\nexport declare namespace V1 {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class V1 {\n protected _read: Read | undefined;\n protected _write: Write | undefined;\n\n constructor(protected readonly _options: V1.Options = {}) {}\n\n public get read(): Read {\n return (this._read ??= new Read(this._options));\n }\n\n public get write(): Write {\n return (this._write ??= new Write(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Read {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Read {\n constructor(protected readonly _options: Read.Options = {}) {}\n\n /**\n * @param {FernRegistry.docs.v2.read.GetOrganizationForUrlRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getOrganizationForUrl({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public getOrganizationForUrl(\n request: FernRegistry.docs.v2.read.GetOrganizationForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.OrgId, FernRegistry.docs.v2.read.getOrganizationForUrl.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getOrganizationForUrl(request, requestOptions));\n }\n\n private async __getOrganizationForUrl(\n request: FernRegistry.docs.v2.read.GetOrganizationForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.OrgId, FernRegistry.docs.v2.read.getOrganizationForUrl.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/organization-for-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.OrgId,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getOrganizationForUrl.Error)?.error) {\n case \"DomainNotRegisteredError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getOrganizationForUrl.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getOrganizationForUrl.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.read.GetMetadataForUrlRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getDocsUrlMetadata({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public getDocsUrlMetadata(\n request: FernRegistry.docs.v2.read.GetMetadataForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.docs.v2.read.DocsUrlMetadata, FernRegistry.docs.v2.read.getDocsUrlMetadata.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsUrlMetadata(request, requestOptions));\n }\n\n private async __getDocsUrlMetadata(\n request: FernRegistry.docs.v2.read.GetMetadataForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.DocsUrlMetadata,\n FernRegistry.docs.v2.read.getDocsUrlMetadata.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/metadata-for-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.DocsUrlMetadata,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getDocsUrlMetadata.Error)?.error) {\n case \"DomainNotRegisteredError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getDocsUrlMetadata.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getDocsUrlMetadata.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.read.LoadDocsForUrlRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getDocsForUrl({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public getDocsForUrl(\n request: FernRegistry.docs.v2.read.LoadDocsForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n FernRegistry.docs.v2.read.getDocsForUrl.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsForUrl(request, requestOptions));\n }\n\n private async __getDocsForUrl(\n request: FernRegistry.docs.v2.read.LoadDocsForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n FernRegistry.docs.v2.read.getDocsForUrl.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/load-with-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getDocsForUrl.Error)?.error) {\n case \"DomainNotRegisteredError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getDocsForUrl.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getDocsForUrl.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.read.LoadPrivateDocsForUrlRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getPrivateDocsForUrl({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public getPrivateDocsForUrl(\n request: FernRegistry.docs.v2.read.LoadPrivateDocsForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getPrivateDocsForUrl(request, requestOptions));\n }\n\n private async __getPrivateDocsForUrl(\n request: FernRegistry.docs.v2.read.LoadPrivateDocsForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/private/load-with-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error)?.error) {\n case \"DomainNotRegisteredError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Returns a list of all public docs.\n *\n * @param {FernRegistry.docs.v2.read.ListAllDocsUrlsRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.listAllDocsUrls()\n */\n public listAllDocsUrls(\n request: FernRegistry.docs.v2.read.ListAllDocsUrlsRequest = {},\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.read.ListAllDocsUrlsResponse,\n FernRegistry.docs.v2.read.listAllDocsUrls.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__listAllDocsUrls(request, requestOptions));\n }\n\n private async __listAllDocsUrls(\n request: FernRegistry.docs.v2.read.ListAllDocsUrlsRequest = {},\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.ListAllDocsUrlsResponse,\n FernRegistry.docs.v2.read.listAllDocsUrls.Error\n >\n >\n > {\n const { page, limit, custom } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n if (page != null) {\n _queryParams[\"page\"] = page.toString();\n }\n\n if (limit != null) {\n _queryParams[\"limit\"] = limit.toString();\n }\n\n if (custom != null) {\n _queryParams[\"custom\"] = custom.toString();\n }\n\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/urls/list\",\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.ListAllDocsUrlsResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.listAllDocsUrls.Error)?.error) {\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.listAllDocsUrls.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.listAllDocsUrls.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Loads the Docs Config and any referenced APIs by ID.\n *\n * @param {FernRegistry.DocsConfigId} docsConfigId\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getDocsConfigById(FernRegistry.DocsConfigId(\"docsConfigId\"))\n */\n public getDocsConfigById(\n docsConfigId: FernRegistry.DocsConfigId,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.read.GetDocsConfigByIdResponse,\n FernRegistry.docs.v2.read.getDocsConfigById.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsConfigById(docsConfigId, requestOptions));\n }\n\n private async __getDocsConfigById(\n docsConfigId: FernRegistry.DocsConfigId,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.GetDocsConfigByIdResponse,\n FernRegistry.docs.v2.read.getDocsConfigById.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/v2/registry/docs/${encodeURIComponent(docsConfigId)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.GetDocsConfigByIdResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getDocsConfigById.Error)?.error) {\n case \"DocsDefinitionNotFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getDocsConfigById.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getDocsConfigById.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Prepopulates the FDR read S3 bucket with docs definitions\n *\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.prepopulateFdrReadS3Bucket()\n */\n public prepopulateFdrReadS3Bucket(\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__prepopulateFdrReadS3Bucket(requestOptions));\n }\n\n private async __prepopulateFdrReadS3Bucket(\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/prepopulate-s3-bucket\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Write {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Write {\n constructor(protected readonly _options: Write.Options = {}) {}\n\n /**\n * @param {FernRegistry.docs.v2.write.StartDocsRegisterRequestV2} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.startDocsRegister({\n * domain: \"domain\",\n * customDomains: [\"customDomains\", \"customDomains\"],\n * authConfig: undefined,\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * filepaths: [FernRegistry.docs.v1.write.FilePath(\"filepaths\"), FernRegistry.docs.v1.write.FilePath(\"filepaths\")],\n * images: undefined\n * })\n */\n public startDocsRegister(\n request: FernRegistry.docs.v2.write.StartDocsRegisterRequestV2,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n FernRegistry.docs.v2.write.startDocsRegister.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__startDocsRegister(request, requestOptions));\n }\n\n private async __startDocsRegister(\n request: FernRegistry.docs.v2.write.StartDocsRegisterRequestV2,\n requestOptions?: Write.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n FernRegistry.docs.v2.write.startDocsRegister.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/v2/init\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.startDocsRegister.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UnavailableError\":\n case \"UserNotInOrgError\":\n case \"InvalidDomainError\":\n case \"InvalidCustomDomainError\":\n case \"DomainBelongsToAnotherOrgError\":\n case \"InvalidURLError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.startDocsRegister.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.startDocsRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.write.StartDocsPreviewRegisterRequestV2} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.startDocsPreviewRegister({\n * basePath: undefined,\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * authConfig: undefined,\n * filepaths: [FernRegistry.docs.v1.write.FilePath(\"filepaths\"), FernRegistry.docs.v1.write.FilePath(\"filepaths\")],\n * images: undefined\n * })\n */\n public startDocsPreviewRegister(\n request: FernRegistry.docs.v2.write.StartDocsPreviewRegisterRequestV2,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.write.StartDocsPreviewRegisterResponse,\n FernRegistry.docs.v2.write.startDocsPreviewRegister.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__startDocsPreviewRegister(request, requestOptions));\n }\n\n private async __startDocsPreviewRegister(\n request: FernRegistry.docs.v2.write.StartDocsPreviewRegisterRequestV2,\n requestOptions?: Write.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.write.StartDocsPreviewRegisterResponse,\n FernRegistry.docs.v2.write.startDocsPreviewRegister.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/preview/init\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.write.StartDocsPreviewRegisterResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.startDocsPreviewRegister.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UnavailableError\":\n case \"UserNotInOrgError\":\n case \"InvalidDomainError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.startDocsPreviewRegister.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.startDocsPreviewRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v1.write.DocsRegistrationId} docsRegistrationId\n * @param {FernRegistry.docs.v2.write.RegisterDocsRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.finishDocsRegister(FernRegistry.docs.v1.write.DocsRegistrationId(\"docsRegistrationId\"), {\n * docsDefinition: {\n * pages: {\n * \"pages\": {\n * markdown: \"markdown\",\n * editThisPageUrl: undefined,\n * rawMarkdown: undefined\n * }\n * },\n * config: {\n * title: undefined,\n * defaultLanguage: undefined,\n * announcement: undefined,\n * navigation: undefined,\n * root: undefined,\n * navbarLinks: undefined,\n * footerLinks: undefined,\n * hideNavLinks: undefined,\n * logoHeight: undefined,\n * logoHref: undefined,\n * favicon: undefined,\n * metadata: undefined,\n * redirects: undefined,\n * colorsV3: undefined,\n * layout: undefined,\n * typographyV2: undefined,\n * analyticsConfig: undefined,\n * integrations: undefined,\n * css: undefined,\n * js: undefined,\n * aiChatConfig: undefined,\n * backgroundImage: undefined,\n * logoV2: undefined,\n * logo: undefined,\n * colors: undefined,\n * colorsV2: undefined,\n * typography: undefined\n * },\n * jsFiles: undefined\n * }\n * })\n */\n public finishDocsRegister(\n docsRegistrationId: FernRegistry.docs.v1.write.DocsRegistrationId,\n request: FernRegistry.docs.v2.write.RegisterDocsRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.write.finishDocsRegister.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__finishDocsRegister(docsRegistrationId, request, requestOptions),\n );\n }\n\n private async __finishDocsRegister(\n docsRegistrationId: FernRegistry.docs.v1.write.DocsRegistrationId,\n request: FernRegistry.docs.v2.write.RegisterDocsRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.write.finishDocsRegister.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/v2/registry/docs/register/${encodeURIComponent(docsRegistrationId)}`,\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.finishDocsRegister.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"DocsRegistrationIdNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.finishDocsRegister.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.finishDocsRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.write.TransferDomainOwnershipRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.transferOwnershipOfDomain({\n * domain: \"domain\",\n * toOrgId: \"toOrgId\"\n * })\n */\n public transferOwnershipOfDomain(\n request: FernRegistry.docs.v2.write.TransferDomainOwnershipRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__transferOwnershipOfDomain(request, requestOptions));\n }\n\n private async __transferOwnershipOfDomain(\n request: FernRegistry.docs.v2.write.TransferDomainOwnershipRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/transfer-ownership\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error)?.error) {\n case \"DocsNotFoundError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.write.SetIsArchivedRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.setIsArchived({\n * url: FernRegistry.Url(\"url\"),\n * isArchived: true\n * })\n */\n public setIsArchived(\n request: FernRegistry.docs.v2.write.SetIsArchivedRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.write.setIsArchived.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__setIsArchived(request, requestOptions));\n }\n\n private async __setIsArchived(\n request: FernRegistry.docs.v2.write.SetIsArchivedRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.write.setIsArchived.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/set-is-archived\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.setIsArchived.Error)?.error) {\n case \"DocsNotFoundError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.setIsArchived.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.setIsArchived.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.write.SetDocsUrlMetadataRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.setDocsUrlMetadata({\n * url: FernRegistry.Url(\"url\"),\n * githubUrl: undefined\n * })\n */\n public setDocsUrlMetadata(\n request: FernRegistry.docs.v2.write.SetDocsUrlMetadataRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.write.setDocsUrlMetadata.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__setDocsUrlMetadata(request, requestOptions));\n }\n\n private async __setDocsUrlMetadata(\n request: FernRegistry.docs.v2.write.SetDocsUrlMetadataRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.write.setDocsUrlMetadata.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/set-metadata-for-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.setDocsUrlMetadata.Error)?.error) {\n case \"DocsNotFoundError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.setDocsUrlMetadata.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.setDocsUrlMetadata.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport { Read } from \"../resources/read/client/Client.js\";\nimport { Write } from \"../resources/write/client/Client.js\";\n\nexport declare namespace V2 {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class V2 {\n protected _read: Read | undefined;\n protected _write: Write | undefined;\n\n constructor(protected readonly _options: V2.Options = {}) {}\n\n public get read(): Read {\n return (this._read ??= new Read(this._options));\n }\n\n public get write(): Write {\n return (this._write ??= new Write(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport { V1 } from \"../resources/v1/client/Client.js\";\nimport { V2 } from \"../resources/v2/client/Client.js\";\n\nexport declare namespace Docs {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class Docs {\n protected _v1: V1 | undefined;\n protected _v2: V2 | undefined;\n\n constructor(protected readonly _options: Docs.Options = {}) {}\n\n public get v1(): V1 {\n return (this._v1 ??= new V1(this._options));\n }\n\n public get v2(): V2 {\n return (this._v2 ??= new V2(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\nimport { Cli } from \"../resources/cli/client/Client.js\";\nimport { Versions } from \"../resources/versions/client/Client.js\";\n\nexport declare namespace Generators {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * CRUD API for managing the generator entity itself.\n */\nexport class Generators {\n protected _cli: Cli | undefined;\n protected _versions: Versions | undefined;\n\n constructor(protected readonly _options: Generators.Options = {}) {}\n\n public get cli(): Cli {\n return (this._cli ??= new Cli(this._options));\n }\n\n public get versions(): Versions {\n return (this._versions ??= new Versions(this._options));\n }\n\n /**\n * Update or create the specified generator.\n *\n * @param {FernRegistry.generators.Generator} request\n * @param {Generators.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.upsertGenerator({\n * id: FernRegistry.generators.GeneratorId(\"id\"),\n * displayName: \"displayName\",\n * generatorType: {\n * type: \"sdk\"\n * },\n * generatorLanguage: undefined,\n * dockerImage: \"dockerImage\",\n * scripts: undefined\n * })\n */\n public upsertGenerator(\n request: FernRegistry.generators.Generator,\n requestOptions?: Generators.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.generators.upsertGenerator.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertGenerator(request, requestOptions));\n }\n\n private async __upsertGenerator(\n request: FernRegistry.generators.Generator,\n requestOptions?: Generators.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.generators.upsertGenerator.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.upsertGenerator.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the generator corresponding to the given docker image.\n *\n * @param {FernRegistry.generators.GetGeneratorByImageRequest} request\n * @param {Generators.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.getGeneratorByImage({\n * dockerImage: \"dockerImage\"\n * })\n */\n public getGeneratorByImage(\n request: FernRegistry.generators.GetGeneratorByImageRequest,\n requestOptions?: Generators.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.Generator | undefined,\n FernRegistry.generators.getGeneratorByImage.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getGeneratorByImage(request, requestOptions));\n }\n\n private async __getGeneratorByImage(\n request: FernRegistry.generators.GetGeneratorByImageRequest,\n requestOptions?: Generators.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.Generator | undefined,\n FernRegistry.generators.getGeneratorByImage.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/by-image\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.Generator | undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.getGeneratorByImage.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the specified generator.\n *\n * @param {FernRegistry.generators.GeneratorId} generatorId\n * @param {Generators.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.getGenerator(FernRegistry.generators.GeneratorId(\"generatorId\"))\n */\n public getGenerator(\n generatorId: FernRegistry.generators.GeneratorId,\n requestOptions?: Generators.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.Generator | undefined, FernRegistry.generators.getGenerator.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getGenerator(generatorId, requestOptions));\n }\n\n private async __getGenerator(\n generatorId: FernRegistry.generators.GeneratorId,\n requestOptions?: Generators.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.Generator | undefined, FernRegistry.generators.getGenerator.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/${encodeURIComponent(generatorId)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.Generator | undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.getGenerator.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the all generators. This is currently not paginated since the list will be short, but there may in the future be need for pagination.\n *\n * @param {Generators.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.listGenerators()\n */\n public listGenerators(\n requestOptions?: Generators.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.Generator[], FernRegistry.generators.listGenerators.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__listGenerators(requestOptions));\n }\n\n private async __listGenerators(\n requestOptions?: Generators.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.Generator[], FernRegistry.generators.listGenerators.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators\",\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.Generator[],\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.listGenerators.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Cli {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * CRUD API for managing CLI versions, as well as the corresponding IR metadata.\n */\nexport class Cli {\n constructor(protected readonly _options: Cli.Options = {}) {}\n\n /**\n * Get the latest CLI version that has not been yanked.\n *\n * @param {FernRegistry.generators.GetLatestCliReleaseRequest} request\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.getLatestCliRelease({\n * releaseTypes: undefined,\n * irVersion: undefined\n * })\n */\n public getLatestCliRelease(\n request: FernRegistry.generators.GetLatestCliReleaseRequest = {},\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getLatestCliRelease.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getLatestCliRelease(request, requestOptions));\n }\n\n private async __getLatestCliRelease(\n request: FernRegistry.generators.GetLatestCliReleaseRequest = {},\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getLatestCliRelease.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/cli/latest\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.CliRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.cli.getLatestCliRelease.Error)?.error) {\n case \"NoValidClisFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.generators.cli.getLatestCliRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.getLatestCliRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the changelog for the specified CLI upgrade. The response will be a map of the generator version to it's corresponding changelog.\n *\n * @param {FernRegistry.generators.GetChangelogRequest} request\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.getChangelog({\n * fromVersion: {\n * type: \"inclusive\",\n * value: \"fromVersion\"\n * },\n * toVersion: {\n * type: \"inclusive\",\n * value: \"toVersion\"\n * }\n * })\n */\n public getChangelog(\n request: FernRegistry.generators.GetChangelogRequest,\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.GetChangelogResponse, FernRegistry.generators.cli.getChangelog.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getChangelog(request, requestOptions));\n }\n\n private async __getChangelog(\n request: FernRegistry.generators.GetChangelogRequest,\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.GetChangelogResponse,\n FernRegistry.generators.cli.getChangelog.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/cli/changelog\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.GetChangelogResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.getChangelog.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the minimum CLI version that supports the given IR version. This does not include RCs.\n *\n * @param {number} irVersion\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.getMinCliForIr(1)\n */\n public getMinCliForIr(\n irVersion: number,\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getMinCliForIr.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getMinCliForIr(irVersion, requestOptions));\n }\n\n private async __getMinCliForIr(\n irVersion: number,\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getMinCliForIr.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/cli/for-ir/${encodeURIComponent(irVersion)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.CliRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.cli.getMinCliForIr.Error)?.error) {\n case \"NoValidClisFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.generators.cli.getMinCliForIr.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.getMinCliForIr.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Update or create the specified CLI version.\n *\n * @param {FernRegistry.generators.CliReleaseRequest} request\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.upsertCliRelease({\n * version: \"version\",\n * createdAt: undefined,\n * isYanked: undefined,\n * changelogEntry: undefined,\n * irVersion: 1,\n * tags: undefined\n * })\n */\n public upsertCliRelease(\n request: FernRegistry.generators.CliReleaseRequest,\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.generators.cli.upsertCliRelease.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertCliRelease(request, requestOptions));\n }\n\n private async __upsertCliRelease(\n request: FernRegistry.generators.CliReleaseRequest,\n requestOptions?: Cli.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.generators.cli.upsertCliRelease.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/cli\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.upsertCliRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the specified CLI version.\n *\n * @param {string} cliVersion\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.getCliRelease(\"cliVersion\")\n */\n public getCliRelease(\n cliVersion: string,\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getCliRelease.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getCliRelease(cliVersion, requestOptions));\n }\n\n private async __getCliRelease(\n cliVersion: string,\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getCliRelease.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/cli/${encodeURIComponent(cliVersion)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.CliRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.cli.getCliRelease.Error)?.error) {\n case \"CliVersionNotFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.generators.cli.getCliRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.getCliRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get all CLI versions.\n *\n * @param {FernRegistry.generators.ListCliReleasesRequest} request\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.listCliReleases()\n */\n public listCliReleases(\n request: FernRegistry.generators.ListCliReleasesRequest = {},\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.ListCliReleasesResponse,\n FernRegistry.generators.cli.listCliReleases.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__listCliReleases(request, requestOptions));\n }\n\n private async __listCliReleases(\n request: FernRegistry.generators.ListCliReleasesRequest = {},\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.ListCliReleasesResponse,\n FernRegistry.generators.cli.listCliReleases.Error\n >\n >\n > {\n const { page, pageSize } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n if (page != null) {\n _queryParams[\"page\"] = page.toString();\n }\n\n if (pageSize != null) {\n _queryParams[\"pageSize\"] = pageSize.toString();\n }\n\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/cli\",\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.ListCliReleasesResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.listCliReleases.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Versions {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * CRUD API for managing generator versions.\n */\nexport class Versions {\n constructor(protected readonly _options: Versions.Options = {}) {}\n\n /**\n * Get the latest generator version that has not been yanked.\n *\n * @param {FernRegistry.generators.GetLatestGeneratorReleaseRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.getLatestGeneratorRelease({\n * generator: FernRegistry.generators.GeneratorId(\"generator\"),\n * cliVersion: undefined,\n * irVersion: undefined,\n * generatorMajorVersion: undefined,\n * releaseTypes: undefined\n * })\n */\n public getLatestGeneratorRelease(\n request: FernRegistry.generators.GetLatestGeneratorReleaseRequest,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.GeneratorRelease,\n FernRegistry.generators.versions.getLatestGeneratorRelease.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getLatestGeneratorRelease(request, requestOptions));\n }\n\n private async __getLatestGeneratorRelease(\n request: FernRegistry.generators.GetLatestGeneratorReleaseRequest,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.GeneratorRelease,\n FernRegistry.generators.versions.getLatestGeneratorRelease.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/versions/latest\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.GeneratorRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.versions.getLatestGeneratorRelease.Error)?.error) {\n case \"NoValidGeneratorsFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error\n .body as FernRegistry.generators.versions.getLatestGeneratorRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.getLatestGeneratorRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the changelog for the specified generator upgrade. The response will be a map of the generator version to it's corresponding changelog.\n *\n * @param {FernRegistry.generators.GeneratorId} generator\n * @param {FernRegistry.generators.GetChangelogRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.getChangelog(FernRegistry.generators.GeneratorId(\"generator\"), {\n * fromVersion: {\n * type: \"inclusive\",\n * value: \"fromVersion\"\n * },\n * toVersion: {\n * type: \"inclusive\",\n * value: \"toVersion\"\n * }\n * })\n */\n public getChangelog(\n generator: FernRegistry.generators.GeneratorId,\n request: FernRegistry.generators.GetChangelogRequest,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.GetChangelogResponse,\n FernRegistry.generators.versions.getChangelog.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getChangelog(generator, request, requestOptions));\n }\n\n private async __getChangelog(\n generator: FernRegistry.generators.GeneratorId,\n request: FernRegistry.generators.GetChangelogRequest,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.GetChangelogResponse,\n FernRegistry.generators.versions.getChangelog.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/versions/${encodeURIComponent(generator)}/changelog`,\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.GetChangelogResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.getChangelog.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Update or create the specified generator version.\n *\n * @param {FernRegistry.generators.GeneratorReleaseRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.upsertGeneratorRelease({\n * version: \"version\",\n * createdAt: undefined,\n * isYanked: undefined,\n * changelogEntry: undefined,\n * generatorId: FernRegistry.generators.GeneratorId(\"generatorId\"),\n * irVersion: 1,\n * migration: undefined,\n * customConfigSchema: undefined,\n * tags: undefined\n * })\n */\n public upsertGeneratorRelease(\n request: FernRegistry.generators.GeneratorReleaseRequest,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.generators.versions.upsertGeneratorRelease.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertGeneratorRelease(request, requestOptions));\n }\n\n private async __upsertGeneratorRelease(\n request: FernRegistry.generators.GeneratorReleaseRequest,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<void, FernRegistry.generators.versions.upsertGeneratorRelease.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/versions\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.versions.upsertGeneratorRelease.Error)?.error) {\n case \"InvalidVersionError\":\n return {\n data: {\n ok: false,\n error: _response.error\n .body as FernRegistry.generators.versions.upsertGeneratorRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.upsertGeneratorRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the specified generator version.\n *\n * @param {FernRegistry.generators.GeneratorId} generator\n * @param {string} version\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.getGeneratorRelease(FernRegistry.generators.GeneratorId(\"generator\"), \"version\")\n */\n public getGeneratorRelease(\n generator: FernRegistry.generators.GeneratorId,\n version: string,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.GeneratorRelease,\n FernRegistry.generators.versions.getGeneratorRelease.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getGeneratorRelease(generator, version, requestOptions));\n }\n\n private async __getGeneratorRelease(\n generator: FernRegistry.generators.GeneratorId,\n version: string,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.GeneratorRelease,\n FernRegistry.generators.versions.getGeneratorRelease.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/versions/${encodeURIComponent(generator)}/${encodeURIComponent(version)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.GeneratorRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.versions.getGeneratorRelease.Error)?.error) {\n case \"GeneratorVersionNotFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.generators.versions.getGeneratorRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.getGeneratorRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get all generator versions for the specified generator.\n *\n * @param {FernRegistry.generators.GeneratorId} generator\n * @param {FernRegistry.generators.ListGeneratorReleasesRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.listGeneratorReleases(FernRegistry.generators.GeneratorId(\"generator\"))\n */\n public listGeneratorReleases(\n generator: FernRegistry.generators.GeneratorId,\n request: FernRegistry.generators.ListGeneratorReleasesRequest = {},\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.ListGeneratorReleasesResponse,\n FernRegistry.generators.versions.listGeneratorReleases.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__listGeneratorReleases(generator, request, requestOptions));\n }\n\n private async __listGeneratorReleases(\n generator: FernRegistry.generators.GeneratorId,\n request: FernRegistry.generators.ListGeneratorReleasesRequest = {},\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.ListGeneratorReleasesResponse,\n FernRegistry.generators.versions.listGeneratorReleases.Error\n >\n >\n > {\n const { page, pageSize } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n if (page != null) {\n _queryParams[\"page\"] = page.toString();\n }\n\n if (pageSize != null) {\n _queryParams[\"pageSize\"] = pageSize.toString();\n }\n\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/versions/${encodeURIComponent(generator)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.ListGeneratorReleasesResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.listGeneratorReleases.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Diff {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Diff {\n constructor(protected readonly _options: Diff.Options = {}) {}\n\n /**\n * @param {FernRegistry.ApiDiffRequest} request\n * @param {Diff.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.diff.diff({\n * previousApiDefinitionId: FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"),\n * currentApiDefinitionId: FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\")\n * })\n */\n public diff(\n request: FernRegistry.ApiDiffRequest,\n requestOptions?: Diff.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.ApiDiff, FernRegistry.diff.diff.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__diff(request, requestOptions));\n }\n\n private async __diff(\n request: FernRegistry.ApiDiffRequest,\n requestOptions?: Diff.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<FernRegistry.ApiDiff, FernRegistry.diff.diff.Error>>> {\n const { previousApiDefinitionId, currentApiDefinitionId } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n _queryParams[\"previousApiDefinitionId\"] = previousApiDefinitionId;\n _queryParams[\"currentApiDefinitionId\"] = currentApiDefinitionId;\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/registry/diff\",\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.ApiDiff,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.diff.diff.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace DocsCache {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class DocsCache {\n constructor(protected readonly _options: DocsCache.Options = {}) {}\n\n /**\n * @param {FernRegistry.InvalidateCachedDocsRequest} request\n * @param {DocsCache.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docsCache.invalidate({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public invalidate(\n request: FernRegistry.InvalidateCachedDocsRequest,\n requestOptions?: DocsCache.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docsCache.invalidate.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__invalidate(request, requestOptions));\n }\n\n private async __invalidate(\n request: FernRegistry.InvalidateCachedDocsRequest,\n requestOptions?: DocsCache.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docsCache.invalidate.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/docs-cache/invalidate\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docsCache.invalidate.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Git {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * Produces an internal schema to easily track and view pull requests across Fern-managed repositories. This API is named `git` to allow for flexibility in adding other git providers down the line (e.g. gitlab).\n */\nexport class Git {\n constructor(protected readonly _options: Git.Options = {}) {}\n\n /**\n * Get a repository by its name (mirroring the Github API, this is the main get request).\n *\n * @param {string} repositoryOwner\n * @param {string} repositoryName\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.getRepository(\"repositoryOwner\", \"repositoryName\")\n */\n public getRepository(\n repositoryOwner: string,\n repositoryName: string,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.FernRepository, FernRegistry.git.getRepository.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__getRepository(repositoryOwner, repositoryName, requestOptions),\n );\n }\n\n private async __getRepository(\n repositoryOwner: string,\n repositoryName: string,\n requestOptions?: Git.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<FernRegistry.FernRepository, FernRegistry.git.getRepository.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/github/repository/${encodeURIComponent(repositoryOwner)}/${encodeURIComponent(repositoryName)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.FernRepository,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.getRepository.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get all repositories.\n *\n * @param {FernRegistry.ListRepositoriesRequest} request\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.listRepositories({\n * page: undefined,\n * pageSize: undefined,\n * organizationId: undefined,\n * repositoryName: undefined,\n * repositoryOwner: undefined\n * })\n */\n public listRepositories(\n request: FernRegistry.ListRepositoriesRequest = {},\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.ListRepositoriesResponse, FernRegistry.git.listRepositories.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__listRepositories(request, requestOptions));\n }\n\n private async __listRepositories(\n request: FernRegistry.ListRepositoriesRequest = {},\n requestOptions?: Git.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.ListRepositoriesResponse, FernRegistry.git.listRepositories.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/github/repository/list\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.ListRepositoriesResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.listRepositories.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Update or create the specified repository.\n *\n * @param {FernRegistry.FernRepository} request\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.upsertRepository({\n * type: \"sdk\",\n * id: {\n * type: \"github\",\n * id: \"id\"\n * },\n * name: \"name\",\n * owner: \"owner\",\n * fullName: \"fullName\",\n * url: FernRegistry.Url(\"url\"),\n * repositoryOwnerOrganizationId: FernRegistry.OrgId(\"repositoryOwnerOrganizationId\"),\n * defaultBranchChecks: [{\n * checkId: \"checkId\",\n * repositoryOwner: \"repositoryOwner\",\n * repositoryName: \"repositoryName\",\n * ref: \"ref\",\n * name: \"name\",\n * status: \"status\",\n * conclusion: \"conclusion\",\n * checkRunUrl: \"checkRunUrl\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * completedAt: undefined,\n * rawCheckRun: {\n * \"key\": \"value\"\n * }\n * }, {\n * checkId: \"checkId\",\n * repositoryOwner: \"repositoryOwner\",\n * repositoryName: \"repositoryName\",\n * ref: \"ref\",\n * name: \"name\",\n * status: \"status\",\n * conclusion: \"conclusion\",\n * checkRunUrl: \"checkRunUrl\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * completedAt: undefined,\n * rawCheckRun: {\n * \"key\": \"value\"\n * }\n * }],\n * sdkLanguage: \"sdkLanguage\"\n * })\n */\n public upsertRepository(\n request: FernRegistry.FernRepository,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.git.upsertRepository.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertRepository(request, requestOptions));\n }\n\n private async __upsertRepository(\n request: FernRegistry.FernRepository,\n requestOptions?: Git.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.git.upsertRepository.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/github/repository/upsert\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.upsertRepository.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Delete specified repository.\n *\n * @param {string} repositoryOwner\n * @param {string} repositoryName\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.deleteRepository(\"repositoryOwner\", \"repositoryName\")\n */\n public deleteRepository(\n repositoryOwner: string,\n repositoryName: string,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.git.deleteRepository.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__deleteRepository(repositoryOwner, repositoryName, requestOptions),\n );\n }\n\n private async __deleteRepository(\n repositoryOwner: string,\n repositoryName: string,\n requestOptions?: Git.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.git.deleteRepository.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/github/repository/${encodeURIComponent(repositoryOwner)}/${encodeURIComponent(repositoryName)}/delete`,\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.deleteRepository.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get a pull request by its ID.\n *\n * @param {string} repositoryOwner\n * @param {string} repositoryName\n * @param {number} pullRequestNumber\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.getPullRequest(\"repositoryOwner\", \"repositoryName\", 1)\n */\n public getPullRequest(\n repositoryOwner: string,\n repositoryName: string,\n pullRequestNumber: number,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.PullRequest, FernRegistry.git.getPullRequest.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__getPullRequest(repositoryOwner, repositoryName, pullRequestNumber, requestOptions),\n );\n }\n\n private async __getPullRequest(\n repositoryOwner: string,\n repositoryName: string,\n pullRequestNumber: number,\n requestOptions?: Git.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<FernRegistry.PullRequest, FernRegistry.git.getPullRequest.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/github/pull-request/${encodeURIComponent(repositoryOwner)}/${encodeURIComponent(repositoryName)}/${encodeURIComponent(pullRequestNumber)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.PullRequest,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.getPullRequest.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get all pull requests.\n *\n * @param {FernRegistry.ListPullRequestsRequest} request\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.listPullRequests({\n * page: undefined,\n * pageSize: undefined,\n * repositoryName: undefined,\n * repositoryOwner: undefined,\n * organizationId: undefined,\n * state: undefined,\n * author: undefined\n * })\n */\n public listPullRequests(\n request: FernRegistry.ListPullRequestsRequest = {},\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.ListPullRequestsResponse, FernRegistry.git.listPullRequests.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__listPullRequests(request, requestOptions));\n }\n\n private async __listPullRequests(\n request: FernRegistry.ListPullRequestsRequest = {},\n requestOptions?: Git.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.ListPullRequestsResponse, FernRegistry.git.listPullRequests.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/github/pull-request/list\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.ListPullRequestsResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.listPullRequests.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Update or create the specified pull request.\n *\n * @param {FernRegistry.PullRequest} request\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.upsertPullRequest({\n * pullRequestNumber: 1,\n * repositoryName: \"repositoryName\",\n * repositoryOwner: \"repositoryOwner\",\n * author: undefined,\n * reviewers: [{\n * type: \"user\",\n * name: undefined,\n * email: undefined,\n * username: \"username\"\n * }, {\n * type: \"user\",\n * name: undefined,\n * email: undefined,\n * username: \"username\"\n * }],\n * title: \"title\",\n * url: FernRegistry.Url(\"url\"),\n * checks: [{\n * checkId: \"checkId\",\n * repositoryOwner: \"repositoryOwner\",\n * repositoryName: \"repositoryName\",\n * ref: \"ref\",\n * name: \"name\",\n * status: \"status\",\n * conclusion: \"conclusion\",\n * checkRunUrl: \"checkRunUrl\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * completedAt: undefined,\n * rawCheckRun: {\n * \"key\": \"value\"\n * }\n * }, {\n * checkId: \"checkId\",\n * repositoryOwner: \"repositoryOwner\",\n * repositoryName: \"repositoryName\",\n * ref: \"ref\",\n * name: \"name\",\n * status: \"status\",\n * conclusion: \"conclusion\",\n * checkRunUrl: \"checkRunUrl\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * completedAt: undefined,\n * rawCheckRun: {\n * \"key\": \"value\"\n * }\n * }],\n * state: \"open\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * updatedAt: undefined,\n * mergedAt: undefined,\n * closedAt: undefined\n * })\n */\n public upsertPullRequest(\n request: FernRegistry.PullRequest,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.git.upsertPullRequest.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertPullRequest(request, requestOptions));\n }\n\n private async __upsertPullRequest(\n request: FernRegistry.PullRequest,\n requestOptions?: Git.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.git.upsertPullRequest.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/github/pull-request/upsert\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.upsertPullRequest.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Delete specified pull request.\n *\n * @param {string} repositoryOwner\n * @param {string} repositoryName\n * @param {number} pullRequestNumber\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.deletePullRequest(\"repositoryOwner\", \"repositoryName\", 1)\n */\n public deletePullRequest(\n repositoryOwner: string,\n repositoryName: string,\n pullRequestNumber: number,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.git.deletePullRequest.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__deletePullRequest(repositoryOwner, repositoryName, pullRequestNumber, requestOptions),\n );\n }\n\n private async __deletePullRequest(\n repositoryOwner: string,\n repositoryName: string,\n pullRequestNumber: number,\n requestOptions?: Git.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.git.deletePullRequest.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/github/pull-request/${encodeURIComponent(repositoryOwner)}/${encodeURIComponent(repositoryName)}/${encodeURIComponent(pullRequestNumber)}/delete`,\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.deletePullRequest.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Versions {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Versions {\n constructor(protected readonly _options: Versions.Options = {}) {}\n\n /**\n * Computes a semantic version for the SDK to be relesed on.\n * The endpoint tries to find existing versions by looking up against\n * registries and github repositories. If none are found an error is thrown.\n * If a version is found, a new semantic version is returned.\n *\n * @param {FernRegistry.sdks.ComputeSemanticVersionRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.sdks.versions.computeSemanticVersion({\n * package: \"package\",\n * language: \"Go\",\n * githubRepository: undefined\n * })\n */\n public computeSemanticVersion(\n request: FernRegistry.sdks.ComputeSemanticVersionRequest,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.sdks.ComputedSemanticVersionResponse,\n FernRegistry.sdks.versions.computeSemanticVersion.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__computeSemanticVersion(request, requestOptions));\n }\n\n private async __computeSemanticVersion(\n request: FernRegistry.sdks.ComputeSemanticVersionRequest,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.sdks.ComputedSemanticVersionResponse,\n FernRegistry.sdks.versions.computeSemanticVersion.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/sdks/semantic-version/compute\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.sdks.ComputedSemanticVersionResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.sdks.versions.computeSemanticVersion.Error)?.error) {\n case \"FailedToComputeExistingVersion\":\n case \"FailedToIncrementVersion\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.sdks.versions.computeSemanticVersion.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.sdks.versions.computeSemanticVersion.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport { Versions } from \"../resources/versions/client/Client.js\";\n\nexport declare namespace Sdks {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class Sdks {\n protected _versions: Versions | undefined;\n\n constructor(protected readonly _options: Sdks.Options = {}) {}\n\n public get versions(): Versions {\n return (this._versions ??= new Versions(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace SnippetsFactory {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class SnippetsFactory {\n constructor(protected readonly _options: SnippetsFactory.Options = {}) {}\n\n /**\n * Store endpoint snippets for a particular SDK.\n *\n * @param {FernRegistry.CreateSnippetRequest} request\n * @param {SnippetsFactory.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.snippetsFactory.createSnippetsForSdk({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * snippets: {\n * type: \"typescript\",\n * sdk: {\n * package: \"package\",\n * version: \"version\"\n * },\n * snippets: [{\n * endpoint: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * exampleIdentifier: undefined,\n * snippet: {\n * client: \"client\"\n * }\n * }, {\n * endpoint: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * exampleIdentifier: undefined,\n * snippet: {\n * client: \"client\"\n * }\n * }]\n * }\n * })\n */\n public createSnippetsForSdk(\n request: FernRegistry.CreateSnippetRequest,\n requestOptions?: SnippetsFactory.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.snippetsFactory.createSnippetsForSdk.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__createSnippetsForSdk(request, requestOptions));\n }\n\n private async __createSnippetsForSdk(\n request: FernRegistry.CreateSnippetRequest,\n requestOptions?: SnippetsFactory.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.snippetsFactory.createSnippetsForSdk.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippets/create\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.snippetsFactory.createSnippetsForSdk.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"OrgIdNotFound\":\n case \"SDKNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.snippetsFactory.createSnippetsForSdk.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.snippetsFactory.createSnippetsForSdk.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Snippets {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Snippets {\n constructor(protected readonly _options: Snippets.Options = {}) {}\n\n /**\n * Get snippet by endpoint method and path\n *\n * @param {FernRegistry.GetSnippetRequest} request\n * @param {Snippets.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.snippets.get({\n * endpoint: {\n * method: \"GET\",\n * path: FernRegistry.EndpointPathLiteral(\"/v1/search\")\n * }\n * })\n */\n public get(\n request: FernRegistry.GetSnippetRequest,\n requestOptions?: Snippets.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.Snippet[], FernRegistry.snippets.get.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__get(request, requestOptions));\n }\n\n private async __get(\n request: FernRegistry.GetSnippetRequest,\n requestOptions?: Snippets.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<FernRegistry.Snippet[], FernRegistry.snippets.get.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippets\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.Snippet[],\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.snippets.get.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"UnavailableError\":\n case \"ApiIdRequiredError\":\n case \"OrgIdRequiredError\":\n case \"OrgIdAndApiIdNotFound\":\n case \"OrgIdNotFound\":\n case \"EndpointNotFound\":\n case \"SDKNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.snippets.get.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.snippets.get.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.ListSnippetsRequest} request\n * @param {Snippets.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.snippets.load({\n * page: 1,\n * orgId: FernRegistry.OrgId(\"vellum\"),\n * apiId: FernRegistry.ApiId(\"vellum-ai\"),\n * sdks: [{\n * type: \"python\",\n * package: \"vellum-ai\"\n * }]\n * })\n */\n public load(\n request: FernRegistry.ListSnippetsRequest = {},\n requestOptions?: Snippets.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.SnippetsPage, FernRegistry.snippets.load.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__load(request, requestOptions));\n }\n\n private async __load(\n request: FernRegistry.ListSnippetsRequest = {},\n requestOptions?: Snippets.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<FernRegistry.SnippetsPage, FernRegistry.snippets.load.Error>>> {\n const { page, ..._body } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n if (page != null) {\n _queryParams[\"page\"] = page.toString();\n }\n\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippets/load\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n body: _body,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.SnippetsPage,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.snippets.load.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"UnavailableError\":\n case \"InvalidPageError\":\n case \"ApiIdRequiredError\":\n case \"OrgIdRequiredError\":\n case \"OrgIdAndApiIdNotFound\":\n case \"OrgIdNotFound\":\n case \"SDKNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.snippets.load.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.snippets.load.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Templates {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Templates {\n constructor(protected readonly _options: Templates.Options = {}) {}\n\n /**\n * Store endpoint snippet for a particular SDK.\n *\n * @param {FernRegistry.RegisterSnippetTemplateRequest} request\n * @param {Templates.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.templates.register({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * apiDefinitionId: FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"),\n * snippet: {\n * sdk: {\n * type: \"typescript\",\n * package: \"package\",\n * version: \"version\"\n * },\n * endpointId: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * snippetTemplate: {\n * type: \"v1\",\n * clientInstantiation: \"clientInstantiation\",\n * functionInvocation: {\n * type: \"generic\",\n * imports: undefined,\n * isOptional: true,\n * templateString: \"templateString\",\n * templateInputs: undefined,\n * inputDelimiter: undefined\n * }\n * },\n * additionalTemplates: undefined\n * }\n * })\n */\n public register(\n request: FernRegistry.RegisterSnippetTemplateRequest,\n requestOptions?: Templates.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.templates.register.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__register(request, requestOptions));\n }\n\n private async __register(\n request: FernRegistry.RegisterSnippetTemplateRequest,\n requestOptions?: Templates.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.templates.register.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippet-template/register\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.templates.register.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Store endpoint snippets for a particular SDK.\n *\n * @param {FernRegistry.RegisterSnippetTemplateBatchRequest} request\n * @param {Templates.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.templates.registerBatch({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * apiDefinitionId: FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"),\n * snippets: [{\n * sdk: {\n * type: \"typescript\",\n * package: \"package\",\n * version: \"version\"\n * },\n * endpointId: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * snippetTemplate: {\n * type: \"v1\",\n * clientInstantiation: \"clientInstantiation\",\n * functionInvocation: {\n * type: \"generic\",\n * imports: undefined,\n * isOptional: true,\n * templateString: \"templateString\",\n * templateInputs: undefined,\n * inputDelimiter: undefined\n * }\n * },\n * additionalTemplates: undefined\n * }, {\n * sdk: {\n * type: \"typescript\",\n * package: \"package\",\n * version: \"version\"\n * },\n * endpointId: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * snippetTemplate: {\n * type: \"v1\",\n * clientInstantiation: \"clientInstantiation\",\n * functionInvocation: {\n * type: \"generic\",\n * imports: undefined,\n * isOptional: true,\n * templateString: \"templateString\",\n * templateInputs: undefined,\n * inputDelimiter: undefined\n * }\n * },\n * additionalTemplates: undefined\n * }]\n * })\n */\n public registerBatch(\n request: FernRegistry.RegisterSnippetTemplateBatchRequest,\n requestOptions?: Templates.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.templates.registerBatch.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__registerBatch(request, requestOptions));\n }\n\n private async __registerBatch(\n request: FernRegistry.RegisterSnippetTemplateBatchRequest,\n requestOptions?: Templates.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.templates.registerBatch.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippet-template/register/batch\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.templates.registerBatch.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the endpoint's snippet template for a particular SDK.\n *\n * @param {FernRegistry.GetSnippetTemplate} request\n * @param {Templates.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.templates.get({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * sdk: {\n * type: \"typescript\",\n * package: \"package\",\n * version: undefined\n * },\n * endpointId: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * }\n * })\n */\n public get(\n request: FernRegistry.GetSnippetTemplate,\n requestOptions?: Templates.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.EndpointSnippetTemplate, FernRegistry.templates.get.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__get(request, requestOptions));\n }\n\n private async __get(\n request: FernRegistry.GetSnippetTemplate,\n requestOptions?: Templates.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<FernRegistry.EndpointSnippetTemplate, FernRegistry.templates.get.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippet-template/get\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.EndpointSnippetTemplate,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.templates.get.Error)?.error) {\n case \"UnauthorizedError\":\n case \"SnippetNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.templates.get.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.templates.get.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Tokens {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Tokens {\n constructor(protected readonly _options: Tokens.Options = {}) {}\n\n /**\n * Generate a token\n *\n * @param {FernRegistry.GenerateTokenRequest} request\n * @param {Tokens.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.tokens.generate({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * scope: \"scope\"\n * })\n */\n public generate(\n request: FernRegistry.GenerateTokenRequest,\n requestOptions?: Tokens.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.GenerateTokenResponse, FernRegistry.tokens.generate.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__generate(request, requestOptions));\n }\n\n private async __generate(\n request: FernRegistry.GenerateTokenRequest,\n requestOptions?: Tokens.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<FernRegistry.GenerateTokenResponse, FernRegistry.tokens.generate.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/tokens/generate\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.GenerateTokenResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.tokens.generate.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Revoke a token\n *\n * @param {FernRegistry.RevokeTokenRequest} request\n * @param {Tokens.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.tokens.revoke({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * tokenId: FernRegistry.TokenId(\"tokenId\")\n * })\n */\n public revoke(\n request: FernRegistry.RevokeTokenRequest,\n requestOptions?: Tokens.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.tokens.revoke.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__revoke(request, requestOptions));\n }\n\n private async __revoke(\n request: FernRegistry.RevokeTokenRequest,\n requestOptions?: Tokens.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.tokens.revoke.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/tokens/revoke\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.tokens.revoke.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"./environments.js\";\nimport * as core from \"./core/index.js\";\nimport { Api } from \"./api/resources/api/client/Client.js\";\nimport { Dashboard } from \"./api/resources/dashboard/client/Client.js\";\nimport { Docs } from \"./api/resources/docs/client/Client.js\";\nimport { Generators } from \"./api/resources/generators/client/Client.js\";\nimport { Diff } from \"./api/resources/diff/client/Client.js\";\nimport { DocsCache } from \"./api/resources/docsCache/client/Client.js\";\nimport { Git } from \"./api/resources/git/client/Client.js\";\nimport { Sdks } from \"./api/resources/sdks/client/Client.js\";\nimport { SnippetsFactory } from \"./api/resources/snippetsFactory/client/Client.js\";\nimport { Snippets } from \"./api/resources/snippets/client/Client.js\";\nimport { Templates } from \"./api/resources/templates/client/Client.js\";\nimport { Tokens } from \"./api/resources/tokens/client/Client.js\";\n\nexport declare namespace FernRegistryClient {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class FernRegistryClient {\n protected _api: Api | undefined;\n protected _dashboard: Dashboard | undefined;\n protected _docs: Docs | undefined;\n protected _generators: Generators | undefined;\n protected _diff: Diff | undefined;\n protected _docsCache: DocsCache | undefined;\n protected _git: Git | undefined;\n protected _sdks: Sdks | undefined;\n protected _snippetsFactory: SnippetsFactory | undefined;\n protected _snippets: Snippets | undefined;\n protected _templates: Templates | undefined;\n protected _tokens: Tokens | undefined;\n\n constructor(protected readonly _options: FernRegistryClient.Options = {}) {}\n\n public get api(): Api {\n return (this._api ??= new Api(this._options));\n }\n\n public get dashboard(): Dashboard {\n return (this._dashboard ??= new Dashboard(this._options));\n }\n\n public get docs(): Docs {\n return (this._docs ??= new Docs(this._options));\n }\n\n public get generators(): Generators {\n return (this._generators ??= new Generators(this._options));\n }\n\n public get diff(): Diff {\n return (this._diff ??= new Diff(this._options));\n }\n\n public get docsCache(): DocsCache {\n return (this._docsCache ??= new DocsCache(this._options));\n }\n\n public get git(): Git {\n return (this._git ??= new Git(this._options));\n }\n\n public get sdks(): Sdks {\n return (this._sdks ??= new Sdks(this._options));\n }\n\n public get snippetsFactory(): SnippetsFactory {\n return (this._snippetsFactory ??= new SnippetsFactory(this._options));\n }\n\n public get snippets(): Snippets {\n return (this._snippets ??= new Snippets(this._options));\n }\n\n public get templates(): Templates {\n return (this._templates ??= new Templates(this._options));\n }\n\n public get tokens(): Tokens {\n return (this._tokens ??= new Tokens(this._options));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;;;ACUO,SAAS,aAAa,OAAqD;AAC9E,SAAO;AACX;;;ACZA;;;ACAA;;;ACAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,uBAAuB;AAAA,EAChC,UAAU;AAAA,EACV,WAAW;AACf;;;ACRA;AAAA;AAAA;AAAA;;;ACKO,IAAM,oBAAoB;AAAA,EAC7B,KAAK;AAAA,EACL,MAAM;AACV;;;ACRA;;;ACAA;AAAA;AAAA,eAAAA;AAAA;AAkCO,IAAMA,SAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAgF;AAChG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,sBAAsB,MAAuE;AACzF,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAA0F;AACjG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,qBAAqB;AAAA,MACxC;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAAC;AAAA,EAAA,eAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,kBAAAC;AAAA;;;ACAA,IAAAC,oBAAA;;;ACAA;AAAA;AAAA,8BAAAC;AAAA,EAAA;AAAA,kBAAAC;AAAA,EAAA;AAAA,eAAAC;AAAA,EAAA,eAAAC;AAAA,EAAA,iBAAAC;AAAA;;;ACAA,IAAAC,oBAAA;AAAA,SAAAA,mBAAA;AAAA;AAAA;;;ACiBO,IAAM,oBAAoB;AAAA,EAC7B,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AACX;;;AC9BA,IAAAC,gBAAA;AAAA,SAAAA,eAAA;AAAA,8BAAAC;AAAA;;;ACKO,IAAMC,wBAAuB;AAAA,EAChC,UAAU;AAAA,EACV,WAAW;AACf;;;ACRA,IAAAC,mBAAA;;;ACAA,IAAAC,qBAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAkCO,IAAMA,SAAQ;AAAA,EACjB,mBAAmB,CAAC,UAA2E;AAC3F,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,sBAAsB,MAAkE;AACpF,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAqF;AAC5F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,qBAAqB;AAAA,MACxC;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpEA;AAAA;AAAA,8BAAAC;AAAA,EAAA;AAAA,kBAAAC;AAAA,EAAA;AAAA,eAAAC;AAAA,EAAA,eAAAC;AAAA,EAAA,iBAAAC;AAAA;;;ACUO,SAAS,SAAS,OAAsD;AAC3E,SAAO;AACX;;;ACZA,IAAAC,oBAAA;;;ACAA,IAAAC,gBAAA;AAAA,SAAAA,eAAA;AAAA,8BAAAC;AAAA;;;ACKO,IAAMC,wBAAuB;AAAA,EAChC,UAAU;AAAA,EACV,WAAW;AACf;;;ACRA,IAAAC,mBAAA;;;ACAA,IAAAC,qBAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAmCO,IAAMA,SAAQ;AAAA,EACjB,mBAAmB,CAAC,UAA8F;AAC9G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAA8F;AAC9G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAwG;AAC/G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACtEA,IAAAC,mBAAA;AAAA,SAAAA,kBAAA;AAAA;AAAA;AAAA;AAAA,2BAAAC;AAAA;;;ACUO,SAAS,aAAa,OAAiD;AAC1E,SAAO;AACX;;;ACFO,SAAS,mBAAmB,OAAuD;AACtF,SAAO;AACX;;;ACPO,IAAM,yBAAyB;AAAA,EAClC,QAAQ;AAAA,EACR,QAAQ;AACZ;;;ACHO,IAAMC,qBAAoB;AAAA,EAC7B,KAAK;AAAA,EACL,MAAM;AACV;;;ACRA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAmCO,IAAMA,SAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAqF;AACrG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAqF;AACrG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAA+F;AACtG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACtEA;AAAA;AAAA,gBAAAC;AAAA,EAAA,UAAAC;AAAA,EAAA;AAAA;;;ACAA,IAAAC,kBAAA;AAAA,SAAAA,iBAAA;AAAA;AAAA;AAAA,iBAAAC;AAAA,EAAA;AAAA;AAAA;;;ACAA,IAAAC,mBAAA;;;ACAA;AAAA;AAAA;AAAA;;;AC4BO,IAAM,SAAS;AAAA,EAClB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN,QAAQ;AACZ;;;AClCA;AAAA;AAAA;AAAA;;;ACKO,IAAM,qBAAqB;AAAA,EAC9B,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,KAAK;AAAA,EACL,QAAQ;AACZ;;;ACVA,IAAAC,cAAA;AAAA,SAAAA,aAAA;AAAA,iBAAAC;AAAA,EAAA,UAAAC;AAAA,EAAA,YAAAC;AAAA,EAAA;AAAA;;;ACAA,IAAAC,cAAA;;;ACAA,IAAAC,gBAAA;AAAA,SAAAA,eAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAkCO,IAAMA,SAAQ;AAAA,EACjB,mBAAmB,CAAC,UAA4F;AAC5G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,0BAA0B,MAAuF;AAC7G,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAsG;AAC7G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,yBAAyB;AAAA,MAC5C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpEA;AAAA;AAAA,eAAAC;AAAA;AAkCO,IAAMA,SAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAsF;AACtG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,0BAA0B,MAAiF;AACvG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAgG;AACvG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,yBAAyB;AAAA,MAC5C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACaO,SAAS,SAAS,OAAoD;AACzE,SAAO;AACX;;;ACLO,SAAS,mBAAmB,OAA8D;AAC7F,SAAO;AACX;;;ACZA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,SAAQ;AAAA,EACjB,UAAU,CAAC,iBAAkG;AACzG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAyCO,IAAMA,SAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAyF;AACzG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAyF;AACzG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,4BAA4B,MAAsF;AAC9G,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAmG;AAC1G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,2BAA2B;AAAA,MAC9C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpFA,IAAAC,mBAAA;AAAA,SAAAA,kBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAAC;AAAA,EAAA,eAAAD;AAAA;;;ACAA,IAAAE,mBAAA;AAAA,SAAAA,kBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAAC;AAAA;;;ACKO,IAAM,UAAU;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AACd;;;ACWO,IAAM,sBAAsB;AAAA,EAC/B,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AACR;;;ACjCO,IAAM,qBAAqB;AAAA,EAC9B,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,SAAS;AACb;;;ACJO,IAAM,gBAAgB;AAAA,EACzB,QAAQ;AAAA,EACR,SAAS;AACb;;;ACHO,IAAM,mBAAmB;AAAA,EAC5B,QAAQ;AAAA,EACR,MAAM;AACV;;;ACHO,IAAM,iBAAiB;AAAA,EAC1B,OAAO;AAAA,EACP,UAAU;AACd;;;ACHO,IAAMC,sBAAqB;AAAA,EAC9B,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,KAAK;AAAA,EACL,QAAQ;AACZ;;;ACLO,IAAM,mBAAmB;AAAA,EAC5B,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,YAAY;AAChB;;;ACJO,IAAM,YAAY;AAAA,EACrB,QAAQ;AAAA,EACR,QAAQ;AACZ;;;ACHO,IAAM,cAAc;AAAA,EACvB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACd;;;ACXA;AAAA;AAAA,cAAAC;AAAA,EAAA,aAAAC;AAAA;;;ACAA,IAAAC,gBAAA;AAAA,SAAAA,eAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AA2BO,IAAMA,UAAQ;AAAA,EACjB,0BAA0B,MAAsF;AAC5G,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAqG;AAC5G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,yBAAyB;AAAA,MAC5C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpDA;AAAA;AAAA,eAAAC;AAAA;AA2BO,IAAMA,UAAQ;AAAA,EACjB,0BAA0B,MAAmF;AACzG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAkG;AACzG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,yBAAyB;AAAA,MAC5C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpDA;AAAA;AAAA,eAAAC;AAAA;AAkCO,IAAMA,UAAQ;AAAA,EACjB,0BAA0B,MAA8E;AACpG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAmF;AACnG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAA6F;AACpG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,yBAAyB;AAAA,MAC5C,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpEA;AAAA;AAAA,eAAAC;AAAA;AAkCO,IAAMA,UAAQ;AAAA,EACjB,0BAA0B,MAAqF;AAC3G,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAA0F;AAC1G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAoG;AAC3G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,yBAAyB;AAAA,MAC5C,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpEA;AAAA;AAAA,eAAAC;AAAA;AA4BO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAqF;AACrG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAA+F;AACtG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACtDA;AAAA;AAAA,eAAAC;AAAA;AA2BO,IAAMA,UAAQ;AAAA,EACjB,6BAA6B,MAAqF;AAC9G,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAiG;AACxG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,4BAA4B;AAAA,MAC/C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpDA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CACN,iBACsE;AACtE,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACvCA,IAAAC,iBAAA;AAAA,SAAAA,gBAAA;AAAA,4BAAAC;AAAA,EAAA;AAAA;AAAA;AAAA,2BAAAC;AAAA,EAAA;AAAA;;;ACAA,IAAAC,6BAAA;AAAA,SAAAA,4BAAA;AAAA,eAAAC;AAAA;AAoEO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAwF;AACxG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,kBAAkB,CAAC,UAAuF;AACtG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAwF;AACxG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,oBAAoB,MAA6E;AAC7F,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,0BAA0B,MAAmF;AACzG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,gCAAgC,CAC5B,UACoF;AACpF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,iBAAiB,CAAC,UAAsF;AACpG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAkG;AACzG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,iBAAiB,MAAM,OAAO;AAAA,MACjD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,mBAAmB;AAAA,MACtC,KAAK;AACD,eAAO,QAAQ,yBAAyB;AAAA,MAC5C,KAAK;AACD,eAAO,QAAQ,+BAA+B,MAAM,OAAO;AAAA,MAC/D,KAAK;AACD,eAAO,QAAQ,gBAAgB,MAAM,OAAO;AAAA,MAChD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpJA;AAAA;AAAA,eAAAC;AAAA;AAgDO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,CAAC,UAA+F;AAC/G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,kBAAkB,CAAC,UAA8F;AAC7G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAA+F;AAC/G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,oBAAoB,MAAoF;AACpG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CACN,iBACqE;AACrE,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,iBAAiB,MAAM,OAAO;AAAA,MACjD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,mBAAmB;AAAA,MACtC;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACtGA,IAAAC,8BAAA;AAAA,SAAAA,6BAAA;AAAA,eAAAC;AAAA;AAyCO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAyF;AACzG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAyF;AACzG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,4BAA4B,MAAsF;AAC9G,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAmG;AAC1G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,2BAA2B;AAAA,MAC9C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpFA;AAAA;AAAA,eAAAC;AAAA;AAkCO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,MAAoF;AACnG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CACf,UAC+E;AAC/E,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CACN,iBACsE;AACtE,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB;AAAA,MACrC,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACxEA;AAAA;AAAA,eAAAC;AAAA;AAkCO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,MAAwE;AACvF,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAoF;AACpG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAA8F;AACrG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB;AAAA,MACrC,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpEA;AAAA;AAAA,eAAAC;AAAA;AAkCO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,MAA6E;AAC5F,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAyF;AACzG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAmG;AAC1G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB;AAAA,MACrC,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACaO,SAAS,YAAY,OAAoD;AAC5E,SAAO;AACX;;;ACVO,IAAM,oBAAoB;AAAA,EAC7B,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AACV;;;ACfA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AA2BO,IAAMA,UAAQ;AAAA,EACjB,uBAAuB,MAAmF;AACtG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAqG;AAC5G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,sBAAsB;AAAA,MACzC;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpDA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAA8F;AACrG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AA2BO,IAAMA,UAAQ;AAAA,EACjB,uBAAuB,MAA8E;AACjG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAgG;AACvG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,sBAAsB;AAAA,MACzC;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACpDA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAkG;AACzG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AA4BO,IAAMA,UAAQ;AAAA,EACjB,yBAAyB,CACrB,UAC0E;AAC1E,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAA+F;AACtG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,wBAAwB,MAAM,OAAO;AAAA,MACxD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACxDA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAiG;AACxG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA,IAAAC,mBAAA;AAAA,SAAAA,kBAAA;AAAA;AAAA;AAAA;;;ACQO,IAAM,qBAAqB;AAAA,EAC9B,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AACd;;;ACTO,IAAM,cAAc;AAAA,EACvB,IAAI;AAAA,EACJ,IAAI;AACR;;;ACRA;AAAA;AAAA,sBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AA2BO,IAAMA,UAAQ;AAAA,EACjB,6BACI,MAAoG;AAChG,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEJ,UAAU,CACN,iBAC4E;AAC5E,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,4BAA4B;AAAA,MAC/C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACvDA,IAAAC,wBAAA;AAAA,SAAAA,uBAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAmG;AAC1G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AA4BO,IAAMA,UAAQ;AAAA,EACjB,qBAAqB,CACjB,UACoF;AACpF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CACN,iBACyE;AACzE,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,oBAAoB,MAAM,OAAO;AAAA,MACpD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;AC1DA;AAAA;AAAA,eAAAC;AAAA;AA4BO,IAAMA,UAAQ;AAAA,EACjB,+BAA+B,CAC3B,UAC2F;AAC3F,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CACN,iBACsE;AACtE,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,8BAA8B,MAAM,OAAO;AAAA,MAC9D;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;AC1DA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CACN,iBACwE;AACxE,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACvCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAA6F;AACpG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAiG;AACxG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAA0F;AACjG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAA4F;AACnG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA,IAAAC,gBAAA;AAAA,SAAAA,eAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAA4E;AACnF,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,mBAAmB;AAAA,EAC5B,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AACZ;;;ACTA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAoF;AAC3F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAuF;AAC9F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAuF;AAC9F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAuF;AAC9F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAqF;AAC5F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAuF;AAC9F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAwF;AAC/F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAwF;AAC/F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA;AAAA;AAAA,kBAAAC;AAAA;;;ACAA,IAAAC,oBAAA;AAAA,SAAAA,mBAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,WAAW;AAAA,EACpB,IAAI;AAAA,EACJ,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AACX;;;ACTO,IAAM,cAAc;AAAA,EACvB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACX;;;ACTA;AAAA;AAAA,eAAAC;AAAA;AAiCO,IAAMA,UAAQ;AAAA,EACjB,gCACI,MAA8F;AAC1F,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEJ,0BAA0B,MAAwF;AAC9G,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAuG;AAC9G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,+BAA+B;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,yBAAyB;AAAA,MAC5C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACnEA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAiDO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,CAAC,UAA6F;AAC7G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAA6F;AAC7G,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,eAAe,CAAC,UAAyF;AACrG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,aAAa,CAAC,UAAuF;AACjG,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAuG;AAC9G,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,cAAc,MAAM,OAAO;AAAA,MAC9C,KAAK;AACD,eAAO,QAAQ,YAAY,MAAM,OAAO;AAAA,MAC5C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACtGA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAoFO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAqE;AACrF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAqE;AACrF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,kBAAkB,CAAC,UAAoE;AACnF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,oBAAoB,CAAC,UAAsE;AACvF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,oBAAoB,CAAC,UAAsE;AACvF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,uBAAuB,CAAC,UAAyE;AAC7F,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,eAAe,CAAC,UAAiE;AAC7E,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,kBAAkB,CAAC,UAAoE;AACnF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,aAAa,CAAC,UAA+D;AACzE,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAA+E;AACtF,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,iBAAiB,MAAM,OAAO;AAAA,MACjD,KAAK;AACD,eAAO,QAAQ,mBAAmB,MAAM,OAAO;AAAA,MACnD,KAAK;AACD,eAAO,QAAQ,mBAAmB,MAAM,OAAO;AAAA,MACnD,KAAK;AACD,eAAO,QAAQ,sBAAsB,MAAM,OAAO;AAAA,MACtD,KAAK;AACD,eAAO,QAAQ,cAAc,MAAM,OAAO;AAAA,MAC9C,KAAK;AACD,eAAO,QAAQ,iBAAiB,MAAM,OAAO;AAAA,MACjD,KAAK;AACD,eAAO,QAAQ,YAAY,MAAM,OAAO;AAAA,MAC5C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACtLA;AAAA;AAAA,eAAAC;AAAA;AAoFO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAsE;AACtF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,mBAAmB,CAAC,UAAsE;AACtF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,kBAAkB,CAAC,UAAqE;AACpF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,kBAAkB,CAAC,UAAqE;AACpF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,oBAAoB,CAAC,UAAuE;AACxF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,oBAAoB,CAAC,UAAuE;AACxF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,uBAAuB,CAAC,UAA0E;AAC9F,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,eAAe,CAAC,UAAkE;AAC9E,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,aAAa,CAAC,UAAgE;AAC1E,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAgF;AACvF,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,iBAAiB,MAAM,OAAO;AAAA,MACjD,KAAK;AACD,eAAO,QAAQ,iBAAiB,MAAM,OAAO;AAAA,MACjD,KAAK;AACD,eAAO,QAAQ,mBAAmB,MAAM,OAAO;AAAA,MACnD,KAAK;AACD,eAAO,QAAQ,mBAAmB,MAAM,OAAO;AAAA,MACnD,KAAK;AACD,eAAO,QAAQ,sBAAsB,MAAM,OAAO;AAAA,MACtD,KAAK;AACD,eAAO,QAAQ,cAAc,MAAM,OAAO;AAAA,MAC9C,KAAK;AACD,eAAO,QAAQ,YAAY,MAAM,OAAO;AAAA,MAC5C;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACtLA;AAAA;AAAA;AAAA,aAAAC;AAAA,EAAA,gBAAAC;AAAA,EAAA;AAAA;;;ACUO,IAAM,kBAAkB;AAAA,EAC3B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AACV;;;ACjBA,IAAAC,oBAAA;AAAA,SAAAA,mBAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAqF;AAC5F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAA0F;AACjG,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA,IAAAC,eAAA;AAAA,SAAAA,cAAA;AAAA,eAAAC;AAAA;AAmCO,IAAMA,UAAQ;AAAA,EACjB,mBAAmB,CAAC,UAAsE;AACtF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,iBAAiB,CAAC,UAAoE;AAClF,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,iBAAgF;AACvF,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ,kBAAkB,MAAM,OAAO;AAAA,MAClD,KAAK;AACD,eAAO,QAAQ,gBAAgB,MAAM,OAAO;AAAA,MAChD;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACtEA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAkF;AACzF,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAgF;AACvF,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACrCA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA,eAAAC;AAAA;AAoBO,IAAMA,UAAQ;AAAA,EACjB,UAAU,CAAC,iBAAuF;AAC9F,WAAO;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACb;AAAA,EACJ;AAAA,EAEA,QAAQ,CACJ,OACA,YACU;AACV,YAAQ,MAAM,OAAO;AAAA,MACjB;AACI,eAAO,QAAQ,OAAO,KAAY;AAAA,IAC1C;AAAA,EACJ;AACJ;;;ACjCO,IAAM,0BAA0B;AAAA,EACnC,MAAM;AACV;;;ACCO,IAAM,SAAS,CAClB,OACA,UACA,UACS;AACT,SAAO,KAAK,UAAU,OAAO,UAAU,KAAK;AAChD;;;ACAO,IAAM,mBAAgC;AAAA,EACzC,SAAS,IAAI,QAAQ;AAAA,EACrB,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,KAAK;AACT;AAKO,IAAM,qBAAkC;AAAA,EAC3C,SAAS,IAAI,QAAQ;AAAA,EACrB,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,KAAK;AACT;AASO,SAAS,cAAc,UAAiC;AAC3D,SAAO;AAAA,IACH,SAAS,SAAS;AAAA,IAClB,YAAY,SAAS;AAAA,IACrB,QAAQ,SAAS;AAAA,IACjB,YAAY,SAAS;AAAA,IACrB,MAAM,SAAS;AAAA,IACf,KAAK,SAAS;AAAA,EAClB;AACJ;;;AClDA,gBAAe;AAER,SAAS,iBACZ,SACA,iBACM;AACN,SAAO,OAAO,KAAK,mBAAmB,CAAC,CAAC,EAAE,SAAS,IAC7C,GAAG,OAAO,IAAI,UAAAC,QAAG,UAAU,iBAAiB,EAAE,aAAa,SAAS,CAAC,CAAC,KACtE;AACV;;;ACQO,IAAM,UAAmB,gBAAgB;AAQhD,SAAS,kBAA2B;AAIhC,QAAM,YAAY,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa;AAC9E,MAAI,WAAW;AACX,WAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,OAAO,UAAU;AAAA,IAC9B;AAAA,EACJ;AAMA,QAAM,eAAe,OAAO,eAAe,eAAe,YAAY,WAAW,cAAc;AAC/F,MAAI,cAAc;AACd,WAAO;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AAMA,QAAM,gBAAgB,OAAO,gBAAgB;AAC7C,MAAI,eAAe;AACf,WAAO;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AAKA,QAAM,cACF,OAAO,SAAS;AAAA,EAEhB,OAAO,MAAM,kBAAkB,eAC9B,KAAK,aAAa,SAAS,gCACxB,KAAK,aAAa,SAAS,8BAC3B,KAAK,aAAa,SAAS;AACnC,MAAI,aAAa;AACb,WAAO;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AAMA,QAAM,SACF,OAAO,SAAS,eAAe,OAAO,KAAK,YAAY,eAAe,OAAO,KAAK,QAAQ,SAAS;AACvG,MAAI,QAAQ;AACR,WAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACJ;AAKA,QAAM,QAAQ,OAAO,QAAQ,eAAe,OAAO,IAAI,YAAY;AACnE,MAAI,OAAO;AACP,WAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,IAAI;AAAA,IACjB;AAAA,EACJ;AAKA,QAAM,SACF,OAAO,YAAY,eACnB,aAAa,WACb,CAAC,CAAC,QAAQ,WACV,cAAc,WACd,CAAC,CAAC,QAAQ,UAAU;AACxB,MAAI,QAAQ;AACR,WAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,QAAQ,SAAS;AAAA,MAC1B,eAAe,OAAO,QAAQ,SAAS,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IAC7D;AAAA,EACJ;AAMA,QAAM,gBAAgB,OAAO,cAAc,eAAe,WAAW,YAAY;AACjF,MAAI,eAAe;AACf,WAAO;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AAEA,SAAO;AAAA,IACH,MAAM;AAAA,EACV;AACJ;;;AC7HA,eAAsB,aAA2B;AAE7C,MAAI,QAAQ,SAAS,UAAU,QAAQ,iBAAiB,QAAQ,QAAQ,iBAAiB,IAAI;AACzF,WAAO;AAAA,EACX;AAGA,MAAI,QAAQ,SAAS,QAAQ;AACzB,YAAQ,MAAM,OAAO,YAAY,GAAG;AAAA,EACxC;AAIA,MAAI,OAAO,SAAS,YAAY;AAC5B,WAAO;AAAA,EACX;AAGA,UAAQ,MAAM,OAAO,YAAY,GAAG;AACxC;;;ACfA,eAAsB,eAAe,EAAE,MAAM,KAAK,GAAuD;AACrG,MAAI,KAAK,SAAS,MAAM,GAAG;AACvB,WAAO,OAAO,IAAI;AAAA,EACtB,OAAO;AACH,WAAO;AAAA,EACX;AACJ;;;ACfA,eAAsB,gBAAgB,UAAoB,cAAyC;AAC/F,MAAI,SAAS,QAAQ,QAAQ,iBAAiB,QAAQ;AAClD,WAAO,MAAM,SAAS,KAAK;AAAA,EAC/B,WAAW,SAAS,QAAQ,QAAQ,iBAAiB,OAAO;AACxD,WAAO,SAAS;AAAA,EACpB,WAAW,SAAS,QAAQ,QAAQ,iBAAiB,QAAQ;AACzD,WAAO,MAAM,SAAS,KAAK;AAAA,EAC/B,OAAO;AACH,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC,QAAI,KAAK,SAAS,GAAG;AACjB,UAAI;AACA,YAAI,eAAe,KAAK,MAAM,IAAI;AAClC,eAAO;AAAA,MACX,SAAS,KAAK;AACV,eAAO;AAAA,UACH,IAAI;AAAA,UACJ,OAAO;AAAA,YACH,QAAQ;AAAA,YACR,YAAY,SAAS;AAAA,YACrB,SAAS;AAAA,UACb;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,OAAO;AACH,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;;;AC3BA,IAAM,UAAU;AAET,SAAS,iBAAiB,WAAqE;AAClG,QAAM,aAAa,IAAI,gBAAgB;AACvC,QAAM,UAAU,WAAW,MAAM,WAAW,MAAM,OAAO,GAAG,SAAS;AACrE,SAAO,EAAE,QAAQ,WAAW,QAAQ,QAAQ;AAChD;AAQO,SAAS,aAAa,MAAoD;AAG7E,QAAM,UAAW,KAAK,WAAW,KAAK,MAAM,QAAQ,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI;AAEzE,QAAM,aAAa,IAAI,gBAAgB;AAEvC,aAAW,UAAU,SAAS;AAC1B,QAAI,OAAO,SAAS;AAGhB,iBAAW,MAAO,QAAgB,MAAM;AACxC;AAAA,IACJ;AAIA,WAAO,iBAAiB,SAAS,MAAM,WAAW,MAAO,QAAgB,MAAM,GAAG;AAAA,MAC9E,QAAQ,WAAW;AAAA,IACvB,CAAC;AAAA,EACL;AAEA,SAAO,WAAW;AACtB;;;ACnCO,IAAM,cAAc,OACvB,SACA,KACA,QACA,SACA,aACA,WACA,aACA,iBACA,WACoB;AACpB,QAAM,UAAyB,CAAC;AAGhC,MAAI,iBAA6C;AACjD,MAAI,aAAa,MAAM;AACnB,UAAM,EAAE,QAAQ,QAAQ,IAAI,iBAAiB,SAAS;AACtD,qBAAiB;AACjB,YAAQ,KAAK,MAAM;AAAA,EACvB;AAGA,MAAI,eAAe,MAAM;AACrB,YAAQ,KAAK,WAAW;AAAA,EAC5B;AACA,MAAI,aAAa,UAAU,OAAO;AAClC,QAAM,WAAW,MAAM,QAAQ,KAAK;AAAA,IAChC;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa,kBAAkB,YAAY;AAAA;AAAA,IAE3C;AAAA,EACJ,CAAC;AAED,MAAI,kBAAkB,MAAM;AACxB,iBAAa,cAAc;AAAA,EAC/B;AAEA,SAAO;AACX;;;AC3CA,IAAM,sBAAsB;AAC5B,IAAM,kBAAkB;AACxB,IAAM,sBAAsB;AAC5B,IAAM,gBAAgB;AAEtB,SAAS,UAAU,OAAuB;AAEtC,QAAM,mBAAmB,KAAK,KAAK,OAAO,IAAI,IAAI,KAAK;AACvD,SAAO,QAAQ;AACnB;AAEA,eAAsB,mBAClB,WACA,aAAqB,qBACJ;AACjB,MAAI,WAAqB,MAAM,UAAU;AAEzC,WAAS,IAAI,GAAG,IAAI,YAAY,EAAE,GAAG;AACjC,QAAI,CAAC,KAAK,GAAG,EAAE,SAAS,SAAS,MAAM,KAAK,SAAS,UAAU,KAAK;AAEhE,YAAM,YAAY,KAAK,IAAI,sBAAsB,KAAK,IAAI,GAAG,CAAC,GAAG,eAAe;AAGhF,YAAM,kBAAkB,UAAU,SAAS;AAE3C,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,eAAe,CAAC;AACnE,iBAAW,MAAM,UAAU;AAAA,IAC/B,OAAO;AACH;AAAA,IACJ;AAAA,EACJ;AACA,SAAO;AACX;;;ACqBA,eAAsB,YAAyB,MAA4D;AACvG,QAAM,UAAkC,CAAC;AACzC,MAAI,KAAK,SAAS,UAAa,KAAK,eAAe,MAAM;AACrD,YAAQ,cAAc,IAAI,KAAK;AAAA,EACnC;AAEA,MAAI,KAAK,WAAW,MAAM;AACtB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,OAAO,GAAG;AACrD,UAAI,SAAS,MAAM;AACf,gBAAQ,GAAG,IAAI;AAAA,MACnB;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,MAAM,iBAAiB,KAAK,KAAK,KAAK,eAAe;AAC3D,QAAM,cAAoC,MAAM,eAAe;AAAA,IAC3D,MAAM,KAAK;AAAA,IACX,MAAM,KAAK,gBAAgB,SAAS,SAAS;AAAA,EACjD,CAAC;AACD,QAAM,UAAU,MAAM,WAAW;AAEjC,MAAI;AACA,UAAM,WAAW,MAAM;AAAA,MACnB,YACI;AAAA,QACI;AAAA,QACA;AAAA,QACA,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,MACT;AAAA,MACJ,KAAK;AAAA,IACT;AACA,UAAM,eAAe,MAAM,gBAAgB,UAAU,KAAK,YAAY;AAEtE,QAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACjD,aAAO;AAAA,QACH,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,SAAS,SAAS;AAAA,QAClB,aAAa,cAAc,QAAQ;AAAA,MACvC;AAAA,IACJ,OAAO;AACH,aAAO;AAAA,QACH,IAAI;AAAA,QACJ,OAAO;AAAA,UACH,QAAQ;AAAA,UACR,YAAY,SAAS;AAAA,UACrB,MAAM;AAAA,QACV;AAAA,QACA,aAAa,cAAc,QAAQ;AAAA,MACvC;AAAA,IACJ;AAAA,EACJ,SAAS,OAAO;AACZ,QAAI,KAAK,eAAe,QAAQ,KAAK,YAAY,SAAS;AACtD,aAAO;AAAA,QACH,IAAI;AAAA,QACJ,OAAO;AAAA,UACH,QAAQ;AAAA,UACR,cAAc;AAAA,QAClB;AAAA,QACA,aAAa;AAAA,MACjB;AAAA,IACJ,WAAW,iBAAiB,SAAS,MAAM,SAAS,cAAc;AAC9D,aAAO;AAAA,QACH,IAAI;AAAA,QACJ,OAAO;AAAA,UACH,QAAQ;AAAA,QACZ;AAAA,QACA,aAAa;AAAA,MACjB;AAAA,IACJ,WAAW,iBAAiB,OAAO;AAC/B,aAAO;AAAA,QACH,IAAI;AAAA,QACJ,OAAO;AAAA,UACH,QAAQ;AAAA,UACR,cAAc,MAAM;AAAA,QACxB;AAAA,QACA,aAAa;AAAA,MACjB;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,IAAI;AAAA,MACJ,OAAO;AAAA,QACH,QAAQ;AAAA,QACR,cAAc,OAAO,KAAK;AAAA,MAC9B;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,EACJ;AACJ;AAEO,IAAM,UAAyB;;;ACpJ/B,IAAM,WAAW;AAAA,EACpB,KAAK,OAAU,aAAsC;AACjD,QAAI,OAAO,aAAa,YAAY;AAChC,aAAQ,SAAqB;AAAA,IACjC,OAAO;AACH,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;;;ACLO,IAAM,sBAAN,MAAM,6BAA+B,QAAW;AAAA,EAC3C;AAAA,EACA;AAAA,EAEA,YAAY,SAAsC;AAEtD,UAAM,CAAC,YAAY;AACf,cAAQ,MAAyB;AAAA,IACrC,CAAC;AACD,SAAK,eAAe;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAc,aACV,OACG,MACmB;AACtB,WAAO,IAAI,qBAAuB,GAAG,GAAG,IAAI,CAAC;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAc,kBAGZ,IAA2D;AACzD,WAAO,IAAI,SAAgD;AACvD,aAAO,qBAAoB,YAAe,GAAG,GAAG,IAAI,CAAC;AAAA,IACzD;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAc,YAAe,SAA8D;AACvF,WAAO,IAAI,qBAAuB,OAAO;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAc,aACV,UACsB;AACtB,UAAM,UAAU,IAAI,QAA4B,QAAQ;AACxD,WAAO,IAAI,qBAAuB,OAAO;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAc,WAAc,QAAoD;AAC5E,UAAM,UAAU,QAAQ,QAAQ,MAAM;AACtC,WAAO,IAAI,qBAAuB,OAAO;AAAA,EAC7C;AAAA,EAEQ,SAAqB;AACzB,QAAI,CAAC,KAAK,kBAAkB;AACxB,WAAK,mBAAmB,KAAK,aAAa,KAAK,CAAC,EAAE,KAAK,MAAM,IAAI;AAAA,IACrE;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAGgB,KACZ,aACA,YAC4B;AAC5B,WAAO,KAAK,OAAO,EAAE,KAAK,aAAa,UAAU;AAAA,EACrD;AAAA;AAAA,EAGgB,MACZ,YACoB;AACpB,WAAO,KAAK,OAAO,EAAE,MAAM,UAAU;AAAA,EACzC;AAAA;AAAA,EAGgB,QAAQ,WAA6C;AACjE,WAAO,KAAK,OAAO,EAAE,QAAQ,SAAS;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAa,kBAA+C;AACxD,WAAO,MAAM,KAAK;AAAA,EACtB;AACJ;;;AC5GA,sBAAoB;AAsBb,IAAM,SAAN,MAAa;AAAA,EAChB,YAA+B,WAA2B,CAAC,GAAG;AAA/B;AAAA,EAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASxD,aACH,iBACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,eAAe,iBAAiB,cAAc,CAAC;AAAA,EACpG;AAAA,EAEA,MAAc,eACV,iBACA,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,gBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,6BAA6B,mBAAmB,eAAe,CAAC;AAAA,MACpE;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAqD,OAAO;AAAA,QACjF,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,OAAO,aAAa,MAAM,SAAS,UAAU,KAAK;AAAA,QAC1E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACnHA,IAAAC,mBAAoB;AAsBb,IAAM,OAAN,MAAW;AAAA,EACd,YAA+B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAStD,OACH,iBACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,SAAS,iBAAiB,cAAc,CAAC;AAAA,EAC9F;AAAA,EAEA,MAAc,SACV,iBACA,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,sBAAsB,mBAAmB,eAAe,CAAC;AAAA,MAC7D;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAgD,OAAO;AAAA,QAC5E,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,GAAG,KAAK,OAAO,MAAM,SAAS,UAAU,KAAK;AAAA,QACrE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACnHA,IAAAC,mBAAoB;AAsBb,IAAM,WAAN,MAAe;AAAA,EAClB,YAA+B,WAA6B,CAAC,GAAG;AAAjC;AAAA,EAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgB1D,sBACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,wBAAwB,SAAS,cAAc,CAAC;AAAA,EACrG;AAAA,EAEA,MAAc,wBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAmE,OAAO;AAAA,QAC/F,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,GAAG,SAAS,sBAAsB,MAAM,SAAS,UAAU,KAAK;AAAA,QACxF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACtHO,IAAM,KAAN,MAAS;AAAA,EAIZ,YAA+B,WAAuB,CAAC,GAAG;AAA3B;AAAA,EAA4B;AAAA,EAHjD;AAAA,EACA;AAAA,EAIV,IAAW,OAAa;AACpB,WAAQ,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ;AAAA,EACjD;AAAA,EAEA,IAAW,WAAqB;AAC5B,WAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ;AAAA,EACzD;AACJ;;;ACbO,IAAM,MAAN,MAAU;AAAA,EAIb,YAA+B,WAAwB,CAAC,GAAG;AAA5B;AAAA,EAA6B;AAAA,EAHlD;AAAA,EACA;AAAA,EAIV,IAAW,SAAiB;AACxB,WAAQ,KAAK,YAAY,IAAI,OAAO,KAAK,QAAQ;AAAA,EACrD;AAAA,EAEA,IAAW,KAAS;AAChB,WAAQ,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ;AAAA,EAC7C;AACJ;;;ACxBA,IAAAC,mBAAoB;AAyBb,IAAM,YAAN,MAAgB;AAAA,EACnB,YAA+B,WAA8B,CAAC,GAAG;AAAlC;AAAA,EAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAa3D,mBACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,qBAAqB,SAAS,cAAc,CAAC;AAAA,EAClG;AAAA,EAEA,MAAc,qBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA0D,OAAO;AAAA,QACtF,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,kBAAU,mBAAmB,MAAM,SAAS,UAAU,KAAK;AAAA,QAC/E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACjIA,IAAAC,mBAAoB;AAsBb,IAAMC,QAAN,MAAW;AAAA,EACd,YAA+B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAStD,uBACH,QACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,yBAAyB,QAAQ,cAAc,CAAC;AAAA,EACrG;AAAA,EAEA,MAAc,yBACV,QACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,uBAAuB,mBAAmB,MAAM,CAAC;AAAA,MACrD;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAiE,OAAO;AAAA,QAC7F,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,uBAAuB,MAAM,SAAS,UAAU,KAAK;AAAA,QACtF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,iBACH,SACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,mBAAmB,SAAS,cAAc,CAAC;AAAA,EAChG;AAAA,EAEA,MAAc,mBACV,SACA,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA2D,OAAO;AAAA,QACvF,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,iBAAiB,MAAM,SAAS,UAAU,KAAK;AAAA,QAChF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AC9MA,IAAAC,mBAAoB;AAsBb,IAAM,QAAN,MAAY;AAAA,EACf,YAA+B,WAA0B,CAAC,GAAG;AAA9B;AAAA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAavD,kBACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,oBAAoB,SAAS,cAAc,CAAC;AAAA,EACjG;AAAA,EAEA,MAAc,oBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,MAAM,kBAAkB,MAAM,SAAS,UAAU,KAAK;AAAA,QAClF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkDO,mBACH,oBACA,SACA,gBACqG;AACrG,WAAY,oBAAoB;AAAA,MAC5B,KAAK,qBAAqB,oBAAoB,SAAS,cAAc;AAAA,IACzE;AAAA,EACJ;AAAA,EAEA,MAAc,qBACV,oBACA,SACA,gBAC0G;AAC1G,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,2BAA2B,mBAAmB,kBAAkB,CAAC;AAAA,MACrE;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA8D,OAAO;AAAA,QAC1F,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,MAAM,mBAAmB,MAAM,SAAS,UAAU,KAAK;AAAA,QACnF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AC/NO,IAAMC,MAAN,MAAS;AAAA,EAIZ,YAA+B,WAAuB,CAAC,GAAG;AAA3B;AAAA,EAA4B;AAAA,EAHjD;AAAA,EACA;AAAA,EAIV,IAAW,OAAa;AACpB,WAAQ,KAAK,UAAU,IAAIC,MAAK,KAAK,QAAQ;AAAA,EACjD;AAAA,EAEA,IAAW,QAAe;AACtB,WAAQ,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ;AAAA,EACnD;AACJ;;;ACxBA,IAAAC,mBAAoB;AAsBb,IAAMC,QAAN,MAAW;AAAA,EACd,YAA+B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWtD,sBACH,SACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,wBAAwB,SAAS,cAAc,CAAC;AAAA,EACrG;AAAA,EAEA,MAAc,wBACV,SACA,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAgE,OAAO;AAAA,QAC5F,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,sBAAsB,MAAM,SAAS,UAAU,KAAK;AAAA,QACrF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,mBACH,SACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,qBAAqB,SAAS,cAAc,CAAC;AAAA,EAClG;AAAA,EAEA,MAAc,qBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA6D,OAAO;AAAA,QACzF,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,mBAAmB,MAAM,SAAS,UAAU,KAAK;AAAA,QAClF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,cACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,gBAAgB,SAAS,cAAc,CAAC;AAAA,EAC7F;AAAA,EAEA,MAAc,gBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAwD,OAAO;AAAA,QACpF,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,cAAc,MAAM,SAAS,UAAU,KAAK;AAAA,QAC7E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,qBACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,uBAAuB,SAAS,cAAc,CAAC;AAAA,EACpG;AAAA,EAEA,MAAc,uBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA+D,OAAO;AAAA,QAC3F,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,qBAAqB,MAAM,SAAS,UAAU,KAAK;AAAA,QACpF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,gBACH,UAA4D,CAAC,GAC7D,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,kBAAkB,SAAS,cAAc,CAAC;AAAA,EAC/F;AAAA,EAEA,MAAc,kBACV,UAA4D,CAAC,GAC7D,gBAQF;AACE,UAAM,EAAE,MAAM,OAAO,OAAO,IAAI;AAChC,UAAM,eAA6E,CAAC;AACpF,QAAI,QAAQ,MAAM;AACd,mBAAa,MAAM,IAAI,KAAK,SAAS;AAAA,IACzC;AAEA,QAAI,SAAS,MAAM;AACf,mBAAa,OAAO,IAAI,MAAM,SAAS;AAAA,IAC3C;AAEA,QAAI,UAAU,MAAM;AAChB,mBAAa,QAAQ,IAAI,OAAO,SAAS;AAAA,IAC7C;AAEA,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA0D,OAAO;AAAA,QACtF,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,gBAAgB,MAAM,SAAS,UAAU,KAAK;AAAA,QAC/E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,kBACH,cACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,oBAAoB,cAAc,cAAc,CAAC;AAAA,EACtG;AAAA,EAEA,MAAc,oBACV,cACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,qBAAqB,mBAAmB,YAAY,CAAC;AAAA,MACzD;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA4D,OAAO;AAAA,QACxF,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,kBAAkB,MAAM,SAAS,UAAU,KAAK;AAAA,QACjF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUO,2BACH,gBAC4G;AAC5G,WAAY,oBAAoB,YAAY,KAAK,6BAA6B,cAAc,CAAC;AAAA,EACjG;AAAA,EAEA,MAAc,6BACV,gBAGF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,KAAK,2BAA2B,MAAM,SAAS,UAAU,KAAK;AAAA,QAC1F,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACjoBA,IAAAC,mBAAoB;AAsBb,IAAMC,SAAN,MAAY;AAAA,EACf,YAA+B,WAA0B,CAAC,GAAG;AAA9B;AAAA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBvD,kBACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,oBAAoB,SAAS,cAAc,CAAC;AAAA,EACjG;AAAA,EAEA,MAAc,oBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA6D,OAAO;AAAA,QACzF,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,MAAM,kBAAkB,MAAM,SAAS,UAAU,KAAK;AAAA,QAClF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeO,yBACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,2BAA2B,SAAS,cAAc,CAAC;AAAA,EACxG;AAAA,EAEA,MAAc,2BACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAoE,OAAO;AAAA,QAChG,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,MAAM,yBAAyB,MAAM,SAAS,UAAU,KAAK;AAAA,QACzF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkDO,mBACH,oBACA,SACA,gBACqG;AACrG,WAAY,oBAAoB;AAAA,MAC5B,KAAK,qBAAqB,oBAAoB,SAAS,cAAc;AAAA,IACzE;AAAA,EACJ;AAAA,EAEA,MAAc,qBACV,oBACA,SACA,gBAC0G;AAC1G,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,8BAA8B,mBAAmB,kBAAkB,CAAC;AAAA,MACxE;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA8D,OAAO;AAAA,QAC1F,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,MAAM,mBAAmB,MAAM,SAAS,UAAU,KAAK;AAAA,QACnF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYO,0BACH,SACA,gBAC4G;AAC5G,WAAY,oBAAoB,YAAY,KAAK,4BAA4B,SAAS,cAAc,CAAC;AAAA,EACzG;AAAA,EAEA,MAAc,4BACV,SACA,gBAGF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAqE,OAAO;AAAA,QACjG,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,MAAM,0BAA0B,MAAM,SAAS,UAAU,KAAK;AAAA,QAC1F,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYO,cACH,SACA,gBACgG;AAChG,WAAY,oBAAoB,YAAY,KAAK,gBAAgB,SAAS,cAAc,CAAC;AAAA,EAC7F;AAAA,EAEA,MAAc,gBACV,SACA,gBACqG;AACrG,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAyD,OAAO;AAAA,QACrF,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,MAAM,cAAc,MAAM,SAAS,UAAU,KAAK;AAAA,QAC9E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYO,mBACH,SACA,gBACqG;AACrG,WAAY,oBAAoB,YAAY,KAAK,qBAAqB,SAAS,cAAc,CAAC;AAAA,EAClG;AAAA,EAEA,MAAc,qBACV,SACA,gBAC0G;AAC1G,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA8D,OAAO;AAAA,QAC1F,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,GAAG,MAAM,mBAAmB,MAAM,SAAS,UAAU,KAAK;AAAA,QACnF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AC1kBO,IAAM,KAAN,MAAS;AAAA,EAIZ,YAA+B,WAAuB,CAAC,GAAG;AAA3B;AAAA,EAA4B;AAAA,EAHjD;AAAA,EACA;AAAA,EAIV,IAAW,OAAa;AACpB,WAAQ,KAAK,UAAU,IAAIC,MAAK,KAAK,QAAQ;AAAA,EACjD;AAAA,EAEA,IAAW,QAAe;AACtB,WAAQ,KAAK,WAAW,IAAIC,OAAM,KAAK,QAAQ;AAAA,EACnD;AACJ;;;ACbO,IAAM,OAAN,MAAW;AAAA,EAId,YAA+B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA,EAHnD;AAAA,EACA;AAAA,EAIV,IAAW,KAAS;AAChB,WAAQ,KAAK,QAAQ,IAAIC,IAAG,KAAK,QAAQ;AAAA,EAC7C;AAAA,EAEA,IAAW,KAAS;AAChB,WAAQ,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ;AAAA,EAC7C;AACJ;;;ACxBA,IAAAC,oBAAoB;;;ACApB,IAAAC,mBAAoB;AAyBb,IAAM,MAAN,MAAU;AAAA,EACb,YAA+B,WAAwB,CAAC,GAAG;AAA5B;AAAA,EAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcrD,oBACH,UAA8D,CAAC,GAC/D,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,sBAAsB,SAAS,cAAc,CAAC;AAAA,EACnG;AAAA,EAEA,MAAc,sBACV,UAA8D,CAAC,GAC/D,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAgE,OAAO;AAAA,QAC5F,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,IAAI,oBAAoB,MAAM,SAAS,UAAU,KAAK;AAAA,QACrF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBO,aACH,SACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,eAAe,SAAS,cAAc,CAAC;AAAA,EAC5F;AAAA,EAEA,MAAc,eACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,IAAI,aAAa,MAAM,SAAS,UAAU,KAAK;AAAA,QAC9E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,eACH,WACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,iBAAiB,WAAW,cAAc,CAAC;AAAA,EAChG;AAAA,EAEA,MAAc,iBACV,WACA,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,0BAA0B,mBAAmB,SAAS,CAAC;AAAA,MAC3D;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA2D,OAAO;AAAA,QACvF,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,IAAI,eAAe,MAAM,SAAS,UAAU,KAAK;AAAA,QAChF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBO,iBACH,SACA,gBACoG;AACpG,WAAY,oBAAoB,YAAY,KAAK,mBAAmB,SAAS,cAAc,CAAC;AAAA,EAChG;AAAA,EAEA,MAAc,mBACV,SACA,gBACyG;AACzG,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,IAAI,iBAAiB,MAAM,SAAS,UAAU,KAAK;AAAA,QAClF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,cACH,YACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,gBAAgB,YAAY,cAAc,CAAC;AAAA,EAChG;AAAA,EAEA,MAAc,gBACV,YACA,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,mBAAmB,mBAAmB,UAAU,CAAC;AAAA,MACrD;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA0D,OAAO;AAAA,QACtF,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,IAAI,cAAc,MAAM,SAAS,UAAU,KAAK;AAAA,QAC/E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,gBACH,UAA0D,CAAC,GAC3D,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,kBAAkB,SAAS,cAAc,CAAC;AAAA,EAC/F;AAAA,EAEA,MAAc,kBACV,UAA0D,CAAC,GAC3D,gBAQF;AACE,UAAM,EAAE,MAAM,SAAS,IAAI;AAC3B,UAAM,eAA6E,CAAC;AACpF,QAAI,QAAQ,MAAM;AACd,mBAAa,MAAM,IAAI,KAAK,SAAS;AAAA,IACzC;AAEA,QAAI,YAAY,MAAM;AAClB,mBAAa,UAAU,IAAI,SAAS,SAAS;AAAA,IACjD;AAEA,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,iBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,IAAI,gBAAgB,MAAM,SAAS,UAAU,KAAK;AAAA,QACjF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AChhBA,IAAAC,oBAAoB;AAyBb,IAAM,WAAN,MAAe;AAAA,EAClB,YAA+B,WAA6B,CAAC,GAAG;AAAjC;AAAA,EAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiB1D,0BACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,4BAA4B,SAAS,cAAc,CAAC;AAAA,EACzG;AAAA,EAEA,MAAc,4BACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA2E,OAAO;AAAA,QACvG,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MACZ;AAAA,cACL,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,SAAS,0BAA0B,MAAM,SAAS,UAAU,KAAK;AAAA,QAChG,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBO,aACH,WACA,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,eAAe,WAAW,SAAS,cAAc,CAAC;AAAA,EACvG;AAAA,EAEA,MAAc,eACV,WACA,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,wBAAwB,mBAAmB,SAAS,CAAC;AAAA,MACzD;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,SAAS,aAAa,MAAM,SAAS,UAAU,KAAK;AAAA,QACnF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBO,uBACH,SACA,gBAC+G;AAC/G,WAAY,oBAAoB,YAAY,KAAK,yBAAyB,SAAS,cAAc,CAAC;AAAA,EACtG;AAAA,EAEA,MAAc,yBACV,SACA,gBAGF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAwE,OAAO;AAAA,QACpG,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MACZ;AAAA,cACL,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,SAAS,uBAAuB,MAAM,SAAS,UAAU,KAAK;AAAA,QAC7F,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYO,oBACH,WACA,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,sBAAsB,WAAW,SAAS,cAAc,CAAC;AAAA,EAC9G;AAAA,EAEA,MAAc,sBACV,WACA,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,wBAAwB,mBAAmB,SAAS,CAAC,IAAI,mBAAmB,OAAO,CAAC;AAAA,MACxF;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAqE,OAAO;AAAA,QACjG,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,SAAS,oBAAoB,MAAM,SAAS,UAAU,KAAK;AAAA,QAC1F,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYO,sBACH,WACA,UAAgE,CAAC,GACjE,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,wBAAwB,WAAW,SAAS,cAAc,CAAC;AAAA,EAChH;AAAA,EAEA,MAAc,wBACV,WACA,UAAgE,CAAC,GACjE,gBAQF;AACE,UAAM,EAAE,MAAM,SAAS,IAAI;AAC3B,UAAM,eAA6E,CAAC;AACpF,QAAI,QAAQ,MAAM;AACd,mBAAa,MAAM,IAAI,KAAK,SAAS;AAAA,IACzC;AAEA,QAAI,YAAY,MAAM;AAClB,mBAAa,UAAU,IAAI,SAAS,SAAS;AAAA,IACjD;AAEA,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,wBAAwB,mBAAmB,SAAS,CAAC;AAAA,MACzD;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,SAAS,sBAAsB,MAAM,SAAS,UAAU,KAAK;AAAA,QAC5F,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AFldO,IAAM,aAAN,MAAiB;AAAA,EAIpB,YAA+B,WAA+B,CAAC,GAAG;AAAnC;AAAA,EAAoC;AAAA,EAHzD;AAAA,EACA;AAAA,EAIV,IAAW,MAAW;AAClB,WAAQ,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAW,WAAqB;AAC5B,WAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBO,gBACH,SACA,gBAC+F;AAC/F,WAAY,oBAAoB,YAAY,KAAK,kBAAkB,SAAS,cAAc,CAAC;AAAA,EAC/F;AAAA,EAEA,MAAc,kBACV,SACA,gBACoG;AACpG,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,gBAAgB,MAAM,SAAS,UAAU,KAAK;AAAA,QAC7E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaO,oBACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,sBAAsB,SAAS,cAAc,CAAC;AAAA,EACnG;AAAA,EAEA,MAAc,sBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,oBAAoB,MAAM,SAAS,UAAU,KAAK;AAAA,QACjF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,aACH,aACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,eAAe,aAAa,cAAc,CAAC;AAAA,EAChG;AAAA,EAEA,MAAc,eACV,aACA,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,eAAe,mBAAmB,WAAW,CAAC;AAAA,MAClD;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,aAAa,MAAM,SAAS,UAAU,KAAK;AAAA,QAC1E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUO,eACH,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,iBAAiB,cAAc,CAAC;AAAA,EACrF;AAAA,EAEA,MAAc,iBACV,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,mBAAW,eAAe,MAAM,SAAS,UAAU,KAAK;AAAA,QAC5E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AG/UA,IAAAC,oBAAoB;AAsBb,IAAM,OAAN,MAAW;AAAA,EACd,YAA+B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYtD,KACH,SACA,gBAC8F;AAC9F,WAAY,oBAAoB,YAAY,KAAK,OAAO,SAAS,cAAc,CAAC;AAAA,EACpF;AAAA,EAEA,MAAc,OACV,SACA,gBACmG;AACnG,UAAM,EAAE,yBAAyB,uBAAuB,IAAI;AAC5D,UAAM,eAA6E,CAAC;AACpF,iBAAa,yBAAyB,IAAI;AAC1C,iBAAa,wBAAwB,IAAI;AACzC,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoBC,cAAK,KAAK,MAAM,SAAS,UAAU,KAAK;AAAA,QAC5D,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACtGA,IAAAC,oBAAoB;AAsBb,IAAM,YAAN,MAAgB;AAAA,EACnB,YAA+B,WAA8B,CAAC,GAAG;AAAlC;AAAA,EAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAW3D,WACH,SACA,gBACyF;AACzF,WAAY,oBAAoB,YAAY,KAAK,aAAa,SAAS,cAAc,CAAC;AAAA,EAC1F;AAAA,EAEA,MAAc,aACV,SACA,gBAC8F;AAC9F,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,kBAAU,WAAW,MAAM,SAAS,UAAU,KAAK;AAAA,QACvE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACjGA,IAAAC,oBAAoB;AAyBb,IAAM,MAAN,MAAU;AAAA,EACb,YAA+B,WAAwB,CAAC,GAAG;AAA5B;AAAA,EAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYrD,cACH,iBACA,gBACA,gBAC6G;AAC7G,WAAY,oBAAoB;AAAA,MAC5B,KAAK,gBAAgB,iBAAiB,gBAAgB,cAAc;AAAA,IACxE;AAAA,EACJ;AAAA,EAEA,MAAc,gBACV,iBACA,gBACA,gBAGF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,iCAAiC,mBAAmB,eAAe,CAAC,IAAI,mBAAmB,cAAc,CAAC;AAAA,MAC9G;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,cAAc,MAAM,SAAS,UAAU,KAAK;AAAA,QACpE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBO,iBACH,UAAgD,CAAC,GACjD,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,mBAAmB,SAAS,cAAc,CAAC;AAAA,EAChG;AAAA,EAEA,MAAc,mBACV,UAAgD,CAAC,GACjD,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,iBAAiB,MAAM,SAAS,UAAU,KAAK;AAAA,QACvE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoDO,iBACH,SACA,gBACyF;AACzF,WAAY,oBAAoB,YAAY,KAAK,mBAAmB,SAAS,cAAc,CAAC;AAAA,EAChG;AAAA,EAEA,MAAc,mBACV,SACA,gBAC8F;AAC9F,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,iBAAiB,MAAM,SAAS,UAAU,KAAK;AAAA,QACvE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYO,iBACH,iBACA,gBACA,gBACyF;AACzF,WAAY,oBAAoB;AAAA,MAC5B,KAAK,mBAAmB,iBAAiB,gBAAgB,cAAc;AAAA,IAC3E;AAAA,EACJ;AAAA,EAEA,MAAc,mBACV,iBACA,gBACA,gBAC8F;AAC9F,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,iCAAiC,mBAAmB,eAAe,CAAC,IAAI,mBAAmB,cAAc,CAAC;AAAA,MAC9G;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,iBAAiB,MAAM,SAAS,UAAU,KAAK;AAAA,QACvE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaO,eACH,iBACA,gBACA,mBACA,gBAC2G;AAC3G,WAAY,oBAAoB;AAAA,MAC5B,KAAK,iBAAiB,iBAAiB,gBAAgB,mBAAmB,cAAc;AAAA,IAC5F;AAAA,EACJ;AAAA,EAEA,MAAc,iBACV,iBACA,gBACA,mBACA,gBAGF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,mCAAmC,mBAAmB,eAAe,CAAC,IAAI,mBAAmB,cAAc,CAAC,IAAI,mBAAmB,iBAAiB,CAAC;AAAA,MACzJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,eAAe,MAAM,SAAS,UAAU,KAAK;AAAA,QACrE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBO,iBACH,UAAgD,CAAC,GACjD,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,mBAAmB,SAAS,cAAc,CAAC;AAAA,EAChG;AAAA,EAEA,MAAc,mBACV,UAAgD,CAAC,GACjD,gBAKF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,iBAAiB,MAAM,SAAS,UAAU,KAAK;AAAA,QACvE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+DO,kBACH,SACA,gBAC0F;AAC1F,WAAY,oBAAoB,YAAY,KAAK,oBAAoB,SAAS,cAAc,CAAC;AAAA,EACjG;AAAA,EAEA,MAAc,oBACV,SACA,gBAC+F;AAC/F,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,kBAAkB,MAAM,SAAS,UAAU,KAAK;AAAA,QACxE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaO,kBACH,iBACA,gBACA,mBACA,gBAC0F;AAC1F,WAAY,oBAAoB;AAAA,MAC5B,KAAK,oBAAoB,iBAAiB,gBAAgB,mBAAmB,cAAc;AAAA,IAC/F;AAAA,EACJ;AAAA,EAEA,MAAc,oBACV,iBACA,gBACA,mBACA,gBAC+F;AAC/F,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC,mCAAmC,mBAAmB,eAAe,CAAC,IAAI,mBAAmB,cAAc,CAAC,IAAI,mBAAmB,iBAAiB,CAAC;AAAA,MACzJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,YAAI,kBAAkB,MAAM,SAAS,UAAU,KAAK;AAAA,QACxE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACrrBA,IAAAC,oBAAoB;AAsBb,IAAMC,YAAN,MAAe;AAAA,EAClB,YAA+B,WAA6B,CAAC,GAAG;AAAjC;AAAA,EAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB1D,uBACH,SACA,gBAMF;AACE,WAAY,oBAAoB,YAAY,KAAK,yBAAyB,SAAS,cAAc,CAAC;AAAA,EACtG;AAAA,EAEA,MAAc,yBACV,SACA,gBAQF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAkE,OAAO;AAAA,QAC9F,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,aAAK,SAAS,uBAAuB,MAAM,SAAS,UAAU,KAAK;AAAA,QACvF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACzHO,IAAM,OAAN,MAAW;AAAA,EAGd,YAA+B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA,EAFnD;AAAA,EAIV,IAAW,WAAqB;AAC5B,WAAQ,KAAK,cAAc,IAAIC,UAAS,KAAK,QAAQ;AAAA,EACzD;AACJ;;;AClBA,IAAAC,oBAAoB;AAsBb,IAAM,kBAAN,MAAsB;AAAA,EACzB,YAA+B,WAAoC,CAAC,GAAG;AAAxC;AAAA,EAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0CjE,qBACH,SACA,gBACyG;AACzG,WAAY,oBAAoB,YAAY,KAAK,uBAAuB,SAAS,cAAc,CAAC;AAAA,EACpG;AAAA,EAEA,MAAc,uBACV,SACA,gBAC8G;AAC9G,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAAkE,OAAO;AAAA,QAC9F,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,wBAAgB,qBAAqB,MAAM,SAAS,UAAU,KAAK;AAAA,QACvF,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACjJA,IAAAC,oBAAoB;AAsBb,IAAM,WAAN,MAAe;AAAA,EAClB,YAA+B,WAA6B,CAAC,GAAG;AAAjC;AAAA,EAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgB1D,IACH,SACA,gBACmG;AACnG,WAAY,oBAAoB,YAAY,KAAK,MAAM,SAAS,cAAc,CAAC;AAAA,EACnF;AAAA,EAEA,MAAc,MACV,SACA,gBACwG;AACxG,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA0C,OAAO;AAAA,QACtE,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,iBAAS,IAAI,MAAM,SAAS,UAAU,KAAK;AAAA,QAC/D,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBO,KACH,UAA4C,CAAC,GAC7C,gBACuG;AACvG,WAAY,oBAAoB,YAAY,KAAK,OAAO,SAAS,cAAc,CAAC;AAAA,EACpF;AAAA,EAEA,MAAc,OACV,UAA4C,CAAC,GAC7C,gBAC4G;AAC5G,UAAM,EAAE,MAAM,GAAG,MAAM,IAAI;AAC3B,UAAM,eAA6E,CAAC;AACpF,QAAI,QAAQ,MAAM;AACd,mBAAa,MAAM,IAAI,KAAK,SAAS;AAAA,IACzC;AAEA,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA2C,OAAO;AAAA,QACvE,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,iBAAS,KAAK,MAAM,SAAS,UAAU,KAAK;AAAA,QAChE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AC/NA,IAAAC,oBAAoB;AAsBb,IAAM,YAAN,MAAgB;AAAA,EACnB,YAA+B,WAA8B,CAAC,GAAG;AAAlC;AAAA,EAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwC3D,SACH,SACA,gBACuF;AACvF,WAAY,oBAAoB,YAAY,KAAK,WAAW,SAAS,cAAc,CAAC;AAAA,EACxF;AAAA,EAEA,MAAc,WACV,SACA,gBAC4F;AAC5F,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,kBAAU,SAAS,MAAM,SAAS,UAAU,KAAK;AAAA,QACrE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgEO,cACH,SACA,gBAC4F;AAC5F,WAAY,oBAAoB,YAAY,KAAK,gBAAgB,SAAS,cAAc,CAAC;AAAA,EAC7F;AAAA,EAEA,MAAc,gBACV,SACA,gBACiG;AACjG,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,kBAAU,cAAc,MAAM,SAAS,UAAU,KAAK;AAAA,QAC1E,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBO,IACH,SACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,MAAM,SAAS,cAAc,CAAC;AAAA,EACnF;AAAA,EAEA,MAAc,MACV,SACA,gBAGF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,UAAU,MAAM,WAAW,eAAe;AAC1C,cAAS,UAAU,MAAM,MAA2C,OAAO;AAAA,QACvE,KAAK;AAAA,QACL,KAAK;AACD,iBAAO;AAAA,YACH,MAAM;AAAA,cACF,IAAI;AAAA,cACJ,OAAO,UAAU,MAAM;AAAA,cACvB,aAAa,UAAU;AAAA,YAC3B;AAAA,YACA,aAAa,UAAU;AAAA,UAC3B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,kBAAU,IAAI,MAAM,SAAS,UAAU,KAAK;AAAA,QAChE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;ACnVA,IAAAC,oBAAoB;AAsBb,IAAM,SAAN,MAAa;AAAA,EAChB,YAA+B,WAA2B,CAAC,GAAG;AAA/B;AAAA,EAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcxD,SACH,SACA,gBAGF;AACE,WAAY,oBAAoB,YAAY,KAAK,WAAW,SAAS,cAAc,CAAC;AAAA,EACxF;AAAA,EAEA,MAAc,WACV,SACA,gBAGF;AACE,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAC;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM,UAAU;AAAA,UAChB,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,eAAO,SAAS,MAAM,SAAS,UAAU,KAAK;AAAA,QAClE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcO,OACH,SACA,gBACkF;AAClF,WAAY,oBAAoB,YAAY,KAAK,SAAS,SAAS,cAAc,CAAC;AAAA,EACtF;AAAA,EAEA,MAAc,SACV,SACA,gBACuF;AACvF,UAAM,YAAY,MAAW,QAAQ;AAAA,MACjC,SAAK,kBAAAA;AAAA,QACA,MAAW,SAAS,IAAI,KAAK,SAAS,OAAO,KACzC,MAAW,SAAS,IAAI,KAAK,SAAS,WAAW,KACrC,wBAAwB;AAAA,QACzC;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,eAAe,MAAM,KAAK,wBAAwB;AAAA,QAClD,mBAAmB;AAAA,QACnB,kBAAuB,QAAQ;AAAA,QAC/B,0BAA+B,QAAQ;AAAA,QACvC,GAAG,gBAAgB;AAAA,MACvB;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,gBAAgB,oBAAoB,OAAO,eAAe,mBAAmB,MAAO;AAAA,MAC/F,YAAY,gBAAgB;AAAA,MAC5B,aAAa,gBAAgB;AAAA,IACjC,CAAC;AACD,QAAI,UAAU,IAAI;AACd,aAAO;AAAA,QACH,MAAM;AAAA,UACF,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,SAAS,UAAU;AAAA,UACnB,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,UAAU;AAAA,MAC3B;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,QACF,IAAI;AAAA,QACJ,OAAoB,eAAO,OAAO,MAAM,SAAS,UAAU,KAAK;AAAA,QAChE,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAgB,0BAAuD;AACnE,UAAM,SAAS,MAAW,SAAS,IAAI,KAAK,SAAS,KAAK;AAC1D,QAAI,UAAU,MAAM;AAChB,aAAO,UAAU,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AC3IO,IAAM,qBAAN,MAAyB;AAAA,EAc5B,YAA+B,WAAuC,CAAC,GAAG;AAA3C;AAAA,EAA4C;AAAA,EAbjE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIV,IAAW,MAAW;AAClB,WAAQ,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAW,YAAuB;AAC9B,WAAQ,KAAK,eAAe,IAAI,UAAU,KAAK,QAAQ;AAAA,EAC3D;AAAA,EAEA,IAAW,OAAa;AACpB,WAAQ,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ;AAAA,EACjD;AAAA,EAEA,IAAW,aAAyB;AAChC,WAAQ,KAAK,gBAAgB,IAAI,WAAW,KAAK,QAAQ;AAAA,EAC7D;AAAA,EAEA,IAAW,OAAa;AACpB,WAAQ,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ;AAAA,EACjD;AAAA,EAEA,IAAW,YAAuB;AAC9B,WAAQ,KAAK,eAAe,IAAI,UAAU,KAAK,QAAQ;AAAA,EAC3D;AAAA,EAEA,IAAW,MAAW;AAClB,WAAQ,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ;AAAA,EAC/C;AAAA,EAEA,IAAW,OAAa;AACpB,WAAQ,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ;AAAA,EACjD;AAAA,EAEA,IAAW,kBAAmC;AAC1C,WAAQ,KAAK,qBAAqB,IAAI,gBAAgB,KAAK,QAAQ;AAAA,EACvE;AAAA,EAEA,IAAW,WAAqB;AAC5B,WAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ;AAAA,EACzD;AAAA,EAEA,IAAW,YAAuB;AAC9B,WAAQ,KAAK,eAAe,IAAI,UAAU,KAAK,QAAQ;AAAA,EAC3D;AAAA,EAEA,IAAW,SAAiB;AACxB,WAAQ,KAAK,YAAY,IAAI,OAAO,KAAK,QAAQ;AAAA,EACrD;AACJ;","names":["Error","WebhookHttpMethod","commons_exports","endpoint_exports","endpoint_exports","ObjectPropertyAccess","endpoint_exports","type_exports","webhook_exports","websocket_exports","endpoint_exports","type_exports","ObjectPropertyAccess","ObjectPropertyAccess","webhook_exports","websocket_exports","Error","ObjectPropertyAccess","endpoint_exports","type_exports","webhook_exports","websocket_exports","endpoint_exports","type_exports","ObjectPropertyAccess","ObjectPropertyAccess","webhook_exports","websocket_exports","Error","commons_exports","WebhookHttpMethod","WebhookHttpMethod","Error","latest_exports","v1_exports","latest_exports","commons_exports","commons_exports","v1_exports","commons_exports","db_exports","read_exports","db_exports","read_exports","Error","Error","Error","Error","commons_exports","TwitterCardSetting","commons_exports","TwitterCardSetting","TwitterCardSetting","read_exports","write_exports","read_exports","Error","Error","Error","Error","Error","Error","Error","write_exports","finishDocsRegister_exports","startDocsRegister_exports","startDocsRegister_exports","Error","Error","finishDocsRegister_exports","Error","Error","Error","Error","commons_exports","Error","Error","Error","Error","Error","Error","commons_exports","getChangelog_exports","Error","getChangelog_exports","Error","Error","Error","Error","Error","Error","Error","Error","diff_exports","Error","Error","Error","Error","Error","Error","Error","Error","Error","versions_exports","versions_exports","Error","Error","Error","Error","get_exports","register_exports","register_exports","Error","Error","get_exports","Error","Error","Error","Error","qs","urlJoin","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","Read","urlJoin","import_url_join","urlJoin","V1","Read","import_url_join","Read","urlJoin","import_url_join","Write","urlJoin","Read","Write","V1","import_url_join","import_url_join","urlJoin","import_url_join","urlJoin","urlJoin","import_url_join","urlJoin","diff_exports","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","Versions","urlJoin","Versions","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","urlJoin"]}
1
+ {"version":3,"sources":["../../../src/client/FdrClient.ts","../../../src/client/generated/api/resources/api/index.ts","../../../src/client/generated/api/resources/api/resources/latest/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/auth/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/auth/types/AuthSchemeId.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/commons/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/endpoint/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/type/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/type/types/ObjectPropertyAccess.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/webhook/index.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/webhook/types/WebhookHttpMethod.ts","../../../src/client/generated/api/resources/api/resources/latest/resources/websocket/index.ts","../../../src/client/generated/api/resources/api/resources/latest/client/getApiLatest.ts","../../../src/client/generated/api/resources/api/resources/v1/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/db/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/db/resources/endpoint/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/endpoint/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/endpoint/types/SupportedLanguage.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/type/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/type/types/ObjectPropertyAccess.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/webhook/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/resources/websocket/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/client/getApi.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/types/SourceId.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/endpoint/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/type/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/type/types/ObjectPropertyAccess.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/webhook/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/resources/websocket/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/client/registerApiDefinition.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/index.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/types/SubpackageId.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/types/WebSocketMessageId.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/types/WebSocketMessageOrigin.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/commons/types/WebhookHttpMethod.ts","../../../src/client/generated/api/resources/dashboard/index.ts","../../../src/client/generated/api/resources/dashboard/client/getDocsSitesForOrg.ts","../../../src/client/generated/api/resources/docs/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/commons/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/frontmatter/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/frontmatter/types/Layout.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/seo/index.ts","../../../src/client/generated/api/resources/docs/resources/latest/resources/seo/types/TwitterCardSetting.ts","../../../src/client/generated/api/resources/docs/resources/v1/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/db/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/read/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/read/client/getDocsForDomainLegacy.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/read/client/getDocsForDomain.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/types/FilePath.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/types/DocsRegistrationId.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/client/startDocsRegister.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/client/finishDocsRegister.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/index.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/AiModel.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/ProgrammingLanguage.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/SearchbarPlacement.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/TabsPlacement.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/ContentAlignment.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/HeaderPosition.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/TwitterCardSetting.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/JsScriptStrategy.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/FontStyle.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/commons/resources/commons/types/FontDisplay.ts","../../../src/client/generated/api/resources/docs/resources/v2/index.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/index.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getOrganizationForUrl.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getDocsUrlMetadata.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getDocsForUrl.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getPrivateDocsForUrl.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/listAllDocsUrls.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/getDocsConfigById.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/prepopulateFdrReadS3Bucket.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/index.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/startDocsRegister.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/startDocsPreviewRegister.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/finishDocsRegister.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/transferOwnershipOfDomain.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/setIsArchived.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/setDocsUrlMetadata.ts","../../../src/client/generated/api/resources/generators/index.ts","../../../src/client/generated/api/resources/generators/types/GeneratorId.ts","../../../src/client/generated/api/resources/generators/types/GeneratorLanguage.ts","../../../src/client/generated/api/resources/generators/resources/cli/index.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/getLatestCliRelease.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/getChangelog.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/getMinCliForIr.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/upsertCliRelease.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/getCliRelease.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/listCliReleases.ts","../../../src/client/generated/api/resources/generators/resources/commons/index.ts","../../../src/client/generated/api/resources/generators/resources/commons/types/ChangelogEntryType.ts","../../../src/client/generated/api/resources/generators/resources/commons/types/ReleaseType.ts","../../../src/client/generated/api/resources/generators/resources/versions/index.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/getLatestGeneratorRelease.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/getChangelog.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/upsertGeneratorRelease.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/getGeneratorRelease.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/listGeneratorReleases.ts","../../../src/client/generated/api/resources/generators/client/upsertGenerator.ts","../../../src/client/generated/api/resources/generators/client/getGeneratorByImage.ts","../../../src/client/generated/api/resources/generators/client/getGenerator.ts","../../../src/client/generated/api/resources/generators/client/listGenerators.ts","../../../src/client/generated/api/resources/diff/index.ts","../../../src/client/generated/api/resources/diff/client/diff.ts","../../../src/client/generated/api/resources/git/index.ts","../../../src/client/generated/api/resources/git/types/PullRequestState.ts","../../../src/client/generated/api/resources/git/client/getRepository.ts","../../../src/client/generated/api/resources/git/client/listRepositories.ts","../../../src/client/generated/api/resources/git/client/upsertRepository.ts","../../../src/client/generated/api/resources/git/client/deleteRepository.ts","../../../src/client/generated/api/resources/git/client/getPullRequest.ts","../../../src/client/generated/api/resources/git/client/listPullRequests.ts","../../../src/client/generated/api/resources/git/client/upsertPullRequest.ts","../../../src/client/generated/api/resources/git/client/deletePullRequest.ts","../../../src/client/generated/api/resources/sdks/index.ts","../../../src/client/generated/api/resources/sdks/resources/versions/index.ts","../../../src/client/generated/api/resources/sdks/resources/versions/types/Language.ts","../../../src/client/generated/api/resources/sdks/resources/versions/types/VersionBump.ts","../../../src/client/generated/api/resources/sdks/resources/versions/client/computeSemanticVersion.ts","../../../src/client/generated/api/resources/snippetsFactory/index.ts","../../../src/client/generated/api/resources/snippetsFactory/client/createSnippetsForSdk.ts","../../../src/client/generated/api/resources/snippets/index.ts","../../../src/client/generated/api/resources/snippets/client/get.ts","../../../src/client/generated/api/resources/snippets/client/load.ts","../../../src/client/generated/api/resources/templates/index.ts","../../../src/client/generated/api/resources/templates/types/PayloadLocation.ts","../../../src/client/generated/api/resources/templates/client/register.ts","../../../src/client/generated/api/resources/templates/client/registerBatch.ts","../../../src/client/generated/api/resources/templates/client/get.ts","../../../src/client/generated/api/resources/tokens/index.ts","../../../src/client/generated/api/resources/tokens/client/generate.ts","../../../src/client/generated/api/resources/tokens/client/revoke.ts","../../../src/client/generated/api/resources/docsCache/index.ts","../../../src/client/generated/api/resources/docsCache/client/invalidate.ts","../../../src/client/generated/environments.ts","../../../src/client/generated/core/json.ts","../../../src/client/generated/core/fetcher/RawResponse.ts","../../../src/client/generated/core/fetcher/createRequestUrl.ts","../../../src/client/generated/core/runtime/runtime.ts","../../../src/client/generated/core/fetcher/getFetchFn.ts","../../../src/client/generated/core/fetcher/getRequestBody.ts","../../../src/client/generated/core/fetcher/getResponseBody.ts","../../../src/client/generated/core/fetcher/signals.ts","../../../src/client/generated/core/fetcher/makeRequest.ts","../../../src/client/generated/core/fetcher/requestWithRetries.ts","../../../src/client/generated/core/fetcher/Fetcher.ts","../../../src/client/generated/core/fetcher/Supplier.ts","../../../src/client/generated/core/fetcher/HttpResponsePromise.ts","../../../src/client/generated/api/resources/api/resources/latest/client/Client.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/read/client/Client.ts","../../../src/client/generated/api/resources/api/resources/v1/resources/register/client/Client.ts","../../../src/client/generated/api/resources/api/resources/v1/client/Client.ts","../../../src/client/generated/api/resources/api/client/Client.ts","../../../src/client/generated/api/resources/dashboard/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/read/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v1/resources/write/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v1/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/read/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v2/resources/write/client/Client.ts","../../../src/client/generated/api/resources/docs/resources/v2/client/Client.ts","../../../src/client/generated/api/resources/docs/client/Client.ts","../../../src/client/generated/api/resources/generators/client/Client.ts","../../../src/client/generated/api/resources/generators/resources/cli/client/Client.ts","../../../src/client/generated/api/resources/generators/resources/versions/client/Client.ts","../../../src/client/generated/api/resources/diff/client/Client.ts","../../../src/client/generated/api/resources/docsCache/client/Client.ts","../../../src/client/generated/api/resources/git/client/Client.ts","../../../src/client/generated/api/resources/sdks/resources/versions/client/Client.ts","../../../src/client/generated/api/resources/sdks/client/Client.ts","../../../src/client/generated/api/resources/snippetsFactory/client/Client.ts","../../../src/client/generated/api/resources/snippets/client/Client.ts","../../../src/client/generated/api/resources/templates/client/Client.ts","../../../src/client/generated/api/resources/tokens/client/Client.ts","../../../src/client/generated/Client.ts"],"sourcesContent":["export { FernRegistryClient as FdrClient } from \"./generated\";\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type AuthSchemeId = string & {\n api_latest_AuthSchemeId: void;\n};\n\nexport function AuthSchemeId(value: string): FernRegistry.api.latest.AuthSchemeId {\n return value as unknown as FernRegistry.api.latest.AuthSchemeId;\n}\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ObjectPropertyAccess = \"READ_ONLY\" | \"WRITE_ONLY\";\nexport const ObjectPropertyAccess = {\n ReadOnly: \"READ_ONLY\",\n WriteOnly: \"WRITE_ONLY\",\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type WebhookHttpMethod = \"GET\" | \"POST\";\nexport const WebhookHttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.api.latest.getApiLatest.Error.UnauthorizedError\n | FernRegistry.api.latest.getApiLatest.Error.ApiDoesNotExistError\n | FernRegistry.api.latest.getApiLatest.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface ApiDoesNotExistError {\n error: \"ApiDoesNotExistError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n apiDoesNotExistError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.api.latest.getApiLatest.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n apiDoesNotExistError: (): FernRegistry.api.latest.getApiLatest.Error.ApiDoesNotExistError => {\n return {\n error: \"ApiDoesNotExistError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.api.latest.getApiLatest.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.api.latest.getApiLatest.Error,\n visitor: FernRegistry.api.latest.getApiLatest.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"ApiDoesNotExistError\":\n return visitor.apiDoesNotExistError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type SupportedLanguage =\n | \"curl\"\n | \"python\"\n | \"javascript\"\n | \"js\"\n | \"node\"\n | \"typescript\"\n | \"ts\"\n | \"go\"\n | \"ruby\"\n | \"csharp\"\n | \"php\"\n | \"swift\";\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} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ObjectPropertyAccess = \"READ_ONLY\" | \"WRITE_ONLY\";\nexport const ObjectPropertyAccess = {\n ReadOnly: \"READ_ONLY\",\n WriteOnly: \"WRITE_ONLY\",\n} as const;\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.api.v1.read.getApi.Error.UnauthorizedError\n | FernRegistry.api.v1.read.getApi.Error.ApiDoesNotExistError\n | FernRegistry.api.v1.read.getApi.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface ApiDoesNotExistError {\n error: \"ApiDoesNotExistError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n apiDoesNotExistError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.api.v1.read.getApi.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n apiDoesNotExistError: (): FernRegistry.api.v1.read.getApi.Error.ApiDoesNotExistError => {\n return {\n error: \"ApiDoesNotExistError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.api.v1.read.getApi.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.api.v1.read.getApi.Error,\n visitor: FernRegistry.api.v1.read.getApi.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"ApiDoesNotExistError\":\n return visitor.apiDoesNotExistError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type SourceId = string & {\n api_v1_register_SourceId: void;\n};\n\nexport function SourceId(value: string): FernRegistry.api.v1.register.SourceId {\n return value as unknown as FernRegistry.api.v1.register.SourceId;\n}\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ObjectPropertyAccess = \"READ_ONLY\" | \"WRITE_ONLY\";\nexport const ObjectPropertyAccess = {\n ReadOnly: \"READ_ONLY\",\n WriteOnly: \"WRITE_ONLY\",\n} as const;\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.api.v1.register.registerApiDefinition.Error.UnauthorizedError\n | FernRegistry.api.v1.register.registerApiDefinition.Error.UserNotInOrgError\n | FernRegistry.api.v1.register.registerApiDefinition.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.api.v1.register.registerApiDefinition.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.api.v1.register.registerApiDefinition.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.api.v1.register.registerApiDefinition.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.api.v1.register.registerApiDefinition.Error,\n visitor: FernRegistry.api.v1.register.registerApiDefinition.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type SubpackageId = string & {\n api_v1_SubpackageId: void;\n};\n\nexport function SubpackageId(value: string): FernRegistry.api.v1.SubpackageId {\n return value as unknown as FernRegistry.api.v1.SubpackageId;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type WebSocketMessageId = string & {\n api_v1_WebSocketMessageId: void;\n};\n\nexport function WebSocketMessageId(value: string): FernRegistry.api.v1.WebSocketMessageId {\n return value as unknown as FernRegistry.api.v1.WebSocketMessageId;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type WebSocketMessageOrigin = \"client\" | \"server\";\nexport const WebSocketMessageOrigin = {\n Client: \"client\",\n Server: \"server\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type WebhookHttpMethod = \"GET\" | \"POST\";\nexport const WebhookHttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.dashboard.getDocsSitesForOrg.Error.UnauthorizedError\n | FernRegistry.dashboard.getDocsSitesForOrg.Error.UserNotInOrgError\n | FernRegistry.dashboard.getDocsSitesForOrg.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.dashboard.getDocsSitesForOrg.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.dashboard.getDocsSitesForOrg.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.dashboard.getDocsSitesForOrg.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.dashboard.getDocsSitesForOrg.Error,\n visitor: FernRegistry.dashboard.getDocsSitesForOrg.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type Layout =\n /**\n * Guides are typically long-form content, and are designed for readability. */\n | \"guide\"\n /**\n * Overview pages are typically meant to be a landing page for a section of the documentation.\n * These pages are 50% wider than guide pages, but the table of contents is still visible. */\n | \"overview\"\n /**\n * Reference pages are best used for API docs or other material that is meant to have a right-hand column.\n * This layout is not recommended for long-form content because they are 2x the width of guide pages and can be difficult to read.\n * Using an <Aside> component is recommended. It will generate a sticky right-hand column for the page, which is useful for code snippets.\n * <Aside> component is not available in guides and overview, and will automatically cause the layout to switch to reference.\n * Note: Table of contents are always hidden on reference pages. */\n | \"reference\"\n /**\n * The layout used for full-width pages. This is useful for landing pages or other custom layouts.\n * Both the navigation sidebar and the table of contents are hidden.\n * The content will take up the full width of the page-width container, which is set by docs.yml. */\n | \"page\"\n /**\n * This layout takes over 100% of the viewport width, below the header.\n * Unlike PageLayout, the content will not be constrained to the page-width container, and does not render any padding. */\n | \"custom\";\nexport const Layout = {\n Guide: \"guide\",\n Overview: \"overview\",\n Reference: \"reference\",\n Page: \"page\",\n Custom: \"custom\",\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type TwitterCardSetting = \"summary\" | \"summary_large_image\" | \"app\" | \"player\";\nexport const TwitterCardSetting = {\n Summary: \"summary\",\n SummaryLargeImage: \"summary_large_image\",\n App: \"app\",\n Player: \"player\",\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error.UnauthorizedError\n | FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error.DomainNotRegisteredError\n | FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n domainNotRegisteredError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n domainNotRegisteredError: (): FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error,\n visitor: FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v1.read.getDocsForDomain.Error.UnauthorizedError\n | FernRegistry.docs.v1.read.getDocsForDomain.Error.DomainNotRegisteredError\n | FernRegistry.docs.v1.read.getDocsForDomain.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n domainNotRegisteredError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v1.read.getDocsForDomain.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n domainNotRegisteredError: (): FernRegistry.docs.v1.read.getDocsForDomain.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v1.read.getDocsForDomain.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v1.read.getDocsForDomain.Error,\n visitor: FernRegistry.docs.v1.read.getDocsForDomain.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\n/**\n * Each string is a unique key for the file. You can use the filepath as a key.\n */\nexport type FilePath = string & {\n docs_v1_write_FilePath: void;\n};\n\nexport function FilePath(value: string): FernRegistry.docs.v1.write.FilePath {\n return value as unknown as FernRegistry.docs.v1.write.FilePath;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\n\nexport type DocsRegistrationId = string & {\n docs_v1_write_DocsRegistrationId: void;\n};\n\nexport function DocsRegistrationId(value: string): FernRegistry.docs.v1.write.DocsRegistrationId {\n return value as unknown as FernRegistry.docs.v1.write.DocsRegistrationId;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.docs.v1.write.startDocsRegister.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v1.write.startDocsRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v1.write.startDocsRegister.Error,\n visitor: FernRegistry.docs.v1.write.startDocsRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v1.write.finishDocsRegister.Error.UnauthorizedError\n | FernRegistry.docs.v1.write.finishDocsRegister.Error.UserNotInOrgError\n | FernRegistry.docs.v1.write.finishDocsRegister.Error.DocsRegistrationIdNotFound\n | FernRegistry.docs.v1.write.finishDocsRegister.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface DocsRegistrationIdNotFound {\n error: \"DocsRegistrationIdNotFound\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n docsRegistrationIdNotFound: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v1.write.finishDocsRegister.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.docs.v1.write.finishDocsRegister.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n docsRegistrationIdNotFound: (): FernRegistry.docs.v1.write.finishDocsRegister.Error.DocsRegistrationIdNotFound => {\n return {\n error: \"DocsRegistrationIdNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v1.write.finishDocsRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v1.write.finishDocsRegister.Error,\n visitor: FernRegistry.docs.v1.write.finishDocsRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"DocsRegistrationIdNotFound\":\n return visitor.docsRegistrationIdNotFound();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./resources/index.js\";\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type AiModel = \"claude-3.5\" | \"claude-3.7\" | \"claude-4\" | \"command-a\";\nexport const AiModel = {\n Claude35: \"claude-3.5\",\n Claude37: \"claude-3.7\",\n Claude4: \"claude-4\",\n CommandA: \"command-a\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ProgrammingLanguage =\n | \"typescript\"\n | \"javascript\"\n | \"python\"\n | \"java\"\n | \"go\"\n | \"ruby\"\n | \"csharp\"\n | \"php\"\n | \"swift\"\n | \"nodets\"\n | \"nodejs\"\n | \"dotnet\"\n | \"curl\"\n | \"jvm\"\n | \"ts\"\n | \"js\";\nexport const ProgrammingLanguage = {\n Typescript: \"typescript\",\n Javascript: \"javascript\",\n Python: \"python\",\n Java: \"java\",\n Go: \"go\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Php: \"php\",\n Swift: \"swift\",\n Nodets: \"nodets\",\n Nodejs: \"nodejs\",\n Dotnet: \"dotnet\",\n Curl: \"curl\",\n Jvm: \"jvm\",\n Ts: \"ts\",\n Js: \"js\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type SearchbarPlacement = \"HEADER\" | \"HEADER_TABS\" | \"SIDEBAR\";\nexport const SearchbarPlacement = {\n Header: \"HEADER\",\n HeaderTabs: \"HEADER_TABS\",\n Sidebar: \"SIDEBAR\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type TabsPlacement = \"HEADER\" | \"SIDEBAR\";\nexport const TabsPlacement = {\n Header: \"HEADER\",\n Sidebar: \"SIDEBAR\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ContentAlignment = \"CENTER\" | \"LEFT\";\nexport const ContentAlignment = {\n Center: \"CENTER\",\n Left: \"LEFT\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type HeaderPosition = \"FIXED\" | \"ABSOLUTE\";\nexport const HeaderPosition = {\n Fixed: \"FIXED\",\n Absolute: \"ABSOLUTE\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type TwitterCardSetting = \"summary\" | \"summary_large_image\" | \"app\" | \"player\";\nexport const TwitterCardSetting = {\n Summary: \"summary\",\n SummaryLargeImage: \"summary_large_image\",\n App: \"app\",\n Player: \"player\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type JsScriptStrategy = \"beforeInteractive\" | \"afterInteractive\" | \"lazyOnload\";\nexport const JsScriptStrategy = {\n BeforeInteractive: \"beforeInteractive\",\n AfterInteractive: \"afterInteractive\",\n LazyOnload: \"lazyOnload\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type FontStyle = \"normal\" | \"italic\";\nexport const FontStyle = {\n Normal: \"normal\",\n Italic: \"italic\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type FontDisplay = \"auto\" | \"block\" | \"swap\" | \"fallback\" | \"optional\";\nexport const FontDisplay = {\n Auto: \"auto\",\n Block: \"block\",\n Swap: \"swap\",\n Fallback: \"fallback\",\n Optional: \"optional\",\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getOrganizationForUrl.Error.DomainNotRegisteredError\n | FernRegistry.docs.v2.read.getOrganizationForUrl.Error._Unknown;\n\nexport namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n domainNotRegisteredError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n domainNotRegisteredError: (): FernRegistry.docs.v2.read.getOrganizationForUrl.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getOrganizationForUrl.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getOrganizationForUrl.Error,\n visitor: FernRegistry.docs.v2.read.getOrganizationForUrl.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getDocsUrlMetadata.Error.DomainNotRegisteredError\n | FernRegistry.docs.v2.read.getDocsUrlMetadata.Error._Unknown;\n\nexport namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n domainNotRegisteredError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n domainNotRegisteredError: (): FernRegistry.docs.v2.read.getDocsUrlMetadata.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getDocsUrlMetadata.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getDocsUrlMetadata.Error,\n visitor: FernRegistry.docs.v2.read.getDocsUrlMetadata.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getDocsForUrl.Error.DomainNotRegisteredError\n | FernRegistry.docs.v2.read.getDocsForUrl.Error.UnauthorizedError\n | FernRegistry.docs.v2.read.getDocsForUrl.Error._Unknown;\n\nexport namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n domainNotRegisteredError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n domainNotRegisteredError: (): FernRegistry.docs.v2.read.getDocsForUrl.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n unauthorizedError: (value: string): FernRegistry.docs.v2.read.getDocsForUrl.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getDocsForUrl.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getDocsForUrl.Error,\n visitor: FernRegistry.docs.v2.read.getDocsForUrl.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error.DomainNotRegisteredError\n | FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error.UnauthorizedError\n | FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error._Unknown;\n\nexport namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n domainNotRegisteredError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n domainNotRegisteredError: (): FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error.DomainNotRegisteredError => {\n return {\n error: \"DomainNotRegisteredError\",\n };\n },\n\n unauthorizedError: (value: string): FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error,\n visitor: FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DomainNotRegisteredError\":\n return visitor.domainNotRegisteredError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.listAllDocsUrls.Error.UnauthorizedError\n | FernRegistry.docs.v2.read.listAllDocsUrls.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v2.read.listAllDocsUrls.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.listAllDocsUrls.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.listAllDocsUrls.Error,\n visitor: FernRegistry.docs.v2.read.listAllDocsUrls.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.read.getDocsConfigById.Error.DocsDefinitionNotFoundError\n | FernRegistry.docs.v2.read.getDocsConfigById.Error._Unknown;\n\nexport namespace Error {\n export interface DocsDefinitionNotFoundError {\n error: \"DocsDefinitionNotFoundError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n docsDefinitionNotFoundError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n docsDefinitionNotFoundError: (): FernRegistry.docs.v2.read.getDocsConfigById.Error.DocsDefinitionNotFoundError => {\n return {\n error: \"DocsDefinitionNotFoundError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.read.getDocsConfigById.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.getDocsConfigById.Error,\n visitor: FernRegistry.docs.v2.read.getDocsConfigById.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DocsDefinitionNotFoundError\":\n return visitor.docsDefinitionNotFoundError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error,\n visitor: FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.startDocsRegister.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.UnavailableError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.UserNotInOrgError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidDomainError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidCustomDomainError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.DomainBelongsToAnotherOrgError\n | FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidUrlError\n | FernRegistry.docs.v2.write.startDocsRegister.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UnavailableError {\n error: \"UnavailableError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface InvalidDomainError {\n error: \"InvalidDomainError\";\n }\n\n export interface InvalidCustomDomainError {\n error: \"InvalidCustomDomainError\";\n }\n\n export interface DomainBelongsToAnotherOrgError {\n error: \"DomainBelongsToAnotherOrgError\";\n content: string;\n }\n\n export interface InvalidUrlError {\n error: \"InvalidURLError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n unavailableError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n invalidDomainError: () => _Result;\n invalidCustomDomainError: () => _Result;\n domainBelongsToAnotherOrgError: (value: string) => _Result;\n invalidUrlError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.startDocsRegister.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n unavailableError: (value: string): FernRegistry.docs.v2.write.startDocsRegister.Error.UnavailableError => {\n return {\n content: value,\n error: \"UnavailableError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.docs.v2.write.startDocsRegister.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n invalidDomainError: (): FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidDomainError => {\n return {\n error: \"InvalidDomainError\",\n };\n },\n\n invalidCustomDomainError: (): FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidCustomDomainError => {\n return {\n error: \"InvalidCustomDomainError\",\n };\n },\n\n domainBelongsToAnotherOrgError: (\n value: string,\n ): FernRegistry.docs.v2.write.startDocsRegister.Error.DomainBelongsToAnotherOrgError => {\n return {\n content: value,\n error: \"DomainBelongsToAnotherOrgError\",\n };\n },\n\n invalidUrlError: (value: string): FernRegistry.docs.v2.write.startDocsRegister.Error.InvalidUrlError => {\n return {\n content: value,\n error: \"InvalidURLError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.write.startDocsRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.startDocsRegister.Error,\n visitor: FernRegistry.docs.v2.write.startDocsRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UnavailableError\":\n return visitor.unavailableError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"InvalidDomainError\":\n return visitor.invalidDomainError();\n case \"InvalidCustomDomainError\":\n return visitor.invalidCustomDomainError();\n case \"DomainBelongsToAnotherOrgError\":\n return visitor.domainBelongsToAnotherOrgError(value.content);\n case \"InvalidURLError\":\n return visitor.invalidUrlError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UnavailableError\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UserNotInOrgError\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.InvalidDomainError\n | FernRegistry.docs.v2.write.startDocsPreviewRegister.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UnavailableError {\n error: \"UnavailableError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface InvalidDomainError {\n error: \"InvalidDomainError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n unavailableError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n invalidDomainError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n unavailableError: (value: string): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UnavailableError => {\n return {\n content: value,\n error: \"UnavailableError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n invalidDomainError: (): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error.InvalidDomainError => {\n return {\n error: \"InvalidDomainError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.docs.v2.write.startDocsPreviewRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.startDocsPreviewRegister.Error,\n visitor: FernRegistry.docs.v2.write.startDocsPreviewRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UnavailableError\":\n return visitor.unavailableError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"InvalidDomainError\":\n return visitor.invalidDomainError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.finishDocsRegister.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.finishDocsRegister.Error.UserNotInOrgError\n | FernRegistry.docs.v2.write.finishDocsRegister.Error.DocsRegistrationIdNotFound\n | FernRegistry.docs.v2.write.finishDocsRegister.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface DocsRegistrationIdNotFound {\n error: \"DocsRegistrationIdNotFound\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n docsRegistrationIdNotFound: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.finishDocsRegister.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.docs.v2.write.finishDocsRegister.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n docsRegistrationIdNotFound: (): FernRegistry.docs.v2.write.finishDocsRegister.Error.DocsRegistrationIdNotFound => {\n return {\n error: \"DocsRegistrationIdNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.write.finishDocsRegister.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.finishDocsRegister.Error,\n visitor: FernRegistry.docs.v2.write.finishDocsRegister.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"DocsRegistrationIdNotFound\":\n return visitor.docsRegistrationIdNotFound();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error.DocsNotFoundError\n | FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error._Unknown;\n\nexport namespace Error {\n export interface DocsNotFoundError {\n error: \"DocsNotFoundError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n docsNotFoundError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n docsNotFoundError: (): FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error.DocsNotFoundError => {\n return {\n error: \"DocsNotFoundError\",\n };\n },\n\n unauthorizedError: (\n value: string,\n ): FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error,\n visitor: FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DocsNotFoundError\":\n return visitor.docsNotFoundError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.setIsArchived.Error.DocsNotFoundError\n | FernRegistry.docs.v2.write.setIsArchived.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.setIsArchived.Error._Unknown;\n\nexport namespace Error {\n export interface DocsNotFoundError {\n error: \"DocsNotFoundError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n docsNotFoundError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n docsNotFoundError: (): FernRegistry.docs.v2.write.setIsArchived.Error.DocsNotFoundError => {\n return {\n error: \"DocsNotFoundError\",\n };\n },\n\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.setIsArchived.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.write.setIsArchived.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.setIsArchived.Error,\n visitor: FernRegistry.docs.v2.write.setIsArchived.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DocsNotFoundError\":\n return visitor.docsNotFoundError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.docs.v2.write.setDocsUrlMetadata.Error.DocsNotFoundError\n | FernRegistry.docs.v2.write.setDocsUrlMetadata.Error.UnauthorizedError\n | FernRegistry.docs.v2.write.setDocsUrlMetadata.Error._Unknown;\n\nexport namespace Error {\n export interface DocsNotFoundError {\n error: \"DocsNotFoundError\";\n }\n\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n docsNotFoundError: () => _Result;\n unauthorizedError: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n docsNotFoundError: (): FernRegistry.docs.v2.write.setDocsUrlMetadata.Error.DocsNotFoundError => {\n return {\n error: \"DocsNotFoundError\",\n };\n },\n\n unauthorizedError: (value: string): FernRegistry.docs.v2.write.setDocsUrlMetadata.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docs.v2.write.setDocsUrlMetadata.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docs.v2.write.setDocsUrlMetadata.Error,\n visitor: FernRegistry.docs.v2.write.setDocsUrlMetadata.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"DocsNotFoundError\":\n return visitor.docsNotFoundError();\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\n\n/**\n * The type of the generator, e.g. fern-python-sdk\n */\nexport type GeneratorId = string & {\n generators_GeneratorId: void;\n};\n\nexport function GeneratorId(value: string): FernRegistry.generators.GeneratorId {\n return value as unknown as FernRegistry.generators.GeneratorId;\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type GeneratorLanguage = \"python\" | \"go\" | \"java\" | \"typescript\" | \"ruby\" | \"csharp\" | \"php\" | \"swift\" | \"rust\";\nexport const GeneratorLanguage = {\n Python: \"python\",\n Go: \"go\",\n Java: \"java\",\n Typescript: \"typescript\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Php: \"php\",\n Swift: \"swift\",\n Rust: \"rust\",\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.cli.getLatestCliRelease.Error.NoValidClisFoundError\n | FernRegistry.generators.cli.getLatestCliRelease.Error._Unknown;\n\nexport namespace Error {\n export interface NoValidClisFoundError {\n error: \"NoValidClisFoundError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n noValidClisFoundError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n noValidClisFoundError: (): FernRegistry.generators.cli.getLatestCliRelease.Error.NoValidClisFoundError => {\n return {\n error: \"NoValidClisFoundError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.getLatestCliRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.getLatestCliRelease.Error,\n visitor: FernRegistry.generators.cli.getLatestCliRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"NoValidClisFoundError\":\n return visitor.noValidClisFoundError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.cli.getChangelog.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.getChangelog.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.getChangelog.Error,\n visitor: FernRegistry.generators.cli.getChangelog.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.cli.getMinCliForIr.Error.NoValidClisFoundError\n | FernRegistry.generators.cli.getMinCliForIr.Error._Unknown;\n\nexport namespace Error {\n export interface NoValidClisFoundError {\n error: \"NoValidClisFoundError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n noValidClisFoundError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n noValidClisFoundError: (): FernRegistry.generators.cli.getMinCliForIr.Error.NoValidClisFoundError => {\n return {\n error: \"NoValidClisFoundError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.getMinCliForIr.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.getMinCliForIr.Error,\n visitor: FernRegistry.generators.cli.getMinCliForIr.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"NoValidClisFoundError\":\n return visitor.noValidClisFoundError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.cli.upsertCliRelease.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.upsertCliRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.upsertCliRelease.Error,\n visitor: FernRegistry.generators.cli.upsertCliRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.cli.getCliRelease.Error.CliVersionNotFoundError\n | FernRegistry.generators.cli.getCliRelease.Error._Unknown;\n\nexport namespace Error {\n export interface CliVersionNotFoundError {\n error: \"CliVersionNotFoundError\";\n content: FernRegistry.generators.InvalidVersionErrorMessage;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n cliVersionNotFoundError: (value: FernRegistry.generators.InvalidVersionErrorMessage) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n cliVersionNotFoundError: (\n value: FernRegistry.generators.InvalidVersionErrorMessage,\n ): FernRegistry.generators.cli.getCliRelease.Error.CliVersionNotFoundError => {\n return {\n content: value,\n error: \"CliVersionNotFoundError\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.getCliRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.getCliRelease.Error,\n visitor: FernRegistry.generators.cli.getCliRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"CliVersionNotFoundError\":\n return visitor.cliVersionNotFoundError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.cli.listCliReleases.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.cli.listCliReleases.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.cli.listCliReleases.Error,\n visitor: FernRegistry.generators.cli.listCliReleases.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\n/**\n * Following `conventional commit` types for the entries here.\n */\nexport type ChangelogEntryType = \"fix\" | \"feat\" | \"chore\" | \"break\" | \"internal\";\nexport const ChangelogEntryType = {\n Fix: \"fix\",\n Feat: \"feat\",\n Chore: \"chore\",\n Break: \"break\",\n Internal: \"internal\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type ReleaseType = \"GA\" | \"RC\";\nexport const ReleaseType = {\n Ga: \"GA\",\n Rc: \"RC\",\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.versions.getLatestGeneratorRelease.Error.NoValidGeneratorsFoundError\n | FernRegistry.generators.versions.getLatestGeneratorRelease.Error._Unknown;\n\nexport namespace Error {\n export interface NoValidGeneratorsFoundError {\n error: \"NoValidGeneratorsFoundError\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n noValidGeneratorsFoundError: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n noValidGeneratorsFoundError:\n (): FernRegistry.generators.versions.getLatestGeneratorRelease.Error.NoValidGeneratorsFoundError => {\n return {\n error: \"NoValidGeneratorsFoundError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.generators.versions.getLatestGeneratorRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.getLatestGeneratorRelease.Error,\n visitor: FernRegistry.generators.versions.getLatestGeneratorRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"NoValidGeneratorsFoundError\":\n return visitor.noValidGeneratorsFoundError();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.versions.getChangelog.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.versions.getChangelog.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.getChangelog.Error,\n visitor: FernRegistry.generators.versions.getChangelog.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.versions.upsertGeneratorRelease.Error.InvalidVersionError\n | FernRegistry.generators.versions.upsertGeneratorRelease.Error._Unknown;\n\nexport namespace Error {\n export interface InvalidVersionError {\n error: \"InvalidVersionError\";\n content: FernRegistry.generators.InvalidVersionErrorMessage;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n invalidVersionError: (value: FernRegistry.generators.InvalidVersionErrorMessage) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n invalidVersionError: (\n value: FernRegistry.generators.InvalidVersionErrorMessage,\n ): FernRegistry.generators.versions.upsertGeneratorRelease.Error.InvalidVersionError => {\n return {\n content: value,\n error: \"InvalidVersionError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.generators.versions.upsertGeneratorRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.upsertGeneratorRelease.Error,\n visitor: FernRegistry.generators.versions.upsertGeneratorRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"InvalidVersionError\":\n return visitor.invalidVersionError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.generators.versions.getGeneratorRelease.Error.GeneratorVersionNotFoundError\n | FernRegistry.generators.versions.getGeneratorRelease.Error._Unknown;\n\nexport namespace Error {\n export interface GeneratorVersionNotFoundError {\n error: \"GeneratorVersionNotFoundError\";\n content: FernRegistry.generators.InvalidVersionErrorMessage;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n generatorVersionNotFoundError: (value: FernRegistry.generators.InvalidVersionErrorMessage) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n generatorVersionNotFoundError: (\n value: FernRegistry.generators.InvalidVersionErrorMessage,\n ): FernRegistry.generators.versions.getGeneratorRelease.Error.GeneratorVersionNotFoundError => {\n return {\n content: value,\n error: \"GeneratorVersionNotFoundError\",\n };\n },\n\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.generators.versions.getGeneratorRelease.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.getGeneratorRelease.Error,\n visitor: FernRegistry.generators.versions.getGeneratorRelease.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"GeneratorVersionNotFoundError\":\n return visitor.generatorVersionNotFoundError(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.versions.listGeneratorReleases.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (\n fetcherError: core.Fetcher.Error,\n ): FernRegistry.generators.versions.listGeneratorReleases.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.versions.listGeneratorReleases.Error,\n visitor: FernRegistry.generators.versions.listGeneratorReleases.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.upsertGenerator.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.upsertGenerator.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.upsertGenerator.Error,\n visitor: FernRegistry.generators.upsertGenerator.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.getGeneratorByImage.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.getGeneratorByImage.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.getGeneratorByImage.Error,\n visitor: FernRegistry.generators.getGeneratorByImage.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.getGenerator.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.getGenerator.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.getGenerator.Error,\n visitor: FernRegistry.generators.getGenerator.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.generators.listGenerators.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.generators.listGenerators.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.generators.listGenerators.Error,\n visitor: FernRegistry.generators.listGenerators.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.diff.diff.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.diff.diff.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.diff.diff.Error,\n visitor: FernRegistry.diff.diff.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type PullRequestState = \"open\" | \"closed\" | \"merged\";\nexport const PullRequestState = {\n Open: \"open\",\n Closed: \"closed\",\n Merged: \"merged\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.getRepository.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.getRepository.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.getRepository.Error,\n visitor: FernRegistry.git.getRepository.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.listRepositories.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.listRepositories.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.listRepositories.Error,\n visitor: FernRegistry.git.listRepositories.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.upsertRepository.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.upsertRepository.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.upsertRepository.Error,\n visitor: FernRegistry.git.upsertRepository.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.deleteRepository.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.deleteRepository.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.deleteRepository.Error,\n visitor: FernRegistry.git.deleteRepository.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.getPullRequest.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.getPullRequest.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.getPullRequest.Error,\n visitor: FernRegistry.git.getPullRequest.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.listPullRequests.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.listPullRequests.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.listPullRequests.Error,\n visitor: FernRegistry.git.listPullRequests.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.upsertPullRequest.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.upsertPullRequest.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.upsertPullRequest.Error,\n visitor: FernRegistry.git.upsertPullRequest.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.git.deletePullRequest.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.git.deletePullRequest.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.git.deletePullRequest.Error,\n visitor: FernRegistry.git.deletePullRequest.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./resources/index.js\";\nexport * from \"./client/index.js\";\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type Language = \"Go\" | \"TypeScript\" | \"Java\" | \"Python\" | \"Csharp\" | \"Ruby\" | \"Php\" | \"Swift\";\nexport const Language = {\n Go: \"Go\",\n TypeScript: \"TypeScript\",\n Java: \"Java\",\n Python: \"Python\",\n Csharp: \"Csharp\",\n Ruby: \"Ruby\",\n Php: \"Php\",\n Swift: \"Swift\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport type VersionBump = \"MAJOR\" | \"MINOR\" | \"PATCH\";\nexport const VersionBump = {\n Major: \"MAJOR\",\n Minor: \"MINOR\",\n Patch: \"PATCH\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../../../index.js\";\nimport * as core from \"../../../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.sdks.versions.computeSemanticVersion.Error.FailedToComputeExistingVersion\n | FernRegistry.sdks.versions.computeSemanticVersion.Error.FailedToIncrementVersion\n | FernRegistry.sdks.versions.computeSemanticVersion.Error._Unknown;\n\nexport namespace Error {\n export interface FailedToComputeExistingVersion {\n error: \"FailedToComputeExistingVersion\";\n }\n\n export interface FailedToIncrementVersion {\n error: \"FailedToIncrementVersion\";\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n failedToComputeExistingVersion: () => _Result;\n failedToIncrementVersion: () => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n failedToComputeExistingVersion:\n (): FernRegistry.sdks.versions.computeSemanticVersion.Error.FailedToComputeExistingVersion => {\n return {\n error: \"FailedToComputeExistingVersion\",\n };\n },\n\n failedToIncrementVersion: (): FernRegistry.sdks.versions.computeSemanticVersion.Error.FailedToIncrementVersion => {\n return {\n error: \"FailedToIncrementVersion\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.sdks.versions.computeSemanticVersion.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.sdks.versions.computeSemanticVersion.Error,\n visitor: FernRegistry.sdks.versions.computeSemanticVersion.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"FailedToComputeExistingVersion\":\n return visitor.failedToComputeExistingVersion();\n case \"FailedToIncrementVersion\":\n return visitor.failedToIncrementVersion();\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error.UnauthorizedError\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error.UserNotInOrgError\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error.OrgIdNotFound\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error.SdkNotFound\n | FernRegistry.snippetsFactory.createSnippetsForSdk.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface OrgIdNotFound {\n error: \"OrgIdNotFound\";\n content: string;\n }\n\n export interface SdkNotFound {\n error: \"SDKNotFound\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n orgIdNotFound: (value: string) => _Result;\n sdkNotFound: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.snippetsFactory.createSnippetsForSdk.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.snippetsFactory.createSnippetsForSdk.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n orgIdNotFound: (value: string): FernRegistry.snippetsFactory.createSnippetsForSdk.Error.OrgIdNotFound => {\n return {\n content: value,\n error: \"OrgIdNotFound\",\n };\n },\n\n sdkNotFound: (value: string): FernRegistry.snippetsFactory.createSnippetsForSdk.Error.SdkNotFound => {\n return {\n content: value,\n error: \"SDKNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.snippetsFactory.createSnippetsForSdk.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.snippetsFactory.createSnippetsForSdk.Error,\n visitor: FernRegistry.snippetsFactory.createSnippetsForSdk.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"OrgIdNotFound\":\n return visitor.orgIdNotFound(value.content);\n case \"SDKNotFound\":\n return visitor.sdkNotFound(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.snippets.get.Error.UnauthorizedError\n | FernRegistry.snippets.get.Error.UserNotInOrgError\n | FernRegistry.snippets.get.Error.UnavailableError\n | FernRegistry.snippets.get.Error.ApiIdRequiredError\n | FernRegistry.snippets.get.Error.OrgIdRequiredError\n | FernRegistry.snippets.get.Error.OrgIdAndApiIdNotFound\n | FernRegistry.snippets.get.Error.OrgIdNotFound\n | FernRegistry.snippets.get.Error.EndpointNotFound\n | FernRegistry.snippets.get.Error.SdkNotFound\n | FernRegistry.snippets.get.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface UnavailableError {\n error: \"UnavailableError\";\n content: string;\n }\n\n export interface ApiIdRequiredError {\n error: \"ApiIdRequiredError\";\n content: string;\n }\n\n export interface OrgIdRequiredError {\n error: \"OrgIdRequiredError\";\n content: string;\n }\n\n export interface OrgIdAndApiIdNotFound {\n error: \"OrgIdAndApiIdNotFound\";\n content: string;\n }\n\n export interface OrgIdNotFound {\n error: \"OrgIdNotFound\";\n content: string;\n }\n\n export interface EndpointNotFound {\n error: \"EndpointNotFound\";\n content: string;\n }\n\n export interface SdkNotFound {\n error: \"SDKNotFound\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n unavailableError: (value: string) => _Result;\n apiIdRequiredError: (value: string) => _Result;\n orgIdRequiredError: (value: string) => _Result;\n orgIdAndApiIdNotFound: (value: string) => _Result;\n orgIdNotFound: (value: string) => _Result;\n endpointNotFound: (value: string) => _Result;\n sdkNotFound: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.snippets.get.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.snippets.get.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n unavailableError: (value: string): FernRegistry.snippets.get.Error.UnavailableError => {\n return {\n content: value,\n error: \"UnavailableError\",\n };\n },\n\n apiIdRequiredError: (value: string): FernRegistry.snippets.get.Error.ApiIdRequiredError => {\n return {\n content: value,\n error: \"ApiIdRequiredError\",\n };\n },\n\n orgIdRequiredError: (value: string): FernRegistry.snippets.get.Error.OrgIdRequiredError => {\n return {\n content: value,\n error: \"OrgIdRequiredError\",\n };\n },\n\n orgIdAndApiIdNotFound: (value: string): FernRegistry.snippets.get.Error.OrgIdAndApiIdNotFound => {\n return {\n content: value,\n error: \"OrgIdAndApiIdNotFound\",\n };\n },\n\n orgIdNotFound: (value: string): FernRegistry.snippets.get.Error.OrgIdNotFound => {\n return {\n content: value,\n error: \"OrgIdNotFound\",\n };\n },\n\n endpointNotFound: (value: string): FernRegistry.snippets.get.Error.EndpointNotFound => {\n return {\n content: value,\n error: \"EndpointNotFound\",\n };\n },\n\n sdkNotFound: (value: string): FernRegistry.snippets.get.Error.SdkNotFound => {\n return {\n content: value,\n error: \"SDKNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.snippets.get.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.snippets.get.Error,\n visitor: FernRegistry.snippets.get.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"UnavailableError\":\n return visitor.unavailableError(value.content);\n case \"ApiIdRequiredError\":\n return visitor.apiIdRequiredError(value.content);\n case \"OrgIdRequiredError\":\n return visitor.orgIdRequiredError(value.content);\n case \"OrgIdAndApiIdNotFound\":\n return visitor.orgIdAndApiIdNotFound(value.content);\n case \"OrgIdNotFound\":\n return visitor.orgIdNotFound(value.content);\n case \"EndpointNotFound\":\n return visitor.endpointNotFound(value.content);\n case \"SDKNotFound\":\n return visitor.sdkNotFound(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.snippets.load.Error.UnauthorizedError\n | FernRegistry.snippets.load.Error.UserNotInOrgError\n | FernRegistry.snippets.load.Error.UnavailableError\n | FernRegistry.snippets.load.Error.InvalidPageError\n | FernRegistry.snippets.load.Error.ApiIdRequiredError\n | FernRegistry.snippets.load.Error.OrgIdRequiredError\n | FernRegistry.snippets.load.Error.OrgIdAndApiIdNotFound\n | FernRegistry.snippets.load.Error.OrgIdNotFound\n | FernRegistry.snippets.load.Error.SdkNotFound\n | FernRegistry.snippets.load.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface UserNotInOrgError {\n error: \"UserNotInOrgError\";\n content: string;\n }\n\n export interface UnavailableError {\n error: \"UnavailableError\";\n content: string;\n }\n\n export interface InvalidPageError {\n error: \"InvalidPageError\";\n content: string;\n }\n\n export interface ApiIdRequiredError {\n error: \"ApiIdRequiredError\";\n content: string;\n }\n\n export interface OrgIdRequiredError {\n error: \"OrgIdRequiredError\";\n content: string;\n }\n\n export interface OrgIdAndApiIdNotFound {\n error: \"OrgIdAndApiIdNotFound\";\n content: string;\n }\n\n export interface OrgIdNotFound {\n error: \"OrgIdNotFound\";\n content: string;\n }\n\n export interface SdkNotFound {\n error: \"SDKNotFound\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n userNotInOrgError: (value: string) => _Result;\n unavailableError: (value: string) => _Result;\n invalidPageError: (value: string) => _Result;\n apiIdRequiredError: (value: string) => _Result;\n orgIdRequiredError: (value: string) => _Result;\n orgIdAndApiIdNotFound: (value: string) => _Result;\n orgIdNotFound: (value: string) => _Result;\n sdkNotFound: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.snippets.load.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n userNotInOrgError: (value: string): FernRegistry.snippets.load.Error.UserNotInOrgError => {\n return {\n content: value,\n error: \"UserNotInOrgError\",\n };\n },\n\n unavailableError: (value: string): FernRegistry.snippets.load.Error.UnavailableError => {\n return {\n content: value,\n error: \"UnavailableError\",\n };\n },\n\n invalidPageError: (value: string): FernRegistry.snippets.load.Error.InvalidPageError => {\n return {\n content: value,\n error: \"InvalidPageError\",\n };\n },\n\n apiIdRequiredError: (value: string): FernRegistry.snippets.load.Error.ApiIdRequiredError => {\n return {\n content: value,\n error: \"ApiIdRequiredError\",\n };\n },\n\n orgIdRequiredError: (value: string): FernRegistry.snippets.load.Error.OrgIdRequiredError => {\n return {\n content: value,\n error: \"OrgIdRequiredError\",\n };\n },\n\n orgIdAndApiIdNotFound: (value: string): FernRegistry.snippets.load.Error.OrgIdAndApiIdNotFound => {\n return {\n content: value,\n error: \"OrgIdAndApiIdNotFound\",\n };\n },\n\n orgIdNotFound: (value: string): FernRegistry.snippets.load.Error.OrgIdNotFound => {\n return {\n content: value,\n error: \"OrgIdNotFound\",\n };\n },\n\n sdkNotFound: (value: string): FernRegistry.snippets.load.Error.SdkNotFound => {\n return {\n content: value,\n error: \"SDKNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.snippets.load.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.snippets.load.Error,\n visitor: FernRegistry.snippets.load.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"UserNotInOrgError\":\n return visitor.userNotInOrgError(value.content);\n case \"UnavailableError\":\n return visitor.unavailableError(value.content);\n case \"InvalidPageError\":\n return visitor.invalidPageError(value.content);\n case \"ApiIdRequiredError\":\n return visitor.apiIdRequiredError(value.content);\n case \"OrgIdRequiredError\":\n return visitor.orgIdRequiredError(value.content);\n case \"OrgIdAndApiIdNotFound\":\n return visitor.orgIdAndApiIdNotFound(value.content);\n case \"OrgIdNotFound\":\n return visitor.orgIdNotFound(value.content);\n case \"SDKNotFound\":\n return visitor.sdkNotFound(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\n/**\n * The location of the payload, if omitted the full payload is used.\n * Note that RELATIVE should be used for iterables primarily, so be\n * able to specify the path to the field relative to the iterated on object\n */\nexport type PayloadLocation = \"BODY\" | \"QUERY\" | \"PATH\" | \"HEADERS\" | \"RELATIVE\" | \"AUTH\";\nexport const PayloadLocation = {\n Body: \"BODY\",\n Query: \"QUERY\",\n Path: \"PATH\",\n Headers: \"HEADERS\",\n Relative: \"RELATIVE\",\n Auth: \"AUTH\",\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.templates.register.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.templates.register.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.templates.register.Error,\n visitor: FernRegistry.templates.register.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.templates.registerBatch.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.templates.registerBatch.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.templates.registerBatch.Error,\n visitor: FernRegistry.templates.registerBatch.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error =\n | FernRegistry.templates.get.Error.UnauthorizedError\n | FernRegistry.templates.get.Error.SnippetNotFound\n | FernRegistry.templates.get.Error._Unknown;\n\nexport namespace Error {\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n\n export interface SnippetNotFound {\n error: \"SnippetNotFound\";\n content: string;\n }\n\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n unauthorizedError: (value: string) => _Result;\n snippetNotFound: (value: string) => _Result;\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n unauthorizedError: (value: string): FernRegistry.templates.get.Error.UnauthorizedError => {\n return {\n content: value,\n error: \"UnauthorizedError\",\n };\n },\n\n snippetNotFound: (value: string): FernRegistry.templates.get.Error.SnippetNotFound => {\n return {\n content: value,\n error: \"SnippetNotFound\",\n };\n },\n\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.templates.get.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.templates.get.Error,\n visitor: FernRegistry.templates.get.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n case \"UnauthorizedError\":\n return visitor.unauthorizedError(value.content);\n case \"SnippetNotFound\":\n return visitor.snippetNotFound(value.content);\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./types/index.js\";\nexport * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.tokens.generate.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.tokens.generate.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.tokens.generate.Error,\n visitor: FernRegistry.tokens.generate.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.tokens.revoke.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.tokens.revoke.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.tokens.revoke.Error,\n visitor: FernRegistry.tokens.revoke.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","export * from \"./client/index.js\";\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as FernRegistry from \"../../../index.js\";\nimport * as core from \"../../../../core/index.js\";\n\nexport type Error = FernRegistry.docsCache.invalidate.Error._Unknown;\n\nexport namespace Error {\n export interface _Unknown {\n error: void;\n content: core.Fetcher.Error;\n }\n\n export interface _Visitor<_Result> {\n _other: (value: core.Fetcher.Error) => _Result;\n }\n}\n\nexport const Error = {\n _unknown: (fetcherError: core.Fetcher.Error): FernRegistry.docsCache.invalidate.Error._Unknown => {\n return {\n error: undefined,\n content: fetcherError,\n };\n },\n\n _visit: <_Result>(\n value: FernRegistry.docsCache.invalidate.Error,\n visitor: FernRegistry.docsCache.invalidate.Error._Visitor<_Result>,\n ): _Result => {\n switch (value.error) {\n default:\n return visitor._other(value as any);\n }\n },\n} as const;\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nexport const FernRegistryEnvironment = {\n Prod: \"https://registry.buildwithfern.com\",\n} as const;\n\nexport type FernRegistryEnvironment = typeof FernRegistryEnvironment.Prod;\n","/**\n * Serialize a value to JSON\n * @param value A JavaScript value, usually an object or array, to be converted.\n * @param replacer A function that transforms the results.\n * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.\n * @returns JSON string\n */\nexport const toJson = (\n value: unknown,\n replacer?: (this: unknown, key: string, value: unknown) => unknown,\n space?: string | number,\n): string => {\n return JSON.stringify(value, replacer, space);\n};\n\n/**\n * Parse JSON string to object, array, or other type\n * @param text A valid JSON string.\n * @param reviver A function that transforms the results. This function is called for each member of the object. If a member contains nested objects, the nested objects are transformed before the parent object is.\n * @returns Parsed object, array, or other type\n */\nexport function fromJson<T = unknown>(\n text: string,\n reviver?: (this: unknown, key: string, value: unknown) => unknown,\n): T {\n return JSON.parse(text, reviver);\n}\n","/**\n * The raw response from the fetch call excluding the body.\n */\nexport type RawResponse = Omit<\n {\n [K in keyof Response as Response[K] extends Function ? never : K]: Response[K]; // strips out functions\n },\n \"ok\" | \"body\" | \"bodyUsed\"\n>; // strips out body and bodyUsed\n\n/**\n * A raw response indicating that the request was aborted.\n */\nexport const abortRawResponse: RawResponse = {\n headers: new Headers(),\n redirected: false,\n status: 499,\n statusText: \"Client Closed Request\",\n type: \"error\",\n url: \"\",\n} as const;\n\n/**\n * A raw response indicating an unknown error.\n */\nexport const unknownRawResponse: RawResponse = {\n headers: new Headers(),\n redirected: false,\n status: 0,\n statusText: \"Unknown Error\",\n type: \"error\",\n url: \"\",\n} as const;\n\n/**\n * Converts a `RawResponse` object into a `RawResponse` by extracting its properties,\n * excluding the `body` and `bodyUsed` fields.\n *\n * @param response - The `RawResponse` object to convert.\n * @returns A `RawResponse` object containing the extracted properties of the input response.\n */\nexport function toRawResponse(response: Response): RawResponse {\n return {\n headers: response.headers,\n redirected: response.redirected,\n status: response.status,\n statusText: response.statusText,\n type: response.type,\n url: response.url,\n };\n}\n\n/**\n * Creates a `RawResponse` from a standard `Response` object.\n */\nexport interface WithRawResponse<T> {\n readonly data: T;\n readonly rawResponse: RawResponse;\n}\n","import qs from \"qs\";\n\nexport function createRequestUrl(\n baseUrl: string,\n queryParameters?: Record<string, string | string[] | object | object[] | null>,\n): string {\n return Object.keys(queryParameters ?? {}).length > 0\n ? `${baseUrl}?${qs.stringify(queryParameters, { arrayFormat: \"repeat\" })}`\n : baseUrl;\n}\n","interface DenoGlobal {\n version: {\n deno: string;\n };\n}\n\ninterface BunGlobal {\n version: string;\n}\n\ndeclare const Deno: DenoGlobal | undefined;\ndeclare const Bun: BunGlobal | undefined;\ndeclare const EdgeRuntime: string | undefined;\n\n/**\n * A constant that indicates which environment and version the SDK is running in.\n */\nexport const RUNTIME: Runtime = evaluateRuntime();\n\nexport interface Runtime {\n type: \"browser\" | \"web-worker\" | \"deno\" | \"bun\" | \"node\" | \"react-native\" | \"unknown\" | \"workerd\" | \"edge-runtime\";\n version?: string;\n parsedVersion?: number;\n}\n\nfunction evaluateRuntime(): Runtime {\n /**\n * A constant that indicates whether the environment the code is running is a Web Browser.\n */\n const isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n if (isBrowser) {\n return {\n type: \"browser\",\n version: window.navigator.userAgent,\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Cloudflare.\n * https://developers.cloudflare.com/workers/runtime-apis/web-standards/#navigatoruseragent\n */\n const isCloudflare = typeof globalThis !== \"undefined\" && globalThis?.navigator?.userAgent === \"Cloudflare-Workers\";\n if (isCloudflare) {\n return {\n type: \"workerd\",\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Edge Runtime.\n * https://vercel.com/docs/functions/runtimes/edge-runtime#check-if-you're-running-on-the-edge-runtime\n */\n const isEdgeRuntime = typeof EdgeRuntime === \"string\";\n if (isEdgeRuntime) {\n return {\n type: \"edge-runtime\",\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is a Web Worker.\n */\n const isWebWorker =\n typeof self === \"object\" &&\n // @ts-ignore\n typeof self?.importScripts === \"function\" &&\n (self.constructor?.name === \"DedicatedWorkerGlobalScope\" ||\n self.constructor?.name === \"ServiceWorkerGlobalScope\" ||\n self.constructor?.name === \"SharedWorkerGlobalScope\");\n if (isWebWorker) {\n return {\n type: \"web-worker\",\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Deno.\n * FYI Deno spoofs process.versions.node, see https://deno.land/std@0.177.0/node/process.ts?s=versions\n */\n const isDeno =\n typeof Deno !== \"undefined\" && typeof Deno.version !== \"undefined\" && typeof Deno.version.deno !== \"undefined\";\n if (isDeno) {\n return {\n type: \"deno\",\n version: Deno.version.deno,\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Bun.sh.\n */\n const isBun = typeof Bun !== \"undefined\" && typeof Bun.version !== \"undefined\";\n if (isBun) {\n return {\n type: \"bun\",\n version: Bun.version,\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is Node.JS.\n */\n const isNode =\n typeof process !== \"undefined\" &&\n \"version\" in process &&\n !!process.version &&\n \"versions\" in process &&\n !!process.versions?.node;\n if (isNode) {\n return {\n type: \"node\",\n version: process.versions.node,\n parsedVersion: Number(process.versions.node.split(\".\")[0]),\n };\n }\n\n /**\n * A constant that indicates whether the environment the code is running is in React-Native.\n * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js\n */\n const isReactNative = typeof navigator !== \"undefined\" && navigator?.product === \"ReactNative\";\n if (isReactNative) {\n return {\n type: \"react-native\",\n };\n }\n\n return {\n type: \"unknown\",\n };\n}\n","import { RUNTIME } from \"../runtime/index.js\";\n\n/**\n * Returns a fetch function based on the runtime\n */\nexport async function getFetchFn(): Promise<any> {\n // In Node.js 18+ environments, use native fetch\n if (RUNTIME.type === \"node\" && RUNTIME.parsedVersion != null && RUNTIME.parsedVersion >= 18) {\n return fetch;\n }\n\n // In Node.js 18 or lower environments, the SDK always uses`node-fetch`.\n if (RUNTIME.type === \"node\") {\n return (await import(\"node-fetch\")).default as any;\n }\n\n // Otherwise the SDK uses global fetch if available,\n // and falls back to node-fetch.\n if (typeof fetch == \"function\") {\n return fetch;\n }\n\n // Defaults to node `node-fetch` if global fetch isn't available\n return (await import(\"node-fetch\")).default as any;\n}\n","import { toJson } from \"../json.js\";\n\nexport declare namespace GetRequestBody {\n interface Args {\n body: unknown;\n type: \"json\" | \"file\" | \"bytes\" | \"other\";\n }\n}\n\nexport async function getRequestBody({ body, type }: GetRequestBody.Args): Promise<BodyInit | undefined> {\n if (type.includes(\"json\")) {\n return toJson(body);\n } else {\n return body as BodyInit;\n }\n}\n","export async function getResponseBody(response: Response, responseType?: string): Promise<unknown> {\n if (response.body != null && responseType === \"blob\") {\n return await response.blob();\n } else if (response.body != null && responseType === \"sse\") {\n return response.body;\n } else if (response.body != null && responseType === \"text\") {\n return await response.text();\n } else {\n const text = await response.text();\n if (text.length > 0) {\n try {\n let responseBody = JSON.parse(text);\n return responseBody;\n } catch (err) {\n return {\n ok: false,\n error: {\n reason: \"non-json\",\n statusCode: response.status,\n rawBody: text,\n },\n };\n }\n } else {\n return undefined;\n }\n }\n}\n","const TIMEOUT = \"timeout\";\n\nexport function getTimeoutSignal(timeoutMs: number): { signal: AbortSignal; abortId: NodeJS.Timeout } {\n const controller = new AbortController();\n const abortId = setTimeout(() => controller.abort(TIMEOUT), timeoutMs);\n return { signal: controller.signal, abortId };\n}\n\n/**\n * Returns an abort signal that is getting aborted when\n * at least one of the specified abort signals is aborted.\n *\n * Requires at least node.js 18.\n */\nexport function anySignal(...args: AbortSignal[] | [AbortSignal[]]): AbortSignal {\n // Allowing signals to be passed either as array\n // of signals or as multiple arguments.\n const signals = (args.length === 1 && Array.isArray(args[0]) ? args[0] : args) as AbortSignal[];\n\n const controller = new AbortController();\n\n for (const signal of signals) {\n if (signal.aborted) {\n // Exiting early if one of the signals\n // is already aborted.\n controller.abort((signal as any)?.reason);\n break;\n }\n\n // Listening for signals and removing the listeners\n // when at least one symbol is aborted.\n signal.addEventListener(\"abort\", () => controller.abort((signal as any)?.reason), {\n signal: controller.signal,\n });\n }\n\n return controller.signal;\n}\n","import { anySignal, getTimeoutSignal } from \"./signals.js\";\n\nexport const makeRequest = async (\n fetchFn: (url: string, init: RequestInit) => Promise<Response>,\n url: string,\n method: string,\n headers: Record<string, string>,\n requestBody: BodyInit | undefined,\n timeoutMs?: number,\n abortSignal?: AbortSignal,\n withCredentials?: boolean,\n duplex?: \"half\",\n): Promise<Response> => {\n const signals: AbortSignal[] = [];\n\n // Add timeout signal\n let timeoutAbortId: NodeJS.Timeout | undefined = undefined;\n if (timeoutMs != null) {\n const { signal, abortId } = getTimeoutSignal(timeoutMs);\n timeoutAbortId = abortId;\n signals.push(signal);\n }\n\n // Add arbitrary signal\n if (abortSignal != null) {\n signals.push(abortSignal);\n }\n let newSignals = anySignal(signals);\n const response = await fetchFn(url, {\n method: method,\n headers,\n body: requestBody,\n signal: newSignals,\n credentials: withCredentials ? \"include\" : undefined,\n // @ts-ignore\n duplex,\n });\n\n if (timeoutAbortId != null) {\n clearTimeout(timeoutAbortId);\n }\n\n return response;\n};\n","const INITIAL_RETRY_DELAY = 1000; // in milliseconds\nconst MAX_RETRY_DELAY = 60000; // in milliseconds\nconst DEFAULT_MAX_RETRIES = 2;\nconst JITTER_FACTOR = 0.2; // 20% random jitter\n\nfunction addJitter(delay: number): number {\n // Generate a random value between -JITTER_FACTOR and +JITTER_FACTOR\n const jitterMultiplier = 1 + (Math.random() * 2 - 1) * JITTER_FACTOR;\n return delay * jitterMultiplier;\n}\n\nexport async function requestWithRetries(\n requestFn: () => Promise<Response>,\n maxRetries: number = DEFAULT_MAX_RETRIES,\n): Promise<Response> {\n let response: Response = await requestFn();\n\n for (let i = 0; i < maxRetries; ++i) {\n if ([408, 429].includes(response.status) || response.status >= 500) {\n // Calculate base delay using exponential backoff (in milliseconds)\n const baseDelay = Math.min(INITIAL_RETRY_DELAY * Math.pow(2, i), MAX_RETRY_DELAY);\n\n // Add jitter to the delay\n const delayWithJitter = addJitter(baseDelay);\n\n await new Promise((resolve) => setTimeout(resolve, delayWithJitter));\n response = await requestFn();\n } else {\n break;\n }\n }\n return response!;\n}\n","import { toJson } from \"../json.js\";\nimport { APIResponse } from \"./APIResponse.js\";\nimport { abortRawResponse, toRawResponse, unknownRawResponse } from \"./RawResponse.js\";\nimport { createRequestUrl } from \"./createRequestUrl.js\";\nimport { getFetchFn } from \"./getFetchFn.js\";\nimport { getRequestBody } from \"./getRequestBody.js\";\nimport { getResponseBody } from \"./getResponseBody.js\";\nimport { makeRequest } from \"./makeRequest.js\";\nimport { requestWithRetries } from \"./requestWithRetries.js\";\n\nexport type FetchFunction = <R = unknown>(args: Fetcher.Args) => Promise<APIResponse<R, Fetcher.Error>>;\n\nexport declare namespace Fetcher {\n export interface Args {\n url: string;\n method: string;\n contentType?: string;\n headers?: Record<string, string | undefined>;\n queryParameters?: Record<string, string | string[] | object | object[] | null>;\n body?: unknown;\n timeoutMs?: number;\n maxRetries?: number;\n withCredentials?: boolean;\n abortSignal?: AbortSignal;\n requestType?: \"json\" | \"file\" | \"bytes\";\n responseType?: \"json\" | \"blob\" | \"sse\" | \"streaming\" | \"text\" | \"arrayBuffer\";\n duplex?: \"half\";\n }\n\n export type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError;\n\n export interface FailedStatusCodeError {\n reason: \"status-code\";\n statusCode: number;\n body: unknown;\n }\n\n export interface NonJsonError {\n reason: \"non-json\";\n statusCode: number;\n rawBody: string;\n }\n\n export interface TimeoutError {\n reason: \"timeout\";\n }\n\n export interface UnknownError {\n reason: \"unknown\";\n errorMessage: string;\n }\n}\n\nexport async function fetcherImpl<R = unknown>(args: Fetcher.Args): Promise<APIResponse<R, Fetcher.Error>> {\n const headers: Record<string, string> = {};\n if (args.body !== undefined && args.contentType != null) {\n headers[\"Content-Type\"] = args.contentType;\n }\n\n if (args.headers != null) {\n for (const [key, value] of Object.entries(args.headers)) {\n if (value != null) {\n headers[key] = value;\n }\n }\n }\n\n const url = createRequestUrl(args.url, args.queryParameters);\n const requestBody: BodyInit | undefined = await getRequestBody({\n body: args.body,\n type: args.requestType === \"json\" ? \"json\" : \"other\",\n });\n const fetchFn = await getFetchFn();\n\n try {\n const response = await requestWithRetries(\n async () =>\n makeRequest(\n fetchFn,\n url,\n args.method,\n headers,\n requestBody,\n args.timeoutMs,\n args.abortSignal,\n args.withCredentials,\n args.duplex,\n ),\n args.maxRetries,\n );\n const responseBody = await getResponseBody(response, args.responseType);\n\n if (response.status >= 200 && response.status < 400) {\n return {\n ok: true,\n body: responseBody as R,\n headers: response.headers,\n rawResponse: toRawResponse(response),\n };\n } else {\n return {\n ok: false,\n error: {\n reason: \"status-code\",\n statusCode: response.status,\n body: responseBody,\n },\n rawResponse: toRawResponse(response),\n };\n }\n } catch (error) {\n if (args.abortSignal != null && args.abortSignal.aborted) {\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: \"The user aborted a request\",\n },\n rawResponse: abortRawResponse,\n };\n } else if (error instanceof Error && error.name === \"AbortError\") {\n return {\n ok: false,\n error: {\n reason: \"timeout\",\n },\n rawResponse: abortRawResponse,\n };\n } else if (error instanceof Error) {\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: error.message,\n },\n rawResponse: unknownRawResponse,\n };\n }\n\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: toJson(error),\n },\n rawResponse: unknownRawResponse,\n };\n }\n}\n\nexport const fetcher: FetchFunction = fetcherImpl;\n","export type Supplier<T> = T | Promise<T> | (() => T | Promise<T>);\n\nexport const Supplier = {\n get: async <T>(supplier: Supplier<T>): Promise<T> => {\n if (typeof supplier === \"function\") {\n return (supplier as () => T)();\n } else {\n return supplier;\n }\n },\n};\n","import { WithRawResponse } from \"./RawResponse.js\";\n\n/**\n * A promise that returns the parsed response and lets you retrieve the raw response too.\n */\nexport class HttpResponsePromise<T> extends Promise<T> {\n private innerPromise: Promise<WithRawResponse<T>>;\n private unwrappedPromise: Promise<T> | undefined;\n\n private constructor(promise: Promise<WithRawResponse<T>>) {\n // Initialize with a no-op to avoid premature parsing\n super((resolve) => {\n resolve(undefined as unknown as T);\n });\n this.innerPromise = promise;\n }\n\n /**\n * Creates an `HttpResponsePromise` from a function that returns a promise.\n *\n * @param fn - A function that returns a promise resolving to a `WithRawResponse` object.\n * @param args - Arguments to pass to the function.\n * @returns An `HttpResponsePromise` instance.\n */\n public static fromFunction<F extends (...args: never[]) => Promise<WithRawResponse<T>>, T>(\n fn: F,\n ...args: Parameters<F>\n ): HttpResponsePromise<T> {\n return new HttpResponsePromise<T>(fn(...args));\n }\n\n /**\n * Creates a function that returns an `HttpResponsePromise` from a function that returns a promise.\n *\n * @param fn - A function that returns a promise resolving to a `WithRawResponse` object.\n * @returns A function that returns an `HttpResponsePromise` instance.\n */\n public static interceptFunction<\n F extends (...args: never[]) => Promise<WithRawResponse<T>>,\n T = Awaited<ReturnType<F>>[\"data\"],\n >(fn: F): (...args: Parameters<F>) => HttpResponsePromise<T> {\n return (...args: Parameters<F>): HttpResponsePromise<T> => {\n return HttpResponsePromise.fromPromise<T>(fn(...args));\n };\n }\n\n /**\n * Creates an `HttpResponsePromise` from an existing promise.\n *\n * @param promise - A promise resolving to a `WithRawResponse` object.\n * @returns An `HttpResponsePromise` instance.\n */\n public static fromPromise<T>(promise: Promise<WithRawResponse<T>>): HttpResponsePromise<T> {\n return new HttpResponsePromise<T>(promise);\n }\n\n /**\n * Creates an `HttpResponsePromise` from an executor function.\n *\n * @param executor - A function that takes resolve and reject callbacks to create a promise.\n * @returns An `HttpResponsePromise` instance.\n */\n public static fromExecutor<T>(\n executor: (resolve: (value: WithRawResponse<T>) => void, reject: (reason?: unknown) => void) => void,\n ): HttpResponsePromise<T> {\n const promise = new Promise<WithRawResponse<T>>(executor);\n return new HttpResponsePromise<T>(promise);\n }\n\n /**\n * Creates an `HttpResponsePromise` from a resolved result.\n *\n * @param result - A `WithRawResponse` object to resolve immediately.\n * @returns An `HttpResponsePromise` instance.\n */\n public static fromResult<T>(result: WithRawResponse<T>): HttpResponsePromise<T> {\n const promise = Promise.resolve(result);\n return new HttpResponsePromise<T>(promise);\n }\n\n private unwrap(): Promise<T> {\n if (!this.unwrappedPromise) {\n this.unwrappedPromise = this.innerPromise.then(({ data }) => data);\n }\n return this.unwrappedPromise;\n }\n\n /** @inheritdoc */\n public override then<TResult1 = T, TResult2 = never>(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null,\n ): Promise<TResult1 | TResult2> {\n return this.unwrap().then(onfulfilled, onrejected);\n }\n\n /** @inheritdoc */\n public override catch<TResult = never>(\n onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null,\n ): Promise<T | TResult> {\n return this.unwrap().catch(onrejected);\n }\n\n /** @inheritdoc */\n public override finally(onfinally?: (() => void) | null): Promise<T> {\n return this.unwrap().finally(onfinally);\n }\n\n /**\n * Retrieves the data and raw response.\n *\n * @returns A promise resolving to a `WithRawResponse` object.\n */\n public async withRawResponse(): Promise<WithRawResponse<T>> {\n return await this.innerPromise;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Latest {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Latest {\n constructor(protected readonly _options: Latest.Options = {}) {}\n\n /**\n * @param {FernRegistry.ApiDefinitionId} apiDefinitionId\n * @param {Latest.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.api.latest.getApiLatest(FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"))\n */\n public getApiLatest(\n apiDefinitionId: FernRegistry.ApiDefinitionId,\n requestOptions?: Latest.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.api.latest.ApiDefinition, FernRegistry.api.latest.getApiLatest.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getApiLatest(apiDefinitionId, requestOptions));\n }\n\n private async __getApiLatest(\n apiDefinitionId: FernRegistry.ApiDefinitionId,\n requestOptions?: Latest.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.api.latest.ApiDefinition, FernRegistry.api.latest.getApiLatest.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/registry/api/latest/load/${encodeURIComponent(apiDefinitionId)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.api.latest.ApiDefinition,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.api.latest.getApiLatest.Error)?.error) {\n case \"UnauthorizedError\":\n case \"ApiDoesNotExistError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.api.latest.getApiLatest.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.api.latest.getApiLatest.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Read {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Read {\n constructor(protected readonly _options: Read.Options = {}) {}\n\n /**\n * @param {FernRegistry.ApiDefinitionId} apiDefinitionId\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.api.v1.read.getApi(FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"))\n */\n public getApi(\n apiDefinitionId: FernRegistry.ApiDefinitionId,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.api.v1.read.ApiDefinition, FernRegistry.api.v1.read.getApi.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getApi(apiDefinitionId, requestOptions));\n }\n\n private async __getApi(\n apiDefinitionId: FernRegistry.ApiDefinitionId,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.api.v1.read.ApiDefinition, FernRegistry.api.v1.read.getApi.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/registry/api/load/${encodeURIComponent(apiDefinitionId)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.api.v1.read.ApiDefinition,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.api.v1.read.getApi.Error)?.error) {\n case \"UnauthorizedError\":\n case \"ApiDoesNotExistError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.api.v1.read.getApi.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.api.v1.read.getApi.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Register {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Register {\n constructor(protected readonly _options: Register.Options = {}) {}\n\n /**\n * @param {FernRegistry.api.v1.register.RegisterApiDefinitionRequest} request\n * @param {Register.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.api.v1.register.registerApiDefinition({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * definition: undefined,\n * definitionV2: undefined,\n * sources: undefined,\n * dynamicIRs: undefined\n * })\n */\n public registerApiDefinition(\n request: FernRegistry.api.v1.register.RegisterApiDefinitionRequest,\n requestOptions?: Register.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.api.v1.register.RegisterApiDefinitionResponse,\n FernRegistry.api.v1.register.registerApiDefinition.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__registerApiDefinition(request, requestOptions));\n }\n\n private async __registerApiDefinition(\n request: FernRegistry.api.v1.register.RegisterApiDefinitionRequest,\n requestOptions?: Register.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.api.v1.register.RegisterApiDefinitionResponse,\n FernRegistry.api.v1.register.registerApiDefinition.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/registry/api/register\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.api.v1.register.RegisterApiDefinitionResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.api.v1.register.registerApiDefinition.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.api.v1.register.registerApiDefinition.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.api.v1.register.registerApiDefinition.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport { Read } from \"../resources/read/client/Client.js\";\nimport { Register } from \"../resources/register/client/Client.js\";\n\nexport declare namespace V1 {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class V1 {\n protected _read: Read | undefined;\n protected _register: Register | undefined;\n\n constructor(protected readonly _options: V1.Options = {}) {}\n\n public get read(): Read {\n return (this._read ??= new Read(this._options));\n }\n\n public get register(): Register {\n return (this._register ??= new Register(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport { Latest } from \"../resources/latest/client/Client.js\";\nimport { V1 } from \"../resources/v1/client/Client.js\";\n\nexport declare namespace Api {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class Api {\n protected _latest: Latest | undefined;\n protected _v1: V1 | undefined;\n\n constructor(protected readonly _options: Api.Options = {}) {}\n\n public get latest(): Latest {\n return (this._latest ??= new Latest(this._options));\n }\n\n public get v1(): V1 {\n return (this._v1 ??= new V1(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Dashboard {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * APIs for the Fern Dashboard\n */\nexport class Dashboard {\n constructor(protected readonly _options: Dashboard.Options = {}) {}\n\n /**\n * Get all docs sites that belong to a given organization\n *\n * @param {FernRegistry.dashboard.GetDocsSitesForOrgRequest} request\n * @param {Dashboard.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.dashboard.getDocsSitesForOrg({\n * orgId: FernRegistry.OrgId(\"orgId\")\n * })\n */\n public getDocsSitesForOrg(\n request: FernRegistry.dashboard.GetDocsSitesForOrgRequest,\n requestOptions?: Dashboard.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.dashboard.GetDocsSitesForOrgResponse,\n FernRegistry.dashboard.getDocsSitesForOrg.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsSitesForOrg(request, requestOptions));\n }\n\n private async __getDocsSitesForOrg(\n request: FernRegistry.dashboard.GetDocsSitesForOrgRequest,\n requestOptions?: Dashboard.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.dashboard.GetDocsSitesForOrgResponse,\n FernRegistry.dashboard.getDocsSitesForOrg.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/dashboard/get-docs-sites-for-org\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.dashboard.GetDocsSitesForOrgResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.dashboard.getDocsSitesForOrg.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.dashboard.getDocsSitesForOrg.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.dashboard.getDocsSitesForOrg.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Read {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Read {\n constructor(protected readonly _options: Read.Options = {}) {}\n\n /**\n * @param {string} domain\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v1.read.getDocsForDomainLegacy(\"domain\")\n */\n public getDocsForDomainLegacy(\n domain: string,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v1.read.DocsDefinition,\n FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsForDomainLegacy(domain, requestOptions));\n }\n\n private async __getDocsForDomainLegacy(\n domain: string,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v1.read.DocsDefinition,\n FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/registry/docs/load/${encodeURIComponent(domain)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v1.read.DocsDefinition,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error)?.error) {\n case \"UnauthorizedError\":\n case \"DomainNotRegisteredError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v1.read.getDocsForDomainLegacy.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v1.read.LoadDocsForDomainRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v1.read.getDocsForDomain({\n * domain: \"domain\"\n * })\n */\n public getDocsForDomain(\n request: FernRegistry.docs.v1.read.LoadDocsForDomainRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.docs.v1.read.DocsDefinition, FernRegistry.docs.v1.read.getDocsForDomain.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsForDomain(request, requestOptions));\n }\n\n private async __getDocsForDomain(\n request: FernRegistry.docs.v1.read.LoadDocsForDomainRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.docs.v1.read.DocsDefinition, FernRegistry.docs.v1.read.getDocsForDomain.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/registry/docs/load\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v1.read.DocsDefinition,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v1.read.getDocsForDomain.Error)?.error) {\n case \"UnauthorizedError\":\n case \"DomainNotRegisteredError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v1.read.getDocsForDomain.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v1.read.getDocsForDomain.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Write {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Write {\n constructor(protected readonly _options: Write.Options = {}) {}\n\n /**\n * @param {FernRegistry.docs.v1.write.StartDocsRegisterRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v1.write.startDocsRegister({\n * domain: \"domain\",\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * filepaths: [FernRegistry.docs.v1.write.FilePath(\"filepaths\"), FernRegistry.docs.v1.write.FilePath(\"filepaths\")]\n * })\n */\n public startDocsRegister(\n request: FernRegistry.docs.v1.write.StartDocsRegisterRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n FernRegistry.docs.v1.write.startDocsRegister.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__startDocsRegister(request, requestOptions));\n }\n\n private async __startDocsRegister(\n request: FernRegistry.docs.v1.write.StartDocsRegisterRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n FernRegistry.docs.v1.write.startDocsRegister.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/registry/docs/init\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v1.write.startDocsRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v1.write.DocsRegistrationId} docsRegistrationId\n * @param {FernRegistry.docs.v1.write.RegisterDocsRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v1.write.finishDocsRegister(FernRegistry.docs.v1.write.DocsRegistrationId(\"docsRegistrationId\"), {\n * docsDefinition: {\n * pages: {\n * \"pages\": {\n * markdown: \"markdown\",\n * editThisPageUrl: undefined,\n * rawMarkdown: undefined\n * }\n * },\n * config: {\n * title: undefined,\n * defaultLanguage: undefined,\n * announcement: undefined,\n * navigation: undefined,\n * root: undefined,\n * navbarLinks: undefined,\n * footerLinks: undefined,\n * hideNavLinks: undefined,\n * logoHeight: undefined,\n * logoHref: undefined,\n * favicon: undefined,\n * metadata: undefined,\n * redirects: undefined,\n * colorsV3: undefined,\n * layout: undefined,\n * typographyV2: undefined,\n * analyticsConfig: undefined,\n * integrations: undefined,\n * css: undefined,\n * js: undefined,\n * aiChatConfig: undefined,\n * pageActions: undefined,\n * backgroundImage: undefined,\n * logoV2: undefined,\n * logo: undefined,\n * colors: undefined,\n * colorsV2: undefined,\n * typography: undefined\n * },\n * jsFiles: undefined\n * }\n * })\n */\n public finishDocsRegister(\n docsRegistrationId: FernRegistry.docs.v1.write.DocsRegistrationId,\n request: FernRegistry.docs.v1.write.RegisterDocsRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v1.write.finishDocsRegister.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__finishDocsRegister(docsRegistrationId, request, requestOptions),\n );\n }\n\n private async __finishDocsRegister(\n docsRegistrationId: FernRegistry.docs.v1.write.DocsRegistrationId,\n request: FernRegistry.docs.v1.write.RegisterDocsRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v1.write.finishDocsRegister.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/registry/docs/register/${encodeURIComponent(docsRegistrationId)}`,\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v1.write.finishDocsRegister.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"DocsRegistrationIdNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v1.write.finishDocsRegister.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v1.write.finishDocsRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport { Read } from \"../resources/read/client/Client.js\";\nimport { Write } from \"../resources/write/client/Client.js\";\n\nexport declare namespace V1 {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class V1 {\n protected _read: Read | undefined;\n protected _write: Write | undefined;\n\n constructor(protected readonly _options: V1.Options = {}) {}\n\n public get read(): Read {\n return (this._read ??= new Read(this._options));\n }\n\n public get write(): Write {\n return (this._write ??= new Write(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Read {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Read {\n constructor(protected readonly _options: Read.Options = {}) {}\n\n /**\n * @param {FernRegistry.docs.v2.read.GetOrganizationForUrlRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getOrganizationForUrl({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public getOrganizationForUrl(\n request: FernRegistry.docs.v2.read.GetOrganizationForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.OrgId, FernRegistry.docs.v2.read.getOrganizationForUrl.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getOrganizationForUrl(request, requestOptions));\n }\n\n private async __getOrganizationForUrl(\n request: FernRegistry.docs.v2.read.GetOrganizationForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.OrgId, FernRegistry.docs.v2.read.getOrganizationForUrl.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/organization-for-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.OrgId,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getOrganizationForUrl.Error)?.error) {\n case \"DomainNotRegisteredError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getOrganizationForUrl.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getOrganizationForUrl.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.read.GetMetadataForUrlRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getDocsUrlMetadata({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public getDocsUrlMetadata(\n request: FernRegistry.docs.v2.read.GetMetadataForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.docs.v2.read.DocsUrlMetadata, FernRegistry.docs.v2.read.getDocsUrlMetadata.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsUrlMetadata(request, requestOptions));\n }\n\n private async __getDocsUrlMetadata(\n request: FernRegistry.docs.v2.read.GetMetadataForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.DocsUrlMetadata,\n FernRegistry.docs.v2.read.getDocsUrlMetadata.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/metadata-for-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.DocsUrlMetadata,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getDocsUrlMetadata.Error)?.error) {\n case \"DomainNotRegisteredError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getDocsUrlMetadata.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getDocsUrlMetadata.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.read.LoadDocsForUrlRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getDocsForUrl({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public getDocsForUrl(\n request: FernRegistry.docs.v2.read.LoadDocsForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n FernRegistry.docs.v2.read.getDocsForUrl.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsForUrl(request, requestOptions));\n }\n\n private async __getDocsForUrl(\n request: FernRegistry.docs.v2.read.LoadDocsForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n FernRegistry.docs.v2.read.getDocsForUrl.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/load-with-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getDocsForUrl.Error)?.error) {\n case \"DomainNotRegisteredError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getDocsForUrl.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getDocsForUrl.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.read.LoadPrivateDocsForUrlRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getPrivateDocsForUrl({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public getPrivateDocsForUrl(\n request: FernRegistry.docs.v2.read.LoadPrivateDocsForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getPrivateDocsForUrl(request, requestOptions));\n }\n\n private async __getPrivateDocsForUrl(\n request: FernRegistry.docs.v2.read.LoadPrivateDocsForUrlRequest,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/private/load-with-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.LoadDocsForUrlResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error)?.error) {\n case \"DomainNotRegisteredError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getPrivateDocsForUrl.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Returns a list of all public docs.\n *\n * @param {FernRegistry.docs.v2.read.ListAllDocsUrlsRequest} request\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.listAllDocsUrls()\n */\n public listAllDocsUrls(\n request: FernRegistry.docs.v2.read.ListAllDocsUrlsRequest = {},\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.read.ListAllDocsUrlsResponse,\n FernRegistry.docs.v2.read.listAllDocsUrls.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__listAllDocsUrls(request, requestOptions));\n }\n\n private async __listAllDocsUrls(\n request: FernRegistry.docs.v2.read.ListAllDocsUrlsRequest = {},\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.ListAllDocsUrlsResponse,\n FernRegistry.docs.v2.read.listAllDocsUrls.Error\n >\n >\n > {\n const { page, limit, custom } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n if (page != null) {\n _queryParams[\"page\"] = page.toString();\n }\n\n if (limit != null) {\n _queryParams[\"limit\"] = limit.toString();\n }\n\n if (custom != null) {\n _queryParams[\"custom\"] = custom.toString();\n }\n\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/urls/list\",\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.ListAllDocsUrlsResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.listAllDocsUrls.Error)?.error) {\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.listAllDocsUrls.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.listAllDocsUrls.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Loads the Docs Config and any referenced APIs by ID.\n *\n * @param {FernRegistry.DocsConfigId} docsConfigId\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.getDocsConfigById(FernRegistry.DocsConfigId(\"docsConfigId\"))\n */\n public getDocsConfigById(\n docsConfigId: FernRegistry.DocsConfigId,\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.read.GetDocsConfigByIdResponse,\n FernRegistry.docs.v2.read.getDocsConfigById.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getDocsConfigById(docsConfigId, requestOptions));\n }\n\n private async __getDocsConfigById(\n docsConfigId: FernRegistry.DocsConfigId,\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.read.GetDocsConfigByIdResponse,\n FernRegistry.docs.v2.read.getDocsConfigById.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/v2/registry/docs/${encodeURIComponent(docsConfigId)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.read.GetDocsConfigByIdResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.read.getDocsConfigById.Error)?.error) {\n case \"DocsDefinitionNotFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.read.getDocsConfigById.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.getDocsConfigById.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Prepopulates the FDR read S3 bucket with docs definitions\n *\n * @param {Read.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.read.prepopulateFdrReadS3Bucket()\n */\n public prepopulateFdrReadS3Bucket(\n requestOptions?: Read.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__prepopulateFdrReadS3Bucket(requestOptions));\n }\n\n private async __prepopulateFdrReadS3Bucket(\n requestOptions?: Read.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/prepopulate-s3-bucket\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.read.prepopulateFdrReadS3Bucket.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../../../environments.js\";\nimport * as core from \"../../../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Write {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Write {\n constructor(protected readonly _options: Write.Options = {}) {}\n\n /**\n * @param {FernRegistry.docs.v2.write.StartDocsRegisterRequestV2} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.startDocsRegister({\n * domain: \"domain\",\n * customDomains: [\"customDomains\", \"customDomains\"],\n * authConfig: undefined,\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * filepaths: [FernRegistry.docs.v1.write.FilePath(\"filepaths\"), FernRegistry.docs.v1.write.FilePath(\"filepaths\")],\n * images: undefined\n * })\n */\n public startDocsRegister(\n request: FernRegistry.docs.v2.write.StartDocsRegisterRequestV2,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n FernRegistry.docs.v2.write.startDocsRegister.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__startDocsRegister(request, requestOptions));\n }\n\n private async __startDocsRegister(\n request: FernRegistry.docs.v2.write.StartDocsRegisterRequestV2,\n requestOptions?: Write.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n FernRegistry.docs.v2.write.startDocsRegister.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/v2/init\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v1.write.StartDocsRegisterResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.startDocsRegister.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UnavailableError\":\n case \"UserNotInOrgError\":\n case \"InvalidDomainError\":\n case \"InvalidCustomDomainError\":\n case \"DomainBelongsToAnotherOrgError\":\n case \"InvalidURLError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.startDocsRegister.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.startDocsRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.write.StartDocsPreviewRegisterRequestV2} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.startDocsPreviewRegister({\n * basePath: undefined,\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * authConfig: undefined,\n * filepaths: [FernRegistry.docs.v1.write.FilePath(\"filepaths\"), FernRegistry.docs.v1.write.FilePath(\"filepaths\")],\n * images: undefined\n * })\n */\n public startDocsPreviewRegister(\n request: FernRegistry.docs.v2.write.StartDocsPreviewRegisterRequestV2,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.docs.v2.write.StartDocsPreviewRegisterResponse,\n FernRegistry.docs.v2.write.startDocsPreviewRegister.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__startDocsPreviewRegister(request, requestOptions));\n }\n\n private async __startDocsPreviewRegister(\n request: FernRegistry.docs.v2.write.StartDocsPreviewRegisterRequestV2,\n requestOptions?: Write.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.docs.v2.write.StartDocsPreviewRegisterResponse,\n FernRegistry.docs.v2.write.startDocsPreviewRegister.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/preview/init\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.docs.v2.write.StartDocsPreviewRegisterResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.startDocsPreviewRegister.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UnavailableError\":\n case \"UserNotInOrgError\":\n case \"InvalidDomainError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.startDocsPreviewRegister.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.startDocsPreviewRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v1.write.DocsRegistrationId} docsRegistrationId\n * @param {FernRegistry.docs.v2.write.RegisterDocsRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.finishDocsRegister(FernRegistry.docs.v1.write.DocsRegistrationId(\"docsRegistrationId\"), {\n * docsDefinition: {\n * pages: {\n * \"pages\": {\n * markdown: \"markdown\",\n * editThisPageUrl: undefined,\n * rawMarkdown: undefined\n * }\n * },\n * config: {\n * title: undefined,\n * defaultLanguage: undefined,\n * announcement: undefined,\n * navigation: undefined,\n * root: undefined,\n * navbarLinks: undefined,\n * footerLinks: undefined,\n * hideNavLinks: undefined,\n * logoHeight: undefined,\n * logoHref: undefined,\n * favicon: undefined,\n * metadata: undefined,\n * redirects: undefined,\n * colorsV3: undefined,\n * layout: undefined,\n * typographyV2: undefined,\n * analyticsConfig: undefined,\n * integrations: undefined,\n * css: undefined,\n * js: undefined,\n * aiChatConfig: undefined,\n * pageActions: undefined,\n * backgroundImage: undefined,\n * logoV2: undefined,\n * logo: undefined,\n * colors: undefined,\n * colorsV2: undefined,\n * typography: undefined\n * },\n * jsFiles: undefined\n * }\n * })\n */\n public finishDocsRegister(\n docsRegistrationId: FernRegistry.docs.v1.write.DocsRegistrationId,\n request: FernRegistry.docs.v2.write.RegisterDocsRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.write.finishDocsRegister.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__finishDocsRegister(docsRegistrationId, request, requestOptions),\n );\n }\n\n private async __finishDocsRegister(\n docsRegistrationId: FernRegistry.docs.v1.write.DocsRegistrationId,\n request: FernRegistry.docs.v2.write.RegisterDocsRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.write.finishDocsRegister.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/v2/registry/docs/register/${encodeURIComponent(docsRegistrationId)}`,\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.finishDocsRegister.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"DocsRegistrationIdNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.finishDocsRegister.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.finishDocsRegister.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.write.TransferDomainOwnershipRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.transferOwnershipOfDomain({\n * domain: \"domain\",\n * toOrgId: \"toOrgId\"\n * })\n */\n public transferOwnershipOfDomain(\n request: FernRegistry.docs.v2.write.TransferDomainOwnershipRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__transferOwnershipOfDomain(request, requestOptions));\n }\n\n private async __transferOwnershipOfDomain(\n request: FernRegistry.docs.v2.write.TransferDomainOwnershipRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/transfer-ownership\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error)?.error) {\n case \"DocsNotFoundError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.transferOwnershipOfDomain.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.write.SetIsArchivedRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.setIsArchived({\n * url: FernRegistry.Url(\"url\"),\n * isArchived: true\n * })\n */\n public setIsArchived(\n request: FernRegistry.docs.v2.write.SetIsArchivedRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.write.setIsArchived.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__setIsArchived(request, requestOptions));\n }\n\n private async __setIsArchived(\n request: FernRegistry.docs.v2.write.SetIsArchivedRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.write.setIsArchived.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/set-is-archived\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.setIsArchived.Error)?.error) {\n case \"DocsNotFoundError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.setIsArchived.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.setIsArchived.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.docs.v2.write.SetDocsUrlMetadataRequest} request\n * @param {Write.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docs.v2.write.setDocsUrlMetadata({\n * url: FernRegistry.Url(\"url\"),\n * githubUrl: undefined\n * })\n */\n public setDocsUrlMetadata(\n request: FernRegistry.docs.v2.write.SetDocsUrlMetadataRequest,\n requestOptions?: Write.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docs.v2.write.setDocsUrlMetadata.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__setDocsUrlMetadata(request, requestOptions));\n }\n\n private async __setDocsUrlMetadata(\n request: FernRegistry.docs.v2.write.SetDocsUrlMetadataRequest,\n requestOptions?: Write.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docs.v2.write.setDocsUrlMetadata.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/v2/registry/docs/set-metadata-for-url\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.docs.v2.write.setDocsUrlMetadata.Error)?.error) {\n case \"DocsNotFoundError\":\n case \"UnauthorizedError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.docs.v2.write.setDocsUrlMetadata.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docs.v2.write.setDocsUrlMetadata.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport { Read } from \"../resources/read/client/Client.js\";\nimport { Write } from \"../resources/write/client/Client.js\";\n\nexport declare namespace V2 {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class V2 {\n protected _read: Read | undefined;\n protected _write: Write | undefined;\n\n constructor(protected readonly _options: V2.Options = {}) {}\n\n public get read(): Read {\n return (this._read ??= new Read(this._options));\n }\n\n public get write(): Write {\n return (this._write ??= new Write(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport { V1 } from \"../resources/v1/client/Client.js\";\nimport { V2 } from \"../resources/v2/client/Client.js\";\n\nexport declare namespace Docs {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class Docs {\n protected _v1: V1 | undefined;\n protected _v2: V2 | undefined;\n\n constructor(protected readonly _options: Docs.Options = {}) {}\n\n public get v1(): V1 {\n return (this._v1 ??= new V1(this._options));\n }\n\n public get v2(): V2 {\n return (this._v2 ??= new V2(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\nimport { Cli } from \"../resources/cli/client/Client.js\";\nimport { Versions } from \"../resources/versions/client/Client.js\";\n\nexport declare namespace Generators {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * CRUD API for managing the generator entity itself.\n */\nexport class Generators {\n protected _cli: Cli | undefined;\n protected _versions: Versions | undefined;\n\n constructor(protected readonly _options: Generators.Options = {}) {}\n\n public get cli(): Cli {\n return (this._cli ??= new Cli(this._options));\n }\n\n public get versions(): Versions {\n return (this._versions ??= new Versions(this._options));\n }\n\n /**\n * Update or create the specified generator.\n *\n * @param {FernRegistry.generators.Generator} request\n * @param {Generators.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.upsertGenerator({\n * id: FernRegistry.generators.GeneratorId(\"id\"),\n * displayName: \"displayName\",\n * generatorType: {\n * type: \"sdk\"\n * },\n * generatorLanguage: undefined,\n * dockerImage: \"dockerImage\",\n * scripts: undefined\n * })\n */\n public upsertGenerator(\n request: FernRegistry.generators.Generator,\n requestOptions?: Generators.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.generators.upsertGenerator.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertGenerator(request, requestOptions));\n }\n\n private async __upsertGenerator(\n request: FernRegistry.generators.Generator,\n requestOptions?: Generators.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.generators.upsertGenerator.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.upsertGenerator.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the generator corresponding to the given docker image.\n *\n * @param {FernRegistry.generators.GetGeneratorByImageRequest} request\n * @param {Generators.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.getGeneratorByImage({\n * dockerImage: \"dockerImage\"\n * })\n */\n public getGeneratorByImage(\n request: FernRegistry.generators.GetGeneratorByImageRequest,\n requestOptions?: Generators.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.Generator | undefined,\n FernRegistry.generators.getGeneratorByImage.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getGeneratorByImage(request, requestOptions));\n }\n\n private async __getGeneratorByImage(\n request: FernRegistry.generators.GetGeneratorByImageRequest,\n requestOptions?: Generators.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.Generator | undefined,\n FernRegistry.generators.getGeneratorByImage.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/by-image\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.Generator | undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.getGeneratorByImage.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the specified generator.\n *\n * @param {FernRegistry.generators.GeneratorId} generatorId\n * @param {Generators.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.getGenerator(FernRegistry.generators.GeneratorId(\"generatorId\"))\n */\n public getGenerator(\n generatorId: FernRegistry.generators.GeneratorId,\n requestOptions?: Generators.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.Generator | undefined, FernRegistry.generators.getGenerator.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getGenerator(generatorId, requestOptions));\n }\n\n private async __getGenerator(\n generatorId: FernRegistry.generators.GeneratorId,\n requestOptions?: Generators.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.Generator | undefined, FernRegistry.generators.getGenerator.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/${encodeURIComponent(generatorId)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.Generator | undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.getGenerator.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the all generators. This is currently not paginated since the list will be short, but there may in the future be need for pagination.\n *\n * @param {Generators.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.listGenerators()\n */\n public listGenerators(\n requestOptions?: Generators.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.Generator[], FernRegistry.generators.listGenerators.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__listGenerators(requestOptions));\n }\n\n private async __listGenerators(\n requestOptions?: Generators.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.Generator[], FernRegistry.generators.listGenerators.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators\",\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.Generator[],\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.listGenerators.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Cli {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * CRUD API for managing CLI versions, as well as the corresponding IR metadata.\n */\nexport class Cli {\n constructor(protected readonly _options: Cli.Options = {}) {}\n\n /**\n * Get the latest CLI version that has not been yanked.\n *\n * @param {FernRegistry.generators.GetLatestCliReleaseRequest} request\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.getLatestCliRelease({\n * releaseTypes: undefined,\n * irVersion: undefined\n * })\n */\n public getLatestCliRelease(\n request: FernRegistry.generators.GetLatestCliReleaseRequest = {},\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getLatestCliRelease.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getLatestCliRelease(request, requestOptions));\n }\n\n private async __getLatestCliRelease(\n request: FernRegistry.generators.GetLatestCliReleaseRequest = {},\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getLatestCliRelease.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/cli/latest\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.CliRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.cli.getLatestCliRelease.Error)?.error) {\n case \"NoValidClisFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.generators.cli.getLatestCliRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.getLatestCliRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the changelog for the specified CLI upgrade. The response will be a map of the generator version to it's corresponding changelog.\n *\n * @param {FernRegistry.generators.GetChangelogRequest} request\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.getChangelog({\n * fromVersion: {\n * type: \"inclusive\",\n * value: \"fromVersion\"\n * },\n * toVersion: {\n * type: \"inclusive\",\n * value: \"toVersion\"\n * }\n * })\n */\n public getChangelog(\n request: FernRegistry.generators.GetChangelogRequest,\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.GetChangelogResponse, FernRegistry.generators.cli.getChangelog.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getChangelog(request, requestOptions));\n }\n\n private async __getChangelog(\n request: FernRegistry.generators.GetChangelogRequest,\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.GetChangelogResponse,\n FernRegistry.generators.cli.getChangelog.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/cli/changelog\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.GetChangelogResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.getChangelog.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the minimum CLI version that supports the given IR version. This does not include RCs.\n *\n * @param {number} irVersion\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.getMinCliForIr(1)\n */\n public getMinCliForIr(\n irVersion: number,\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getMinCliForIr.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getMinCliForIr(irVersion, requestOptions));\n }\n\n private async __getMinCliForIr(\n irVersion: number,\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getMinCliForIr.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/cli/for-ir/${encodeURIComponent(irVersion)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.CliRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.cli.getMinCliForIr.Error)?.error) {\n case \"NoValidClisFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.generators.cli.getMinCliForIr.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.getMinCliForIr.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Update or create the specified CLI version.\n *\n * @param {FernRegistry.generators.CliReleaseRequest} request\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.upsertCliRelease({\n * version: \"version\",\n * createdAt: undefined,\n * isYanked: undefined,\n * changelogEntry: undefined,\n * irVersion: 1,\n * tags: undefined\n * })\n */\n public upsertCliRelease(\n request: FernRegistry.generators.CliReleaseRequest,\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.generators.cli.upsertCliRelease.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertCliRelease(request, requestOptions));\n }\n\n private async __upsertCliRelease(\n request: FernRegistry.generators.CliReleaseRequest,\n requestOptions?: Cli.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.generators.cli.upsertCliRelease.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/cli\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.upsertCliRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the specified CLI version.\n *\n * @param {string} cliVersion\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.getCliRelease(\"cliVersion\")\n */\n public getCliRelease(\n cliVersion: string,\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getCliRelease.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__getCliRelease(cliVersion, requestOptions));\n }\n\n private async __getCliRelease(\n cliVersion: string,\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.generators.CliRelease, FernRegistry.generators.cli.getCliRelease.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/cli/${encodeURIComponent(cliVersion)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.CliRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.cli.getCliRelease.Error)?.error) {\n case \"CliVersionNotFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.generators.cli.getCliRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.getCliRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get all CLI versions.\n *\n * @param {FernRegistry.generators.ListCliReleasesRequest} request\n * @param {Cli.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.cli.listCliReleases()\n */\n public listCliReleases(\n request: FernRegistry.generators.ListCliReleasesRequest = {},\n requestOptions?: Cli.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.ListCliReleasesResponse,\n FernRegistry.generators.cli.listCliReleases.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__listCliReleases(request, requestOptions));\n }\n\n private async __listCliReleases(\n request: FernRegistry.generators.ListCliReleasesRequest = {},\n requestOptions?: Cli.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.ListCliReleasesResponse,\n FernRegistry.generators.cli.listCliReleases.Error\n >\n >\n > {\n const { page, pageSize } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n if (page != null) {\n _queryParams[\"page\"] = page.toString();\n }\n\n if (pageSize != null) {\n _queryParams[\"pageSize\"] = pageSize.toString();\n }\n\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/cli\",\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.ListCliReleasesResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.cli.listCliReleases.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Versions {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * CRUD API for managing generator versions.\n */\nexport class Versions {\n constructor(protected readonly _options: Versions.Options = {}) {}\n\n /**\n * Get the latest generator version that has not been yanked.\n *\n * @param {FernRegistry.generators.GetLatestGeneratorReleaseRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.getLatestGeneratorRelease({\n * generator: FernRegistry.generators.GeneratorId(\"generator\"),\n * cliVersion: undefined,\n * irVersion: undefined,\n * generatorMajorVersion: undefined,\n * releaseTypes: undefined\n * })\n */\n public getLatestGeneratorRelease(\n request: FernRegistry.generators.GetLatestGeneratorReleaseRequest,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.GeneratorRelease,\n FernRegistry.generators.versions.getLatestGeneratorRelease.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getLatestGeneratorRelease(request, requestOptions));\n }\n\n private async __getLatestGeneratorRelease(\n request: FernRegistry.generators.GetLatestGeneratorReleaseRequest,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.GeneratorRelease,\n FernRegistry.generators.versions.getLatestGeneratorRelease.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/versions/latest\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.GeneratorRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.versions.getLatestGeneratorRelease.Error)?.error) {\n case \"NoValidGeneratorsFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error\n .body as FernRegistry.generators.versions.getLatestGeneratorRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.getLatestGeneratorRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the changelog for the specified generator upgrade. The response will be a map of the generator version to it's corresponding changelog.\n *\n * @param {FernRegistry.generators.GeneratorId} generator\n * @param {FernRegistry.generators.GetChangelogRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.getChangelog(FernRegistry.generators.GeneratorId(\"generator\"), {\n * fromVersion: {\n * type: \"inclusive\",\n * value: \"fromVersion\"\n * },\n * toVersion: {\n * type: \"inclusive\",\n * value: \"toVersion\"\n * }\n * })\n */\n public getChangelog(\n generator: FernRegistry.generators.GeneratorId,\n request: FernRegistry.generators.GetChangelogRequest,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.GetChangelogResponse,\n FernRegistry.generators.versions.getChangelog.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getChangelog(generator, request, requestOptions));\n }\n\n private async __getChangelog(\n generator: FernRegistry.generators.GeneratorId,\n request: FernRegistry.generators.GetChangelogRequest,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.GetChangelogResponse,\n FernRegistry.generators.versions.getChangelog.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/versions/${encodeURIComponent(generator)}/changelog`,\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.GetChangelogResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.getChangelog.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Update or create the specified generator version.\n *\n * @param {FernRegistry.generators.GeneratorReleaseRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.upsertGeneratorRelease({\n * version: \"version\",\n * createdAt: undefined,\n * isYanked: undefined,\n * changelogEntry: undefined,\n * generatorId: FernRegistry.generators.GeneratorId(\"generatorId\"),\n * irVersion: 1,\n * migration: undefined,\n * customConfigSchema: undefined,\n * tags: undefined\n * })\n */\n public upsertGeneratorRelease(\n request: FernRegistry.generators.GeneratorReleaseRequest,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.generators.versions.upsertGeneratorRelease.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertGeneratorRelease(request, requestOptions));\n }\n\n private async __upsertGeneratorRelease(\n request: FernRegistry.generators.GeneratorReleaseRequest,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<void, FernRegistry.generators.versions.upsertGeneratorRelease.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/versions\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.versions.upsertGeneratorRelease.Error)?.error) {\n case \"InvalidVersionError\":\n return {\n data: {\n ok: false,\n error: _response.error\n .body as FernRegistry.generators.versions.upsertGeneratorRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.upsertGeneratorRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the specified generator version.\n *\n * @param {FernRegistry.generators.GeneratorId} generator\n * @param {string} version\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.getGeneratorRelease(FernRegistry.generators.GeneratorId(\"generator\"), \"version\")\n */\n public getGeneratorRelease(\n generator: FernRegistry.generators.GeneratorId,\n version: string,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.GeneratorRelease,\n FernRegistry.generators.versions.getGeneratorRelease.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__getGeneratorRelease(generator, version, requestOptions));\n }\n\n private async __getGeneratorRelease(\n generator: FernRegistry.generators.GeneratorId,\n version: string,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.GeneratorRelease,\n FernRegistry.generators.versions.getGeneratorRelease.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/versions/${encodeURIComponent(generator)}/${encodeURIComponent(version)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.GeneratorRelease,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.generators.versions.getGeneratorRelease.Error)?.error) {\n case \"GeneratorVersionNotFoundError\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.generators.versions.getGeneratorRelease.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.getGeneratorRelease.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get all generator versions for the specified generator.\n *\n * @param {FernRegistry.generators.GeneratorId} generator\n * @param {FernRegistry.generators.ListGeneratorReleasesRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.generators.versions.listGeneratorReleases(FernRegistry.generators.GeneratorId(\"generator\"))\n */\n public listGeneratorReleases(\n generator: FernRegistry.generators.GeneratorId,\n request: FernRegistry.generators.ListGeneratorReleasesRequest = {},\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.generators.ListGeneratorReleasesResponse,\n FernRegistry.generators.versions.listGeneratorReleases.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__listGeneratorReleases(generator, request, requestOptions));\n }\n\n private async __listGeneratorReleases(\n generator: FernRegistry.generators.GeneratorId,\n request: FernRegistry.generators.ListGeneratorReleasesRequest = {},\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.generators.ListGeneratorReleasesResponse,\n FernRegistry.generators.versions.listGeneratorReleases.Error\n >\n >\n > {\n const { page, pageSize } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n if (page != null) {\n _queryParams[\"page\"] = page.toString();\n }\n\n if (pageSize != null) {\n _queryParams[\"pageSize\"] = pageSize.toString();\n }\n\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/versions/${encodeURIComponent(generator)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.generators.ListGeneratorReleasesResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.generators.versions.listGeneratorReleases.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Diff {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Diff {\n constructor(protected readonly _options: Diff.Options = {}) {}\n\n /**\n * @param {FernRegistry.ApiDiffRequest} request\n * @param {Diff.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.diff.diff({\n * previousApiDefinitionId: FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"),\n * currentApiDefinitionId: FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\")\n * })\n */\n public diff(\n request: FernRegistry.ApiDiffRequest,\n requestOptions?: Diff.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.ApiDiff, FernRegistry.diff.diff.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__diff(request, requestOptions));\n }\n\n private async __diff(\n request: FernRegistry.ApiDiffRequest,\n requestOptions?: Diff.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<FernRegistry.ApiDiff, FernRegistry.diff.diff.Error>>> {\n const { previousApiDefinitionId, currentApiDefinitionId } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n _queryParams[\"previousApiDefinitionId\"] = previousApiDefinitionId;\n _queryParams[\"currentApiDefinitionId\"] = currentApiDefinitionId;\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/registry/diff\",\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.ApiDiff,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.diff.diff.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace DocsCache {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class DocsCache {\n constructor(protected readonly _options: DocsCache.Options = {}) {}\n\n /**\n * @param {FernRegistry.InvalidateCachedDocsRequest} request\n * @param {DocsCache.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.docsCache.invalidate({\n * url: FernRegistry.Url(\"url\")\n * })\n */\n public invalidate(\n request: FernRegistry.InvalidateCachedDocsRequest,\n requestOptions?: DocsCache.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.docsCache.invalidate.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__invalidate(request, requestOptions));\n }\n\n private async __invalidate(\n request: FernRegistry.InvalidateCachedDocsRequest,\n requestOptions?: DocsCache.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.docsCache.invalidate.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/docs-cache/invalidate\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.docsCache.invalidate.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Git {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\n/**\n * Produces an internal schema to easily track and view pull requests across Fern-managed repositories. This API is named `git` to allow for flexibility in adding other git providers down the line (e.g. gitlab).\n */\nexport class Git {\n constructor(protected readonly _options: Git.Options = {}) {}\n\n /**\n * Get a repository by its name (mirroring the Github API, this is the main get request).\n *\n * @param {string} repositoryOwner\n * @param {string} repositoryName\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.getRepository(\"repositoryOwner\", \"repositoryName\")\n */\n public getRepository(\n repositoryOwner: string,\n repositoryName: string,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.FernRepository, FernRegistry.git.getRepository.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__getRepository(repositoryOwner, repositoryName, requestOptions),\n );\n }\n\n private async __getRepository(\n repositoryOwner: string,\n repositoryName: string,\n requestOptions?: Git.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<FernRegistry.FernRepository, FernRegistry.git.getRepository.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/github/repository/${encodeURIComponent(repositoryOwner)}/${encodeURIComponent(repositoryName)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.FernRepository,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.getRepository.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get all repositories.\n *\n * @param {FernRegistry.ListRepositoriesRequest} request\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.listRepositories({\n * page: undefined,\n * pageSize: undefined,\n * organizationId: undefined,\n * repositoryName: undefined,\n * repositoryOwner: undefined\n * })\n */\n public listRepositories(\n request: FernRegistry.ListRepositoriesRequest = {},\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.ListRepositoriesResponse, FernRegistry.git.listRepositories.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__listRepositories(request, requestOptions));\n }\n\n private async __listRepositories(\n request: FernRegistry.ListRepositoriesRequest = {},\n requestOptions?: Git.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.ListRepositoriesResponse, FernRegistry.git.listRepositories.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/github/repository/list\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.ListRepositoriesResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.listRepositories.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Update or create the specified repository.\n *\n * @param {FernRegistry.FernRepository} request\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.upsertRepository({\n * type: \"sdk\",\n * id: {\n * type: \"github\",\n * id: \"id\"\n * },\n * name: \"name\",\n * owner: \"owner\",\n * fullName: \"fullName\",\n * url: FernRegistry.Url(\"url\"),\n * repositoryOwnerOrganizationId: FernRegistry.OrgId(\"repositoryOwnerOrganizationId\"),\n * defaultBranchChecks: [{\n * checkId: \"checkId\",\n * repositoryOwner: \"repositoryOwner\",\n * repositoryName: \"repositoryName\",\n * ref: \"ref\",\n * name: \"name\",\n * status: \"status\",\n * conclusion: \"conclusion\",\n * checkRunUrl: \"checkRunUrl\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * completedAt: undefined,\n * rawCheckRun: {\n * \"key\": \"value\"\n * }\n * }, {\n * checkId: \"checkId\",\n * repositoryOwner: \"repositoryOwner\",\n * repositoryName: \"repositoryName\",\n * ref: \"ref\",\n * name: \"name\",\n * status: \"status\",\n * conclusion: \"conclusion\",\n * checkRunUrl: \"checkRunUrl\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * completedAt: undefined,\n * rawCheckRun: {\n * \"key\": \"value\"\n * }\n * }],\n * sdkLanguage: \"sdkLanguage\"\n * })\n */\n public upsertRepository(\n request: FernRegistry.FernRepository,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.git.upsertRepository.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertRepository(request, requestOptions));\n }\n\n private async __upsertRepository(\n request: FernRegistry.FernRepository,\n requestOptions?: Git.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.git.upsertRepository.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/github/repository/upsert\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.upsertRepository.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Delete specified repository.\n *\n * @param {string} repositoryOwner\n * @param {string} repositoryName\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.deleteRepository(\"repositoryOwner\", \"repositoryName\")\n */\n public deleteRepository(\n repositoryOwner: string,\n repositoryName: string,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.git.deleteRepository.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__deleteRepository(repositoryOwner, repositoryName, requestOptions),\n );\n }\n\n private async __deleteRepository(\n repositoryOwner: string,\n repositoryName: string,\n requestOptions?: Git.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.git.deleteRepository.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/github/repository/${encodeURIComponent(repositoryOwner)}/${encodeURIComponent(repositoryName)}/delete`,\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.deleteRepository.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get a pull request by its ID.\n *\n * @param {string} repositoryOwner\n * @param {string} repositoryName\n * @param {number} pullRequestNumber\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.getPullRequest(\"repositoryOwner\", \"repositoryName\", 1)\n */\n public getPullRequest(\n repositoryOwner: string,\n repositoryName: string,\n pullRequestNumber: number,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.PullRequest, FernRegistry.git.getPullRequest.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__getPullRequest(repositoryOwner, repositoryName, pullRequestNumber, requestOptions),\n );\n }\n\n private async __getPullRequest(\n repositoryOwner: string,\n repositoryName: string,\n pullRequestNumber: number,\n requestOptions?: Git.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<FernRegistry.PullRequest, FernRegistry.git.getPullRequest.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/github/pull-request/${encodeURIComponent(repositoryOwner)}/${encodeURIComponent(repositoryName)}/${encodeURIComponent(pullRequestNumber)}`,\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.PullRequest,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.getPullRequest.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get all pull requests.\n *\n * @param {FernRegistry.ListPullRequestsRequest} request\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.listPullRequests({\n * page: undefined,\n * pageSize: undefined,\n * repositoryName: undefined,\n * repositoryOwner: undefined,\n * organizationId: undefined,\n * state: undefined,\n * author: undefined\n * })\n */\n public listPullRequests(\n request: FernRegistry.ListPullRequestsRequest = {},\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.ListPullRequestsResponse, FernRegistry.git.listPullRequests.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__listPullRequests(request, requestOptions));\n }\n\n private async __listPullRequests(\n request: FernRegistry.ListPullRequestsRequest = {},\n requestOptions?: Git.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<FernRegistry.ListPullRequestsResponse, FernRegistry.git.listPullRequests.Error>\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/github/pull-request/list\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.ListPullRequestsResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.listPullRequests.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Update or create the specified pull request.\n *\n * @param {FernRegistry.PullRequest} request\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.upsertPullRequest({\n * pullRequestNumber: 1,\n * repositoryName: \"repositoryName\",\n * repositoryOwner: \"repositoryOwner\",\n * author: undefined,\n * reviewers: [{\n * type: \"user\",\n * name: undefined,\n * email: undefined,\n * username: \"username\"\n * }, {\n * type: \"user\",\n * name: undefined,\n * email: undefined,\n * username: \"username\"\n * }],\n * title: \"title\",\n * url: FernRegistry.Url(\"url\"),\n * checks: [{\n * checkId: \"checkId\",\n * repositoryOwner: \"repositoryOwner\",\n * repositoryName: \"repositoryName\",\n * ref: \"ref\",\n * name: \"name\",\n * status: \"status\",\n * conclusion: \"conclusion\",\n * checkRunUrl: \"checkRunUrl\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * completedAt: undefined,\n * rawCheckRun: {\n * \"key\": \"value\"\n * }\n * }, {\n * checkId: \"checkId\",\n * repositoryOwner: \"repositoryOwner\",\n * repositoryName: \"repositoryName\",\n * ref: \"ref\",\n * name: \"name\",\n * status: \"status\",\n * conclusion: \"conclusion\",\n * checkRunUrl: \"checkRunUrl\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * completedAt: undefined,\n * rawCheckRun: {\n * \"key\": \"value\"\n * }\n * }],\n * state: \"open\",\n * createdAt: \"2024-01-15T09:30:00Z\",\n * updatedAt: undefined,\n * mergedAt: undefined,\n * closedAt: undefined\n * })\n */\n public upsertPullRequest(\n request: FernRegistry.PullRequest,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.git.upsertPullRequest.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__upsertPullRequest(request, requestOptions));\n }\n\n private async __upsertPullRequest(\n request: FernRegistry.PullRequest,\n requestOptions?: Git.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.git.upsertPullRequest.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/generators/github/pull-request/upsert\",\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.upsertPullRequest.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Delete specified pull request.\n *\n * @param {string} repositoryOwner\n * @param {string} repositoryName\n * @param {number} pullRequestNumber\n * @param {Git.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.git.deletePullRequest(\"repositoryOwner\", \"repositoryName\", 1)\n */\n public deletePullRequest(\n repositoryOwner: string,\n repositoryName: string,\n pullRequestNumber: number,\n requestOptions?: Git.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.git.deletePullRequest.Error>> {\n return core.HttpResponsePromise.fromPromise(\n this.__deletePullRequest(repositoryOwner, repositoryName, pullRequestNumber, requestOptions),\n );\n }\n\n private async __deletePullRequest(\n repositoryOwner: string,\n repositoryName: string,\n pullRequestNumber: number,\n requestOptions?: Git.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.git.deletePullRequest.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n `/generators/github/pull-request/${encodeURIComponent(repositoryOwner)}/${encodeURIComponent(repositoryName)}/${encodeURIComponent(pullRequestNumber)}/delete`,\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.git.deletePullRequest.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../../../environments.js\";\nimport * as core from \"../../../../../../core/index.js\";\nimport * as FernRegistry from \"../../../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Versions {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Versions {\n constructor(protected readonly _options: Versions.Options = {}) {}\n\n /**\n * Computes a semantic version for the SDK to be relesed on.\n * The endpoint tries to find existing versions by looking up against\n * registries and github repositories. If none are found an error is thrown.\n * If a version is found, a new semantic version is returned.\n *\n * @param {FernRegistry.sdks.ComputeSemanticVersionRequest} request\n * @param {Versions.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.sdks.versions.computeSemanticVersion({\n * package: \"package\",\n * language: \"Go\",\n * githubRepository: undefined\n * })\n */\n public computeSemanticVersion(\n request: FernRegistry.sdks.ComputeSemanticVersionRequest,\n requestOptions?: Versions.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<\n FernRegistry.sdks.ComputedSemanticVersionResponse,\n FernRegistry.sdks.versions.computeSemanticVersion.Error\n >\n > {\n return core.HttpResponsePromise.fromPromise(this.__computeSemanticVersion(request, requestOptions));\n }\n\n private async __computeSemanticVersion(\n request: FernRegistry.sdks.ComputeSemanticVersionRequest,\n requestOptions?: Versions.RequestOptions,\n ): Promise<\n core.WithRawResponse<\n core.APIResponse<\n FernRegistry.sdks.ComputedSemanticVersionResponse,\n FernRegistry.sdks.versions.computeSemanticVersion.Error\n >\n >\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/sdks/semantic-version/compute\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.sdks.ComputedSemanticVersionResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.sdks.versions.computeSemanticVersion.Error)?.error) {\n case \"FailedToComputeExistingVersion\":\n case \"FailedToIncrementVersion\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.sdks.versions.computeSemanticVersion.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.sdks.versions.computeSemanticVersion.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport { Versions } from \"../resources/versions/client/Client.js\";\n\nexport declare namespace Sdks {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n}\n\nexport class Sdks {\n protected _versions: Versions | undefined;\n\n constructor(protected readonly _options: Sdks.Options = {}) {}\n\n public get versions(): Versions {\n return (this._versions ??= new Versions(this._options));\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace SnippetsFactory {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class SnippetsFactory {\n constructor(protected readonly _options: SnippetsFactory.Options = {}) {}\n\n /**\n * Store endpoint snippets for a particular SDK.\n *\n * @param {FernRegistry.CreateSnippetRequest} request\n * @param {SnippetsFactory.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.snippetsFactory.createSnippetsForSdk({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * snippets: {\n * type: \"typescript\",\n * sdk: {\n * package: \"package\",\n * version: \"version\"\n * },\n * snippets: [{\n * endpoint: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * exampleIdentifier: undefined,\n * snippet: {\n * client: \"client\"\n * }\n * }, {\n * endpoint: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * exampleIdentifier: undefined,\n * snippet: {\n * client: \"client\"\n * }\n * }]\n * }\n * })\n */\n public createSnippetsForSdk(\n request: FernRegistry.CreateSnippetRequest,\n requestOptions?: SnippetsFactory.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.snippetsFactory.createSnippetsForSdk.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__createSnippetsForSdk(request, requestOptions));\n }\n\n private async __createSnippetsForSdk(\n request: FernRegistry.CreateSnippetRequest,\n requestOptions?: SnippetsFactory.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.snippetsFactory.createSnippetsForSdk.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippets/create\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.snippetsFactory.createSnippetsForSdk.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"OrgIdNotFound\":\n case \"SDKNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.snippetsFactory.createSnippetsForSdk.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.snippetsFactory.createSnippetsForSdk.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Snippets {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Snippets {\n constructor(protected readonly _options: Snippets.Options = {}) {}\n\n /**\n * Get snippet by endpoint method and path\n *\n * @param {FernRegistry.GetSnippetRequest} request\n * @param {Snippets.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.snippets.get({\n * endpoint: {\n * method: \"GET\",\n * path: FernRegistry.EndpointPathLiteral(\"/v1/search\")\n * }\n * })\n */\n public get(\n request: FernRegistry.GetSnippetRequest,\n requestOptions?: Snippets.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.Snippet[], FernRegistry.snippets.get.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__get(request, requestOptions));\n }\n\n private async __get(\n request: FernRegistry.GetSnippetRequest,\n requestOptions?: Snippets.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<FernRegistry.Snippet[], FernRegistry.snippets.get.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippets\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.Snippet[],\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.snippets.get.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"UnavailableError\":\n case \"ApiIdRequiredError\":\n case \"OrgIdRequiredError\":\n case \"OrgIdAndApiIdNotFound\":\n case \"OrgIdNotFound\":\n case \"EndpointNotFound\":\n case \"SDKNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.snippets.get.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.snippets.get.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * @param {FernRegistry.ListSnippetsRequest} request\n * @param {Snippets.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.snippets.load({\n * page: 1,\n * orgId: FernRegistry.OrgId(\"vellum\"),\n * apiId: FernRegistry.ApiId(\"vellum-ai\"),\n * sdks: [{\n * type: \"python\",\n * package: \"vellum-ai\"\n * }]\n * })\n */\n public load(\n request: FernRegistry.ListSnippetsRequest = {},\n requestOptions?: Snippets.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<FernRegistry.SnippetsPage, FernRegistry.snippets.load.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__load(request, requestOptions));\n }\n\n private async __load(\n request: FernRegistry.ListSnippetsRequest = {},\n requestOptions?: Snippets.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<FernRegistry.SnippetsPage, FernRegistry.snippets.load.Error>>> {\n const { page, ..._body } = request;\n const _queryParams: Record<string, string | string[] | object | object[] | null> = {};\n if (page != null) {\n _queryParams[\"page\"] = page.toString();\n }\n\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippets/load\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n queryParameters: _queryParams,\n requestType: \"json\",\n body: _body,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.SnippetsPage,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.snippets.load.Error)?.error) {\n case \"UnauthorizedError\":\n case \"UserNotInOrgError\":\n case \"UnavailableError\":\n case \"InvalidPageError\":\n case \"ApiIdRequiredError\":\n case \"OrgIdRequiredError\":\n case \"OrgIdAndApiIdNotFound\":\n case \"OrgIdNotFound\":\n case \"SDKNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.snippets.load.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.snippets.load.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Templates {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Templates {\n constructor(protected readonly _options: Templates.Options = {}) {}\n\n /**\n * Store endpoint snippet for a particular SDK.\n *\n * @param {FernRegistry.RegisterSnippetTemplateRequest} request\n * @param {Templates.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.templates.register({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * apiDefinitionId: FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"),\n * snippet: {\n * sdk: {\n * type: \"typescript\",\n * package: \"package\",\n * version: \"version\"\n * },\n * endpointId: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * snippetTemplate: {\n * type: \"v1\",\n * clientInstantiation: \"clientInstantiation\",\n * functionInvocation: {\n * type: \"generic\",\n * imports: undefined,\n * isOptional: true,\n * templateString: \"templateString\",\n * templateInputs: undefined,\n * inputDelimiter: undefined\n * }\n * },\n * additionalTemplates: undefined\n * }\n * })\n */\n public register(\n request: FernRegistry.RegisterSnippetTemplateRequest,\n requestOptions?: Templates.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.templates.register.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__register(request, requestOptions));\n }\n\n private async __register(\n request: FernRegistry.RegisterSnippetTemplateRequest,\n requestOptions?: Templates.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.templates.register.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippet-template/register\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.templates.register.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Store endpoint snippets for a particular SDK.\n *\n * @param {FernRegistry.RegisterSnippetTemplateBatchRequest} request\n * @param {Templates.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.templates.registerBatch({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * apiDefinitionId: FernRegistry.ApiDefinitionId(\"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32\"),\n * snippets: [{\n * sdk: {\n * type: \"typescript\",\n * package: \"package\",\n * version: \"version\"\n * },\n * endpointId: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * snippetTemplate: {\n * type: \"v1\",\n * clientInstantiation: \"clientInstantiation\",\n * functionInvocation: {\n * type: \"generic\",\n * imports: undefined,\n * isOptional: true,\n * templateString: \"templateString\",\n * templateInputs: undefined,\n * inputDelimiter: undefined\n * }\n * },\n * additionalTemplates: undefined\n * }, {\n * sdk: {\n * type: \"typescript\",\n * package: \"package\",\n * version: \"version\"\n * },\n * endpointId: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * },\n * snippetTemplate: {\n * type: \"v1\",\n * clientInstantiation: \"clientInstantiation\",\n * functionInvocation: {\n * type: \"generic\",\n * imports: undefined,\n * isOptional: true,\n * templateString: \"templateString\",\n * templateInputs: undefined,\n * inputDelimiter: undefined\n * }\n * },\n * additionalTemplates: undefined\n * }]\n * })\n */\n public registerBatch(\n request: FernRegistry.RegisterSnippetTemplateBatchRequest,\n requestOptions?: Templates.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.templates.registerBatch.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__registerBatch(request, requestOptions));\n }\n\n private async __registerBatch(\n request: FernRegistry.RegisterSnippetTemplateBatchRequest,\n requestOptions?: Templates.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.templates.registerBatch.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippet-template/register/batch\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.templates.registerBatch.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Get the endpoint's snippet template for a particular SDK.\n *\n * @param {FernRegistry.GetSnippetTemplate} request\n * @param {Templates.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.templates.get({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * apiId: FernRegistry.ApiId(\"apiId\"),\n * sdk: {\n * type: \"typescript\",\n * package: \"package\",\n * version: undefined\n * },\n * endpointId: {\n * path: FernRegistry.EndpointPathLiteral(\"path\"),\n * method: \"GET\",\n * identifierOverride: undefined\n * }\n * })\n */\n public get(\n request: FernRegistry.GetSnippetTemplate,\n requestOptions?: Templates.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.EndpointSnippetTemplate, FernRegistry.templates.get.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__get(request, requestOptions));\n }\n\n private async __get(\n request: FernRegistry.GetSnippetTemplate,\n requestOptions?: Templates.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<FernRegistry.EndpointSnippetTemplate, FernRegistry.templates.get.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/snippet-template/get\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.EndpointSnippetTemplate,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n if (_response.error.reason === \"status-code\") {\n switch ((_response.error.body as FernRegistry.templates.get.Error)?.error) {\n case \"UnauthorizedError\":\n case \"SnippetNotFound\":\n return {\n data: {\n ok: false,\n error: _response.error.body as FernRegistry.templates.get.Error,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.templates.get.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"../../../../environments.js\";\nimport * as core from \"../../../../core/index.js\";\nimport * as FernRegistry from \"../../../index.js\";\nimport urlJoin from \"url-join\";\n\nexport declare namespace Tokens {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class Tokens {\n constructor(protected readonly _options: Tokens.Options = {}) {}\n\n /**\n * Generate a token\n *\n * @param {FernRegistry.GenerateTokenRequest} request\n * @param {Tokens.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.tokens.generate({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * scope: \"scope\"\n * })\n */\n public generate(\n request: FernRegistry.GenerateTokenRequest,\n requestOptions?: Tokens.RequestOptions,\n ): core.HttpResponsePromise<\n core.APIResponse<FernRegistry.GenerateTokenResponse, FernRegistry.tokens.generate.Error>\n > {\n return core.HttpResponsePromise.fromPromise(this.__generate(request, requestOptions));\n }\n\n private async __generate(\n request: FernRegistry.GenerateTokenRequest,\n requestOptions?: Tokens.RequestOptions,\n ): Promise<\n core.WithRawResponse<core.APIResponse<FernRegistry.GenerateTokenResponse, FernRegistry.tokens.generate.Error>>\n > {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/tokens/generate\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: _response.body as FernRegistry.GenerateTokenResponse,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.tokens.generate.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n /**\n * Revoke a token\n *\n * @param {FernRegistry.RevokeTokenRequest} request\n * @param {Tokens.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @example\n * await client.tokens.revoke({\n * orgId: FernRegistry.OrgId(\"orgId\"),\n * tokenId: FernRegistry.TokenId(\"tokenId\")\n * })\n */\n public revoke(\n request: FernRegistry.RevokeTokenRequest,\n requestOptions?: Tokens.RequestOptions,\n ): core.HttpResponsePromise<core.APIResponse<void, FernRegistry.tokens.revoke.Error>> {\n return core.HttpResponsePromise.fromPromise(this.__revoke(request, requestOptions));\n }\n\n private async __revoke(\n request: FernRegistry.RevokeTokenRequest,\n requestOptions?: Tokens.RequestOptions,\n ): Promise<core.WithRawResponse<core.APIResponse<void, FernRegistry.tokens.revoke.Error>>> {\n const _response = await core.fetcher({\n url: urlJoin(\n (await core.Supplier.get(this._options.baseUrl)) ??\n (await core.Supplier.get(this._options.environment)) ??\n environments.FernRegistryEnvironment.Prod,\n \"/tokens/revoke\",\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n ...requestOptions?.headers,\n },\n contentType: \"application/json\",\n requestType: \"json\",\n body: request,\n timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : undefined,\n maxRetries: requestOptions?.maxRetries,\n abortSignal: requestOptions?.abortSignal,\n });\n if (_response.ok) {\n return {\n data: {\n ok: true,\n body: undefined,\n headers: _response.headers,\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n return {\n data: {\n ok: false,\n error: FernRegistry.tokens.revoke.Error._unknown(_response.error),\n rawResponse: _response.rawResponse,\n },\n rawResponse: _response.rawResponse,\n };\n }\n\n protected async _getAuthorizationHeader(): Promise<string | undefined> {\n const bearer = await core.Supplier.get(this._options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n\n return undefined;\n }\n}\n","/**\n * This file was auto-generated by Fern from our API Definition.\n */\n\nimport * as environments from \"./environments.js\";\nimport * as core from \"./core/index.js\";\nimport { Api } from \"./api/resources/api/client/Client.js\";\nimport { Dashboard } from \"./api/resources/dashboard/client/Client.js\";\nimport { Docs } from \"./api/resources/docs/client/Client.js\";\nimport { Generators } from \"./api/resources/generators/client/Client.js\";\nimport { Diff } from \"./api/resources/diff/client/Client.js\";\nimport { DocsCache } from \"./api/resources/docsCache/client/Client.js\";\nimport { Git } from \"./api/resources/git/client/Client.js\";\nimport { Sdks } from \"./api/resources/sdks/client/Client.js\";\nimport { SnippetsFactory } from \"./api/resources/snippetsFactory/client/Client.js\";\nimport { Snippets } from \"./api/resources/snippets/client/Client.js\";\nimport { Templates } from \"./api/resources/templates/client/Client.js\";\nimport { Tokens } from \"./api/resources/tokens/client/Client.js\";\n\nexport declare namespace FernRegistryClient {\n export interface Options {\n environment?: core.Supplier<environments.FernRegistryEnvironment | string>;\n /** Specify a custom URL to connect the client to. */\n baseUrl?: core.Supplier<string>;\n token?: core.Supplier<core.BearerToken | undefined>;\n }\n\n export interface RequestOptions {\n /** The maximum time to wait for a response in seconds. */\n timeoutInSeconds?: number;\n /** The number of times to retry the request. Defaults to 2. */\n maxRetries?: number;\n /** A hook to abort the request. */\n abortSignal?: AbortSignal;\n /** Additional headers to include in the request. */\n headers?: Record<string, string>;\n }\n}\n\nexport class FernRegistryClient {\n protected _api: Api | undefined;\n protected _dashboard: Dashboard | undefined;\n protected _docs: Docs | undefined;\n protected _generators: Generators | undefined;\n protected _diff: Diff | undefined;\n protected _docsCache: DocsCache | undefined;\n protected _git: Git | undefined;\n protected _sdks: Sdks | undefined;\n protected _snippetsFactory: SnippetsFactory | undefined;\n protected _snippets: Snippets | undefined;\n protected _templates: Templates | undefined;\n protected _tokens: Tokens | undefined;\n\n constructor(protected readonly _options: FernRegistryClient.Options = {}) {}\n\n public get api(): Api {\n return (this._api ??= new Api(this._options));\n }\n\n public get dashboard(): Dashboard {\n return (this._dashboard ??= new Dashboard(this._options));\n }\n\n public get docs(): Docs {\n return (this._docs ??= new Docs(this._options));\n }\n\n public get generators(): Generators {\n return (this._generators ??= new Generators(this._options));\n }\n\n public get diff(): Diff {\n return (this._diff ??= new Diff(this._options));\n }\n\n public get docsCache(): DocsCache {\n return (this._docsCache ??= new DocsCache(this._options));\n }\n\n public get git(): Git {\n return (this._git ??= new Git(this._options));\n }\n\n public get sdks(): Sdks {\n return (this._sdks ??= new Sdks(this._options));\n }\n\n public get snippetsFactory(): SnippetsFactory {\n return (this._snippetsFactory ??= new SnippetsFactory(this._options));\n }\n\n public get snippets(): Snippets {\n return (this._snippets ??= new Snippets(this._options));\n }\n\n public get templates(): Templates {\n return (this._templates ??= new Templates(this._options));\n }\n\n public get tokens(): Tokens {\n return (this._tokens ??= new Tokens(this._options));\n }\n}\n"],"mappings":"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","names":["Error","WebhookHttpMethod","commons_exports","endpoint_exports","endpoint_exports","ObjectPropertyAccess","endpoint_exports","type_exports","webhook_exports","websocket_exports","endpoint_exports","type_exports","ObjectPropertyAccess","ObjectPropertyAccess","webhook_exports","websocket_exports","Error","ObjectPropertyAccess","endpoint_exports","type_exports","webhook_exports","websocket_exports","endpoint_exports","type_exports","ObjectPropertyAccess","ObjectPropertyAccess","webhook_exports","websocket_exports","Error","commons_exports","WebhookHttpMethod","WebhookHttpMethod","Error","latest_exports","v1_exports","latest_exports","commons_exports","commons_exports","v1_exports","commons_exports","db_exports","read_exports","db_exports","read_exports","Error","Error","Error","Error","commons_exports","TwitterCardSetting","commons_exports","TwitterCardSetting","TwitterCardSetting","read_exports","write_exports","read_exports","Error","Error","Error","Error","Error","Error","Error","write_exports","finishDocsRegister_exports","startDocsRegister_exports","startDocsRegister_exports","Error","Error","finishDocsRegister_exports","Error","Error","Error","Error","commons_exports","Error","Error","Error","Error","Error","Error","commons_exports","getChangelog_exports","Error","getChangelog_exports","Error","Error","Error","Error","Error","Error","Error","Error","diff_exports","Error","Error","Error","Error","Error","Error","Error","Error","Error","versions_exports","versions_exports","Error","Error","Error","Error","get_exports","register_exports","register_exports","Error","Error","get_exports","Error","Error","Error","Error","qs","urlJoin","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","Read","urlJoin","import_url_join","urlJoin","V1","Read","import_url_join","Read","urlJoin","import_url_join","Write","urlJoin","Read","Write","V1","import_url_join","import_url_join","urlJoin","import_url_join","urlJoin","urlJoin","import_url_join","urlJoin","diff_exports","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","Versions","urlJoin","Versions","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","urlJoin","import_url_join","urlJoin"]}