@fern-api/csharp-dynamic-snippets 2.11.2 → 2.11.3
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.
- package/dist/index.cjs +122 -0
- package/dist/index.cjs.map +1 -0
- package/{cjs/DynamicSnippetsGeneratorContext-pehoeH_w.d.cts → dist/index.d.cts} +76 -3
- package/{esm/DynamicSnippetsGeneratorContext-pehoeH_w.d.ts → dist/index.d.ts} +76 -3
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/package.json +11 -12
- package/cjs/Config.cjs +0 -2
- package/cjs/Config.cjs.map +0 -1
- package/cjs/Config.d.cts +0 -5
- package/cjs/DynamicSnippetsGenerator.cjs +0 -46
- package/cjs/DynamicSnippetsGenerator.cjs.map +0 -1
- package/cjs/DynamicSnippetsGenerator.d.cts +0 -23
- package/cjs/EndpointSnippetGenerator.cjs +0 -45
- package/cjs/EndpointSnippetGenerator.cjs.map +0 -1
- package/cjs/EndpointSnippetGenerator.d.cts +0 -65
- package/cjs/context/DynamicLiteralMapper.cjs +0 -2
- package/cjs/context/DynamicLiteralMapper.cjs.map +0 -1
- package/cjs/context/DynamicLiteralMapper.d.cts +0 -7
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs +0 -33
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +0 -1
- package/cjs/context/DynamicSnippetsGeneratorContext.d.cts +0 -7
- package/cjs/context/DynamicTypeMapper.cjs +0 -2
- package/cjs/context/DynamicTypeMapper.cjs.map +0 -1
- package/cjs/context/DynamicTypeMapper.d.cts +0 -7
- package/cjs/context/FilePropertyMapper.cjs +0 -28
- package/cjs/context/FilePropertyMapper.cjs.map +0 -1
- package/cjs/context/FilePropertyMapper.d.cts +0 -7
- package/cjs/index.cjs +0 -46
- package/cjs/index.cjs.map +0 -1
- package/cjs/index.d.cts +0 -10
- package/esm/Config.d.ts +0 -5
- package/esm/Config.js +0 -2
- package/esm/Config.js.map +0 -1
- package/esm/DynamicSnippetsGenerator.d.ts +0 -23
- package/esm/DynamicSnippetsGenerator.js +0 -2
- package/esm/DynamicSnippetsGenerator.js.map +0 -1
- package/esm/EndpointSnippetGenerator.d.ts +0 -65
- package/esm/EndpointSnippetGenerator.js +0 -2
- package/esm/EndpointSnippetGenerator.js.map +0 -1
- package/esm/chunk-3XDW3MPR.js +0 -2
- package/esm/chunk-3XDW3MPR.js.map +0 -1
- package/esm/chunk-CEB5TOCF.js +0 -33
- package/esm/chunk-CEB5TOCF.js.map +0 -1
- package/esm/chunk-DBQMCX7L.js +0 -2
- package/esm/chunk-DBQMCX7L.js.map +0 -1
- package/esm/chunk-EC2FLIE6.js +0 -15
- package/esm/chunk-EC2FLIE6.js.map +0 -1
- package/esm/chunk-EUEE2577.js +0 -2
- package/esm/chunk-EUEE2577.js.map +0 -1
- package/esm/chunk-GEII674B.js +0 -2
- package/esm/chunk-GEII674B.js.map +0 -1
- package/esm/chunk-KFPJC632.js +0 -2
- package/esm/chunk-KFPJC632.js.map +0 -1
- package/esm/chunk-KHCIVF5J.js +0 -1
- package/esm/chunk-KHCIVF5J.js.map +0 -1
- package/esm/chunk-KIW23CQ5.js +0 -2
- package/esm/chunk-KIW23CQ5.js.map +0 -1
- package/esm/context/DynamicLiteralMapper.d.ts +0 -7
- package/esm/context/DynamicLiteralMapper.js +0 -2
- package/esm/context/DynamicLiteralMapper.js.map +0 -1
- package/esm/context/DynamicSnippetsGeneratorContext.d.ts +0 -7
- package/esm/context/DynamicSnippetsGeneratorContext.js +0 -2
- package/esm/context/DynamicSnippetsGeneratorContext.js.map +0 -1
- package/esm/context/DynamicTypeMapper.d.ts +0 -7
- package/esm/context/DynamicTypeMapper.js +0 -2
- package/esm/context/DynamicTypeMapper.js.map +0 -1
- package/esm/context/FilePropertyMapper.d.ts +0 -7
- package/esm/context/FilePropertyMapper.js +0 -2
- package/esm/context/FilePropertyMapper.js.map +0 -1
- package/esm/index.d.ts +0 -10
- package/esm/index.js +0 -2
- package/esm/index.js.map +0 -1
package/cjs/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/audience/types/AudienceDefinition.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/audience/types/AudienceReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/audience/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/audience/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/EnvironmentVariable.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/AuthSchemeKey.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/AuthScope.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/ApiAuth.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/AuthSchemesRequirement.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/AuthScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/BaseAuthScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/InferredAuthScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/InferredAuthSchemeTokenEndpoint.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/InferredAuthenticatedRequestHeader.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/BearerAuthScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/OAuthScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/OAuthConfiguration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/OAuthClientCredentials.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/OAuthTokenEndpoint.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/OAuthRefreshEndpoint.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/OAuthAccessTokenRequestProperties.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/OAuthAccessTokenResponseProperties.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/OAuthRefreshTokenRequestProperties.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/BasicAuthScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/HeaderAuthScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/auth/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/WithDocs.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/WithDocsAndAvailability.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/FernFilepath.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/Name.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/DisplayName.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/NameAndWireValue.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/SafeAndUnsafeString.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/EscapedString.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/WithJsonExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/WithContentType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/SubpackageId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/ServiceId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/EndpointId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/TypeId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/ErrorId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/WebhookGroupId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/WebhookId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/WebSocketChannelId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/FeatureId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/Declaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/Availability.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/AvailabilityStatus.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/EndpointReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/commons/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/constants/types/Constants.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/constants/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/constants/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/Auth.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/AuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/BasicAuth.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/BasicAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/InferredAuth.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/InferredAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/BearerAuth.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/BearerAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/HeaderAuth.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/HeaderAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/OAuth.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/OAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/auth/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/types/WithDocs.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/types/FernFilepath.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/types/Name.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/types/NameAndWireValue.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/types/SafeAndUnsafeString.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/types/EndpointId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/types/TypeId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/commons/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/declaration/types/Declaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/declaration/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/declaration/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/EndpointLocation.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/Endpoint.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/Request.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/Response.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/BodyRequest.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequest.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequestMetadata.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/InlinedRequestBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/ReferencedRequestBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/ReferencedRequestBodyType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/FileUploadRequestBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/FileUploadRequestBodyProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/EndpointExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/endpoints/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/EnvironmentId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/EnvironmentBaseUrlId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/EnvironmentUrl.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/EnvironmentsConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/Environments.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/SingleBaseUrlEnvironments.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/SingleBaseUrlEnvironment.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/MultipleBaseUrlsEnvironments.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/MultipleBaseUrlsEnvironment.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/EnvironmentBaseUrlWithId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/EnvironmentValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/MultipleEnvironmentUrlValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/environment/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/http/types/HttpMethod.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/http/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/http/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/DynamicIntermediateRepresentation.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/GeneratorConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/GeneratorOutputConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/PublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/GoPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/SwiftPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/MavenPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/NpmPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/NugetPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/PypiPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/RubyGemsPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/CratesPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/ir/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/snippets/types/ErrorSeverity.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/snippets/types/Error_.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/snippets/types/Values.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/snippets/types/EndpointSnippetRequest.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/snippets/types/EndpointSnippetResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/snippets/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/snippets/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/NamedParameter.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/NamedType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/TypeReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/AliasType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/EnumType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/MapType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/ObjectType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/DiscriminatedUnionType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/SingleDiscriminatedUnionType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/SingleDiscriminatedUnionTypeObject.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/SingleDiscriminatedUnionTypeSingleProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/SingleDiscriminatedUnionTypeNoProperties.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/UndiscriminatedUnionType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/LiteralType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/ObjectPropertyAccess.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/PrimitiveTypeV1.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/variables/types/VariableDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/variables/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/variables/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/resources/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/dynamic/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/EnvironmentId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/EnvironmentBaseUrlId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/EnvironmentUrl.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/EnvironmentsConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/Environments.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/SingleBaseUrlEnvironments.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/SingleBaseUrlEnvironment.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/MultipleBaseUrlsEnvironments.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/MultipleBaseUrlsEnvironment.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/EnvironmentBaseUrlWithId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/environment/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/errors/types/ErrorDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/errors/types/ErrorDeclarationDiscriminantValue.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/errors/types/DeclaredErrorName.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/errors/types/ExampleError.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/errors/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/errors/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/WithV2Examples.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2HttpEndpointExamples.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2HttpEndpointExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2HttpEndpointRequest.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2HttpEndpointResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2HttpEndpointResponseBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2HttpEndpointCodeSample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2WebSocketSessionExamples.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2WebSocketSessionExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2WebSocketMessageExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2WebhookExamples.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2WebhookExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2SchemaExamples.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2SchemaExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2ValueExamples.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2WebSocketEndpointLocation.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2EndpointLocation.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2EndpointLocationHttpMethod.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2EnvironmentValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/MultipleEnvironmentUrlValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/V2AuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/BasicAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/BearerAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/HeaderAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/OAuthValues.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/examples/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GeneratorConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/LicenseConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/BasicLicense.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/LicenseId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/CustomLicense.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GeneratorOutputConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/OutputMode.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GeneratorPublishConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GithubOutputMode.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/OutputMetadataAuthor.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/OutputMetadata.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/PublishingMetadata.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GithubPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/EnvironmentVariable.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/NpmGithubPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/MavenCentralSignatureGithubInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/MavenGithubPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/PostmanGithubPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/PypiMetadata.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/PypiGithubPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/RubyGemsGithubPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/NugetGithubPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/CratesGithubPublishInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GeneratorRegistriesConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/MavenCentralSignature.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/MavenRegistryConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/NpmRegistryConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GeneratorRegistriesConfigV2.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GeneratorPublishTarget.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/MavenRegistryConfigV2.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/NpmRegistryConfigV2.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/PypiRegistryConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/RubyGemsRegistryConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/NugetRegistryConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/CratesRegistryConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/PostmanConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/GeneratorEnvironment.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/RemoteGeneratorEnvironment.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/config/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/resources/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/generatorExec/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpService.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/DeclaredServiceName.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/Transport.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/GrpcTransport.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpEndpoint.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpEndpointSecurityItem.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/RetriesConfiguration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/RetriesDisabledSchema.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpEndpointSource.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ProtoSourceInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/EndpointName.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpPath.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpPathPart.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpMethod.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpHeader.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/PathParameter.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/PathParameterLocation.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/QueryParameter.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpRequestBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/V2HttpRequestBodies.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/InlinedRequestBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/InlinedRequestBodyProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/FileUploadRequest.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/BytesRequest.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/FileUploadRequestProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/FileUploadBodyProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/FileUploadBodyPropertyEncoding.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/FileProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/FilePropertySingle.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/FilePropertyArray.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpRequestBodyReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/SdkRequestBodyType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/SdkRequest.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/SdkRequestShape.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/SdkRequestWrapper.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/V2HttpResponses.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/NonStreamHttpResponseBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/HttpResponseBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/JsonResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/JsonResponseBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/JsonResponseBodyWithProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/FileDownloadResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/TextResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/BytesResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/StreamParameterResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/StreamingResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/TextStreamChunk.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/JsonStreamChunk.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/SseStreamChunk.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ResponseErrors.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ResponseError.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/Pagination.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/CursorPagination.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/OffsetPagination.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/CustomPagination.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/RequestPropertyValue.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/PropertyPathItem.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/RequestProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ResponseProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/AutogeneratedEndpointExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/UserSpecifiedEndpointExample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleEndpointCall.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleCodeSample.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleCodeSampleLanguage.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleCodeSampleSdk.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/SupportedSdkLanguage.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExamplePathParameter.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleQueryParameter.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleQueryParameterShape.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleHeader.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleRequestBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleInlinedRequestBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleInlinedRequestBodyExtraProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleInlinedRequestBodyProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleEndpointSuccessResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleServerSideEvent.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/ExampleEndpointErrorResponse.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/http/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/IntermediateRepresentation.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/GenerationMetadata.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ReadmeConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ExampleStyle.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ReadmeCustomSection.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/SourceConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ApiDefinitionSourceId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ApiDefinitionSource.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ProtoSource.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/SdkConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/PlatformHeaders.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/UserAgent.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ApiVersionScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/HeaderApiVersionScheme.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ErrorDiscriminationStrategy.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ErrorDiscriminationByPropertyStrategy.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/Package.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/Subpackage.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/PackageNavigationConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/ServiceTypeReferenceInfo.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/ir/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/ProtobufService.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/ProtobufType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/UserDefinedProtobufType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/WellKnownProtobufType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/ProtobufFile.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/ProtobufFileOptions.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/CsharpProtobufFileOptions.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/ProtobufMethodType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/proto/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/PublishingConfig.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/Filesystem.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/GithubPublish.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/DirectPublish.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/PublishTarget.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/PostmanPublishTarget.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/NpmPublishTarget.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/MavenPublishTarget.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/PypiPublishTarget.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/CratesPublishTarget.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/publish/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/Source.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/Encoding.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/JsonEncoding.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ProtoEncoding.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/TypeDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/DeclaredTypeName.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/Type.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/AliasTypeDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ResolvedTypeReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ResolvedNamedType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ShapeType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/EnumTypeDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/EnumValue.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ObjectTypeDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ObjectProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ObjectPropertyAccess.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/UnionTypeDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/SingleUnionType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/SingleUnionTypeProperties.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/SingleUnionTypeProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/UndiscriminatedUnionTypeDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/UndiscriminatedUnionMember.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/TypeReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/NamedType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/NamedTypeDefault.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/EnumTypeReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ContainerType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/MapType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/PrimitiveType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/PrimitiveTypeV1.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/PrimitiveTypeV2.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/IntegerType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/IntegerValidationRules.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/LongType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/UintType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/Uint64Type.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/FloatType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/DoubleType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/DoubleValidationRules.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/BooleanType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/StringType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/StringValidationRules.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/DateType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/DateTimeType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/UuidType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/Base64Type.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/BigIntegerType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/Literal.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleTypeShape.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleAliasType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleEnumType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleObjectType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleObjectProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleExtraObjectProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleUnionType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleUnionBaseProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleUndiscriminatedUnionType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleSingleUnionType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleSingleUnionTypeProperties.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleTypeReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleTypeReferenceShape.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleContainer.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleListContainer.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleSetContainer.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleOptionalContainer.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleNullableContainer.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleMapContainer.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleLiteralContainer.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleKeyValuePair.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExamplePrimitive.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleDatetime.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleNamedType.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/ExampleObjectTypeWithTypeId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/variables/types/VariableId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/variables/types/VariableDeclaration.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/variables/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/variables/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/WebhookGroup.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/Webhook.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/WebhookName.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/WebhookPayload.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/WebhookPayloadReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/InlinedWebhookPayload.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/InlinedWebhookPayloadProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/WebhookHttpMethod.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/ExampleWebhookCall.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/webhooks/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/WebSocketMessageId.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/WebSocketChannel.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/WebSocketName.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/WebSocketMessage.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/WebSocketMessageOrigin.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/WebSocketMessageBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/InlinedWebSocketMessageBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/InlinedWebSocketMessageBodyProperty.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/WebSocketMessageBodyReference.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/ExampleWebSocketSession.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/ExampleWebSocketMessage.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/ExampleWebSocketMessageBody.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/types/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/websocket/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/resources/index.js","../../../../../node_modules/.pnpm/@fern-fern+ir-sdk@61.7.0/node_modules/@fern-fern/ir-sdk/api/index.js","../../src/index.ts","../../../../../packages/commons/core-utils/src/assert.ts","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSlice.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castSlice.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hasUnicode.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_asciiToArray.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_unicodeToArray.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToArray.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createCaseFirst.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/upperFirst.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/capitalize.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayReduce.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_basePropertyOf.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_deburrLetter.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/deburr.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_asciiWords.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hasUnicodeWord.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_unicodeWords.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/words.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createCompounder.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/camelCase.js","../../../../../packages/commons/core-utils/src/objects/keys.ts","../../../../browser-compatible-base/src/utils/stacktrace.ts","../../../../browser-compatible-base/src/ast/AbstractAstNode.ts","../../../../browser-compatible-base/src/ast/CodeBlock.ts","../../../../browser-compatible-base/src/ast/AbstractWriter.ts","../../../../browser-compatible-base/src/ast/Argument.ts","../../../../browser-compatible-base/src/ast/Ternary.ts","../../../../browser-compatible-base/src/dynamic-snippets/Result.ts","../../../../browser-compatible-base/src/dynamic-snippets/AbstractDynamicSnippetsGenerator.ts","../../../../../packages/cli/fern-definition/schema/src/utils/HttpEndpointReferenceParser.ts","../../../../browser-compatible-base/src/dynamic-snippets/ErrorReporter.ts","../../../../browser-compatible-base/src/dynamic-snippets/AbstractDynamicSnippetsGeneratorContext.ts","../../../../browser-compatible-base/src/dynamic-snippets/Options.ts","../../../../browser-compatible-base/src/dynamic-snippets/Scope.ts","../../../codegen/src/ast/index.ts","../../../codegen/src/utils/type-guards.ts","../../../codegen/src/ast/core/Writer.ts","../../../codegen/src/ast/core/AstNode.ts","../../../codegen/src/ast/code/Literal.ts","../../../codegen/src/ast/types/ClassReference.ts","../../../codegen/src/ast/types/Type.ts","../../../codegen/src/utils/text.ts","../../../codegen/src/utils/dynamic-ir-type-guards.ts","../../../codegen/src/utils/ir-type-guards.ts","../../../codegen/src/ast/language/CodeBlock.ts","../../../codegen/src/ast/code/Block.ts","../../../codegen/src/ast/code/ClassInstantiation.ts","../../../codegen/src/ast/code/Dictionary.ts","../../../codegen/src/ast/code/EnumInstantiation.ts","../../../codegen/src/ast/code/InstantiatedPrimitive.ts","../../../codegen/src/ast/code/List.ts","../../../codegen/src/ast/code/MethodInvocation.ts","../../../codegen/src/ast/code/ReadOnlymemory.ts","../../../codegen/src/ast/code/Set.ts","../../../codegen/src/utils/escapeForCSharpString.ts","../../../codegen/src/ast/code/String_.ts","../../../codegen/src/ast/core/XmlDocWriter.ts","../../../codegen/src/ast/language/Access.ts","../../../codegen/src/ast/language/And.ts","../../../codegen/src/ast/language/Annotation.ts","../../../codegen/src/ast/language/AnonymousFunction.ts","../../../codegen/src/ast/language/Or.ts","../../../codegen/src/ast/language/Parameter.ts","../../../codegen/src/ast/language/Switch.ts","../../../codegen/src/ast/language/Ternary.ts","../../../codegen/src/ast/language/XmlDocBlock.ts","../../../codegen/src/ast/types/DefinedType.ts","../../../codegen/src/ast/types/Field.ts","../../../codegen/src/ast/types/Method.ts","../../../codegen/src/ast/types/Class.ts","../../../codegen/src/ast/types/Enum.ts","../../../codegen/src/ast/types/Interface.ts","../../../codegen/src/ast/types/TestClass.ts","../../../codegen/src/context/generation-info.ts","../../../codegen/src/csharp.ts","../../../codegen/src/context/name-registry.ts","../../../codegen/src/context/knownTypes.ts","../../../codegen/src/utils/lazy.ts","../../../codegen/src/context/extern.ts","../../../codegen/src/context/model-navigator.ts","../../../codegen/src/with-generation.ts","../../src/context/DynamicLiteralMapper.ts","../../src/context/DynamicTypeMapper.ts","../../src/context/FilePropertyMapper.ts","../../src/context/DynamicSnippetsGeneratorContext.ts","../../src/EndpointSnippetGenerator.ts","../../src/DynamicSnippetsGenerator.ts"],"sourcesContent":["\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./AudienceDefinition\"), exports);\n__exportStar(require(\"./AudienceReference\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthSchemesRequirement = void 0;\nexports.AuthSchemesRequirement = {\n All: \"ALL\",\n Any: \"ANY\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.AuthSchemesRequirement.All:\n return visitor.all();\n case exports.AuthSchemesRequirement.Any:\n return visitor.any();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthScheme = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.AuthScheme = {\n bearer: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bearer\", _visit: function (visitor) {\n return FernIr.AuthScheme._visit(this, visitor);\n } });\n },\n basic: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"basic\", _visit: function (visitor) {\n return FernIr.AuthScheme._visit(this, visitor);\n } });\n },\n header: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"header\", _visit: function (visitor) {\n return FernIr.AuthScheme._visit(this, visitor);\n } });\n },\n oauth: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"oauth\", _visit: function (visitor) {\n return FernIr.AuthScheme._visit(this, visitor);\n } });\n },\n inferred: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inferred\", _visit: function (visitor) {\n return FernIr.AuthScheme._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"bearer\":\n return visitor.bearer(value);\n case \"basic\":\n return visitor.basic(value);\n case \"header\":\n return visitor.header(value);\n case \"oauth\":\n return visitor.oauth(value);\n case \"inferred\":\n return visitor.inferred(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OAuthConfiguration = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.OAuthConfiguration = {\n clientCredentials: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"clientCredentials\", _visit: function (visitor) {\n return FernIr.OAuthConfiguration._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"clientCredentials\":\n return visitor.clientCredentials(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./EnvironmentVariable\"), exports);\n__exportStar(require(\"./AuthSchemeKey\"), exports);\n__exportStar(require(\"./AuthScope\"), exports);\n__exportStar(require(\"./ApiAuth\"), exports);\n__exportStar(require(\"./AuthSchemesRequirement\"), exports);\n__exportStar(require(\"./AuthScheme\"), exports);\n__exportStar(require(\"./BaseAuthScheme\"), exports);\n__exportStar(require(\"./InferredAuthScheme\"), exports);\n__exportStar(require(\"./InferredAuthSchemeTokenEndpoint\"), exports);\n__exportStar(require(\"./InferredAuthenticatedRequestHeader\"), exports);\n__exportStar(require(\"./BearerAuthScheme\"), exports);\n__exportStar(require(\"./OAuthScheme\"), exports);\n__exportStar(require(\"./OAuthConfiguration\"), exports);\n__exportStar(require(\"./OAuthClientCredentials\"), exports);\n__exportStar(require(\"./OAuthTokenEndpoint\"), exports);\n__exportStar(require(\"./OAuthRefreshEndpoint\"), exports);\n__exportStar(require(\"./OAuthAccessTokenRequestProperties\"), exports);\n__exportStar(require(\"./OAuthAccessTokenResponseProperties\"), exports);\n__exportStar(require(\"./OAuthRefreshTokenRequestProperties\"), exports);\n__exportStar(require(\"./BasicAuthScheme\"), exports);\n__exportStar(require(\"./HeaderAuthScheme\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AvailabilityStatus = void 0;\nexports.AvailabilityStatus = {\n InDevelopment: \"IN_DEVELOPMENT\",\n PreRelease: \"PRE_RELEASE\",\n GeneralAvailability: \"GENERAL_AVAILABILITY\",\n Deprecated: \"DEPRECATED\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.AvailabilityStatus.InDevelopment:\n return visitor.inDevelopment();\n case exports.AvailabilityStatus.PreRelease:\n return visitor.preRelease();\n case exports.AvailabilityStatus.GeneralAvailability:\n return visitor.generalAvailability();\n case exports.AvailabilityStatus.Deprecated:\n return visitor.deprecated();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./WithDocs\"), exports);\n__exportStar(require(\"./WithDocsAndAvailability\"), exports);\n__exportStar(require(\"./FernFilepath\"), exports);\n__exportStar(require(\"./Name\"), exports);\n__exportStar(require(\"./DisplayName\"), exports);\n__exportStar(require(\"./NameAndWireValue\"), exports);\n__exportStar(require(\"./SafeAndUnsafeString\"), exports);\n__exportStar(require(\"./EscapedString\"), exports);\n__exportStar(require(\"./WithJsonExample\"), exports);\n__exportStar(require(\"./WithContentType\"), exports);\n__exportStar(require(\"./SubpackageId\"), exports);\n__exportStar(require(\"./ServiceId\"), exports);\n__exportStar(require(\"./EndpointId\"), exports);\n__exportStar(require(\"./TypeId\"), exports);\n__exportStar(require(\"./ErrorId\"), exports);\n__exportStar(require(\"./WebhookGroupId\"), exports);\n__exportStar(require(\"./WebhookId\"), exports);\n__exportStar(require(\"./WebSocketChannelId\"), exports);\n__exportStar(require(\"./FeatureId\"), exports);\n__exportStar(require(\"./Declaration\"), exports);\n__exportStar(require(\"./Availability\"), exports);\n__exportStar(require(\"./AvailabilityStatus\"), exports);\n__exportStar(require(\"./EndpointReference\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Constants\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Auth = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.Auth = {\n basic: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"basic\", _visit: function (visitor) {\n return FernIr.dynamic.Auth._visit(this, visitor);\n } });\n },\n bearer: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bearer\", _visit: function (visitor) {\n return FernIr.dynamic.Auth._visit(this, visitor);\n } });\n },\n header: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"header\", _visit: function (visitor) {\n return FernIr.dynamic.Auth._visit(this, visitor);\n } });\n },\n oauth: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"oauth\", _visit: function (visitor) {\n return FernIr.dynamic.Auth._visit(this, visitor);\n } });\n },\n inferred: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inferred\", _visit: function (visitor) {\n return FernIr.dynamic.Auth._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"basic\":\n return visitor.basic(value);\n case \"bearer\":\n return visitor.bearer(value);\n case \"header\":\n return visitor.header(value);\n case \"oauth\":\n return visitor.oauth(value);\n case \"inferred\":\n return visitor.inferred(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthValues = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.AuthValues = {\n basic: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"basic\", _visit: function (visitor) {\n return FernIr.dynamic.AuthValues._visit(this, visitor);\n } });\n },\n bearer: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bearer\", _visit: function (visitor) {\n return FernIr.dynamic.AuthValues._visit(this, visitor);\n } });\n },\n header: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"header\", _visit: function (visitor) {\n return FernIr.dynamic.AuthValues._visit(this, visitor);\n } });\n },\n oauth: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"oauth\", _visit: function (visitor) {\n return FernIr.dynamic.AuthValues._visit(this, visitor);\n } });\n },\n inferred: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inferred\", _visit: function (visitor) {\n return FernIr.dynamic.AuthValues._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"basic\":\n return visitor.basic(value);\n case \"bearer\":\n return visitor.bearer(value);\n case \"header\":\n return visitor.header(value);\n case \"oauth\":\n return visitor.oauth(value);\n case \"inferred\":\n return visitor.inferred(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Auth\"), exports);\n__exportStar(require(\"./AuthValues\"), exports);\n__exportStar(require(\"./BasicAuth\"), exports);\n__exportStar(require(\"./BasicAuthValues\"), exports);\n__exportStar(require(\"./InferredAuth\"), exports);\n__exportStar(require(\"./InferredAuthValues\"), exports);\n__exportStar(require(\"./BearerAuth\"), exports);\n__exportStar(require(\"./BearerAuthValues\"), exports);\n__exportStar(require(\"./HeaderAuth\"), exports);\n__exportStar(require(\"./HeaderAuthValues\"), exports);\n__exportStar(require(\"./OAuth\"), exports);\n__exportStar(require(\"./OAuthValues\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./WithDocs\"), exports);\n__exportStar(require(\"./FernFilepath\"), exports);\n__exportStar(require(\"./Name\"), exports);\n__exportStar(require(\"./NameAndWireValue\"), exports);\n__exportStar(require(\"./SafeAndUnsafeString\"), exports);\n__exportStar(require(\"./EndpointId\"), exports);\n__exportStar(require(\"./TypeId\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Declaration\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Request = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.Request = {\n body: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"body\", _visit: function (visitor) {\n return FernIr.dynamic.Request._visit(this, visitor);\n } });\n },\n inlined: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inlined\", _visit: function (visitor) {\n return FernIr.dynamic.Request._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"body\":\n return visitor.body(value);\n case \"inlined\":\n return visitor.inlined(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Response = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.Response = {\n json: () => {\n return {\n type: \"json\",\n _visit: function (visitor) {\n return FernIr.dynamic.Response._visit(this, visitor);\n },\n };\n },\n streaming: () => {\n return {\n type: \"streaming\",\n _visit: function (visitor) {\n return FernIr.dynamic.Response._visit(this, visitor);\n },\n };\n },\n streamParameter: () => {\n return {\n type: \"streamParameter\",\n _visit: function (visitor) {\n return FernIr.dynamic.Response._visit(this, visitor);\n },\n };\n },\n fileDownload: () => {\n return {\n type: \"fileDownload\",\n _visit: function (visitor) {\n return FernIr.dynamic.Response._visit(this, visitor);\n },\n };\n },\n text: () => {\n return {\n type: \"text\",\n _visit: function (visitor) {\n return FernIr.dynamic.Response._visit(this, visitor);\n },\n };\n },\n bytes: () => {\n return {\n type: \"bytes\",\n _visit: function (visitor) {\n return FernIr.dynamic.Response._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"json\":\n return visitor.json();\n case \"streaming\":\n return visitor.streaming();\n case \"streamParameter\":\n return visitor.streamParameter();\n case \"fileDownload\":\n return visitor.fileDownload();\n case \"text\":\n return visitor.text();\n case \"bytes\":\n return visitor.bytes();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InlinedRequestBody = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.InlinedRequestBody = {\n properties: (value) => {\n return {\n value: value,\n type: \"properties\",\n _visit: function (visitor) {\n return FernIr.dynamic.InlinedRequestBody._visit(this, visitor);\n },\n };\n },\n referenced: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"referenced\", _visit: function (visitor) {\n return FernIr.dynamic.InlinedRequestBody._visit(this, visitor);\n } });\n },\n fileUpload: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"fileUpload\", _visit: function (visitor) {\n return FernIr.dynamic.InlinedRequestBody._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"properties\":\n return visitor.properties(value.value);\n case \"referenced\":\n return visitor.referenced(value);\n case \"fileUpload\":\n return visitor.fileUpload(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReferencedRequestBodyType = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.ReferencedRequestBodyType = {\n bytes: () => {\n return {\n type: \"bytes\",\n _visit: function (visitor) {\n return FernIr.dynamic.ReferencedRequestBodyType._visit(this, visitor);\n },\n };\n },\n typeReference: (value) => {\n return {\n value: value,\n type: \"typeReference\",\n _visit: function (visitor) {\n return FernIr.dynamic.ReferencedRequestBodyType._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"bytes\":\n return visitor.bytes();\n case \"typeReference\":\n return visitor.typeReference(value.value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FileUploadRequestBodyProperty = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.FileUploadRequestBodyProperty = {\n file: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"file\", _visit: function (visitor) {\n return FernIr.dynamic.FileUploadRequestBodyProperty._visit(this, visitor);\n } });\n },\n fileArray: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"fileArray\", _visit: function (visitor) {\n return FernIr.dynamic.FileUploadRequestBodyProperty._visit(this, visitor);\n } });\n },\n bodyProperty: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bodyProperty\", _visit: function (visitor) {\n return FernIr.dynamic.FileUploadRequestBodyProperty._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"file\":\n return visitor.file(value);\n case \"fileArray\":\n return visitor.fileArray(value);\n case \"bodyProperty\":\n return visitor.bodyProperty(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./EndpointLocation\"), exports);\n__exportStar(require(\"./Endpoint\"), exports);\n__exportStar(require(\"./Request\"), exports);\n__exportStar(require(\"./Response\"), exports);\n__exportStar(require(\"./BodyRequest\"), exports);\n__exportStar(require(\"./InlinedRequest\"), exports);\n__exportStar(require(\"./InlinedRequestMetadata\"), exports);\n__exportStar(require(\"./InlinedRequestBody\"), exports);\n__exportStar(require(\"./ReferencedRequestBody\"), exports);\n__exportStar(require(\"./ReferencedRequestBodyType\"), exports);\n__exportStar(require(\"./FileUploadRequestBody\"), exports);\n__exportStar(require(\"./FileUploadRequestBodyProperty\"), exports);\n__exportStar(require(\"./EndpointExample\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Environments = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.Environments = {\n singleBaseUrl: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"singleBaseUrl\", _visit: function (visitor) {\n return FernIr.dynamic.Environments._visit(this, visitor);\n } });\n },\n multipleBaseUrls: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"multipleBaseUrls\", _visit: function (visitor) {\n return FernIr.dynamic.Environments._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"singleBaseUrl\":\n return visitor.singleBaseUrl(value);\n case \"multipleBaseUrls\":\n return visitor.multipleBaseUrls(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./EnvironmentId\"), exports);\n__exportStar(require(\"./EnvironmentBaseUrlId\"), exports);\n__exportStar(require(\"./EnvironmentUrl\"), exports);\n__exportStar(require(\"./EnvironmentsConfig\"), exports);\n__exportStar(require(\"./Environments\"), exports);\n__exportStar(require(\"./SingleBaseUrlEnvironments\"), exports);\n__exportStar(require(\"./SingleBaseUrlEnvironment\"), exports);\n__exportStar(require(\"./MultipleBaseUrlsEnvironments\"), exports);\n__exportStar(require(\"./MultipleBaseUrlsEnvironment\"), exports);\n__exportStar(require(\"./EnvironmentBaseUrlWithId\"), exports);\n__exportStar(require(\"./EnvironmentValues\"), exports);\n__exportStar(require(\"./MultipleEnvironmentUrlValues\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpMethod = void 0;\nexports.HttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n Put: \"PUT\",\n Patch: \"PATCH\",\n Delete: \"DELETE\",\n Head: \"HEAD\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.HttpMethod.Get:\n return visitor.get();\n case exports.HttpMethod.Post:\n return visitor.post();\n case exports.HttpMethod.Put:\n return visitor.put();\n case exports.HttpMethod.Patch:\n return visitor.patch();\n case exports.HttpMethod.Delete:\n return visitor.delete();\n case exports.HttpMethod.Head:\n return visitor.head();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./HttpMethod\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GeneratorOutputConfig = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.GeneratorOutputConfig = {\n publish: (value) => {\n return {\n value: value,\n type: \"publish\",\n _visit: function (visitor) {\n return FernIr.dynamic.GeneratorOutputConfig._visit(this, visitor);\n },\n };\n },\n local: () => {\n return {\n type: \"local\",\n _visit: function (visitor) {\n return FernIr.dynamic.GeneratorOutputConfig._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"publish\":\n return visitor.publish(value.value);\n case \"local\":\n return visitor.local();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PublishInfo = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.PublishInfo = {\n go: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"go\", _visit: function (visitor) {\n return FernIr.dynamic.PublishInfo._visit(this, visitor);\n } });\n },\n swift: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"swift\", _visit: function (visitor) {\n return FernIr.dynamic.PublishInfo._visit(this, visitor);\n } });\n },\n maven: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"maven\", _visit: function (visitor) {\n return FernIr.dynamic.PublishInfo._visit(this, visitor);\n } });\n },\n npm: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"npm\", _visit: function (visitor) {\n return FernIr.dynamic.PublishInfo._visit(this, visitor);\n } });\n },\n nuget: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"nuget\", _visit: function (visitor) {\n return FernIr.dynamic.PublishInfo._visit(this, visitor);\n } });\n },\n pypi: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"pypi\", _visit: function (visitor) {\n return FernIr.dynamic.PublishInfo._visit(this, visitor);\n } });\n },\n rubygems: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"rubygems\", _visit: function (visitor) {\n return FernIr.dynamic.PublishInfo._visit(this, visitor);\n } });\n },\n crates: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"crates\", _visit: function (visitor) {\n return FernIr.dynamic.PublishInfo._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"go\":\n return visitor.go(value);\n case \"swift\":\n return visitor.swift(value);\n case \"maven\":\n return visitor.maven(value);\n case \"npm\":\n return visitor.npm(value);\n case \"nuget\":\n return visitor.nuget(value);\n case \"pypi\":\n return visitor.pypi(value);\n case \"rubygems\":\n return visitor.rubygems(value);\n case \"crates\":\n return visitor.crates(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./DynamicIntermediateRepresentation\"), exports);\n__exportStar(require(\"./GeneratorConfig\"), exports);\n__exportStar(require(\"./GeneratorOutputConfig\"), exports);\n__exportStar(require(\"./PublishInfo\"), exports);\n__exportStar(require(\"./GoPublishInfo\"), exports);\n__exportStar(require(\"./SwiftPublishInfo\"), exports);\n__exportStar(require(\"./MavenPublishInfo\"), exports);\n__exportStar(require(\"./NpmPublishInfo\"), exports);\n__exportStar(require(\"./NugetPublishInfo\"), exports);\n__exportStar(require(\"./PypiPublishInfo\"), exports);\n__exportStar(require(\"./RubyGemsPublishInfo\"), exports);\n__exportStar(require(\"./CratesPublishInfo\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ErrorSeverity = void 0;\nexports.ErrorSeverity = {\n Critical: \"CRITICAL\",\n Warning: \"WARNING\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.ErrorSeverity.Critical:\n return visitor.critical();\n case exports.ErrorSeverity.Warning:\n return visitor.warning();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ErrorSeverity\"), exports);\n__exportStar(require(\"./Error_\"), exports);\n__exportStar(require(\"./Values\"), exports);\n__exportStar(require(\"./EndpointSnippetRequest\"), exports);\n__exportStar(require(\"./EndpointSnippetResponse\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NamedType = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.NamedType = {\n alias: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"alias\", _visit: function (visitor) {\n return FernIr.dynamic.NamedType._visit(this, visitor);\n } });\n },\n enum: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"enum\", _visit: function (visitor) {\n return FernIr.dynamic.NamedType._visit(this, visitor);\n } });\n },\n object: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"object\", _visit: function (visitor) {\n return FernIr.dynamic.NamedType._visit(this, visitor);\n } });\n },\n discriminatedUnion: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"discriminatedUnion\", _visit: function (visitor) {\n return FernIr.dynamic.NamedType._visit(this, visitor);\n } });\n },\n undiscriminatedUnion: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"undiscriminatedUnion\", _visit: function (visitor) {\n return FernIr.dynamic.NamedType._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"alias\":\n return visitor.alias(value);\n case \"enum\":\n return visitor.enum(value);\n case \"object\":\n return visitor.object(value);\n case \"discriminatedUnion\":\n return visitor.discriminatedUnion(value);\n case \"undiscriminatedUnion\":\n return visitor.undiscriminatedUnion(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeReference = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.TypeReference = {\n list: (value) => {\n return {\n value: value,\n type: \"list\",\n _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n },\n };\n },\n literal: (value) => {\n return {\n value: value,\n type: \"literal\",\n _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n },\n };\n },\n map: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"map\", _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n } });\n },\n named: (value) => {\n return {\n value: value,\n type: \"named\",\n _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n },\n };\n },\n nullable: (value) => {\n return {\n value: value,\n type: \"nullable\",\n _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n },\n };\n },\n optional: (value) => {\n return {\n value: value,\n type: \"optional\",\n _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n },\n };\n },\n primitive: (value) => {\n return {\n value: value,\n type: \"primitive\",\n _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n },\n };\n },\n set: (value) => {\n return {\n value: value,\n type: \"set\",\n _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n },\n };\n },\n unknown: () => {\n return {\n type: \"unknown\",\n _visit: function (visitor) {\n return FernIr.dynamic.TypeReference._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"list\":\n return visitor.list(value.value);\n case \"literal\":\n return visitor.literal(value.value);\n case \"map\":\n return visitor.map(value);\n case \"named\":\n return visitor.named(value.value);\n case \"nullable\":\n return visitor.nullable(value.value);\n case \"optional\":\n return visitor.optional(value.value);\n case \"primitive\":\n return visitor.primitive(value.value);\n case \"set\":\n return visitor.set(value.value);\n case \"unknown\":\n return visitor.unknown();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SingleDiscriminatedUnionType = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.SingleDiscriminatedUnionType = {\n samePropertiesAsObject: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"samePropertiesAsObject\", _visit: function (visitor) {\n return FernIr.dynamic.SingleDiscriminatedUnionType._visit(this, visitor);\n } });\n },\n singleProperty: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"singleProperty\", _visit: function (visitor) {\n return FernIr.dynamic.SingleDiscriminatedUnionType._visit(this, visitor);\n } });\n },\n noProperties: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"noProperties\", _visit: function (visitor) {\n return FernIr.dynamic.SingleDiscriminatedUnionType._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"samePropertiesAsObject\":\n return visitor.samePropertiesAsObject(value);\n case \"singleProperty\":\n return visitor.singleProperty(value);\n case \"noProperties\":\n return visitor.noProperties(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LiteralType = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.LiteralType = {\n boolean: (value) => {\n return {\n value: value,\n type: \"boolean\",\n _visit: function (visitor) {\n return FernIr.dynamic.LiteralType._visit(this, visitor);\n },\n };\n },\n string: (value) => {\n return {\n value: value,\n type: \"string\",\n _visit: function (visitor) {\n return FernIr.dynamic.LiteralType._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"boolean\":\n return visitor.boolean(value.value);\n case \"string\":\n return visitor.string(value.value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ObjectPropertyAccess = void 0;\nexports.ObjectPropertyAccess = {\n ReadOnly: \"READ_ONLY\",\n WriteOnly: \"WRITE_ONLY\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.ObjectPropertyAccess.ReadOnly:\n return visitor.readOnly();\n case exports.ObjectPropertyAccess.WriteOnly:\n return visitor.writeOnly();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PrimitiveTypeV1 = void 0;\nexports.PrimitiveTypeV1 = {\n Integer: \"INTEGER\",\n Long: \"LONG\",\n Uint: \"UINT\",\n Uint64: \"UINT_64\",\n Float: \"FLOAT\",\n Double: \"DOUBLE\",\n Boolean: \"BOOLEAN\",\n String: \"STRING\",\n Date: \"DATE\",\n DateTime: \"DATE_TIME\",\n Uuid: \"UUID\",\n Base64: \"BASE_64\",\n BigInteger: \"BIG_INTEGER\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.PrimitiveTypeV1.Integer:\n return visitor.integer();\n case exports.PrimitiveTypeV1.Long:\n return visitor.long();\n case exports.PrimitiveTypeV1.Uint:\n return visitor.uint();\n case exports.PrimitiveTypeV1.Uint64:\n return visitor.uint64();\n case exports.PrimitiveTypeV1.Float:\n return visitor.float();\n case exports.PrimitiveTypeV1.Double:\n return visitor.double();\n case exports.PrimitiveTypeV1.Boolean:\n return visitor.boolean();\n case exports.PrimitiveTypeV1.String:\n return visitor.string();\n case exports.PrimitiveTypeV1.Date:\n return visitor.date();\n case exports.PrimitiveTypeV1.DateTime:\n return visitor.dateTime();\n case exports.PrimitiveTypeV1.Uuid:\n return visitor.uuid();\n case exports.PrimitiveTypeV1.Base64:\n return visitor.base64();\n case exports.PrimitiveTypeV1.BigInteger:\n return visitor.bigInteger();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./NamedParameter\"), exports);\n__exportStar(require(\"./NamedType\"), exports);\n__exportStar(require(\"./TypeReference\"), exports);\n__exportStar(require(\"./AliasType\"), exports);\n__exportStar(require(\"./EnumType\"), exports);\n__exportStar(require(\"./MapType\"), exports);\n__exportStar(require(\"./ObjectType\"), exports);\n__exportStar(require(\"./DiscriminatedUnionType\"), exports);\n__exportStar(require(\"./SingleDiscriminatedUnionType\"), exports);\n__exportStar(require(\"./SingleDiscriminatedUnionTypeObject\"), exports);\n__exportStar(require(\"./SingleDiscriminatedUnionTypeSingleProperty\"), exports);\n__exportStar(require(\"./SingleDiscriminatedUnionTypeNoProperties\"), exports);\n__exportStar(require(\"./UndiscriminatedUnionType\"), exports);\n__exportStar(require(\"./LiteralType\"), exports);\n__exportStar(require(\"./ObjectPropertyAccess\"), exports);\n__exportStar(require(\"./PrimitiveTypeV1\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./VariableDeclaration\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.variables = exports.types = exports.snippets = exports.ir = exports.http = exports.environment = exports.endpoints = exports.declaration = exports.commons = exports.auth = void 0;\nexports.auth = __importStar(require(\"./auth\"));\n__exportStar(require(\"./auth/types\"), exports);\nexports.commons = __importStar(require(\"./commons\"));\n__exportStar(require(\"./commons/types\"), exports);\nexports.declaration = __importStar(require(\"./declaration\"));\n__exportStar(require(\"./declaration/types\"), exports);\nexports.endpoints = __importStar(require(\"./endpoints\"));\n__exportStar(require(\"./endpoints/types\"), exports);\nexports.environment = __importStar(require(\"./environment\"));\n__exportStar(require(\"./environment/types\"), exports);\nexports.http = __importStar(require(\"./http\"));\n__exportStar(require(\"./http/types\"), exports);\nexports.ir = __importStar(require(\"./ir\"));\n__exportStar(require(\"./ir/types\"), exports);\nexports.snippets = __importStar(require(\"./snippets\"));\n__exportStar(require(\"./snippets/types\"), exports);\nexports.types = __importStar(require(\"./types\"));\n__exportStar(require(\"./types/types\"), exports);\nexports.variables = __importStar(require(\"./variables\"));\n__exportStar(require(\"./variables/types\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./resources\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Environments = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.Environments = {\n singleBaseUrl: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"singleBaseUrl\", _visit: function (visitor) {\n return FernIr.Environments._visit(this, visitor);\n } });\n },\n multipleBaseUrls: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"multipleBaseUrls\", _visit: function (visitor) {\n return FernIr.Environments._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"singleBaseUrl\":\n return visitor.singleBaseUrl(value);\n case \"multipleBaseUrls\":\n return visitor.multipleBaseUrls(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./EnvironmentId\"), exports);\n__exportStar(require(\"./EnvironmentBaseUrlId\"), exports);\n__exportStar(require(\"./EnvironmentUrl\"), exports);\n__exportStar(require(\"./EnvironmentsConfig\"), exports);\n__exportStar(require(\"./Environments\"), exports);\n__exportStar(require(\"./SingleBaseUrlEnvironments\"), exports);\n__exportStar(require(\"./SingleBaseUrlEnvironment\"), exports);\n__exportStar(require(\"./MultipleBaseUrlsEnvironments\"), exports);\n__exportStar(require(\"./MultipleBaseUrlsEnvironment\"), exports);\n__exportStar(require(\"./EnvironmentBaseUrlWithId\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ErrorDeclarationDiscriminantValue = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ErrorDeclarationDiscriminantValue = {\n property: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"property\", _visit: function (visitor) {\n return FernIr.ErrorDeclarationDiscriminantValue._visit(this, visitor);\n } });\n },\n statusCode: () => {\n return {\n type: \"statusCode\",\n _visit: function (visitor) {\n return FernIr.ErrorDeclarationDiscriminantValue._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"property\":\n return visitor.property(value);\n case \"statusCode\":\n return visitor.statusCode();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ErrorDeclaration\"), exports);\n__exportStar(require(\"./ErrorDeclarationDiscriminantValue\"), exports);\n__exportStar(require(\"./DeclaredErrorName\"), exports);\n__exportStar(require(\"./ExampleError\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.V2HttpEndpointResponseBody = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.V2HttpEndpointResponseBody = {\n error: (value) => {\n return {\n value: value,\n type: \"error\",\n _visit: function (visitor) {\n return FernIr.V2HttpEndpointResponseBody._visit(this, visitor);\n },\n };\n },\n json: (value) => {\n return {\n value: value,\n type: \"json\",\n _visit: function (visitor) {\n return FernIr.V2HttpEndpointResponseBody._visit(this, visitor);\n },\n };\n },\n stream: (value) => {\n return {\n value: value,\n type: \"stream\",\n _visit: function (visitor) {\n return FernIr.V2HttpEndpointResponseBody._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"error\":\n return visitor.error(value.value);\n case \"json\":\n return visitor.json(value.value);\n case \"stream\":\n return visitor.stream(value.value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.V2EndpointLocationHttpMethod = void 0;\nexports.V2EndpointLocationHttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n Put: \"PUT\",\n Patch: \"PATCH\",\n Delete: \"DELETE\",\n Head: \"HEAD\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.V2EndpointLocationHttpMethod.Get:\n return visitor.get();\n case exports.V2EndpointLocationHttpMethod.Post:\n return visitor.post();\n case exports.V2EndpointLocationHttpMethod.Put:\n return visitor.put();\n case exports.V2EndpointLocationHttpMethod.Patch:\n return visitor.patch();\n case exports.V2EndpointLocationHttpMethod.Delete:\n return visitor.delete();\n case exports.V2EndpointLocationHttpMethod.Head:\n return visitor.head();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.V2AuthValues = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.V2AuthValues = {\n basic: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"basic\", _visit: function (visitor) {\n return FernIr.V2AuthValues._visit(this, visitor);\n } });\n },\n bearer: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bearer\", _visit: function (visitor) {\n return FernIr.V2AuthValues._visit(this, visitor);\n } });\n },\n header: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"header\", _visit: function (visitor) {\n return FernIr.V2AuthValues._visit(this, visitor);\n } });\n },\n oauth: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"oauth\", _visit: function (visitor) {\n return FernIr.V2AuthValues._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"basic\":\n return visitor.basic(value);\n case \"bearer\":\n return visitor.bearer(value);\n case \"header\":\n return visitor.header(value);\n case \"oauth\":\n return visitor.oauth(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./WithV2Examples\"), exports);\n__exportStar(require(\"./V2HttpEndpointExamples\"), exports);\n__exportStar(require(\"./V2HttpEndpointExample\"), exports);\n__exportStar(require(\"./V2HttpEndpointRequest\"), exports);\n__exportStar(require(\"./V2HttpEndpointResponse\"), exports);\n__exportStar(require(\"./V2HttpEndpointResponseBody\"), exports);\n__exportStar(require(\"./V2HttpEndpointCodeSample\"), exports);\n__exportStar(require(\"./V2WebSocketSessionExamples\"), exports);\n__exportStar(require(\"./V2WebSocketSessionExample\"), exports);\n__exportStar(require(\"./V2WebSocketMessageExample\"), exports);\n__exportStar(require(\"./V2WebhookExamples\"), exports);\n__exportStar(require(\"./V2WebhookExample\"), exports);\n__exportStar(require(\"./V2SchemaExamples\"), exports);\n__exportStar(require(\"./V2SchemaExample\"), exports);\n__exportStar(require(\"./V2ValueExamples\"), exports);\n__exportStar(require(\"./V2WebSocketEndpointLocation\"), exports);\n__exportStar(require(\"./V2EndpointLocation\"), exports);\n__exportStar(require(\"./V2EndpointLocationHttpMethod\"), exports);\n__exportStar(require(\"./V2EnvironmentValues\"), exports);\n__exportStar(require(\"./MultipleEnvironmentUrlValues\"), exports);\n__exportStar(require(\"./V2AuthValues\"), exports);\n__exportStar(require(\"./BasicAuthValues\"), exports);\n__exportStar(require(\"./BearerAuthValues\"), exports);\n__exportStar(require(\"./HeaderAuthValues\"), exports);\n__exportStar(require(\"./OAuthValues\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LicenseConfig = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.LicenseConfig = {\n basic: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"basic\", _visit: function (visitor) {\n return FernIr.generatorExec.LicenseConfig._visit(this, visitor);\n } });\n },\n custom: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"custom\", _visit: function (visitor) {\n return FernIr.generatorExec.LicenseConfig._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"basic\":\n return visitor.basic(value);\n case \"custom\":\n return visitor.custom(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LicenseId = void 0;\nexports.LicenseId = {\n Mit: \"MIT\",\n Apache2: \"Apache-2.0\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.LicenseId.Mit:\n return visitor.mit();\n case exports.LicenseId.Apache2:\n return visitor.apache2();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutputMode = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.OutputMode = {\n publish: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"publish\", _visit: function (visitor) {\n return FernIr.generatorExec.OutputMode._visit(this, visitor);\n } });\n },\n downloadFiles: () => {\n return {\n type: \"downloadFiles\",\n _visit: function (visitor) {\n return FernIr.generatorExec.OutputMode._visit(this, visitor);\n },\n };\n },\n github: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"github\", _visit: function (visitor) {\n return FernIr.generatorExec.OutputMode._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"publish\":\n return visitor.publish(value);\n case \"downloadFiles\":\n return visitor.downloadFiles();\n case \"github\":\n return visitor.github(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GithubPublishInfo = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.GithubPublishInfo = {\n npm: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"npm\", _visit: function (visitor) {\n return FernIr.generatorExec.GithubPublishInfo._visit(this, visitor);\n } });\n },\n maven: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"maven\", _visit: function (visitor) {\n return FernIr.generatorExec.GithubPublishInfo._visit(this, visitor);\n } });\n },\n postman: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"postman\", _visit: function (visitor) {\n return FernIr.generatorExec.GithubPublishInfo._visit(this, visitor);\n } });\n },\n pypi: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"pypi\", _visit: function (visitor) {\n return FernIr.generatorExec.GithubPublishInfo._visit(this, visitor);\n } });\n },\n rubygems: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"rubygems\", _visit: function (visitor) {\n return FernIr.generatorExec.GithubPublishInfo._visit(this, visitor);\n } });\n },\n nuget: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"nuget\", _visit: function (visitor) {\n return FernIr.generatorExec.GithubPublishInfo._visit(this, visitor);\n } });\n },\n crates: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"crates\", _visit: function (visitor) {\n return FernIr.generatorExec.GithubPublishInfo._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"npm\":\n return visitor.npm(value);\n case \"maven\":\n return visitor.maven(value);\n case \"postman\":\n return visitor.postman(value);\n case \"pypi\":\n return visitor.pypi(value);\n case \"rubygems\":\n return visitor.rubygems(value);\n case \"nuget\":\n return visitor.nuget(value);\n case \"crates\":\n return visitor.crates(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GeneratorPublishTarget = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.GeneratorPublishTarget = {\n maven: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"maven\", _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorPublishTarget._visit(this, visitor);\n } });\n },\n npm: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"npm\", _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorPublishTarget._visit(this, visitor);\n } });\n },\n pypi: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"pypi\", _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorPublishTarget._visit(this, visitor);\n } });\n },\n postman: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"postman\", _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorPublishTarget._visit(this, visitor);\n } });\n },\n rubygems: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"rubygems\", _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorPublishTarget._visit(this, visitor);\n } });\n },\n nuget: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"nuget\", _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorPublishTarget._visit(this, visitor);\n } });\n },\n crates: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"crates\", _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorPublishTarget._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"maven\":\n return visitor.maven(value);\n case \"npm\":\n return visitor.npm(value);\n case \"pypi\":\n return visitor.pypi(value);\n case \"postman\":\n return visitor.postman(value);\n case \"rubygems\":\n return visitor.rubygems(value);\n case \"nuget\":\n return visitor.nuget(value);\n case \"crates\":\n return visitor.crates(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GeneratorEnvironment = void 0;\nconst FernIr = __importStar(require(\"../../../../../index\"));\nexports.GeneratorEnvironment = {\n local: () => {\n return {\n type: \"local\",\n _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorEnvironment._visit(this, visitor);\n },\n };\n },\n remote: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"remote\", _visit: function (visitor) {\n return FernIr.generatorExec.GeneratorEnvironment._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"local\":\n return visitor.local();\n case \"remote\":\n return visitor.remote(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./GeneratorConfig\"), exports);\n__exportStar(require(\"./LicenseConfig\"), exports);\n__exportStar(require(\"./BasicLicense\"), exports);\n__exportStar(require(\"./LicenseId\"), exports);\n__exportStar(require(\"./CustomLicense\"), exports);\n__exportStar(require(\"./GeneratorOutputConfig\"), exports);\n__exportStar(require(\"./OutputMode\"), exports);\n__exportStar(require(\"./GeneratorPublishConfig\"), exports);\n__exportStar(require(\"./GithubOutputMode\"), exports);\n__exportStar(require(\"./OutputMetadataAuthor\"), exports);\n__exportStar(require(\"./OutputMetadata\"), exports);\n__exportStar(require(\"./PublishingMetadata\"), exports);\n__exportStar(require(\"./GithubPublishInfo\"), exports);\n__exportStar(require(\"./EnvironmentVariable\"), exports);\n__exportStar(require(\"./NpmGithubPublishInfo\"), exports);\n__exportStar(require(\"./MavenCentralSignatureGithubInfo\"), exports);\n__exportStar(require(\"./MavenGithubPublishInfo\"), exports);\n__exportStar(require(\"./PostmanGithubPublishInfo\"), exports);\n__exportStar(require(\"./PypiMetadata\"), exports);\n__exportStar(require(\"./PypiGithubPublishInfo\"), exports);\n__exportStar(require(\"./RubyGemsGithubPublishInfo\"), exports);\n__exportStar(require(\"./NugetGithubPublishInfo\"), exports);\n__exportStar(require(\"./CratesGithubPublishInfo\"), exports);\n__exportStar(require(\"./GeneratorRegistriesConfig\"), exports);\n__exportStar(require(\"./MavenCentralSignature\"), exports);\n__exportStar(require(\"./MavenRegistryConfig\"), exports);\n__exportStar(require(\"./NpmRegistryConfig\"), exports);\n__exportStar(require(\"./GeneratorRegistriesConfigV2\"), exports);\n__exportStar(require(\"./GeneratorPublishTarget\"), exports);\n__exportStar(require(\"./MavenRegistryConfigV2\"), exports);\n__exportStar(require(\"./NpmRegistryConfigV2\"), exports);\n__exportStar(require(\"./PypiRegistryConfig\"), exports);\n__exportStar(require(\"./RubyGemsRegistryConfig\"), exports);\n__exportStar(require(\"./NugetRegistryConfig\"), exports);\n__exportStar(require(\"./CratesRegistryConfig\"), exports);\n__exportStar(require(\"./PostmanConfig\"), exports);\n__exportStar(require(\"./GeneratorEnvironment\"), exports);\n__exportStar(require(\"./RemoteGeneratorEnvironment\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.config = void 0;\nexports.config = __importStar(require(\"./config\"));\n__exportStar(require(\"./config/types\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./resources\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transport = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.Transport = {\n http: () => {\n return {\n type: \"http\",\n _visit: function (visitor) {\n return FernIr.Transport._visit(this, visitor);\n },\n };\n },\n grpc: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"grpc\", _visit: function (visitor) {\n return FernIr.Transport._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"http\":\n return visitor.http();\n case \"grpc\":\n return visitor.grpc(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpEndpointSource = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.HttpEndpointSource = {\n proto: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"proto\", _visit: function (visitor) {\n return FernIr.HttpEndpointSource._visit(this, visitor);\n } });\n },\n openapi: () => {\n return {\n type: \"openapi\",\n _visit: function (visitor) {\n return FernIr.HttpEndpointSource._visit(this, visitor);\n },\n };\n },\n openrpc: () => {\n return {\n type: \"openrpc\",\n _visit: function (visitor) {\n return FernIr.HttpEndpointSource._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"proto\":\n return visitor.proto(value);\n case \"openapi\":\n return visitor.openapi();\n case \"openrpc\":\n return visitor.openrpc();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpMethod = void 0;\nexports.HttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n Put: \"PUT\",\n Patch: \"PATCH\",\n Delete: \"DELETE\",\n Head: \"HEAD\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.HttpMethod.Get:\n return visitor.get();\n case exports.HttpMethod.Post:\n return visitor.post();\n case exports.HttpMethod.Put:\n return visitor.put();\n case exports.HttpMethod.Patch:\n return visitor.patch();\n case exports.HttpMethod.Delete:\n return visitor.delete();\n case exports.HttpMethod.Head:\n return visitor.head();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathParameterLocation = void 0;\nexports.PathParameterLocation = {\n Root: \"ROOT\",\n Service: \"SERVICE\",\n Endpoint: \"ENDPOINT\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.PathParameterLocation.Root:\n return visitor.root();\n case exports.PathParameterLocation.Service:\n return visitor.service();\n case exports.PathParameterLocation.Endpoint:\n return visitor.endpoint();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpRequestBody = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.HttpRequestBody = {\n inlinedRequestBody: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inlinedRequestBody\", _visit: function (visitor) {\n return FernIr.HttpRequestBody._visit(this, visitor);\n } });\n },\n reference: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"reference\", _visit: function (visitor) {\n return FernIr.HttpRequestBody._visit(this, visitor);\n } });\n },\n fileUpload: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"fileUpload\", _visit: function (visitor) {\n return FernIr.HttpRequestBody._visit(this, visitor);\n } });\n },\n bytes: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bytes\", _visit: function (visitor) {\n return FernIr.HttpRequestBody._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"inlinedRequestBody\":\n return visitor.inlinedRequestBody(value);\n case \"reference\":\n return visitor.reference(value);\n case \"fileUpload\":\n return visitor.fileUpload(value);\n case \"bytes\":\n return visitor.bytes(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FileUploadRequestProperty = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.FileUploadRequestProperty = {\n file: (value) => {\n return {\n value: value,\n type: \"file\",\n _visit: function (visitor) {\n return FernIr.FileUploadRequestProperty._visit(this, visitor);\n },\n };\n },\n bodyProperty: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bodyProperty\", _visit: function (visitor) {\n return FernIr.FileUploadRequestProperty._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"file\":\n return visitor.file(value.value);\n case \"bodyProperty\":\n return visitor.bodyProperty(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FileUploadBodyPropertyEncoding = void 0;\nexports.FileUploadBodyPropertyEncoding = {\n Exploded: \"exploded\",\n Json: \"json\",\n Form: \"form\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.FileUploadBodyPropertyEncoding.Exploded:\n return visitor.exploded();\n case exports.FileUploadBodyPropertyEncoding.Json:\n return visitor.json();\n case exports.FileUploadBodyPropertyEncoding.Form:\n return visitor.form();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FileProperty = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.FileProperty = {\n file: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"file\", _visit: function (visitor) {\n return FernIr.FileProperty._visit(this, visitor);\n } });\n },\n fileArray: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"fileArray\", _visit: function (visitor) {\n return FernIr.FileProperty._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"file\":\n return visitor.file(value);\n case \"fileArray\":\n return visitor.fileArray(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SdkRequestBodyType = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.SdkRequestBodyType = {\n typeReference: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"typeReference\", _visit: function (visitor) {\n return FernIr.SdkRequestBodyType._visit(this, visitor);\n } });\n },\n bytes: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bytes\", _visit: function (visitor) {\n return FernIr.SdkRequestBodyType._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"typeReference\":\n return visitor.typeReference(value);\n case \"bytes\":\n return visitor.bytes(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SdkRequestShape = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.SdkRequestShape = {\n justRequestBody: (value) => {\n return {\n value: value,\n type: \"justRequestBody\",\n _visit: function (visitor) {\n return FernIr.SdkRequestShape._visit(this, visitor);\n },\n };\n },\n wrapper: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"wrapper\", _visit: function (visitor) {\n return FernIr.SdkRequestShape._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"justRequestBody\":\n return visitor.justRequestBody(value.value);\n case \"wrapper\":\n return visitor.wrapper(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NonStreamHttpResponseBody = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.NonStreamHttpResponseBody = {\n json: (value) => {\n return {\n value: value,\n type: \"json\",\n _visit: function (visitor) {\n return FernIr.NonStreamHttpResponseBody._visit(this, visitor);\n },\n };\n },\n fileDownload: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"fileDownload\", _visit: function (visitor) {\n return FernIr.NonStreamHttpResponseBody._visit(this, visitor);\n } });\n },\n text: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"text\", _visit: function (visitor) {\n return FernIr.NonStreamHttpResponseBody._visit(this, visitor);\n } });\n },\n bytes: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bytes\", _visit: function (visitor) {\n return FernIr.NonStreamHttpResponseBody._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"json\":\n return visitor.json(value.value);\n case \"fileDownload\":\n return visitor.fileDownload(value);\n case \"text\":\n return visitor.text(value);\n case \"bytes\":\n return visitor.bytes(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpResponseBody = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.HttpResponseBody = {\n json: (value) => {\n return {\n value: value,\n type: \"json\",\n _visit: function (visitor) {\n return FernIr.HttpResponseBody._visit(this, visitor);\n },\n };\n },\n fileDownload: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"fileDownload\", _visit: function (visitor) {\n return FernIr.HttpResponseBody._visit(this, visitor);\n } });\n },\n text: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"text\", _visit: function (visitor) {\n return FernIr.HttpResponseBody._visit(this, visitor);\n } });\n },\n bytes: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bytes\", _visit: function (visitor) {\n return FernIr.HttpResponseBody._visit(this, visitor);\n } });\n },\n streaming: (value) => {\n return {\n value: value,\n type: \"streaming\",\n _visit: function (visitor) {\n return FernIr.HttpResponseBody._visit(this, visitor);\n },\n };\n },\n streamParameter: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"streamParameter\", _visit: function (visitor) {\n return FernIr.HttpResponseBody._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"json\":\n return visitor.json(value.value);\n case \"fileDownload\":\n return visitor.fileDownload(value);\n case \"text\":\n return visitor.text(value);\n case \"bytes\":\n return visitor.bytes(value);\n case \"streaming\":\n return visitor.streaming(value.value);\n case \"streamParameter\":\n return visitor.streamParameter(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JsonResponse = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.JsonResponse = {\n response: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"response\", _visit: function (visitor) {\n return FernIr.JsonResponse._visit(this, visitor);\n } });\n },\n nestedPropertyAsResponse: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"nestedPropertyAsResponse\", _visit: function (visitor) {\n return FernIr.JsonResponse._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"response\":\n return visitor.response(value);\n case \"nestedPropertyAsResponse\":\n return visitor.nestedPropertyAsResponse(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingResponse = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.StreamingResponse = {\n json: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"json\", _visit: function (visitor) {\n return FernIr.StreamingResponse._visit(this, visitor);\n } });\n },\n text: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"text\", _visit: function (visitor) {\n return FernIr.StreamingResponse._visit(this, visitor);\n } });\n },\n sse: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"sse\", _visit: function (visitor) {\n return FernIr.StreamingResponse._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"json\":\n return visitor.json(value);\n case \"text\":\n return visitor.text(value);\n case \"sse\":\n return visitor.sse(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pagination = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.Pagination = {\n cursor: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"cursor\", _visit: function (visitor) {\n return FernIr.Pagination._visit(this, visitor);\n } });\n },\n offset: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"offset\", _visit: function (visitor) {\n return FernIr.Pagination._visit(this, visitor);\n } });\n },\n custom: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"custom\", _visit: function (visitor) {\n return FernIr.Pagination._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"cursor\":\n return visitor.cursor(value);\n case \"offset\":\n return visitor.offset(value);\n case \"custom\":\n return visitor.custom(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestPropertyValue = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.RequestPropertyValue = {\n query: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"query\", _visit: function (visitor) {\n return FernIr.RequestPropertyValue._visit(this, visitor);\n } });\n },\n body: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"body\", _visit: function (visitor) {\n return FernIr.RequestPropertyValue._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"query\":\n return visitor.query(value);\n case \"body\":\n return visitor.body(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleCodeSample = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleCodeSample = {\n language: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"language\", _visit: function (visitor) {\n return FernIr.ExampleCodeSample._visit(this, visitor);\n } });\n },\n sdk: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"sdk\", _visit: function (visitor) {\n return FernIr.ExampleCodeSample._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"language\":\n return visitor.language(value);\n case \"sdk\":\n return visitor.sdk(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SupportedSdkLanguage = void 0;\nexports.SupportedSdkLanguage = {\n Curl: \"curl\",\n Python: \"python\",\n Javascript: \"javascript\",\n Typescript: \"typescript\",\n Go: \"go\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Java: \"java\",\n Php: \"php\",\n Rust: \"rust\",\n Swift: \"swift\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.SupportedSdkLanguage.Curl:\n return visitor.curl();\n case exports.SupportedSdkLanguage.Python:\n return visitor.python();\n case exports.SupportedSdkLanguage.Javascript:\n return visitor.javascript();\n case exports.SupportedSdkLanguage.Typescript:\n return visitor.typescript();\n case exports.SupportedSdkLanguage.Go:\n return visitor.go();\n case exports.SupportedSdkLanguage.Ruby:\n return visitor.ruby();\n case exports.SupportedSdkLanguage.Csharp:\n return visitor.csharp();\n case exports.SupportedSdkLanguage.Java:\n return visitor.java();\n case exports.SupportedSdkLanguage.Php:\n return visitor.php();\n case exports.SupportedSdkLanguage.Rust:\n return visitor.rust();\n case exports.SupportedSdkLanguage.Swift:\n return visitor.swift();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleQueryParameterShape = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleQueryParameterShape = {\n single: () => {\n return {\n type: \"single\",\n _visit: function (visitor) {\n return FernIr.ExampleQueryParameterShape._visit(this, visitor);\n },\n };\n },\n exploded: () => {\n return {\n type: \"exploded\",\n _visit: function (visitor) {\n return FernIr.ExampleQueryParameterShape._visit(this, visitor);\n },\n };\n },\n commaSeparated: () => {\n return {\n type: \"commaSeparated\",\n _visit: function (visitor) {\n return FernIr.ExampleQueryParameterShape._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"single\":\n return visitor.single();\n case \"exploded\":\n return visitor.exploded();\n case \"commaSeparated\":\n return visitor.commaSeparated();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleRequestBody = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleRequestBody = {\n inlinedRequestBody: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inlinedRequestBody\", _visit: function (visitor) {\n return FernIr.ExampleRequestBody._visit(this, visitor);\n } });\n },\n reference: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"reference\", _visit: function (visitor) {\n return FernIr.ExampleRequestBody._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"inlinedRequestBody\":\n return visitor.inlinedRequestBody(value);\n case \"reference\":\n return visitor.reference(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleResponse = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleResponse = {\n ok: (value) => {\n return {\n value: value,\n type: \"ok\",\n _visit: function (visitor) {\n return FernIr.ExampleResponse._visit(this, visitor);\n },\n };\n },\n error: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"error\", _visit: function (visitor) {\n return FernIr.ExampleResponse._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"ok\":\n return visitor.ok(value.value);\n case \"error\":\n return visitor.error(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleEndpointSuccessResponse = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleEndpointSuccessResponse = {\n body: (value) => {\n return {\n value: value,\n type: \"body\",\n _visit: function (visitor) {\n return FernIr.ExampleEndpointSuccessResponse._visit(this, visitor);\n },\n };\n },\n stream: (value) => {\n return {\n value: value,\n type: \"stream\",\n _visit: function (visitor) {\n return FernIr.ExampleEndpointSuccessResponse._visit(this, visitor);\n },\n };\n },\n sse: (value) => {\n return {\n value: value,\n type: \"sse\",\n _visit: function (visitor) {\n return FernIr.ExampleEndpointSuccessResponse._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"body\":\n return visitor.body(value.value);\n case \"stream\":\n return visitor.stream(value.value);\n case \"sse\":\n return visitor.sse(value.value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./HttpService\"), exports);\n__exportStar(require(\"./DeclaredServiceName\"), exports);\n__exportStar(require(\"./Transport\"), exports);\n__exportStar(require(\"./GrpcTransport\"), exports);\n__exportStar(require(\"./HttpEndpoint\"), exports);\n__exportStar(require(\"./HttpEndpointSecurityItem\"), exports);\n__exportStar(require(\"./RetriesConfiguration\"), exports);\n__exportStar(require(\"./RetriesDisabledSchema\"), exports);\n__exportStar(require(\"./HttpEndpointSource\"), exports);\n__exportStar(require(\"./ProtoSourceInfo\"), exports);\n__exportStar(require(\"./EndpointName\"), exports);\n__exportStar(require(\"./HttpPath\"), exports);\n__exportStar(require(\"./HttpPathPart\"), exports);\n__exportStar(require(\"./HttpMethod\"), exports);\n__exportStar(require(\"./HttpHeader\"), exports);\n__exportStar(require(\"./PathParameter\"), exports);\n__exportStar(require(\"./PathParameterLocation\"), exports);\n__exportStar(require(\"./QueryParameter\"), exports);\n__exportStar(require(\"./HttpRequestBody\"), exports);\n__exportStar(require(\"./V2HttpRequestBodies\"), exports);\n__exportStar(require(\"./InlinedRequestBody\"), exports);\n__exportStar(require(\"./InlinedRequestBodyProperty\"), exports);\n__exportStar(require(\"./FileUploadRequest\"), exports);\n__exportStar(require(\"./BytesRequest\"), exports);\n__exportStar(require(\"./FileUploadRequestProperty\"), exports);\n__exportStar(require(\"./FileUploadBodyProperty\"), exports);\n__exportStar(require(\"./FileUploadBodyPropertyEncoding\"), exports);\n__exportStar(require(\"./FileProperty\"), exports);\n__exportStar(require(\"./FilePropertySingle\"), exports);\n__exportStar(require(\"./FilePropertyArray\"), exports);\n__exportStar(require(\"./HttpRequestBodyReference\"), exports);\n__exportStar(require(\"./SdkRequestBodyType\"), exports);\n__exportStar(require(\"./SdkRequest\"), exports);\n__exportStar(require(\"./SdkRequestShape\"), exports);\n__exportStar(require(\"./SdkRequestWrapper\"), exports);\n__exportStar(require(\"./HttpResponse\"), exports);\n__exportStar(require(\"./V2HttpResponses\"), exports);\n__exportStar(require(\"./NonStreamHttpResponseBody\"), exports);\n__exportStar(require(\"./HttpResponseBody\"), exports);\n__exportStar(require(\"./JsonResponse\"), exports);\n__exportStar(require(\"./JsonResponseBody\"), exports);\n__exportStar(require(\"./JsonResponseBodyWithProperty\"), exports);\n__exportStar(require(\"./FileDownloadResponse\"), exports);\n__exportStar(require(\"./TextResponse\"), exports);\n__exportStar(require(\"./BytesResponse\"), exports);\n__exportStar(require(\"./StreamParameterResponse\"), exports);\n__exportStar(require(\"./StreamingResponse\"), exports);\n__exportStar(require(\"./TextStreamChunk\"), exports);\n__exportStar(require(\"./JsonStreamChunk\"), exports);\n__exportStar(require(\"./SseStreamChunk\"), exports);\n__exportStar(require(\"./ResponseErrors\"), exports);\n__exportStar(require(\"./ResponseError\"), exports);\n__exportStar(require(\"./Pagination\"), exports);\n__exportStar(require(\"./CursorPagination\"), exports);\n__exportStar(require(\"./OffsetPagination\"), exports);\n__exportStar(require(\"./CustomPagination\"), exports);\n__exportStar(require(\"./RequestPropertyValue\"), exports);\n__exportStar(require(\"./PropertyPathItem\"), exports);\n__exportStar(require(\"./RequestProperty\"), exports);\n__exportStar(require(\"./ResponseProperty\"), exports);\n__exportStar(require(\"./AutogeneratedEndpointExample\"), exports);\n__exportStar(require(\"./UserSpecifiedEndpointExample\"), exports);\n__exportStar(require(\"./ExampleEndpointCall\"), exports);\n__exportStar(require(\"./ExampleCodeSample\"), exports);\n__exportStar(require(\"./ExampleCodeSampleLanguage\"), exports);\n__exportStar(require(\"./ExampleCodeSampleSdk\"), exports);\n__exportStar(require(\"./SupportedSdkLanguage\"), exports);\n__exportStar(require(\"./ExamplePathParameter\"), exports);\n__exportStar(require(\"./ExampleQueryParameter\"), exports);\n__exportStar(require(\"./ExampleQueryParameterShape\"), exports);\n__exportStar(require(\"./ExampleHeader\"), exports);\n__exportStar(require(\"./ExampleRequestBody\"), exports);\n__exportStar(require(\"./ExampleInlinedRequestBody\"), exports);\n__exportStar(require(\"./ExampleInlinedRequestBodyExtraProperty\"), exports);\n__exportStar(require(\"./ExampleInlinedRequestBodyProperty\"), exports);\n__exportStar(require(\"./ExampleResponse\"), exports);\n__exportStar(require(\"./ExampleEndpointSuccessResponse\"), exports);\n__exportStar(require(\"./ExampleServerSideEvent\"), exports);\n__exportStar(require(\"./ExampleEndpointErrorResponse\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleStyle = void 0;\nexports.ExampleStyle = {\n Minimal: \"minimal\",\n Comprehensive: \"comprehensive\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.ExampleStyle.Minimal:\n return visitor.minimal();\n case exports.ExampleStyle.Comprehensive:\n return visitor.comprehensive();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiDefinitionSource = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ApiDefinitionSource = {\n proto: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"proto\", _visit: function (visitor) {\n return FernIr.ApiDefinitionSource._visit(this, visitor);\n } });\n },\n openapi: () => {\n return {\n type: \"openapi\",\n _visit: function (visitor) {\n return FernIr.ApiDefinitionSource._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"proto\":\n return visitor.proto(value);\n case \"openapi\":\n return visitor.openapi();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiVersionScheme = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ApiVersionScheme = {\n header: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"header\", _visit: function (visitor) {\n return FernIr.ApiVersionScheme._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"header\":\n return visitor.header(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ErrorDiscriminationStrategy = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ErrorDiscriminationStrategy = {\n statusCode: () => {\n return {\n type: \"statusCode\",\n _visit: function (visitor) {\n return FernIr.ErrorDiscriminationStrategy._visit(this, visitor);\n },\n };\n },\n property: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"property\", _visit: function (visitor) {\n return FernIr.ErrorDiscriminationStrategy._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"statusCode\":\n return visitor.statusCode();\n case \"property\":\n return visitor.property(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./IntermediateRepresentation\"), exports);\n__exportStar(require(\"./GenerationMetadata\"), exports);\n__exportStar(require(\"./ReadmeConfig\"), exports);\n__exportStar(require(\"./ExampleStyle\"), exports);\n__exportStar(require(\"./ReadmeCustomSection\"), exports);\n__exportStar(require(\"./SourceConfig\"), exports);\n__exportStar(require(\"./ApiDefinitionSourceId\"), exports);\n__exportStar(require(\"./ApiDefinitionSource\"), exports);\n__exportStar(require(\"./ProtoSource\"), exports);\n__exportStar(require(\"./SdkConfig\"), exports);\n__exportStar(require(\"./PlatformHeaders\"), exports);\n__exportStar(require(\"./UserAgent\"), exports);\n__exportStar(require(\"./ApiVersionScheme\"), exports);\n__exportStar(require(\"./HeaderApiVersionScheme\"), exports);\n__exportStar(require(\"./ErrorDiscriminationStrategy\"), exports);\n__exportStar(require(\"./ErrorDiscriminationByPropertyStrategy\"), exports);\n__exportStar(require(\"./Package\"), exports);\n__exportStar(require(\"./Subpackage\"), exports);\n__exportStar(require(\"./PackageNavigationConfig\"), exports);\n__exportStar(require(\"./ServiceTypeReferenceInfo\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProtobufType = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ProtobufType = {\n wellKnown: (value) => {\n return {\n value: value,\n type: \"wellKnown\",\n _visit: function (visitor) {\n return FernIr.ProtobufType._visit(this, visitor);\n },\n };\n },\n userDefined: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"userDefined\", _visit: function (visitor) {\n return FernIr.ProtobufType._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"wellKnown\":\n return visitor.wellKnown(value.value);\n case \"userDefined\":\n return visitor.userDefined(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WellKnownProtobufType = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.WellKnownProtobufType = {\n any: () => {\n return {\n type: \"any\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n api: () => {\n return {\n type: \"api\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n boolValue: () => {\n return {\n type: \"boolValue\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n bytesValue: () => {\n return {\n type: \"bytesValue\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n doubleValue: () => {\n return {\n type: \"doubleValue\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n duration: () => {\n return {\n type: \"duration\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n empty: () => {\n return {\n type: \"empty\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n enum: () => {\n return {\n type: \"enum\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n enumValue: () => {\n return {\n type: \"enumValue\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n field: () => {\n return {\n type: \"field\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n fieldCardinality: () => {\n return {\n type: \"fieldCardinality\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n fieldKind: () => {\n return {\n type: \"fieldKind\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n fieldMask: () => {\n return {\n type: \"fieldMask\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n floatValue: () => {\n return {\n type: \"floatValue\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n int32Value: () => {\n return {\n type: \"int32Value\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n int64Value: () => {\n return {\n type: \"int64Value\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n listValue: () => {\n return {\n type: \"listValue\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n method: () => {\n return {\n type: \"method\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n mixin: () => {\n return {\n type: \"mixin\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n nullValue: () => {\n return {\n type: \"nullValue\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n option: () => {\n return {\n type: \"option\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n sourceContext: () => {\n return {\n type: \"sourceContext\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n stringValue: () => {\n return {\n type: \"stringValue\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n struct: () => {\n return {\n type: \"struct\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n syntax: () => {\n return {\n type: \"syntax\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n timestamp: () => {\n return {\n type: \"timestamp\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n type: () => {\n return {\n type: \"type\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n uint32Value: () => {\n return {\n type: \"uint32Value\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n uint64Value: () => {\n return {\n type: \"uint64Value\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n value: () => {\n return {\n type: \"value\",\n _visit: function (visitor) {\n return FernIr.WellKnownProtobufType._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"any\":\n return visitor.any();\n case \"api\":\n return visitor.api();\n case \"boolValue\":\n return visitor.boolValue();\n case \"bytesValue\":\n return visitor.bytesValue();\n case \"doubleValue\":\n return visitor.doubleValue();\n case \"duration\":\n return visitor.duration();\n case \"empty\":\n return visitor.empty();\n case \"enum\":\n return visitor.enum();\n case \"enumValue\":\n return visitor.enumValue();\n case \"field\":\n return visitor.field();\n case \"fieldCardinality\":\n return visitor.fieldCardinality();\n case \"fieldKind\":\n return visitor.fieldKind();\n case \"fieldMask\":\n return visitor.fieldMask();\n case \"floatValue\":\n return visitor.floatValue();\n case \"int32Value\":\n return visitor.int32Value();\n case \"int64Value\":\n return visitor.int64Value();\n case \"listValue\":\n return visitor.listValue();\n case \"method\":\n return visitor.method();\n case \"mixin\":\n return visitor.mixin();\n case \"nullValue\":\n return visitor.nullValue();\n case \"option\":\n return visitor.option();\n case \"sourceContext\":\n return visitor.sourceContext();\n case \"stringValue\":\n return visitor.stringValue();\n case \"struct\":\n return visitor.struct();\n case \"syntax\":\n return visitor.syntax();\n case \"timestamp\":\n return visitor.timestamp();\n case \"type\":\n return visitor.type();\n case \"uint32Value\":\n return visitor.uint32Value();\n case \"uint64Value\":\n return visitor.uint64Value();\n case \"value\":\n return visitor.value();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProtobufMethodType = void 0;\nexports.ProtobufMethodType = {\n Unary: \"UNARY\",\n ClientStream: \"CLIENT_STREAM\",\n ServerStream: \"SERVER_STREAM\",\n BidirectionalStream: \"BIDIRECTIONAL_STREAM\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.ProtobufMethodType.Unary:\n return visitor.unary();\n case exports.ProtobufMethodType.ClientStream:\n return visitor.clientStream();\n case exports.ProtobufMethodType.ServerStream:\n return visitor.serverStream();\n case exports.ProtobufMethodType.BidirectionalStream:\n return visitor.bidirectionalStream();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ProtobufService\"), exports);\n__exportStar(require(\"./ProtobufType\"), exports);\n__exportStar(require(\"./UserDefinedProtobufType\"), exports);\n__exportStar(require(\"./WellKnownProtobufType\"), exports);\n__exportStar(require(\"./ProtobufFile\"), exports);\n__exportStar(require(\"./ProtobufFileOptions\"), exports);\n__exportStar(require(\"./CsharpProtobufFileOptions\"), exports);\n__exportStar(require(\"./ProtobufMethodType\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PublishingConfig = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.PublishingConfig = {\n github: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"github\", _visit: function (visitor) {\n return FernIr.PublishingConfig._visit(this, visitor);\n } });\n },\n direct: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"direct\", _visit: function (visitor) {\n return FernIr.PublishingConfig._visit(this, visitor);\n } });\n },\n filesystem: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"filesystem\", _visit: function (visitor) {\n return FernIr.PublishingConfig._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"github\":\n return visitor.github(value);\n case \"direct\":\n return visitor.direct(value);\n case \"filesystem\":\n return visitor.filesystem(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PublishTarget = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.PublishTarget = {\n postman: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"postman\", _visit: function (visitor) {\n return FernIr.PublishTarget._visit(this, visitor);\n } });\n },\n npm: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"npm\", _visit: function (visitor) {\n return FernIr.PublishTarget._visit(this, visitor);\n } });\n },\n maven: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"maven\", _visit: function (visitor) {\n return FernIr.PublishTarget._visit(this, visitor);\n } });\n },\n pypi: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"pypi\", _visit: function (visitor) {\n return FernIr.PublishTarget._visit(this, visitor);\n } });\n },\n crates: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"crates\", _visit: function (visitor) {\n return FernIr.PublishTarget._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"postman\":\n return visitor.postman(value);\n case \"npm\":\n return visitor.npm(value);\n case \"maven\":\n return visitor.maven(value);\n case \"pypi\":\n return visitor.pypi(value);\n case \"crates\":\n return visitor.crates(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./PublishingConfig\"), exports);\n__exportStar(require(\"./Filesystem\"), exports);\n__exportStar(require(\"./GithubPublish\"), exports);\n__exportStar(require(\"./DirectPublish\"), exports);\n__exportStar(require(\"./PublishTarget\"), exports);\n__exportStar(require(\"./PostmanPublishTarget\"), exports);\n__exportStar(require(\"./NpmPublishTarget\"), exports);\n__exportStar(require(\"./MavenPublishTarget\"), exports);\n__exportStar(require(\"./PypiPublishTarget\"), exports);\n__exportStar(require(\"./CratesPublishTarget\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Source = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.Source = {\n proto: (value) => {\n return {\n value: value,\n type: \"proto\",\n _visit: function (visitor) {\n return FernIr.Source._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"proto\":\n return visitor.proto(value.value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Type = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.Type = {\n alias: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"alias\", _visit: function (visitor) {\n return FernIr.Type._visit(this, visitor);\n } });\n },\n enum: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"enum\", _visit: function (visitor) {\n return FernIr.Type._visit(this, visitor);\n } });\n },\n object: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"object\", _visit: function (visitor) {\n return FernIr.Type._visit(this, visitor);\n } });\n },\n union: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"union\", _visit: function (visitor) {\n return FernIr.Type._visit(this, visitor);\n } });\n },\n undiscriminatedUnion: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"undiscriminatedUnion\", _visit: function (visitor) {\n return FernIr.Type._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"alias\":\n return visitor.alias(value);\n case \"enum\":\n return visitor.enum(value);\n case \"object\":\n return visitor.object(value);\n case \"union\":\n return visitor.union(value);\n case \"undiscriminatedUnion\":\n return visitor.undiscriminatedUnion(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResolvedTypeReference = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ResolvedTypeReference = {\n container: (value) => {\n return {\n container: value,\n type: \"container\",\n _visit: function (visitor) {\n return FernIr.ResolvedTypeReference._visit(this, visitor);\n },\n };\n },\n named: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"named\", _visit: function (visitor) {\n return FernIr.ResolvedTypeReference._visit(this, visitor);\n } });\n },\n primitive: (value) => {\n return {\n primitive: value,\n type: \"primitive\",\n _visit: function (visitor) {\n return FernIr.ResolvedTypeReference._visit(this, visitor);\n },\n };\n },\n unknown: () => {\n return {\n type: \"unknown\",\n _visit: function (visitor) {\n return FernIr.ResolvedTypeReference._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"container\":\n return visitor.container(value.container);\n case \"named\":\n return visitor.named(value);\n case \"primitive\":\n return visitor.primitive(value.primitive);\n case \"unknown\":\n return visitor.unknown();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShapeType = void 0;\nexports.ShapeType = {\n Enum: \"ENUM\",\n Object: \"OBJECT\",\n Union: \"UNION\",\n UndiscriminatedUnion: \"UNDISCRIMINATED_UNION\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.ShapeType.Enum:\n return visitor.enum();\n case exports.ShapeType.Object:\n return visitor.object();\n case exports.ShapeType.Union:\n return visitor.union();\n case exports.ShapeType.UndiscriminatedUnion:\n return visitor.undiscriminatedUnion();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ObjectPropertyAccess = void 0;\nexports.ObjectPropertyAccess = {\n ReadOnly: \"READ_ONLY\",\n WriteOnly: \"WRITE_ONLY\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.ObjectPropertyAccess.ReadOnly:\n return visitor.readOnly();\n case exports.ObjectPropertyAccess.WriteOnly:\n return visitor.writeOnly();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SingleUnionTypeProperties = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.SingleUnionTypeProperties = {\n samePropertiesAsObject: (value) => {\n return Object.assign(Object.assign({}, value), { propertiesType: \"samePropertiesAsObject\", _visit: function (visitor) {\n return FernIr.SingleUnionTypeProperties._visit(this, visitor);\n } });\n },\n singleProperty: (value) => {\n return Object.assign(Object.assign({}, value), { propertiesType: \"singleProperty\", _visit: function (visitor) {\n return FernIr.SingleUnionTypeProperties._visit(this, visitor);\n } });\n },\n noProperties: () => {\n return {\n propertiesType: \"noProperties\",\n _visit: function (visitor) {\n return FernIr.SingleUnionTypeProperties._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.propertiesType) {\n case \"samePropertiesAsObject\":\n return visitor.samePropertiesAsObject(value);\n case \"singleProperty\":\n return visitor.singleProperty(value);\n case \"noProperties\":\n return visitor.noProperties();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeReference = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.TypeReference = {\n container: (value) => {\n return {\n container: value,\n type: \"container\",\n _visit: function (visitor) {\n return FernIr.TypeReference._visit(this, visitor);\n },\n };\n },\n named: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"named\", _visit: function (visitor) {\n return FernIr.TypeReference._visit(this, visitor);\n } });\n },\n primitive: (value) => {\n return {\n primitive: value,\n type: \"primitive\",\n _visit: function (visitor) {\n return FernIr.TypeReference._visit(this, visitor);\n },\n };\n },\n unknown: () => {\n return {\n type: \"unknown\",\n _visit: function (visitor) {\n return FernIr.TypeReference._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"container\":\n return visitor.container(value.container);\n case \"named\":\n return visitor.named(value);\n case \"primitive\":\n return visitor.primitive(value.primitive);\n case \"unknown\":\n return visitor.unknown();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NamedTypeDefault = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.NamedTypeDefault = {\n enum: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"enum\", _visit: function (visitor) {\n return FernIr.NamedTypeDefault._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"enum\":\n return visitor.enum(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerType = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ContainerType = {\n list: (value) => {\n return {\n list: value,\n type: \"list\",\n _visit: function (visitor) {\n return FernIr.ContainerType._visit(this, visitor);\n },\n };\n },\n map: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"map\", _visit: function (visitor) {\n return FernIr.ContainerType._visit(this, visitor);\n } });\n },\n nullable: (value) => {\n return {\n nullable: value,\n type: \"nullable\",\n _visit: function (visitor) {\n return FernIr.ContainerType._visit(this, visitor);\n },\n };\n },\n optional: (value) => {\n return {\n optional: value,\n type: \"optional\",\n _visit: function (visitor) {\n return FernIr.ContainerType._visit(this, visitor);\n },\n };\n },\n set: (value) => {\n return {\n set: value,\n type: \"set\",\n _visit: function (visitor) {\n return FernIr.ContainerType._visit(this, visitor);\n },\n };\n },\n literal: (value) => {\n return {\n literal: value,\n type: \"literal\",\n _visit: function (visitor) {\n return FernIr.ContainerType._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"list\":\n return visitor.list(value.list);\n case \"map\":\n return visitor.map(value);\n case \"nullable\":\n return visitor.nullable(value.nullable);\n case \"optional\":\n return visitor.optional(value.optional);\n case \"set\":\n return visitor.set(value.set);\n case \"literal\":\n return visitor.literal(value.literal);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PrimitiveTypeV1 = void 0;\nexports.PrimitiveTypeV1 = {\n Integer: \"INTEGER\",\n Long: \"LONG\",\n Uint: \"UINT\",\n Uint64: \"UINT_64\",\n Float: \"FLOAT\",\n Double: \"DOUBLE\",\n Boolean: \"BOOLEAN\",\n String: \"STRING\",\n Date: \"DATE\",\n DateTime: \"DATE_TIME\",\n Uuid: \"UUID\",\n Base64: \"BASE_64\",\n BigInteger: \"BIG_INTEGER\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.PrimitiveTypeV1.Integer:\n return visitor.integer();\n case exports.PrimitiveTypeV1.Long:\n return visitor.long();\n case exports.PrimitiveTypeV1.Uint:\n return visitor.uint();\n case exports.PrimitiveTypeV1.Uint64:\n return visitor.uint64();\n case exports.PrimitiveTypeV1.Float:\n return visitor.float();\n case exports.PrimitiveTypeV1.Double:\n return visitor.double();\n case exports.PrimitiveTypeV1.Boolean:\n return visitor.boolean();\n case exports.PrimitiveTypeV1.String:\n return visitor.string();\n case exports.PrimitiveTypeV1.Date:\n return visitor.date();\n case exports.PrimitiveTypeV1.DateTime:\n return visitor.dateTime();\n case exports.PrimitiveTypeV1.Uuid:\n return visitor.uuid();\n case exports.PrimitiveTypeV1.Base64:\n return visitor.base64();\n case exports.PrimitiveTypeV1.BigInteger:\n return visitor.bigInteger();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PrimitiveTypeV2 = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.PrimitiveTypeV2 = {\n integer: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"integer\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n long: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"long\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n uint: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"uint\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n uint64: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"uint64\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n float: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"float\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n double: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"double\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n boolean: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"boolean\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n string: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"string\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n date: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"date\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n dateTime: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"dateTime\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n uuid: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"uuid\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n base64: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"base64\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n bigInteger: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"bigInteger\", _visit: function (visitor) {\n return FernIr.PrimitiveTypeV2._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"integer\":\n return visitor.integer(value);\n case \"long\":\n return visitor.long(value);\n case \"uint\":\n return visitor.uint(value);\n case \"uint64\":\n return visitor.uint64(value);\n case \"float\":\n return visitor.float(value);\n case \"double\":\n return visitor.double(value);\n case \"boolean\":\n return visitor.boolean(value);\n case \"string\":\n return visitor.string(value);\n case \"date\":\n return visitor.date(value);\n case \"dateTime\":\n return visitor.dateTime(value);\n case \"uuid\":\n return visitor.uuid(value);\n case \"base64\":\n return visitor.base64(value);\n case \"bigInteger\":\n return visitor.bigInteger(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Literal = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.Literal = {\n string: (value) => {\n return {\n string: value,\n type: \"string\",\n _visit: function (visitor) {\n return FernIr.Literal._visit(this, visitor);\n },\n };\n },\n boolean: (value) => {\n return {\n boolean: value,\n type: \"boolean\",\n _visit: function (visitor) {\n return FernIr.Literal._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"string\":\n return visitor.string(value.string);\n case \"boolean\":\n return visitor.boolean(value.boolean);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleTypeShape = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleTypeShape = {\n alias: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"alias\", _visit: function (visitor) {\n return FernIr.ExampleTypeShape._visit(this, visitor);\n } });\n },\n enum: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"enum\", _visit: function (visitor) {\n return FernIr.ExampleTypeShape._visit(this, visitor);\n } });\n },\n object: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"object\", _visit: function (visitor) {\n return FernIr.ExampleTypeShape._visit(this, visitor);\n } });\n },\n union: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"union\", _visit: function (visitor) {\n return FernIr.ExampleTypeShape._visit(this, visitor);\n } });\n },\n undiscriminatedUnion: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"undiscriminatedUnion\", _visit: function (visitor) {\n return FernIr.ExampleTypeShape._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"alias\":\n return visitor.alias(value);\n case \"enum\":\n return visitor.enum(value);\n case \"object\":\n return visitor.object(value);\n case \"union\":\n return visitor.union(value);\n case \"undiscriminatedUnion\":\n return visitor.undiscriminatedUnion(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleSingleUnionTypeProperties = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleSingleUnionTypeProperties = {\n samePropertiesAsObject: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"samePropertiesAsObject\", _visit: function (visitor) {\n return FernIr.ExampleSingleUnionTypeProperties._visit(this, visitor);\n } });\n },\n singleProperty: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"singleProperty\", _visit: function (visitor) {\n return FernIr.ExampleSingleUnionTypeProperties._visit(this, visitor);\n } });\n },\n noProperties: () => {\n return {\n type: \"noProperties\",\n _visit: function (visitor) {\n return FernIr.ExampleSingleUnionTypeProperties._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"samePropertiesAsObject\":\n return visitor.samePropertiesAsObject(value);\n case \"singleProperty\":\n return visitor.singleProperty(value);\n case \"noProperties\":\n return visitor.noProperties();\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleTypeReferenceShape = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleTypeReferenceShape = {\n primitive: (value) => {\n return {\n primitive: value,\n type: \"primitive\",\n _visit: function (visitor) {\n return FernIr.ExampleTypeReferenceShape._visit(this, visitor);\n },\n };\n },\n container: (value) => {\n return {\n container: value,\n type: \"container\",\n _visit: function (visitor) {\n return FernIr.ExampleTypeReferenceShape._visit(this, visitor);\n },\n };\n },\n unknown: (value) => {\n return {\n unknown: value,\n type: \"unknown\",\n _visit: function (visitor) {\n return FernIr.ExampleTypeReferenceShape._visit(this, visitor);\n },\n };\n },\n named: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"named\", _visit: function (visitor) {\n return FernIr.ExampleTypeReferenceShape._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"primitive\":\n return visitor.primitive(value.primitive);\n case \"container\":\n return visitor.container(value.container);\n case \"unknown\":\n return visitor.unknown(value.unknown);\n case \"named\":\n return visitor.named(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleContainer = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleContainer = {\n list: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"list\", _visit: function (visitor) {\n return FernIr.ExampleContainer._visit(this, visitor);\n } });\n },\n set: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"set\", _visit: function (visitor) {\n return FernIr.ExampleContainer._visit(this, visitor);\n } });\n },\n optional: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"optional\", _visit: function (visitor) {\n return FernIr.ExampleContainer._visit(this, visitor);\n } });\n },\n nullable: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"nullable\", _visit: function (visitor) {\n return FernIr.ExampleContainer._visit(this, visitor);\n } });\n },\n map: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"map\", _visit: function (visitor) {\n return FernIr.ExampleContainer._visit(this, visitor);\n } });\n },\n literal: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"literal\", _visit: function (visitor) {\n return FernIr.ExampleContainer._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"list\":\n return visitor.list(value);\n case \"set\":\n return visitor.set(value);\n case \"optional\":\n return visitor.optional(value);\n case \"nullable\":\n return visitor.nullable(value);\n case \"map\":\n return visitor.map(value);\n case \"literal\":\n return visitor.literal(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExamplePrimitive = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExamplePrimitive = {\n integer: (value) => {\n return {\n integer: value,\n type: \"integer\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n long: (value) => {\n return {\n long: value,\n type: \"long\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n uint: (value) => {\n return {\n uint: value,\n type: \"uint\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n uint64: (value) => {\n return {\n uint64: value,\n type: \"uint64\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n float: (value) => {\n return {\n float: value,\n type: \"float\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n double: (value) => {\n return {\n double: value,\n type: \"double\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n boolean: (value) => {\n return {\n boolean: value,\n type: \"boolean\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n string: (value) => {\n return {\n string: value,\n type: \"string\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n date: (value) => {\n return {\n date: value,\n type: \"date\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n datetime: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"datetime\", _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n } });\n },\n uuid: (value) => {\n return {\n uuid: value,\n type: \"uuid\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n base64: (value) => {\n return {\n base64: value,\n type: \"base64\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n bigInteger: (value) => {\n return {\n bigInteger: value,\n type: \"bigInteger\",\n _visit: function (visitor) {\n return FernIr.ExamplePrimitive._visit(this, visitor);\n },\n };\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"integer\":\n return visitor.integer(value.integer);\n case \"long\":\n return visitor.long(value.long);\n case \"uint\":\n return visitor.uint(value.uint);\n case \"uint64\":\n return visitor.uint64(value.uint64);\n case \"float\":\n return visitor.float(value.float);\n case \"double\":\n return visitor.double(value.double);\n case \"boolean\":\n return visitor.boolean(value.boolean);\n case \"string\":\n return visitor.string(value.string);\n case \"date\":\n return visitor.date(value.date);\n case \"datetime\":\n return visitor.datetime(value);\n case \"uuid\":\n return visitor.uuid(value.uuid);\n case \"base64\":\n return visitor.base64(value.base64);\n case \"bigInteger\":\n return visitor.bigInteger(value.bigInteger);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Source\"), exports);\n__exportStar(require(\"./Encoding\"), exports);\n__exportStar(require(\"./JsonEncoding\"), exports);\n__exportStar(require(\"./ProtoEncoding\"), exports);\n__exportStar(require(\"./TypeDeclaration\"), exports);\n__exportStar(require(\"./DeclaredTypeName\"), exports);\n__exportStar(require(\"./Type\"), exports);\n__exportStar(require(\"./AliasTypeDeclaration\"), exports);\n__exportStar(require(\"./ResolvedTypeReference\"), exports);\n__exportStar(require(\"./ResolvedNamedType\"), exports);\n__exportStar(require(\"./ShapeType\"), exports);\n__exportStar(require(\"./EnumTypeDeclaration\"), exports);\n__exportStar(require(\"./EnumValue\"), exports);\n__exportStar(require(\"./ObjectTypeDeclaration\"), exports);\n__exportStar(require(\"./ObjectProperty\"), exports);\n__exportStar(require(\"./ObjectPropertyAccess\"), exports);\n__exportStar(require(\"./UnionTypeDeclaration\"), exports);\n__exportStar(require(\"./SingleUnionType\"), exports);\n__exportStar(require(\"./SingleUnionTypeProperties\"), exports);\n__exportStar(require(\"./SingleUnionTypeProperty\"), exports);\n__exportStar(require(\"./UndiscriminatedUnionTypeDeclaration\"), exports);\n__exportStar(require(\"./UndiscriminatedUnionMember\"), exports);\n__exportStar(require(\"./TypeReference\"), exports);\n__exportStar(require(\"./NamedType\"), exports);\n__exportStar(require(\"./NamedTypeDefault\"), exports);\n__exportStar(require(\"./EnumTypeReference\"), exports);\n__exportStar(require(\"./ContainerType\"), exports);\n__exportStar(require(\"./MapType\"), exports);\n__exportStar(require(\"./PrimitiveType\"), exports);\n__exportStar(require(\"./PrimitiveTypeV1\"), exports);\n__exportStar(require(\"./PrimitiveTypeV2\"), exports);\n__exportStar(require(\"./IntegerType\"), exports);\n__exportStar(require(\"./IntegerValidationRules\"), exports);\n__exportStar(require(\"./LongType\"), exports);\n__exportStar(require(\"./UintType\"), exports);\n__exportStar(require(\"./Uint64Type\"), exports);\n__exportStar(require(\"./FloatType\"), exports);\n__exportStar(require(\"./DoubleType\"), exports);\n__exportStar(require(\"./DoubleValidationRules\"), exports);\n__exportStar(require(\"./BooleanType\"), exports);\n__exportStar(require(\"./StringType\"), exports);\n__exportStar(require(\"./StringValidationRules\"), exports);\n__exportStar(require(\"./DateType\"), exports);\n__exportStar(require(\"./DateTimeType\"), exports);\n__exportStar(require(\"./UuidType\"), exports);\n__exportStar(require(\"./Base64Type\"), exports);\n__exportStar(require(\"./BigIntegerType\"), exports);\n__exportStar(require(\"./Literal\"), exports);\n__exportStar(require(\"./ExampleType\"), exports);\n__exportStar(require(\"./ExampleTypeShape\"), exports);\n__exportStar(require(\"./ExampleAliasType\"), exports);\n__exportStar(require(\"./ExampleEnumType\"), exports);\n__exportStar(require(\"./ExampleObjectType\"), exports);\n__exportStar(require(\"./ExampleObjectProperty\"), exports);\n__exportStar(require(\"./ExampleExtraObjectProperty\"), exports);\n__exportStar(require(\"./ExampleUnionType\"), exports);\n__exportStar(require(\"./ExampleUnionBaseProperty\"), exports);\n__exportStar(require(\"./ExampleUndiscriminatedUnionType\"), exports);\n__exportStar(require(\"./ExampleSingleUnionType\"), exports);\n__exportStar(require(\"./ExampleSingleUnionTypeProperties\"), exports);\n__exportStar(require(\"./ExampleTypeReference\"), exports);\n__exportStar(require(\"./ExampleTypeReferenceShape\"), exports);\n__exportStar(require(\"./ExampleContainer\"), exports);\n__exportStar(require(\"./ExampleListContainer\"), exports);\n__exportStar(require(\"./ExampleSetContainer\"), exports);\n__exportStar(require(\"./ExampleOptionalContainer\"), exports);\n__exportStar(require(\"./ExampleNullableContainer\"), exports);\n__exportStar(require(\"./ExampleMapContainer\"), exports);\n__exportStar(require(\"./ExampleLiteralContainer\"), exports);\n__exportStar(require(\"./ExampleKeyValuePair\"), exports);\n__exportStar(require(\"./ExamplePrimitive\"), exports);\n__exportStar(require(\"./ExampleDatetime\"), exports);\n__exportStar(require(\"./ExampleNamedType\"), exports);\n__exportStar(require(\"./ExampleObjectTypeWithTypeId\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./VariableId\"), exports);\n__exportStar(require(\"./VariableDeclaration\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebhookPayload = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.WebhookPayload = {\n inlinedPayload: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inlinedPayload\", _visit: function (visitor) {\n return FernIr.WebhookPayload._visit(this, visitor);\n } });\n },\n reference: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"reference\", _visit: function (visitor) {\n return FernIr.WebhookPayload._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"inlinedPayload\":\n return visitor.inlinedPayload(value);\n case \"reference\":\n return visitor.reference(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebhookHttpMethod = void 0;\nexports.WebhookHttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.WebhookHttpMethod.Get:\n return visitor.get();\n case exports.WebhookHttpMethod.Post:\n return visitor.post();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./WebhookGroup\"), exports);\n__exportStar(require(\"./Webhook\"), exports);\n__exportStar(require(\"./WebhookName\"), exports);\n__exportStar(require(\"./WebhookPayload\"), exports);\n__exportStar(require(\"./WebhookPayloadReference\"), exports);\n__exportStar(require(\"./InlinedWebhookPayload\"), exports);\n__exportStar(require(\"./InlinedWebhookPayloadProperty\"), exports);\n__exportStar(require(\"./WebhookHttpMethod\"), exports);\n__exportStar(require(\"./ExampleWebhookCall\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketMessageOrigin = void 0;\nexports.WebSocketMessageOrigin = {\n Client: \"client\",\n Server: \"server\",\n _visit: (value, visitor) => {\n switch (value) {\n case exports.WebSocketMessageOrigin.Client:\n return visitor.client();\n case exports.WebSocketMessageOrigin.Server:\n return visitor.server();\n default:\n return visitor._other();\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketMessageBody = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.WebSocketMessageBody = {\n inlinedBody: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inlinedBody\", _visit: function (visitor) {\n return FernIr.WebSocketMessageBody._visit(this, visitor);\n } });\n },\n reference: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"reference\", _visit: function (visitor) {\n return FernIr.WebSocketMessageBody._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"inlinedBody\":\n return visitor.inlinedBody(value);\n case \"reference\":\n return visitor.reference(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n/**\n * This file was auto-generated by Fern from our API Definition.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleWebSocketMessageBody = void 0;\nconst FernIr = __importStar(require(\"../../../index\"));\nexports.ExampleWebSocketMessageBody = {\n inlinedBody: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"inlinedBody\", _visit: function (visitor) {\n return FernIr.ExampleWebSocketMessageBody._visit(this, visitor);\n } });\n },\n reference: (value) => {\n return Object.assign(Object.assign({}, value), { type: \"reference\", _visit: function (visitor) {\n return FernIr.ExampleWebSocketMessageBody._visit(this, visitor);\n } });\n },\n _visit: (value, visitor) => {\n switch (value.type) {\n case \"inlinedBody\":\n return visitor.inlinedBody(value);\n case \"reference\":\n return visitor.reference(value);\n default:\n return visitor._other(value);\n }\n },\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./WebSocketMessageId\"), exports);\n__exportStar(require(\"./WebSocketChannel\"), exports);\n__exportStar(require(\"./WebSocketName\"), exports);\n__exportStar(require(\"./WebSocketMessage\"), exports);\n__exportStar(require(\"./WebSocketMessageOrigin\"), exports);\n__exportStar(require(\"./WebSocketMessageBody\"), exports);\n__exportStar(require(\"./InlinedWebSocketMessageBody\"), exports);\n__exportStar(require(\"./InlinedWebSocketMessageBodyProperty\"), exports);\n__exportStar(require(\"./WebSocketMessageBodyReference\"), exports);\n__exportStar(require(\"./ExampleWebSocketSession\"), exports);\n__exportStar(require(\"./ExampleWebSocketMessage\"), exports);\n__exportStar(require(\"./ExampleWebSocketMessageBody\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.websocket = exports.webhooks = exports.variables = exports.types = exports.publish = exports.proto = exports.ir = exports.http = exports.generatorExec = exports.examples = exports.errors = exports.environment = exports.dynamic = exports.constants = exports.commons = exports.auth = exports.audience = void 0;\nexports.audience = __importStar(require(\"./audience\"));\n__exportStar(require(\"./audience/types\"), exports);\nexports.auth = __importStar(require(\"./auth\"));\n__exportStar(require(\"./auth/types\"), exports);\nexports.commons = __importStar(require(\"./commons\"));\n__exportStar(require(\"./commons/types\"), exports);\nexports.constants = __importStar(require(\"./constants\"));\n__exportStar(require(\"./constants/types\"), exports);\nexports.dynamic = __importStar(require(\"./dynamic\"));\nexports.environment = __importStar(require(\"./environment\"));\n__exportStar(require(\"./environment/types\"), exports);\nexports.errors = __importStar(require(\"./errors\"));\n__exportStar(require(\"./errors/types\"), exports);\nexports.examples = __importStar(require(\"./examples\"));\n__exportStar(require(\"./examples/types\"), exports);\nexports.generatorExec = __importStar(require(\"./generatorExec\"));\nexports.http = __importStar(require(\"./http\"));\n__exportStar(require(\"./http/types\"), exports);\nexports.ir = __importStar(require(\"./ir\"));\n__exportStar(require(\"./ir/types\"), exports);\nexports.proto = __importStar(require(\"./proto\"));\n__exportStar(require(\"./proto/types\"), exports);\nexports.publish = __importStar(require(\"./publish\"));\n__exportStar(require(\"./publish/types\"), exports);\nexports.types = __importStar(require(\"./types\"));\n__exportStar(require(\"./types/types\"), exports);\nexports.variables = __importStar(require(\"./variables\"));\n__exportStar(require(\"./variables/types\"), exports);\nexports.webhooks = __importStar(require(\"./webhooks\"));\n__exportStar(require(\"./webhooks/types\"), exports);\nexports.websocket = __importStar(require(\"./websocket\"));\n__exportStar(require(\"./websocket/types\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./resources\"), exports);\n","export { type Config } from \"./Config\";\nexport { DynamicSnippetsGenerator } from \"./DynamicSnippetsGenerator\";\n","/**\n * Asserts that a condition is truthy, throwing an exception with the specified message if it is falsy.\n */\nexport function assert(condition: unknown, message?: string): asserts condition {\n if (!condition) {\n throw new Error(message ?? \"Expected condition to be truthy but got falsy.\");\n }\n}\n\nexport function assertDefined<T>(val: T, message?: string): asserts val is Exclude<T, undefined> {\n if (val === undefined) {\n throw new Error(message ?? \"Expected value to be defined but got undefined.\");\n }\n}\n\nexport function assertNonNull<T>(val: T, message?: string): asserts val is Exclude<T, null> {\n if (val === null) {\n throw new Error(message ?? \"Expected value to be non-null but got null.\");\n }\n}\n\nexport function assertString(val: unknown, message?: string): asserts val is string {\n if (typeof val !== \"string\") {\n throw new Error(message ?? `Expected value to be a string but got ${typeof val}.`);\n }\n}\n\nexport function assertNever(x: never): never {\n throw new Error(\"Unexpected value: \" + JSON.stringify(x));\n}\n\n// biome-ignore lint/suspicious/noEmptyBlockStatements: allow\nexport function assertNeverNoThrow(_: never): void {}\n\n// biome-ignore lint/suspicious/noEmptyBlockStatements: allow\nexport function assertVoidNoThrow(_x: void): void {}\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","import baseSlice from './_baseSlice.js';\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nexport default castSlice;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nexport default hasUnicode;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nexport default asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nexport default unicodeToArray;\n","import asciiToArray from './_asciiToArray.js';\nimport hasUnicode from './_hasUnicode.js';\nimport unicodeToArray from './_unicodeToArray.js';\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nexport default stringToArray;\n","import castSlice from './_castSlice.js';\nimport hasUnicode from './_hasUnicode.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nexport default createCaseFirst;\n","import createCaseFirst from './_createCaseFirst.js';\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nexport default upperFirst;\n","import toString from './toString.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nexport default capitalize;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default basePropertyOf;\n","import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nexport default deburrLetter;\n","import deburrLetter from './_deburrLetter.js';\nimport toString from './toString.js';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nexport default deburr;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nexport default asciiWords;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nexport default hasUnicodeWord;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nexport default unicodeWords;\n","import asciiWords from './_asciiWords.js';\nimport hasUnicodeWord from './_hasUnicodeWord.js';\nimport toString from './toString.js';\nimport unicodeWords from './_unicodeWords.js';\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nexport default words;\n","import arrayReduce from './_arrayReduce.js';\nimport deburr from './deburr.js';\nimport words from './words.js';\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nexport default createCompounder;\n","import capitalize from './capitalize.js';\nimport createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nexport default camelCase;\n","export function keys<T extends object>(object: T): (keyof T)[] {\n return Object.keys(object) as (keyof T)[];\n}\n","/**\n * Global flag that enables or disables stack tracing functionality throughout the application.\n * This is controlled via the FERN_STACK_TRACK environment variable.\n *\n * When enabled (truthy environment variable value), stack traces will be captured and processed\n * by the stacktrace functions in this module. When disabled, the stacktrace() function returns\n * an empty array for performance optimization.\n *\n * @example\n * // Enable tracing by setting the environment variable\n * // FERN_STACK_TRACK=1 <cmdline>\n */\nconst key = process.env[\"FERN_STACK_TRACK\"]?.toLowerCase() ?? \"\";\n\nexport const enableStackTracking = key !== \"\" && key !== \"0\" && key !== \"false\";\n\n/** The style of comments desired for the stack tracking comments\n *\n * can be \"single\", \"multiline\", or \"box\".\n * if not set to one of those, defaults to \"single\".\n */\nexport const trackingType = [\"single\", \"multiline\", \"box\"].includes(key) ? key : \"single\";\n\nif (enableStackTracking) {\n // we're going to put a hard max limit on the stack trace to prevent infinite recursion and excessive stack generation\n Error.stackTraceLimit = 50;\n}\n\n/**\n * Configuration options for controlling stack trace capture and filtering behavior.\n */\ninterface StackTraceOptions {\n /**\n * Maximum number of stack frames to return after filtering.\n *\n * Maximum may never exceed 50.\n * @default 50\n */\n maxFrames?: number;\n\n /**\n * Number of frames to skip from the beginning of the filtered stack trace.\n * Useful for omitting wrapper functions from the output.\n * @default 0\n */\n skip?: number;\n\n /**\n * Array of function name substrings that trigger an early stop when encountered.\n * When a frame's function name includes any of these strings, that frame and all\n * subsequent frames will be excluded from the output.\n *\n * implicitly includes \"runInteractiveTask\"\n * @default []\n */\n stopOn?: string[];\n\n /**\n * Array of file path substrings to filter out. Any frame whose path contains\n * any of these strings will be excluded from the output.\n * @default []\n */\n filterPaths?: string[];\n\n /**\n * Array of function name substrings to filter out. Any frame whose function name\n * contains any of these strings will be excluded from the output.\n *\n * implicitly includes \"SdkGeneratorCLI\", \"runCli\",\"Frames.trace\",\"Frames.tag\", \"at\", \"stacktrace\"\n * @default []\n */\n filterFunctions?: string[];\n\n /**\n * Whether to filter out Node.js internal frames (paths starting with \"node:\").\n * @default true\n */\n filterNode?: boolean;\n\n /**\n * Whether to filter out .js files, which typically indicate non-source files\n * without source map information.\n * @default true\n */\n filterJs?: boolean;\n\n /**\n * A function to format the file path of the stack trace frame.\n * @default (filename) => filename\n */\n formatFilename?: (filename: string) => string;\n}\n\n/**\n * Represents a single parsed stack trace frame containing function, file path, and position information.\n */\nexport interface StackTraceFrame {\n /**\n * The function name or context. May include special formatting like \"alias()=> { ... }\"\n * for certain Object methods, or be an empty string for anonymous contexts.\n */\n fn: string;\n\n /**\n * The file path where this frame originated. This will typically be the full path\n * to the source file.\n */\n path: string;\n\n /**\n * The line and column position in the format \"line:column\" (e.g., \"42:13\").\n */\n position: string;\n}\n\nconst globalFunctionFilters = new Set<string>([\"SdkGeneratorCLI\", \"runCli\", \"LoggerImpl\", \"Array.forEach\"]);\nconst globalFileFilters = new Set<string>([\"stacktrace\"]);\n\n/**\n * Adds a function name to the global function filters for stack traces\n * @param filter - The function name to add to the global function filters.\n */\nexport function addGlobalFunctionFilter(filter: string): void {\n if (enableStackTracking) {\n globalFunctionFilters.add(filter);\n }\n}\n\n/**\n * Adds a file path to the global file filters for stack traces.\n * @param filter - The file path to add to the global file filters.\n */\nexport function addGlobalFileFilter(filter: string): void {\n if (enableStackTracking) {\n globalFileFilters.add(filter);\n }\n}\n\n/**\n * Captures and parses the current call stack, returning an array of stack frames with filtering options.\n *\n * This function creates a new Error object to capture the stack trace, then parses each frame\n * to extract function names, file paths, and positions. It applies multiple filtering strategies\n * to exclude unwanted frames (e.g., Node.js internals, .js files, specific functions).\n *\n * The function only operates when `enableStackTracking` is true. If tracing is disabled, it returns\n * an empty array for performance optimization.\n *\n * @param options - Configuration options for stack trace capture and filtering\n * @returns Array of parsed stack trace frames, filtered and limited according to the options\n *\n * @example\n * // Capture the first 10 frames, skipping the first 2\n * const frames = stacktrace({ maxFrames: 10, skip: 2 });\n *\n * @example\n * // Capture frames until hitting \"main\" function, filter out test files\n * const frames = stacktrace({\n * stopOn: [\"main\"],\n * filterPaths: [\"/test/\"],\n * filterFunctions: [\"runTests\"]\n * });\n *\n * @remarks\n * The function applies filters in the following order:\n * 1. Parses each stack frame using regex to extract function, path, line, and column\n * 2. Applies early-stop logic when encountering functions in the `stopOn` array\n * 3. Formats special function names (e.g., \"Object.alias\" → \"alias()=> { ... }\")\n * 4. Filters out:\n * - The stacktrace function itself (\"at\", \"stacktrace\")\n * - Functions matching `filterFunctions` (substring match)\n * - Node.js internal frames (if `filterNode` is true)\n * - .js files (if `filterJs` is true)\n * - Paths matching `filterPaths` (substring match)\n * 5. Applies `skip` and `maxFrames` to limit the output\n */\nexport function stacktrace({\n maxFrames = 50,\n skip = 0,\n filterPaths = [],\n filterFunctions = [],\n stopOn = [],\n filterNode = true,\n filterJs = true,\n formatFilename = (filename) => filename\n}: StackTraceOptions = {}): StackTraceFrame[] {\n if (!enableStackTracking) {\n return [];\n }\n filterFunctions = [...filterFunctions, ...globalFunctionFilters];\n filterPaths = [...filterPaths, ...globalFileFilters];\n stopOn = [...stopOn, \"runInteractiveTask\"];\n let stop = false;\n return (\n (new Error().stack ?? \"\")\n .split(\"\\n\")\n .map((line) => {\n const match = line.match(/at\\s+(.*)\\s+\\((.*):(\\d+):(\\d+)\\)/);\n if (match && match.length === 5) {\n let [, fn, path, line, column] = match;\n if (!fn || !path || !line || !column) {\n return undefined;\n }\n\n if (stop || stopOn.some((s) => fn?.includes(s))) {\n stop = true;\n return undefined;\n }\n\n switch (fn) {\n case \"Object.<anonymous>\":\n fn = \"\";\n break;\n case \"Object.object\":\n case \"Object.alias\":\n case \"Object.union\":\n case \"Object.enum\":\n case \"Object.undiscriminatedUnion\":\n fn = `${fn.substring(fn.indexOf(\".\") + 1)}()=> { ... }`;\n break;\n }\n return {\n fn,\n path: formatFilename(path),\n position: `${line}:${column}`\n } as StackTraceFrame;\n }\n return undefined;\n })\n .filter(\n (each) =>\n each &&\n !filterFunctions.some((f) => each.fn.includes(f)) && // substring match for filter functions\n !(filterNode && each.path?.startsWith(\"node:\")) && // starts with node:\n !(filterJs && each.path?.endsWith(\".js\")) && // ends with .js (meaning likely not a source file - no source map info)\n !filterPaths.some((p) => each.path.includes(p)) // substring match for filter paths\n ) as StackTraceFrame[]\n ).slice(skip, skip + maxFrames);\n}\n\n/**\n * Returns a formatted stack trace string at the current location for debugging purposes.\n *\n * This is a convenience function that wraps `stacktrace()` and formats the output as a\n * human-readable string. It's particularly useful for logging or debugging to understand\n * the execution flow and call hierarchy.\n *\n * The function supports both single-line and multi-line output formats. Single-line format\n * concatenates all frames into one line (useful for compact logging), while multi-line format\n * adds newlines and indentation for better readability.\n *\n * @param options - Configuration options for stack trace capture, filtering, and formatting\n * @param options.multiline - Whether to format the output with newlines and indentation.\n * When true, each frame is on its own line with 4-space indent.\n * When false (default), all frames are concatenated on one line.\n * @returns A formatted string containing the stack trace information, prefixed with \"stacktrace - \"\n *\n * @example\n * // Single-line format (compact)\n * console.log(at());\n * // Output: \"stacktrace - myFunction - /path/to/file.ts:42:13anotherFunc - /path/to/other.ts:17:5\"\n *\n * @example\n * // Multi-line format (readable)\n * console.log(at({ multiline: true, maxFrames: 5 }));\n * // Output:\n * // stacktrace -\n * // myFunction - /path/to/file.ts:42:13\n * // anotherFunc - /path/to/other.ts:17:5\n * // main - /path/to/index.ts:10:1\n *\n * @example\n * // Custom filtering for specific use case\n * console.log(at({\n * maxFrames: 10,\n * skip: 1,\n * filterPaths: [\"foo.ts\"],\n * multiline: true\n * }));\n *\n * @remarks\n * This function automatically skips itself from the stack trace output by default.\n * The \"at\" function name is filtered by the underlying `stacktrace()` function.\n */\nexport function at({\n maxFrames = 50,\n skip = 0,\n filterPaths = [],\n filterFunctions = [],\n stopOn = [\"runInteractiveTask\"],\n filterNode = true,\n filterJs = true,\n multiline = false,\n formatFilename = (filename) => filename\n}: StackTraceOptions & { multiline?: boolean } = {}): string {\n return enableStackTracking\n ? `${stacktrace({ maxFrames, skip, filterPaths, filterFunctions, stopOn, filterNode, filterJs, formatFilename })\n .map((each) => `${multiline ? \"\\n \" : \" > \"}${each.fn} - ${each.path}:${each.position}`)\n .join(\"\")}`\n : \"\";\n}\n\n/** This class allows the developer to attach stack trace information to objects */\nexport class StackTraces {\n private readonly maxFrames: number;\n private readonly skip: number;\n private readonly filterPaths: string[];\n private readonly filterFunctions: string[];\n private readonly stopOn: string[];\n private readonly filterNode: boolean;\n private readonly filterJs: boolean;\n private readonly multiline: boolean;\n private readonly formatFilename: (filename: string) => string;\n private tracking = new WeakMap<object, Set<StackTraceFrame>>();\n\n constructor({\n maxFrames = 50,\n skip = 0,\n filterPaths = [],\n filterFunctions = [],\n stopOn = [],\n filterNode = true,\n filterJs = true,\n multiline = false,\n formatFilename = (filename) => filename\n }: StackTraceOptions & { multiline?: boolean } = {}) {\n this.maxFrames = maxFrames;\n this.skip = skip;\n this.filterPaths = filterPaths;\n this.filterFunctions = filterFunctions;\n this.stopOn = stopOn;\n this.filterNode = filterNode;\n this.filterJs = filterJs;\n this.multiline = multiline;\n this.formatFilename = formatFilename;\n }\n\n /**\n * Tags the current stack trace with the given object.\n *\n * This can be called multiple times to add more stack trace information to the object.\n *\n * @param obj - The object to tag the stack trace with.\n */\n tag(obj: object): void {\n const current = this.tracking.get(obj) || new Set<StackTraceFrame>();\n stacktrace({\n maxFrames: this.maxFrames,\n skip: this.skip,\n filterPaths: this.filterPaths,\n filterFunctions: this.filterFunctions,\n stopOn: this.stopOn,\n filterNode: this.filterNode,\n filterJs: this.filterJs,\n formatFilename: this.formatFilename\n }).forEach((frame) => current.add(frame));\n this.tracking.set(obj, current);\n }\n\n /**\n * Returns a formatted stack trace string for the given object.\n * @param obj - The object to get the stack trace for.\n * @returns A formatted string containing the stack trace information.\n */\n trace(obj: object): string {\n if (!enableStackTracking) {\n return \"\";\n }\n const frames = this.tracking.get(obj);\n if (!frames) {\n return \"\";\n }\n\n return [...frames]\n .map((each) => `${this.multiline ? \"\\n \" : \"\"}${each.fn} - ${each.path}:${each.position}`)\n .join(\"\");\n }\n\n /**\n * Gets the stack trace frames for the given object.\n *\n * Note: This will only work when FERN_STACK_TRACK is defined and the .startTracking() function has been called.\n * Otherwise this will return an empty array.\n *\n * @param obj - The object to get the stack trace frames for.\n * @returns The stack trace frames for the given object.\n */\n frames(obj: object): StackTraceFrame[] {\n const frames = this.tracking.get(obj);\n if (!frames) {\n return [];\n }\n return [...frames];\n }\n\n /**\n * Frees the stack trace information for the given object.\n * @param obj - The object to free the stack trace information for.\n */\n free(obj: object): void {\n this.tracking.delete(obj);\n }\n\n /**\n * Clears all stack trace information.\n */\n clear(): void {\n this.tracking = new WeakMap<object, Set<StackTraceFrame>>();\n }\n}\n\nlet stackTraces: StackTraces | undefined;\n/**\n * Starts tracking the stack trace of the current object.\n *\n * Note: This will only start tracking when FERN_STACK_TRACK is defined.\n *\n * @param options - Configuration options for stack trace capture and filtering\n * @returns The stack traces object.\n */\nexport function startTracking({\n maxFrames = 50,\n skip = 0,\n filterPaths = [],\n filterFunctions = [],\n stopOn = [],\n filterNode = true,\n filterJs = true,\n multiline = false,\n formatFilename = (filename) => filename\n}: StackTraceOptions & { multiline?: boolean } = {}) {\n if (!enableStackTracking) {\n return;\n }\n stackTraces ??= new StackTraces({\n maxFrames,\n skip,\n filterPaths,\n filterFunctions,\n stopOn,\n filterNode,\n filterJs,\n multiline,\n formatFilename\n });\n}\n\n/**\n * Tags the current stack trace with the given object.\n *\n * Note: This will only work when FERN_STACK_TRACK is defined and the .startTracking() function has been called.\n * Otherwise this will do nothing whatsoever.\n *\n * @param obj - The object to tag the stack trace with.\n */\nexport function tag(obj: object) {\n stackTraces?.tag(obj);\n}\n\n/**\n * Returns a formatted stack trace string for the given object.\n *\n * Note: This will only work when FERN_STACK_TRACK is defined and the .startTracking() function has been called.\n * Otherwise this will do nothing whatsoever.\n *\n * @param obj - The object to get the stack trace for.\n * @returns A formatted string containing the stack trace information.\n */\nexport function trace(obj: object) {\n return stackTraces?.trace(obj) ?? \"\";\n}\n\n/**\n * Frees the stack trace information for the given object.\n *\n * Note: This will only work when FERN_STACK_TRACK is defined and the .startTracking() function has been called.\n * Otherwise this will do nothing whatsoever.\n *\n * @param obj - The object to free the stack trace information for.\n */\nexport function free(obj: object) {\n stackTraces?.free(obj);\n}\n\n/**\n * Gets the stack trace frames for the given object.\n *\n * Note: This will only work when FERN_STACK_TRACK is defined and the .startTracking() function has been called.\n * Otherwise this will return an empty array.\n *\n * @param obj - The object to get the stack trace frames for.\n * @returns The stack trace frames for the given object.\n */\nexport function getFramesForTaggedObject(obj: object): StackTraceFrame[] {\n return stackTraces?.frames(obj) ?? [];\n}\n","import { tag } from \"../utils/stacktrace\";\nimport { AbstractWriter } from \"./AbstractWriter\";\n\nexport abstract class AbstractAstNode {\n /**\n * Every AST node knows how to write itself to a string.\n */\n public abstract write(writer: AbstractWriter): void;\n\n public constructor() {\n // when FERN_STACK_TRACK is defined this will track the stack trace of the current AstNode.\n // otherwise this has absolutely no effect whatsoever.\n tag(this);\n }\n}\n","import { AbstractAstNode } from \"./AbstractAstNode\";\nimport { AbstractWriter } from \"./AbstractWriter\";\n\nexport declare namespace CodeBlock {\n /* Write arbitrary code */\n type Arg<T extends AbstractWriter> = string | AbstractAstNode | ((writer: T) => void);\n}\n\nexport class CodeBlock<T extends AbstractWriter> extends AbstractAstNode {\n private value: CodeBlock.Arg<T>;\n\n constructor(value: CodeBlock.Arg<T>) {\n super();\n this.value = value;\n }\n\n public write(writer: T): void {\n if (typeof this.value === \"string\") {\n writer.write(this.value);\n // if function\n } else if (typeof this.value === \"function\") {\n this.value(writer);\n } else {\n this.value.write(writer);\n }\n }\n}\n","import { enableStackTracking } from \"../utils\";\nimport {\n getFramesForTaggedObject,\n StackTraceFrame,\n stacktrace,\n startTracking,\n trackingType\n} from \"../utils/stacktrace\";\nimport { AbstractAstNode } from \"./AbstractAstNode\";\nimport { CodeBlock } from \"./CodeBlock\";\n\nconst TAB_SIZE = 4;\n// this will start tracking only when FERN_STACK_TRACK is defined\n// otherwise this has absolutely no effect whatsoever.\nstartTracking({ skip: 0, maxFrames: 15, filterFunctions: [\"Abstract\"] });\n\nexport class AbstractWriter {\n /* The buffer of lines being written */\n protected readonly lineBuffer: string[] = [];\n\n /* The contents being written */\n public get buffer() {\n if (enableStackTracking && this.nodeStackFrames.length > 0) {\n // if we're emitting tracking comments, let's ensure we get the last little bit of info.\n // by appending a newline to the buffer before returning it.\n // (this can be useful when using toString() to get a node's content.)\n this.writeInternal(\"\\n\");\n }\n return this.lineBuffer.join(\"\\n\") + (this.lastCharacterIsNewline ? \"\\n\" : \"\");\n }\n\n /* Indentation level (multiple of 4) */\n private indentLevel = 0;\n /* Whether anything has been written to the buffer */\n private hasWrittenAnything = false;\n /* Whether the last character written was a semi colon */\n private lastCharacterIsSemicolon = false;\n /* Whether the last character written was a newline */\n private lastCharacterIsNewline = false;\n /* The stack traces associated with the current node */\n private nodeStackFrames: StackTraceFrame[] = [];\n\n /**\n * Writes arbitrary text and nodes\n * @param text\n */\n public write(...parts: (string | AbstractAstNode | undefined)[]): void {\n for (const text of parts) {\n if (text != null) {\n if (typeof text === \"string\") {\n const textEndsInNewline = text.length > 0 && text.endsWith(\"\\n\");\n // temporarily remove the trailing newline, since we don't want to add the indent prefix after it\n const textWithoutNewline = textEndsInNewline ? text.substring(0, text.length - 1) : text;\n\n const indent = this.getIndentString();\n let indentedText = textWithoutNewline.replaceAll(\"\\n\", `\\n${indent}`);\n if (this.isAtStartOfLine()) {\n indentedText = indent + indentedText;\n }\n if (textEndsInNewline) {\n indentedText += \"\\n\";\n }\n this.writeInternal(indentedText);\n } else {\n this.writeNode(text);\n }\n }\n }\n }\n\n public writeStatement(...parts: (string | AbstractAstNode | undefined)[]): void {\n this.write(...parts);\n this.write(\";\");\n this.writeNewLineIfLastLineNot();\n }\n\n /**\n * Writes arbitrary text without indentation\n * @param text\n */\n public writeNoIndent(text: string): void {\n const currIndentLevel = this.indentLevel;\n this.indentLevel = 0;\n this.write(text);\n this.indentLevel = currIndentLevel;\n }\n\n /**\n * Writes a node\n * @param node\n */\n public writeNode(node: AbstractAstNode): void {\n if (enableStackTracking) {\n this.nodeStackFrames.push(...getFramesForTaggedObject(node));\n }\n node.write(this);\n\n // if we're using box or multiline comments, write a newline after every node so it emits a comment for the node\n // since we're dumping a lot of data anyway, might as well be explicit about it.\n if (enableStackTracking && trackingType !== \"single\") {\n this.writeInternal(\"\\n\");\n }\n }\n\n /**\n * Writes a node or string\n * @param input\n */\n public writeNodeOrString(input: AbstractAstNode | string): void {\n if (typeof input === \"string\") {\n this.write(input);\n return;\n }\n\n this.writeNode(input);\n }\n\n /**\n * Writes a node but then suffixes with a `;` and new line\n * @param node\n */\n public writeNodeStatement(node: AbstractAstNode): void {\n this.writeNode(node);\n this.write(\";\");\n this.writeNewLineIfLastLineNot();\n }\n\n /**\n * Writes text but then suffixes with a `;`\n * @param node\n */\n public writeTextStatement(text: string): void {\n const codeBlock = new CodeBlock(text);\n codeBlock.write(this);\n if (!text.endsWith(\";\")) {\n this.write(\";\");\n }\n this.writeNewLineIfLastLineNot();\n }\n\n /**\n * Starts a control flow block\n * @param prefix\n * @param statement\n */\n public controlFlow(prefix: string, statement: AbstractAstNode): void {\n const codeBlock = new CodeBlock(prefix);\n codeBlock.write(this);\n this.write(\" (\", statement, \")\");\n this.pushScope();\n }\n\n /**\n * Starts a control flow block\n * @param prefix\n * @param statement\n */\n public controlFlowWithoutStatement(prefix: string): void {\n const codeBlock = new CodeBlock(prefix);\n codeBlock.write(this);\n this.pushScope();\n }\n\n /**\n * Ends a control flow block\n */\n public endControlFlow(): void {\n this.popScope();\n }\n\n /**\n * Starts a control flow without a newline from the previous control flow block\n * @param prefix\n * @param statement\n */\n public contiguousControlFlow(prefix: string, statement: AbstractAstNode): void {\n this.dedent();\n this.write(\"} \");\n const codeBlock = new CodeBlock(prefix);\n codeBlock.write(this);\n this.write(\" (\", statement, \")\");\n this.pushScope();\n }\n\n /**\n * Starts a control flow alternative block\n * @param prefix\n */\n public alternativeControlFlow(prefix: string): void {\n this.dedent();\n this.write(\"} \");\n const codeBlock = new CodeBlock(prefix);\n codeBlock.write(this);\n this.pushScope();\n }\n\n public pushScope() {\n this.writeLine(\"{\");\n this.indent();\n }\n\n public popScope(withNewline = true) {\n this.dedent();\n this.writeNewLineIfLastLineNot();\n if (withNewline) {\n this.writeLine(\"}\");\n } else {\n this.write(\"}\");\n }\n }\n\n /* Only writes a newline if last line in the buffer is not a newline */\n public writeLine(...parts: (string | AbstractAstNode | undefined)[]): void {\n this.write(...(parts.length === 0 ? [\"\"] : parts));\n this.writeNewLineIfLastLineNot();\n }\n\n /* Always writes newline */\n public newLine(): void {\n this.writeInternal(\"\\n\");\n }\n\n public writeSemicolonIfLastCharacterIsNot(): void {\n if (!this.lastCharacterIsSemicolon) {\n this.writeInternal(\";\");\n }\n }\n\n public writeNewLineIfLastLineNot(): void {\n if (!this.lastCharacterIsNewline) {\n this.writeInternal(\"\\n\");\n }\n }\n\n public indent(): void {\n this.indentLevel++;\n }\n\n public dedent(): void {\n this.indentLevel--;\n }\n\n public delimit<T extends AbstractAstNode>({\n nodes,\n delimiter,\n writeFunction\n }: {\n nodes: T[];\n delimiter: string;\n writeFunction: (node: T) => void;\n }): void {\n if (nodes.length > 0) {\n const firstNode = nodes[0];\n if (firstNode != null) {\n writeFunction(firstNode);\n }\n for (let i = 1; i < nodes.length; i++) {\n this.write(delimiter);\n const node = nodes[i];\n if (node != null) {\n writeFunction(node);\n }\n }\n }\n }\n\n public toString(): string {\n return this.buffer;\n }\n\n /*******************************\n * Helper Methods\n *******************************/\n private writeInternal(text: string) {\n if (text.length === 0) {\n return;\n }\n\n const appendToLastLine = !this.lastCharacterIsNewline;\n\n this.hasWrittenAnything = true;\n this.lastCharacterIsNewline = text.endsWith(\"\\n\");\n this.lastCharacterIsSemicolon = text.endsWith(\";\");\n\n const lines = text.split(\"\\n\");\n\n const appendTrackingComment =\n enableStackTracking && !this.shouldSkipTracking(lines) && this.lastCharacterIsNewline;\n\n if (appendToLastLine) {\n this.lastLine = `${this.lastLine}${lines.shift() || \"\"}`;\n }\n\n if (this.lastCharacterIsNewline) {\n lines.pop();\n }\n\n this.lineBuffer.push(...lines);\n\n if (appendTrackingComment) {\n this.appendTrackingComment();\n }\n }\n\n /**\n * Sets the last line of the buffer\n * @param line - The line to set\n */\n protected set lastLine(line: string) {\n if (this.lineBuffer.length > 0) {\n this.lineBuffer[this.lineBuffer.length - 1] = line;\n } else {\n this.lineBuffer.push(line);\n }\n }\n\n /**\n * Gets the last line of the buffer\n * @returns The last line of the buffer\n */\n protected get lastLine() {\n return this.lineBuffer[this.lineBuffer.length - 1] || \"\";\n }\n\n /**\n * Determines if the tracking comment should be skipped\n * @param lines - The that are being written out\n *\n * @returns True if the tracking comment should be skipped\n */\n protected shouldSkipTracking(lines: string[]) {\n return false;\n }\n\n /**\n * Formats the stack trace frames into a string\n * @param stack - The stack trace to format\n * @param prefix - The prefix to add to the stack trace\n * @returns The formatted stack trace\n */\n protected formatStack(stack: StackTraceFrame[], prefix = \"\") {\n return stack.map((each) => `${prefix ? `(${prefix}) ` : \"\"} ${each.fn} - ${each.path} : ${each.position}`);\n }\n\n /**\n * Filters out frames that start with the name of the current class\n *\n * This will filter out frames that start with the name of the current class that inherits from AbstractWriter.\n *\n * You can override this function to filter out more things.\n * @param stack - The stack trace to filter\n * @returns The filtered stack trace\n */\n protected filterStack(stack: StackTraceFrame[]) {\n return stack.filter((each) => !each.fn.startsWith(`${this.constructor.name}.`));\n }\n\n /**\n * Prepares the stack trace and calls the appropriate tracking comment formatter\n */\n protected appendTrackingComment() {\n const stack = [\n // adds the stack frames of the current function call\n ...this.formatStack(this.filterStack(stacktrace({ maxFrames: 15, skip: 3 }))),\n\n // adds the stack frames of any AstNodes that have been written since the last tracking comment\n ...this.formatStack(this.filterStack(this.nodeStackFrames), \"node\")\n ];\n // reset the ast node stack frames\n this.nodeStackFrames.length = 0;\n\n switch (trackingType) {\n case \"single\":\n return this.singleLineTrackingComment(stack);\n\n case \"multiline\":\n return this.multiLineTrackingComment(stack);\n\n case \"box\":\n return this.boxTrackingComment(stack);\n }\n }\n\n /**\n * Creates a single line tracking comment\n *\n * Override this to change the format of the comment.\n *\n * @param stack - The stack trace to add to the comment\n */\n protected singleLineTrackingComment(stack: string[]) {\n this.lastLine = `${this.lastLine} // ${stack.join(\" \")}`;\n }\n /**\n * Creates a multi line tracking comment\n *\n * Override this to change the format of the comment.\n *\n * @param stack - The stack trace to add to the comment\n */\n protected multiLineTrackingComment(stack: string[]) {\n this.lineBuffer.push(...stack.map((each) => ` // ${each}`));\n }\n /**\n * Creates a box tracking comment\n *\n * Override this to change the format of the comment.\n *\n * @param stack - The stack trace to add to the comment\n */\n protected boxTrackingComment(stack: string[]) {\n this.lineBuffer.push(\"/*\", ...stack.map((each) => ` ${each}`), \"*/\");\n }\n\n private isAtStartOfLine(): boolean {\n return this.lastCharacterIsNewline || !this.hasWrittenAnything;\n }\n\n private getIndentString(): string {\n return \" \".repeat(this.indentLevel * this.getTabSize());\n }\n\n protected getTabSize(): number {\n return TAB_SIZE;\n }\n}\n","import { AbstractAstNode } from \"./AbstractAstNode\";\n\nexport type Argument = NamedArgument | UnnamedArgument;\n\nexport type Arguments = NamedArgument[] | UnnamedArgument[];\n\nexport interface NamedArgument {\n name: string;\n assignment: AbstractAstNode | string;\n docs?: string;\n}\n\nexport type UnnamedArgument = AbstractAstNode;\n\nexport function isNamedArgument(argument: NamedArgument | UnnamedArgument): argument is NamedArgument {\n return (argument as NamedArgument)?.name != null && (argument as NamedArgument)?.assignment != null;\n}\n\nexport function hasNamedArgument(arguments_: Arguments): boolean {\n return arguments_.length > 0 && arguments_[0] != null && isNamedArgument(arguments_[0]);\n}\n","import { AbstractAstNode } from \"./AbstractAstNode\";\nimport { AbstractWriter } from \"./AbstractWriter\";\n\nexport declare namespace Ternary {\n interface Args {\n /* The condition to check */\n condition: AbstractAstNode;\n /* The true expression */\n true_: AbstractAstNode;\n /* The false expression */\n false_: AbstractAstNode;\n }\n}\n\nexport class Ternary extends AbstractAstNode {\n private condition: AbstractAstNode;\n private true_: AbstractAstNode;\n private false_: AbstractAstNode;\n\n constructor({ condition, true_, false_ }: Ternary.Args) {\n super();\n\n this.condition = condition;\n this.true_ = true_;\n this.false_ = false_;\n }\n\n public write(writer: AbstractWriter): void {\n writer.writeNode(this.condition);\n writer.write(\" ? \");\n writer.writeNode(this.true_);\n writer.write(\" : \");\n writer.writeNode(this.false_);\n }\n}\n","import { FernIr } from \"@fern-api/dynamic-ir-sdk\";\n\nimport { AbstractDynamicSnippetsGeneratorContext } from \"./AbstractDynamicSnippetsGeneratorContext\";\nimport { ErrorReporter } from \"./ErrorReporter\";\n\nexport class Result {\n public reporter: ErrorReporter | undefined;\n public snippet: string | undefined;\n public err: Error | undefined;\n\n constructor() {\n this.snippet = undefined;\n this.reporter = undefined;\n this.err = undefined;\n }\n\n public update({ context, snippet }: { context: AbstractDynamicSnippetsGeneratorContext; snippet: string }): void {\n if (this.shouldUpdate({ snippet, reporter: context.errors })) {\n this.reporter = context.errors.clone();\n this.snippet = snippet;\n }\n }\n\n public getResponseOrThrow({\n endpoint\n }: {\n endpoint: FernIr.dynamic.EndpointLocation;\n }): FernIr.dynamic.EndpointSnippetResponse {\n if (this.snippet != null && this.reporter != null) {\n return {\n snippet: this.snippet,\n errors: this.reporter.toDynamicSnippetErrors()\n };\n }\n throw this.err ?? new Error(`Failed to generate snippet for endpoint \"${endpoint.method} ${endpoint.path}\"`);\n }\n\n private shouldUpdate({ snippet, reporter }: { snippet: string; reporter: ErrorReporter }): boolean {\n if (this.reporter == null || (this.reporter.size() > 0 && reporter.size() === 0)) {\n return true;\n }\n return snippet.length > (this.snippet?.length ?? 0);\n }\n}\n","import { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { AbstractAstNode } from \"../ast\";\nimport { AbstractDynamicSnippetsGeneratorContext } from \"./AbstractDynamicSnippetsGeneratorContext\";\nimport { AbstractEndpointSnippetGenerator } from \"./AbstractEndpointSnippetGenerator\";\nimport { Options } from \"./Options\";\nimport { Result } from \"./Result\";\n\nexport abstract class AbstractDynamicSnippetsGenerator<\n Context extends AbstractDynamicSnippetsGeneratorContext,\n EndpointSnippetGenerator extends AbstractEndpointSnippetGenerator<Context>\n> {\n public constructor(public readonly context: Context) {}\n\n protected abstract createSnippetGenerator(context: Context): EndpointSnippetGenerator;\n\n public async generate(\n request: FernIr.dynamic.EndpointSnippetRequest,\n options: Options = {}\n ): Promise<FernIr.dynamic.EndpointSnippetResponse> {\n const endpoints = this.context.resolveEndpointLocationOrThrow(request.endpoint);\n if (endpoints.length === 0) {\n throw new Error(`No endpoints found that match \"${request.endpoint.method} ${request.endpoint.path}\"`);\n }\n const result = new Result();\n for (const endpoint of endpoints) {\n const context = this.context.clone() as Context;\n const snippetGenerator = this.createSnippetGenerator(context);\n try {\n const snippet = await snippetGenerator.generateSnippet({ endpoint, request, options });\n if (context.errors.empty()) {\n return {\n snippet,\n errors: undefined\n };\n }\n result.update({ context, snippet });\n } catch (error) {\n if (result.err == null) {\n result.err = error as Error;\n }\n }\n }\n return result.getResponseOrThrow({ endpoint: request.endpoint });\n }\n\n public async generateSnippetAst(\n request: FernIr.dynamic.EndpointSnippetRequest,\n options: Options = {}\n ): Promise<AbstractAstNode> {\n const endpoints = this.context.resolveEndpointLocationOrThrow(request.endpoint);\n if (endpoints.length === 0) {\n throw new Error(`No endpoints found that match \"${request.endpoint.method} ${request.endpoint.path}\"`);\n }\n let lastError: Error | undefined = undefined;\n for (const endpoint of endpoints) {\n const context = this.context.clone() as Context;\n const snippetGenerator = this.createSnippetGenerator(context);\n try {\n const ast = await snippetGenerator.generateSnippetAst({ endpoint, request, options });\n return ast;\n } catch (error) {\n lastError = error as Error;\n }\n }\n if (lastError != null) {\n throw lastError;\n }\n throw new Error(\n `Failed to generate snippet AST for endpoint: ${request.endpoint.method} ${request.endpoint.path}`\n );\n }\n\n public generateSync(\n request: FernIr.dynamic.EndpointSnippetRequest,\n options: Options = {}\n ): FernIr.dynamic.EndpointSnippetResponse {\n const endpoints = this.context.resolveEndpointLocationOrThrow(request.endpoint);\n if (endpoints.length === 0) {\n throw new Error(`No endpoints found that match \"${request.endpoint.method} ${request.endpoint.path}\"`);\n }\n const result = new Result();\n for (const endpoint of endpoints) {\n const context = this.context.clone() as Context;\n const snippetGenerator = this.createSnippetGenerator(context);\n try {\n const snippet = snippetGenerator.generateSnippetSync({ endpoint, request, options });\n if (context.errors.empty()) {\n return {\n snippet,\n errors: undefined\n };\n }\n result.update({ context, snippet });\n } catch (error) {\n if (result.err == null) {\n result.err = error as Error;\n }\n }\n }\n return result.getResponseOrThrow({ endpoint: request.endpoint });\n }\n}\n","export declare namespace HttpEndpointReferenceParser {\n interface Parsed {\n path: string;\n method: Method;\n }\n\n type Method = \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\" | \"HEAD\";\n\n export type ValidationResult = Valid | Invalid;\n\n interface Valid {\n type: \"valid\";\n }\n\n interface Invalid {\n type: \"invalid\";\n }\n}\n\n/**\n * Parses an HTTP endpoint reference like `POST /users/get`\n */\nexport class HttpEndpointReferenceParser {\n //eslint-disable-next-line\n private REFERENCE_REGEX = /^(GET|POST|PUT|DELETE|PATCH|HEAD)\\s(\\/\\S*)$/;\n\n public validate(reference: string): HttpEndpointReferenceParser.ValidationResult {\n const validFormat = this.REFERENCE_REGEX.test(reference);\n if (!validFormat) {\n return { type: \"invalid\" };\n }\n return { type: \"valid\" };\n }\n\n public tryParse(reference: string): HttpEndpointReferenceParser.Parsed | undefined {\n const validationResponse = this.validate(reference);\n if (validationResponse.type === \"invalid\") {\n return undefined;\n }\n const match = reference.match(this.REFERENCE_REGEX);\n if (match == null || match[1] == null || match[2] == null) {\n return undefined;\n }\n return {\n method: match[1] as HttpEndpointReferenceParser.Method,\n path: match[2]\n };\n }\n}\n","export const Severity = {\n Critical: \"CRITICAL\",\n Warning: \"WARNING\"\n} as const;\n\nexport declare namespace ErrorReporter {\n type Path = readonly PathItem[];\n\n type PathItem = string | ArrayPathItem;\n\n type Severity = (typeof Severity)[keyof typeof Severity];\n\n interface ArrayPathItem {\n index: number;\n }\n\n interface Error {\n path?: Path;\n severity: Severity;\n message: string;\n }\n}\n\ninterface Error_ {\n severity: \"CRITICAL\" | \"WARNING\";\n path: string[] | undefined;\n message: string;\n}\n\nexport class ErrorReporter {\n private errors: ErrorReporter.Error[];\n private path: ErrorReporter.PathItem[];\n\n constructor() {\n this.errors = [];\n this.path = [];\n }\n\n public add(err: Omit<ErrorReporter.Error, \"path\">): void {\n this.errors.push({\n ...err,\n path: [...this.path]\n });\n }\n\n public scope(path: ErrorReporter.PathItem): void {\n this.path.push(path);\n }\n\n public unscope(): void {\n this.path.pop();\n }\n\n public getBySeverity(severity: ErrorReporter.Severity): ErrorReporter.Error[] {\n return this.errors.filter((err) => err.severity === severity);\n }\n\n public empty(): boolean {\n return this.errors.length === 0;\n }\n\n public size(): number {\n return this.errors.length;\n }\n\n public clone(): ErrorReporter {\n const clone = new ErrorReporter();\n clone.errors = [...this.errors];\n clone.path = [...this.path];\n return clone;\n }\n\n public reset(): void {\n this.errors = [];\n this.path = [];\n }\n\n public toDynamicSnippetErrors(): Error_[] {\n return this.errors.map((err) => ({\n severity: err.severity,\n path: err.path != null ? this.pathToStringArray(err.path) : undefined,\n message: err.message\n }));\n }\n\n private pathToStringArray(path: ErrorReporter.Path): string[] {\n const result: string[] = [];\n for (const item of path) {\n if (typeof item === \"string\") {\n result.push(item);\n continue;\n }\n result[result.length - 1] += `[${item.index}]`;\n }\n return result;\n }\n}\n","import { assertNever, keys } from \"@fern-api/core-utils\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { HttpEndpointReferenceParser } from \"@fern-api/fern-definition-schema\";\n\nimport { FernGeneratorExec } from \"../GeneratorNotificationService\";\nimport { DiscriminatedUnionTypeInstance } from \"./DiscriminatedUnionTypeInstance\";\nimport { ErrorReporter, Severity } from \"./ErrorReporter\";\nimport { Options } from \"./Options\";\nimport { TypeInstance } from \"./TypeInstance\";\n\nexport abstract class AbstractDynamicSnippetsGeneratorContext {\n public config: FernGeneratorExec.GeneratorConfig;\n public options: Options;\n public errors: ErrorReporter;\n\n private _ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n private httpEndpointReferenceParser: HttpEndpointReferenceParser;\n\n constructor({\n ir,\n config,\n options = {}\n }: {\n ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n config: FernGeneratorExec.GeneratorConfig;\n options?: Options;\n }) {\n this._ir = ir;\n this.config = config;\n this.options = options;\n this.errors = new ErrorReporter();\n this.httpEndpointReferenceParser = new HttpEndpointReferenceParser();\n }\n\n public abstract clone(): AbstractDynamicSnippetsGeneratorContext;\n\n public associateQueryParametersByWireValue({\n parameters,\n values\n }: {\n parameters: FernIr.dynamic.NamedParameter[];\n values: FernIr.dynamic.Values;\n }): TypeInstance[] {\n const instances: TypeInstance[] = [];\n for (const [key, value] of Object.entries(values)) {\n this.errors.scope(key);\n try {\n const parameter = parameters.find((param) => param.name.wireValue === key);\n if (parameter == null) {\n throw this.newParameterNotRecognizedError(key);\n }\n // If this query parameter supports allow-multiple, the user-provided values\n // must be wrapped in an array.\n const typeInstanceValue =\n this.isListTypeReference(parameter.typeReference) && !Array.isArray(value) ? [value] : value;\n instances.push({\n name: parameter.name,\n typeReference: parameter.typeReference,\n value: typeInstanceValue\n });\n } finally {\n this.errors.unscope();\n }\n }\n return instances;\n }\n\n public associateByWireValueOrDefault({\n parameters,\n values\n }: {\n parameters: FernIr.dynamic.NamedParameter[];\n values: FernIr.dynamic.Values;\n }): TypeInstance[] {\n const instances: TypeInstance[] = [];\n for (const parameter of parameters) {\n this.errors.scope(parameter.name.wireValue);\n try {\n let value = values[parameter.name.wireValue];\n\n if (value == null) {\n if (parameter.typeReference.type === \"primitive\" && parameter.typeReference.value === \"STRING\") {\n // synthesize a parameter value for string parameters that are missing data\n value = `<${parameter.name.wireValue}>`;\n } else {\n this.errors.add({\n severity: Severity.Critical,\n message: this.newParameterNotRecognizedError(parameter.name.wireValue).message\n });\n continue;\n }\n }\n\n instances.push({\n name: parameter.name,\n typeReference: parameter.typeReference,\n value\n });\n } finally {\n this.errors.unscope();\n }\n }\n\n return instances;\n }\n\n public associateByWireValue({\n parameters,\n values,\n ignoreMissingParameters\n }: {\n parameters: FernIr.dynamic.NamedParameter[];\n values: FernIr.dynamic.Values;\n ignoreMissingParameters?: boolean;\n }): TypeInstance[] {\n const instances: TypeInstance[] = [];\n for (const [key, value] of Object.entries(values)) {\n this.errors.scope(key);\n try {\n const parameter = parameters.find((param) => param.name.wireValue === key);\n if (parameter == null) {\n if (ignoreMissingParameters) {\n // Required for request payloads that include more information than\n // just the target parameters (e.g. union base properties).\n continue;\n }\n this.errors.add({\n severity: Severity.Critical,\n message: this.newParameterNotRecognizedError(key).message\n });\n continue;\n }\n instances.push({\n name: parameter.name,\n typeReference: parameter.typeReference,\n value\n });\n } finally {\n this.errors.unscope();\n }\n }\n return instances;\n }\n\n /**\n * Similar to `associateByWireValue` but it builds TypeInstance objects by iterating over schema parameters rather\n * than snippet values. Skips non-nullable parameters that are missing from the snippet object.\n */\n public getExampleObjectProperties({\n parameters,\n snippetObject\n }: {\n parameters: FernIr.dynamic.NamedParameter[];\n snippetObject: unknown;\n }): TypeInstance[] {\n const objectRecord = (\n typeof snippetObject === \"object\" && snippetObject !== null && !Array.isArray(snippetObject)\n ? snippetObject\n : {}\n ) as Record<string, unknown>;\n const instances: TypeInstance[] = [];\n for (const parameter of parameters) {\n const value = objectRecord[parameter.name.wireValue];\n if (value == null) {\n if (parameter.typeReference.type === \"nullable\") {\n instances.push({\n name: parameter.name,\n typeReference: parameter.typeReference,\n value: null\n });\n }\n } else {\n instances.push({\n name: parameter.name,\n typeReference: parameter.typeReference,\n value\n });\n }\n }\n return instances;\n }\n\n public getSingleFileValue({\n property,\n record\n }: {\n property: FernIr.dynamic.FileUploadRequestBodyProperty.File_;\n record: Record<string, unknown>;\n }): string | undefined {\n const fileValue = record[property.wireValue];\n if (fileValue == null) {\n return undefined;\n }\n if (typeof fileValue !== \"string\") {\n this.errors.add({\n severity: Severity.Critical,\n message: `Expected file value to be a string, got ${typeof fileValue}`\n });\n return undefined;\n }\n return fileValue;\n }\n\n public getFileArrayValues({\n property,\n record\n }: {\n property: FernIr.dynamic.FileUploadRequestBodyProperty.FileArray;\n record: Record<string, unknown>;\n }): string[] | undefined {\n const fileArrayValue = record[property.wireValue];\n if (fileArrayValue == null) {\n return undefined;\n }\n if (!Array.isArray(fileArrayValue)) {\n this.errors.add({\n severity: Severity.Critical,\n message: `Expected file array value to be an array of strings, got ${typeof fileArrayValue}`\n });\n return undefined;\n }\n const stringValues: string[] = [];\n for (const value of fileArrayValue) {\n if (typeof value !== \"string\") {\n this.errors.add({\n severity: Severity.Critical,\n message: `Expected file array value to be an array of strings, got ${typeof value}`\n });\n return undefined;\n }\n stringValues.push(value);\n }\n return stringValues;\n }\n\n public getRecord(value: unknown): Record<string, unknown> | undefined {\n if (typeof value !== \"object\" || Array.isArray(value)) {\n this.errors.add({\n severity: Severity.Critical,\n message: `Expected object with key, value pairs but got: ${\n Array.isArray(value) ? \"array\" : typeof value\n }`\n });\n return undefined;\n }\n if (value == null) {\n return {};\n }\n return value as Record<string, unknown>;\n }\n\n public resolveNamedType({ typeId }: { typeId: FernIr.dynamic.TypeId }): FernIr.dynamic.NamedType | undefined {\n const namedType = this._ir.types[typeId];\n if (namedType == null) {\n this.errors.add({\n severity: Severity.Critical,\n message: `Type identified by \"${typeId}\" could not be found`\n });\n return undefined;\n }\n return namedType;\n }\n\n public resolveDiscriminatedUnionTypeInstance({\n discriminatedUnion,\n value\n }: {\n discriminatedUnion: FernIr.dynamic.DiscriminatedUnionType;\n value: unknown;\n }): DiscriminatedUnionTypeInstance | undefined {\n const record = this.getRecord(value);\n if (record == null) {\n return undefined;\n }\n\n const discriminantFieldName = discriminatedUnion.discriminant.wireValue;\n const discriminantValue = record[discriminantFieldName];\n if (discriminantValue == null) {\n this.errors.add({\n severity: Severity.Critical,\n message: this.newParameterNotRecognizedError(discriminantFieldName).message\n });\n return undefined;\n }\n if (typeof discriminantValue !== \"string\") {\n this.errors.add({\n severity: Severity.Critical,\n message: `Expected discriminant value to be a string but got: ${typeof discriminantValue}`\n });\n return undefined;\n }\n\n const singleDiscriminatedUnionType = discriminatedUnion.types[discriminantValue];\n if (singleDiscriminatedUnionType == null) {\n this.errors.add({\n severity: Severity.Critical,\n message: `No type found for discriminant value \"${discriminantValue}\"`\n });\n return undefined;\n }\n\n // Remove the discriminant from the record so that the value is valid for the type.\n const { [discriminantFieldName]: _, ...filtered } = record;\n\n return {\n singleDiscriminatedUnionType,\n discriminantValue: singleDiscriminatedUnionType.discriminantValue,\n value: filtered\n };\n }\n\n public resolveEndpointOrThrow(rawEndpoint: string): FernIr.dynamic.Endpoint[] {\n const parsedEndpoint = this.httpEndpointReferenceParser.tryParse(rawEndpoint);\n if (parsedEndpoint == null) {\n throw new Error(`Failed to parse endpoint reference \"${rawEndpoint}\"`);\n }\n return this.resolveEndpointLocationOrThrow(parsedEndpoint);\n }\n\n public resolveEndpointLocation(location: FernIr.dynamic.EndpointLocation): FernIr.dynamic.Endpoint[] {\n const endpoints: FernIr.dynamic.Endpoint[] = [];\n for (const endpoint of Object.values(this._ir.endpoints)) {\n if (this.parsedEndpointMatches({ endpoint, parsedEndpoint: location })) {\n endpoints.push(endpoint);\n }\n }\n\n return endpoints;\n }\n\n public resolveEndpointLocationOrThrow(location: FernIr.dynamic.EndpointLocation): FernIr.dynamic.Endpoint[] {\n const endpoints = this.resolveEndpointLocation(location);\n if (endpoints.length === 0) {\n throw new Error(`Failed to find endpoint identified by \"${location.method} ${location.path}\"`);\n }\n return endpoints;\n }\n\n public needsRequestParameter({\n request,\n inlinePathParameters,\n inlineFileProperties\n }: {\n request: FernIr.dynamic.InlinedRequest;\n inlinePathParameters: boolean;\n inlineFileProperties: boolean;\n }): boolean {\n if (this.includePathParametersInWrappedRequest({ request, inlinePathParameters })) {\n return true;\n }\n if (request.queryParameters != null && request.queryParameters.length > 0) {\n return true;\n }\n if (request.headers != null && request.headers.length > 0) {\n return true;\n }\n if (request.body != null) {\n return this.includeRequestBodyInWrappedRequest({ body: request.body, inlineFileProperties });\n }\n if (request.metadata?.onlyPathParameters) {\n return false;\n }\n return true;\n }\n\n public includePathParametersInWrappedRequest({\n request,\n inlinePathParameters\n }: {\n request: FernIr.dynamic.InlinedRequest;\n inlinePathParameters: boolean;\n }): boolean {\n return inlinePathParameters && (request.metadata?.includePathParameters ?? false);\n }\n\n public isFileUploadRequestBody(\n body: FernIr.dynamic.InlinedRequestBody\n ): body is FernIr.dynamic.InlinedRequestBody.FileUpload {\n switch (body.type) {\n case \"fileUpload\":\n return true;\n case \"properties\":\n case \"referenced\":\n return false;\n default:\n assertNever(body);\n }\n }\n\n public resolveEnvironmentName(environmentID: string): FernIr.Name | undefined {\n if (this._ir.environments == null) {\n return undefined;\n }\n const environments = this._ir.environments.environments;\n switch (environments.type) {\n case \"singleBaseUrl\": {\n const environment = environments.environments.find((env) => env.id === environmentID);\n if (environment == null) {\n return undefined;\n }\n return environment.name;\n }\n case \"multipleBaseUrls\": {\n const environment = environments.environments.find((env) => env.id === environmentID);\n if (environment == null) {\n return undefined;\n }\n return environment.name;\n }\n default:\n assertNever(environments);\n }\n }\n\n public isSingleEnvironmentID(\n environment: FernIr.dynamic.EnvironmentValues\n ): environment is FernIr.dynamic.EnvironmentId {\n return typeof environment === \"string\";\n }\n\n public isMultiEnvironmentValues(\n environment: FernIr.dynamic.EnvironmentValues\n ): environment is FernIr.dynamic.MultipleEnvironmentUrlValues {\n return typeof environment === \"object\";\n }\n\n public validateMultiEnvironmentUrlValues(\n multiEnvironmentUrlValues: FernIr.dynamic.MultipleEnvironmentUrlValues\n ): boolean {\n if (this._ir.environments == null) {\n this.errors.add({\n severity: Severity.Critical,\n message:\n \"Multiple environments are not supported for single base URL environments; use the baseUrl option instead\"\n });\n return false;\n }\n const environments = this._ir.environments.environments;\n switch (environments.type) {\n case \"singleBaseUrl\": {\n this.errors.add({\n severity: Severity.Critical,\n message:\n \"Multiple environments are not supported for single base URL environments; use the baseUrl option instead\"\n });\n return false;\n }\n case \"multipleBaseUrls\": {\n const firstEnvironment = environments.environments[0];\n if (firstEnvironment == null) {\n this.errors.add({\n severity: Severity.Critical,\n message: \"Multiple environments are not supported; use the baseUrl option instead\"\n });\n return false;\n }\n const expectedKeys = new Set(keys(firstEnvironment.urls));\n for (const key of keys(multiEnvironmentUrlValues)) {\n if (expectedKeys.has(key)) {\n expectedKeys.delete(key);\n }\n }\n if (expectedKeys.size > 0) {\n this.errors.add({\n severity: Severity.Critical,\n message: `The provided environments are invalid; got: [${Object.keys(multiEnvironmentUrlValues).join(\", \")}], expected: [${keys(firstEnvironment.urls).join(\", \")}]`\n });\n return false;\n }\n return true;\n }\n }\n }\n\n public getValueAsNumber({ value }: { value: unknown }): number | undefined {\n if (typeof value !== \"number\") {\n this.errors.add({\n severity: Severity.Critical,\n message: this.newTypeMismatchError({ expected: \"number\", value }).message\n });\n return undefined;\n }\n return value;\n }\n\n public getValueAsBoolean({ value }: { value: unknown }): boolean | undefined {\n if (typeof value !== \"boolean\") {\n this.errors.add({\n severity: Severity.Critical,\n message: this.newTypeMismatchError({ expected: \"boolean\", value }).message\n });\n return undefined;\n }\n return value;\n }\n\n public getValueAsString({ value }: { value: unknown }): string | undefined {\n if (typeof value !== \"string\") {\n this.errors.add({\n severity: Severity.Critical,\n message: this.newTypeMismatchError({ expected: \"string\", value }).message\n });\n return undefined;\n }\n return value;\n }\n\n public isOptional(typeReference: FernIr.dynamic.TypeReference): boolean {\n switch (typeReference.type) {\n case \"nullable\":\n return this.isOptional(typeReference.value);\n case \"optional\":\n return true;\n case \"named\": {\n const resolvedType = this.resolveNamedType({ typeId: typeReference.value });\n if (resolvedType == null) {\n return false;\n }\n if (resolvedType.type === \"alias\") {\n return this.isNullable(resolvedType.typeReference);\n }\n return false;\n }\n }\n return false;\n }\n\n public isNullable(typeReference: FernIr.dynamic.TypeReference): boolean {\n switch (typeReference.type) {\n case \"nullable\":\n return true;\n case \"optional\":\n return this.isNullable(typeReference.value);\n case \"named\": {\n const resolvedType = this.resolveNamedType({ typeId: typeReference.value });\n if (resolvedType == null) {\n return false;\n }\n if (resolvedType.type === \"alias\") {\n return this.isNullable(resolvedType.typeReference);\n }\n return false;\n }\n }\n return false;\n }\n\n public newAuthMismatchError({\n auth,\n values\n }: {\n auth: FernIr.dynamic.Auth;\n values: FernIr.dynamic.AuthValues;\n }): Error {\n return new Error(`Expected auth type ${auth.type}, got ${values.type}`);\n }\n\n public newParameterNotRecognizedError(parameterName: string): Error {\n return new Error(`\"${parameterName}\" is not a recognized parameter for this endpoint`);\n }\n\n public newTypeMismatchError({ expected, value }: { expected: string; value: unknown }): Error {\n return new Error(`Expected ${expected}, got ${typeof value}`);\n }\n\n private includeRequestBodyInWrappedRequest({\n body,\n inlineFileProperties\n }: {\n body: FernIr.dynamic.InlinedRequestBody;\n inlineFileProperties: boolean;\n }): boolean {\n switch (body.type) {\n case \"properties\":\n case \"referenced\":\n return true;\n case \"fileUpload\":\n return this.includeFileUploadBodyInWrappedRequest({ fileUpload: body, inlineFileProperties });\n default:\n assertNever(body);\n }\n }\n\n private includeFileUploadBodyInWrappedRequest({\n fileUpload,\n inlineFileProperties\n }: {\n fileUpload: FernIr.dynamic.FileUploadRequestBody;\n inlineFileProperties: boolean;\n }): boolean {\n return (\n this.fileUploadHasBodyProperties({ fileUpload }) ||\n (inlineFileProperties && this.fileUploadHasFileProperties({ fileUpload }))\n );\n }\n\n private fileUploadHasBodyProperties({ fileUpload }: { fileUpload: FernIr.dynamic.FileUploadRequestBody }): boolean {\n return fileUpload.properties.some((property) => {\n switch (property.type) {\n case \"file\":\n case \"fileArray\":\n return false;\n case \"bodyProperty\":\n return true;\n default:\n assertNever(property);\n }\n });\n }\n\n private fileUploadHasFileProperties({ fileUpload }: { fileUpload: FernIr.dynamic.FileUploadRequestBody }): boolean {\n return fileUpload.properties.some((property) => {\n switch (property.type) {\n case \"file\":\n case \"fileArray\":\n return true;\n case \"bodyProperty\":\n return false;\n default:\n assertNever(property);\n }\n });\n }\n\n private isListTypeReference(typeReference: FernIr.dynamic.TypeReference): boolean {\n if (typeReference.type === \"optional\") {\n return this.isListTypeReference(typeReference.value);\n }\n return typeReference.type === \"list\" || typeReference.type === \"set\";\n }\n\n private parsedEndpointMatches({\n endpoint,\n parsedEndpoint\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n parsedEndpoint: HttpEndpointReferenceParser.Parsed;\n }): boolean {\n return endpoint.location.method === parsedEndpoint.method && endpoint.location.path === parsedEndpoint.path;\n }\n}\n","import { AbstractFormatter } from \"../ast/AbstractFormatter\";\n\n// Style of the generated snippets.\nexport enum Style {\n // Use a concise style for the snippet (top-level statements).\n Concise = \"concise\",\n\n // Use the full style for the snippet (a `main` function that can be run).\n Full = \"full\"\n}\n\n// Options used to customize the behavior of any dynamic snippets generator\nexport interface Options {\n // Config to use for a specific generator. This is independent of the customConfig\n // used by the generator, and is primarily used in testing environments.\n config?: unknown;\n\n // The formatter to use for the generated snippets.\n formatter?: AbstractFormatter;\n\n // Style of the generated snippets. By default, the executable style is used.\n style?: Style;\n\n // Skip client instantiation in the generated snippet. Useful for wire tests\n // where the client is already instantiated in the test setup.\n skipClientInstantiation?: boolean;\n}\n","export const Scope = {\n PathParameters: \"pathParameters\",\n QueryParameters: \"queryParameters\",\n Headers: \"headers\",\n RequestBody: \"requestBody\"\n} as const;\n\nexport type Scope = (typeof Scope)[keyof typeof Scope];\n","// Language constructs\n\nexport { Block } from \"./code/Block\";\n// Code constructs\nexport { ClassInstantiation } from \"./code/ClassInstantiation\";\nexport { Dictionary } from \"./code/Dictionary\";\nexport { EnumInstantiation } from \"./code/EnumInstantiation\";\nexport { PrimitiveInstantiation as InstantiatedPrimitive } from \"./code/InstantiatedPrimitive\";\nexport { List } from \"./code/List\";\nexport { type ConstructorField, type DictionaryEntry, Literal } from \"./code/Literal\";\nexport { MethodInvocation } from \"./code/MethodInvocation\";\nexport { ReadOnlyMemory } from \"./code/ReadOnlymemory\";\nexport { Set } from \"./code/Set\";\nexport { String_ } from \"./code/String_\";\n// Core utilities\nexport { AstNode, MemberNode, Node } from \"./core/AstNode\";\nexport { Writer } from \"./core/Writer\";\nexport { XmlDocWriter } from \"./core/XmlDocWriter\";\nexport { Access } from \"./language/Access\";\nexport { And } from \"./language/And\";\nexport { Annotation } from \"./language/Annotation\";\nexport { AnonymousFunction } from \"./language/AnonymousFunction\";\nexport { CodeBlock } from \"./language/CodeBlock\";\nexport { Or } from \"./language/Or\";\nexport { Parameter } from \"./language/Parameter\";\nexport { Switch } from \"./language/Switch\";\nexport { Ternary } from \"./language/Ternary\";\nexport { XmlDocBlock } from \"./language/XmlDocBlock\";\n// Type definitions\nexport { Class } from \"./types/Class\";\nexport { ClassReference } from \"./types/ClassReference\";\nexport { Enum } from \"./types/Enum\";\nexport { Field } from \"./types/Field\";\nexport { Interface } from \"./types/Interface\";\nexport { type Type } from \"./types/IType\";\nexport { Method, MethodType } from \"./types/Method\";\nexport { TestClass } from \"./types/TestClass\";\nexport { convertReadOnlyPrimitiveTypes } from \"./types/Type\";\n","import { fail } from \"node:assert\";\nimport { Literal } from \"../ast/code/Literal\";\nimport { AstNode } from \"../ast/core/AstNode\";\nimport { ClassReference } from \"../ast/types/ClassReference\";\nimport { Type } from \"../ast/types/IType\";\nimport { BaseType, Collection, Optional, Primitive, Value } from \"../ast/types/Type\";\nimport { type Provenance } from \"../context/model-navigator\";\nimport { is as DynamicIR } from \"./dynamic-ir-type-guards\";\nimport { is as IR } from \"./ir-type-guards\";\n\nconst ISO_8601_DATE_REGEX = /^[+-]?\\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[12]\\d|3[01])$/;\n\nconst ISO_8601_DATE_TIME_REGEX =\n /^([+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))[T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24:?00)([.,]\\d+(?!:))?)?(\\16[0-5]\\d([.,]\\d+)?)?([zZ]|([+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)$/;\n\n/** Universal Type Guard functions\n *\n * Using these functions on objects is preferable to sniffing the internals of the object.\n * Using the type guard functions allows TypeScript to infer the type of the object in the block following.\n *\n * @see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-guards\n */\nexport const is = {\n string: (value: unknown): value is string => typeof value === \"string\",\n boolean: (value: unknown): value is boolean => typeof value === \"boolean\",\n number: (value: unknown): value is number => typeof value === \"number\",\n date: (value: unknown): value is Date => value instanceof Date,\n object: (value: unknown): value is object =>\n value != null && typeof value === \"object\" && Array.isArray(value) === false,\n array: (value: unknown): value is unknown[] => Array.isArray(value),\n Provenance: (value: unknown): value is Provenance =>\n is.object(value) && \"jsonPath\" in value && \"name\" in value && \"node\" in value,\n Explicit: (value: unknown): value is Provenance & { explicit: true } =>\n is.Provenance(value) && value.explicit === true,\n NonNullable: <T>(value: T): value is NonNullable<T> => value != null,\n isIsoDateString: (value: unknown): value is string => is.string(value) && ISO_8601_DATE_REGEX.test(value),\n isIsoDateTimeString: (value: unknown): value is string => is.string(value) && ISO_8601_DATE_TIME_REGEX.test(value),\n Type: (value: unknown): value is BaseType => value instanceof BaseType,\n ClassReference: (value: unknown): value is ClassReference => value instanceof ClassReference,\n Optional: (value: Type): value is Optional => value instanceof Optional,\n AsyncEnumerable: (value: Type | undefined): value is Type =>\n value != null &&\n value.asNonOptional().fullyQualifiedName.startsWith(\"System.Collections.Generic.IAsyncEnumerable\"),\n Record: {\n empty: (value: unknown): value is Record<string, unknown> =>\n value == null || Object.keys(value || {}).length === 0,\n nonEmpty: (value: unknown): value is Record<string, unknown> =>\n is.object(value) && Object.keys(value).length > 0,\n withKey: <K extends string>(value: unknown, key: K): value is Record<K, unknown> =>\n is.object(value) && key in value,\n missingKey: <K extends string>(value: unknown, key: K): value is Record<K, unknown> =>\n is.object(value) && !(key in value)\n },\n\n Ast: {\n Node: (value: unknown) => value instanceof AstNode,\n NamedNode: (value: unknown): value is AstNode & { name: string } =>\n is.Ast.Node(value) && \"name\" in value && typeof value.name === \"string\"\n },\n OneOf: {\n OneOf: (value: Type | undefined): value is ClassReference =>\n is.ClassReference(value) && value.fullyQualifiedName === \"OneOf.OneOf\",\n OneOfBase: (value: Type | undefined): value is ClassReference =>\n is.ClassReference(value) && value.fullyQualifiedName === \"OneOf.OneOfBase\"\n },\n\n Primitive: {\n string: (value: Type | undefined) => value instanceof Primitive.String,\n boolean: (value: Type | undefined) => value instanceof Primitive.Boolean,\n int: (value: Type | undefined) => value instanceof Primitive.Integer,\n long: (value: Type | undefined) => value instanceof Primitive.Long,\n uint: (value: Type | undefined) => value instanceof Primitive.Uint,\n ulong: (value: Type | undefined) => value instanceof Primitive.ULong,\n float: (value: Type | undefined) => value instanceof Primitive.Float,\n double: (value: Type | undefined) => value instanceof Primitive.Double,\n object: (value: Type | undefined) => value instanceof Primitive.Object\n },\n\n Value: {\n dateTime: (value: Type | undefined) => value instanceof Value.DateTime,\n uuid: (value: Type | undefined) => value instanceof Value.Uuid,\n byte: (value: Type | undefined) => value instanceof Value.Binary,\n stringEnum: (value: Type | undefined) => value instanceof Value.StringEnum\n },\n\n Collection: {\n array: (value: Type | undefined) => value instanceof Collection.Array,\n listType: (value: Type | undefined) => value instanceof Collection.ListType,\n list: (value: Type | undefined) => value instanceof Collection.List,\n set: (value: Type | undefined) => value instanceof Collection.Set,\n map: (value: Type | undefined) => value instanceof Collection.Map,\n idictionary: (value: Type | undefined) => value instanceof Collection.IDictionary,\n keyValuePair: (value: Type | undefined) => value instanceof Collection.KeyValuePair\n },\n\n Literal: {\n string: (value: Literal | undefined) => value instanceof Literal.String,\n boolean: (value: Literal | undefined) => value instanceof Literal.Boolean,\n decimal: (value: Literal | undefined) => value instanceof Literal.Decimal,\n double: (value: Literal | undefined) => value instanceof Literal.Double,\n date: (value: Literal | undefined) => value instanceof Literal.Date,\n dateTime: (value: Literal | undefined) => value instanceof Literal.DateTime,\n float: (value: Literal | undefined) => value instanceof Literal.Float,\n int: (value: Literal | undefined) => value instanceof Literal.Integer,\n long: (value: Literal | undefined) => value instanceof Literal.Long,\n uint: (value: Literal | undefined) => value instanceof Literal.Uint,\n ulong: (value: Literal | undefined) => value instanceof Literal.Ulong,\n class: (value: Literal | undefined) => value instanceof Literal.Class_,\n list: (value: Literal | undefined) => value instanceof Literal.List,\n set: (value: Literal | undefined) => value instanceof Literal.Set,\n dictionary: (value: Literal | undefined) => value instanceof Literal.Dictionary,\n nop: (value: Literal | undefined) => value instanceof Literal.Nop,\n null: (value: Literal | undefined) => value instanceof Literal.Null,\n unknown: (value: Literal | undefined) => value instanceof Literal.Unknown\n },\n\n IR, // Intermediate Representation typeguards\n DynamicIR // Dynamic IR typeguards\n};\n\nexport const assert = {\n object: (value: unknown): value is object => {\n return is.object(value) || fail(`Not an object type: ${JSON.stringify(value)}`);\n }\n};\n","import { AbstractWriter } from \"@fern-api/browser-compatible-base-generator\";\nimport { Generation } from \"../../context/generation-info\";\nimport { type ClassReference } from \"../types/ClassReference\";\n\ntype Alias = string;\ntype Namespace = string;\n\nexport declare namespace Writer {\n interface Args {\n /* The namespace that is being written to */\n namespace: string;\n /* All base namespaces in the project */\n allNamespaceSegments: Set<string>;\n /* The name of every type in the project mapped to the namespaces a type of that name belongs to */\n allTypeClassReferences: Map<string, Set<Namespace>>;\n /* Custom generator config */\n generation: Generation;\n /* Whether or not to skip writing imports */\n skipImports?: boolean;\n }\n}\n\nexport class Writer extends AbstractWriter {\n /* Import statements */\n private references: Record<Namespace, ClassReference[]> = {};\n /* The namespace that is being written to */\n public namespace: string;\n /* The set of namespace aliases */\n private namespaceAliases: Record<Alias, Namespace> = {};\n /* All base namespaces in the project */\n private allNamespaceSegments: Set<string>;\n /* The name of every type in the project mapped to the namespaces a type of that name belongs to */\n private allTypeClassReferences: Map<string, Set<Namespace>>;\n /* Whether or not dictionary<string, object?> should be simplified to just objects */\n public readonly generation: Generation;\n /* Whether or not to skip writing imports */\n public readonly skipImports: boolean;\n\n constructor({\n namespace,\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n skipImports = false\n }: Writer.Args) {\n super();\n this.namespace = namespace;\n this.allNamespaceSegments = allNamespaceSegments;\n this.allTypeClassReferences = allTypeClassReferences;\n this.generation = generation;\n this.skipImports = skipImports;\n }\n\n public addReference(reference: ClassReference): void {\n if (reference.namespace == null) {\n return;\n }\n const namespace = this.references[reference.namespace];\n if (namespace != null) {\n namespace.push(reference);\n } else {\n this.references[reference.namespace] = [reference];\n }\n }\n\n public addNamespace(namespace: string): void {\n const foundNamespace = this.references[namespace];\n if (foundNamespace == null) {\n this.references[namespace] = [];\n }\n }\n\n public addNamespaceAlias(alias: string, namespace: string): string {\n const set = new Set<Alias>(Object.values(this.namespaceAliases));\n while (set.has(alias)) {\n alias = `_${alias}`;\n }\n this.namespaceAliases[alias] = namespace;\n return alias;\n }\n\n public getReferencedNamespaces(): string[] {\n return Object.keys(this.references);\n }\n\n public getAllTypeClassReferences(): Map<string, Set<Namespace>> {\n return this.allTypeClassReferences;\n }\n\n public getAllNamespaceSegments(): Set<string> {\n return this.allNamespaceSegments;\n }\n\n public override toString(skipImports = false): string {\n if (!skipImports) {\n const imports = this.stringifyImports();\n if (imports.length > 0) {\n return `${imports}\n${this.buffer}`;\n }\n }\n return this.buffer;\n }\n\n public importsToString(): string | undefined {\n const imports = this.stringifyImports();\n return imports.length > 0 ? imports : undefined;\n }\n\n public isReadOnlyMemoryType(type: string): boolean {\n return this.generation.settings.readOnlyMemoryTypes.includes(type);\n }\n\n private inQuoteBlock = false;\n\n public override shouldSkipTracking(lines: string[]) {\n lines.forEach((line) => (this.inQuoteBlock = line.includes('\"\"\"') ? !this.inQuoteBlock : this.inQuoteBlock));\n return this.inQuoteBlock;\n }\n\n /*******************************\n * Helper Methods\n *******************************/\n\n private stringifyImports(): string {\n let result = Object.entries(this.references)\n .filter(\n ([ns]) =>\n ns && // filter out blank or unspecified namespaces\n !this.isCurrentNamespace(ns) && // filter out the current namespace.\n !this.generation.registry.isNamespaceImplicit(ns) // filter out implicitly imported namespaces.\n )\n .map(\n ([, refs]) =>\n `using ${refs.some((ref) => ref?.global) ? \"global::\" : \"\"}${(refs[0] as ClassReference).resolveNamespace()};`\n )\n .join(\"\\n\");\n\n if (result.length > 0) {\n result = `${result}\\n`;\n }\n\n for (const [alias, namespace] of Object.entries(this.namespaceAliases)) {\n result = `${result}using ${alias} = ${namespace};\\n`;\n }\n\n return result;\n }\n\n private isCurrentNamespace(namespace: string): boolean {\n return namespace === this.namespace;\n }\n}\n","import {\n AbstractAstNode,\n AbstractFormatter,\n addGlobalFunctionFilter,\n at,\n enableStackTracking,\n getFramesForTaggedObject\n} from \"@fern-api/browser-compatible-base-generator\";\nimport { Generation } from \"../../context/generation-info\";\nimport { type Origin } from \"../../context/model-navigator\";\nimport { type Class } from \"../types/Class\";\nimport { type ClassReference } from \"../types/ClassReference\";\nimport { type Interface } from \"../types/Interface\";\nimport { Writer } from \"./Writer\";\n\ntype Namespace = string;\n\nexport interface FormattedAstNodeSnippet {\n imports: string | undefined;\n body: string;\n}\n\n// don't track stack frames for the internals of AstNode.\naddGlobalFunctionFilter(\"AstNode\");\n\nexport abstract class AstNode extends AbstractAstNode {\n constructor(public readonly generation: Generation) {\n super();\n }\n\n protected get csharp() {\n return this.generation.csharp;\n }\n protected get registry() {\n return this.generation.registry;\n }\n protected get settings() {\n return this.generation.settings;\n }\n protected get namespaces() {\n return this.generation.namespaces;\n }\n protected get names() {\n return this.generation.names;\n }\n protected get model() {\n return this.generation.model;\n }\n protected get format() {\n return this.generation.format;\n }\n protected get Types() {\n return this.generation.Types;\n }\n\n protected get System() {\n return this.generation.extern.System;\n }\n protected get NUnit() {\n return this.generation.extern.NUnit;\n }\n protected get OneOf() {\n return this.generation.extern.OneOf;\n }\n protected get Google() {\n return this.generation.extern.Google;\n }\n protected get WireMock() {\n return this.generation.extern.WireMock;\n }\n protected get Primitive() {\n return this.generation.Primitive;\n }\n protected get Value() {\n return this.generation.Value;\n }\n protected get Collection() {\n return this.generation.Collection;\n }\n\n /**\n * Writes the node to a string.\n */\n public override toString({\n namespace,\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n formatter,\n skipImports = false\n }: {\n namespace: string;\n allNamespaceSegments: Set<string>;\n allTypeClassReferences: Map<string, Set<Namespace>>;\n generation: Generation;\n formatter?: AbstractFormatter;\n skipImports?: boolean;\n }): string {\n const writer = new Writer({\n namespace,\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n skipImports\n });\n this.write(writer);\n const stringNode = writer.toString(skipImports);\n return formatter != null ? formatter.formatSync(stringNode) : stringNode;\n }\n public toStringAsync({\n namespace,\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n formatter,\n skipImports = false\n }: {\n namespace: string;\n allNamespaceSegments: Set<string>;\n allTypeClassReferences: Map<string, Set<Namespace>>;\n generation: Generation;\n formatter?: AbstractFormatter;\n skipImports?: boolean;\n }): Promise<string> {\n const writer = new Writer({\n namespace,\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n skipImports\n });\n this.write(writer);\n const stringNode = writer.toString(skipImports);\n return formatter != null ? formatter.format(stringNode) : Promise.resolve(stringNode);\n }\n\n public toFormattedSnippet({\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n formatter,\n skipImports = false\n }: {\n allNamespaceSegments: Set<string>;\n allTypeClassReferences: Map<string, Set<Namespace>>;\n generation: Generation;\n formatter: AbstractFormatter;\n skipImports: boolean;\n }): FormattedAstNodeSnippet {\n const writer = new Writer({\n namespace: \"\",\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n skipImports\n });\n this.write(writer);\n return {\n imports: writer.importsToString(),\n body: formatter.formatSync(writer.buffer)\n };\n }\n\n public async toFormattedSnippetAsync({\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n formatter,\n skipImports = false\n }: {\n allNamespaceSegments: Set<string>;\n allTypeClassReferences: Map<string, Set<Namespace>>;\n generation: Generation;\n formatter: AbstractFormatter;\n skipImports?: boolean;\n }): Promise<FormattedAstNodeSnippet> {\n const writer = new Writer({\n namespace: \"\",\n allNamespaceSegments,\n allTypeClassReferences,\n generation,\n skipImports\n });\n this.write(writer);\n return {\n imports: writer.importsToString(),\n body: await formatter.format(writer.buffer)\n };\n }\n\n public get debugInfo(): string {\n return enableStackTracking\n ? `Debug Info:\\n at:\\n ${at({ multiline: true }).replaceAll(\"\\n\", \"\\n \")}\\n creation stack:\\n${getFramesForTaggedObject(\n this\n )\n .map((each) => ` ${each.fn} - ${each.path}:${each.position}`)\n .join(\"\\n\")}`\n : \"\";\n }\n}\n\nexport namespace Node {\n export interface Args {\n origin?: Origin;\n }\n}\n\nexport abstract class Node extends AstNode {\n public readonly origin?: Origin;\n constructor(origin: Origin | undefined, generation: Generation) {\n super(generation);\n this.origin = this.model.origin(origin);\n }\n}\n\nexport namespace MemberNode {\n export interface Args extends Node.Args {\n enclosingType?: Class | Interface | ClassReference;\n }\n}\n//\nexport abstract class MemberNode extends Node {\n public readonly enclosingType?: Class | Interface | ClassReference;\n\n constructor(args: MemberNode.Args, origin: Origin | undefined, generation: Generation) {\n super(origin, generation);\n this.enclosingType = args.enclosingType;\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { is } from \"../../utils/type-guards\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { ClassReference } from \"../types/ClassReference\";\nimport { Type } from \"../types/IType\";\n\n/**\n * Represents a field in a class constructor initialization.\n */\nexport interface ConstructorField {\n /**\n * The name of the field.\n */\n name: string;\n\n /**\n * The literal value to assign to the field.\n */\n value: Literal;\n}\n\n/**\n * Represents a key-value pair in a dictionary literal.\n */\nexport interface DictionaryEntry {\n /**\n * The key of the dictionary entry.\n */\n key: Literal;\n\n /**\n * The value of the dictionary entry.\n */\n value: Literal;\n}\n\n/**\n * Base class for all C# literal value representations in the AST.\n *\n * Literals represent concrete values that can be written directly into code,\n * such as numbers (42, 3.14), strings (\"hello\"), booleans (true), collections ([1, 2, 3]),\n * and object initializers. Each subclass knows how to render its specific literal type\n * using the appropriate C# syntax.\n */\nexport abstract class Literal extends AstNode {\n /**\n * Writes this literal value to the provided writer using appropriate C# syntax.\n */\n public abstract override write(writer: Writer): void;\n\n /**\n * Gets the name of this literal type, typically the constructor name.\n * Used primarily for debugging and type identification.\n */\n public get typeName(): string {\n return this.constructor.name;\n }\n}\n\n// Namespace for all Literal classes\nexport namespace Literal {\n /**\n * Represents a boolean literal value in C# (true or false).\n */\n export class Boolean extends Literal {\n /**\n * The boolean value.\n */\n public readonly value: boolean;\n\n /**\n * Creates a new boolean literal.\n * @param value - The boolean value (true or false)\n * @param generation - The generation context for code generation\n */\n constructor(value: boolean, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(this.value.toString());\n }\n }\n\n /**\n * Represents a class instantiation literal with constructor arguments.\n * This generates code like `new ClassName(field1: value1, field2: value2)`.\n */\n export class Class_ extends Literal {\n /**\n * The fields to initialize in the constructor.\n */\n public readonly fields: ConstructorField[];\n\n /**\n * The class reference being instantiated.\n */\n public readonly reference: ClassReference;\n\n /**\n * Creates a new class instantiation literal.\n * @param reference - The class reference to instantiate\n * @param fields - The fields to initialize with their values\n * @param generation - The generation context for code generation\n */\n constructor(reference: ClassReference, fields: ConstructorField[], generation: Generation) {\n super(generation);\n this.reference = reference;\n this.fields = fields;\n }\n\n public write(writer: Writer): void {\n const fields = this.fields.filter((field) => !(field.value instanceof Literal.Nop));\n writer.writeNode(\n this.reference.new({\n arguments_: fields.map((field) => ({ name: field.name, assignment: field.value })),\n multiline: true\n })\n );\n }\n }\n\n /**\n * Represents a DateOnly literal in C# (date without time component).\n * This generates code like `DateOnly.Parse(\"2023-01-15\")`.\n */\n export class Date extends Literal {\n /**\n * The date string in a parseable format.\n */\n public readonly value: string;\n\n /**\n * Creates a new DateOnly literal.\n * @param value - The date string (e.g., \"2023-01-15\")\n * @param generation - The generation context for code generation\n */\n constructor(value: string, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(this.System.DateOnly, `.Parse(\"${this.value}\")`);\n }\n }\n\n /**\n * Represents a DateTime literal in C# with timezone adjustment.\n * This generates code like `DateTime.Parse(\"...\", null, DateTimeStyles.AdjustToUniversal)`.\n */\n export class DateTime extends Literal {\n /**\n * The datetime string in a parseable format.\n */\n public readonly value: string;\n\n /**\n * Creates a new DateTime literal.\n * @param value - The datetime string (e.g., \"2023-01-15T10:30:00Z\")\n * @param generation - The generation context for code generation\n */\n constructor(value: string, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(\n this.System.DateTime,\n `.Parse(\"${this.value}\", null, `,\n this.System.Globalization.DateTimeStyles,\n \".AdjustToUniversal)\"\n );\n }\n }\n\n /**\n * Represents a decimal literal in C# (high-precision decimal number).\n * This generates code like `42.5m` (the 'm' suffix denotes decimal type).\n */\n export class Decimal extends Literal {\n /**\n * The decimal value.\n */\n public readonly value: number;\n\n /**\n * Creates a new decimal literal.\n * @param value - The decimal value\n * @param generation - The generation context for code generation\n */\n constructor(value: number, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(`${this.value}m`);\n }\n }\n\n /**\n * Represents a double literal in C# (64-bit floating-point number).\n * This generates code like `3.14` (no suffix needed for double).\n */\n export class Double extends Literal {\n /**\n * The double value.\n */\n public readonly value: number;\n\n /**\n * Creates a new double literal.\n * @param value - The double value\n * @param generation - The generation context for code generation\n */\n constructor(value: number, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(this.value.toString());\n }\n }\n\n /**\n * Represents a float literal in C# (32-bit floating-point number).\n * This generates code like `3.14f` (the 'f' suffix denotes float type).\n */\n export class Float extends Literal {\n /**\n * The float value.\n */\n public readonly value: number;\n\n /**\n * Creates a new float literal.\n * @param value - The float value\n * @param generation - The generation context for code generation\n */\n constructor(value: number, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(`${this.value}f`);\n }\n }\n\n /**\n * Represents an integer literal in C# (32-bit signed integer).\n * This generates code like `42` (no suffix needed for int).\n */\n export class Integer extends Literal {\n /**\n * The integer value.\n */\n public readonly value: number;\n\n /**\n * Creates a new integer literal.\n * @param value - The integer value\n * @param generation - The generation context for code generation\n */\n constructor(value: number, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(this.value.toString());\n }\n }\n\n /**\n * Represents a long literal in C# (64-bit signed integer).\n * This generates code like `42L` (the 'L' suffix denotes long type).\n */\n export class Long extends Literal {\n /**\n * The long value.\n */\n public readonly value: number;\n\n /**\n * Creates a new long literal.\n * @param value - The long value\n * @param generation - The generation context for code generation\n */\n constructor(value: number, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(`${this.value}L`);\n }\n }\n\n /**\n * Represents an unsigned integer literal in C# (32-bit unsigned integer).\n * This generates code like `42u` (the 'u' suffix denotes unsigned int).\n */\n export class Uint extends Literal {\n /**\n * The unsigned integer value.\n */\n public readonly value: number;\n\n /**\n * Creates a new unsigned integer literal.\n * @param value - The unsigned integer value\n * @param generation - The generation context for code generation\n */\n constructor(value: number, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(`${this.value}u`);\n }\n }\n\n /**\n * Represents an unsigned long literal in C# (64-bit unsigned integer).\n * This generates code like `42ul` (the 'ul' suffix denotes unsigned long).\n */\n export class Ulong extends Literal {\n /**\n * The unsigned long value.\n */\n public readonly value: number;\n\n /**\n * Creates a new unsigned long literal.\n * @param value - The unsigned long value\n * @param generation - The generation context for code generation\n */\n constructor(value: number, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.write(`${this.value}ul`);\n }\n }\n\n /**\n * Represents a reference to another AST node as a literal value.\n * This allows embedding arbitrary AST nodes within literal contexts.\n */\n export class Reference extends Literal {\n /**\n * The AST node being referenced.\n */\n public readonly value: AstNode;\n\n /**\n * Creates a new reference literal.\n * @param value - The AST node to reference\n * @param generation - The generation context for code generation\n */\n constructor(value: AstNode, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.writeNode(this.value);\n }\n }\n\n /**\n * Represents a string literal in C# with proper escaping.\n * This generates code like `\"hello world\"` with appropriate character escaping.\n */\n export class String extends Literal {\n /**\n * The string value.\n */\n public readonly value: string;\n\n /**\n * Creates a new string literal.\n * @param value - The string value\n * @param generation - The generation context for code generation\n */\n constructor(value: string, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.writeNode(this.csharp.string_({ string: this.value }));\n }\n }\n\n /**\n * Represents a null literal in C#.\n * This generates the code `null`.\n */\n export class Null extends Literal {\n public write(writer: Writer): void {\n writer.write(\"null\");\n }\n }\n\n /**\n * Represents a no-operation literal that writes nothing.\n * This is useful for filtering out optional values or placeholder fields.\n */\n export class Nop extends Literal {\n public write(writer: Writer): void {\n // No-op: writes nothing\n }\n }\n\n /**\n * Represents a List<T> collection initializer literal in C#.\n * This generates code like `new List<int>() { 1, 2, 3 }`.\n */\n export class List extends Literal {\n /**\n * The element type of the list.\n */\n public readonly valueType: Type;\n\n /**\n * The literal values to include in the list.\n */\n public readonly values: Literal[];\n\n /**\n * Creates a new List literal.\n * @param valueType - The type of elements in the list\n * @param values - The literal values to initialize the list with\n * @param generation - The generation context for code generation\n */\n constructor(valueType: Type, values: Literal[], generation: Generation) {\n super(generation);\n this.valueType = valueType;\n this.values = values;\n }\n\n public write(writer: Writer): void {\n writer.write(this.System.Collections.Generic.List(this.valueType).new());\n\n if (this.values.length === 0) {\n return;\n }\n\n writer.pushScope();\n for (const value of this.values.filter((value) => !(value instanceof Literal.Nop))) {\n value.write(writer);\n writer.writeLine(\",\");\n }\n writer.popScope();\n }\n }\n\n /**\n * Represents a HashSet<T> collection initializer literal in C#.\n * This generates code like `new HashSet<int>() { 1, 2, 3 }`.\n */\n export class Set extends Literal {\n /**\n * The element type of the set.\n */\n public readonly valueType: Type;\n\n /**\n * The literal values to include in the set.\n */\n public readonly values: Literal[];\n\n /**\n * Creates a new HashSet literal.\n * @param valueType - The type of elements in the set\n * @param values - The literal values to initialize the set with\n * @param generation - The generation context for code generation\n */\n constructor(valueType: Type, values: Literal[], generation: Generation) {\n super(generation);\n this.valueType = valueType;\n this.values = values;\n }\n\n public write(writer: Writer): void {\n writer.write(this.System.Collections.Generic.HashSet(this.valueType).new());\n\n if (this.values.length === 0) {\n return;\n }\n\n writer.pushScope();\n for (const value of this.values.filter((value) => !(value instanceof Literal.Nop))) {\n value.write(writer);\n writer.writeLine(\",\");\n }\n writer.popScope();\n }\n }\n\n /**\n * Represents a Dictionary<TKey, TValue> collection initializer literal in C#.\n * This generates code like `new Dictionary<string, int>() { [\"key1\"] = 1, [\"key2\"] = 2 }`.\n */\n export class Dictionary extends Literal {\n /**\n * The entries to include in the dictionary.\n */\n public readonly entries: DictionaryEntry[];\n\n /**\n * The key type of the dictionary.\n */\n public readonly keyType: Type;\n\n /**\n * The value type of the dictionary.\n */\n public readonly valueType: Type;\n\n /**\n * Creates a new Dictionary literal.\n * @param keyType - The type of keys in the dictionary\n * @param valueType - The type of values in the dictionary\n * @param entries - The key-value pairs to initialize the dictionary with\n * @param generation - The generation context for code generation\n */\n constructor(keyType: Type, valueType: Type, entries: DictionaryEntry[], generation: Generation) {\n super(generation);\n this.keyType = keyType;\n this.valueType = valueType;\n this.entries = entries;\n }\n\n public write(writer: Writer): void {\n writer.write(this.System.Collections.Generic.Dictionary(this.keyType, this.valueType).new());\n\n const entries = this.entries.filter((entry) => !is.Literal.nop(entry.key) && !is.Literal.nop(entry.value));\n if (entries.length === 0) {\n return;\n }\n\n writer.pushScope();\n\n for (const entry of entries) {\n writer.write(\"[\");\n writer.writeNode(entry.key);\n writer.write(\"] = \");\n writer.writeNode(entry.value);\n writer.writeLine(\",\");\n }\n writer.popScope();\n }\n }\n\n /**\n * Represents a literal for unknown/dynamic values that are determined at runtime.\n * This recursively converts JavaScript values (primitives, objects, arrays) into appropriate C# literal syntax.\n *\n * For example, a JavaScript object `{ name: \"Alice\", age: 30 }` becomes\n * `new Dictionary<string, object>() { [\"name\"] = \"Alice\", [\"age\"] = 30 }`.\n */\n export class Unknown extends Literal {\n /**\n * The unknown value to convert to C# syntax.\n */\n public readonly value: unknown;\n\n /**\n * Creates a new Unknown literal.\n * @param value - The unknown value (can be primitive, object, or array)\n * @param generation - The generation context for code generation\n */\n constructor(value: unknown, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public write(writer: Writer): void {\n this.writeUnknown({ writer, value: this.value });\n }\n\n /**\n * Recursively writes an unknown value using appropriate C# syntax.\n * @param params - Object containing the writer and value\n * @param params.writer - The writer to output to\n * @param params.value - The value to write\n */\n private writeUnknown({ writer, value }: { writer: Writer; value: unknown }): void {\n switch (typeof value) {\n case \"boolean\":\n writer.write(value.toString());\n return;\n case \"string\":\n writer.writeNode(this.csharp.string_({ string: value }));\n return;\n case \"number\":\n writer.write(value.toString());\n return;\n case \"object\":\n if (value == null) {\n writer.write(\"null\");\n return;\n }\n if (Array.isArray(value)) {\n this.writeUnknownArray({ writer, value });\n return;\n }\n this.writeUnknownMap({ writer, value });\n return;\n default:\n throw new Error(`Internal error; unsupported unknown type: ${typeof value}`);\n }\n }\n\n /**\n * Writes an unknown array as a List<object> literal.\n * @param params - Object containing the writer and array value\n * @param params.writer - The writer to output to\n * @param params.value - The array to write\n */\n private writeUnknownArray({\n writer,\n value\n }: {\n writer: Writer;\n // biome-ignore lint/suspicious/noExplicitAny: allow\n value: any[];\n }): void {\n writer.write(this.System.Collections.Generic.List(this.Primitive.object).new());\n if (value.length === 0) {\n return;\n }\n writer.writeLine();\n writer.pushScope();\n for (const element of value) {\n writer.writeNode(new Unknown(element, this.generation));\n writer.writeLine(\",\");\n }\n writer.popScope();\n }\n\n /**\n * Writes an unknown object as a Dictionary<string, object> literal.\n * @param params - Object containing the writer and object value\n * @param params.writer - The writer to output to\n * @param params.value - The object to write\n */\n private writeUnknownMap({ writer, value }: { writer: Writer; value: object }): void {\n const entries = Object.entries(value);\n writer.write(\n this.System.Collections.Generic.Dictionary(this.Primitive.string, this.Primitive.object).new()\n );\n if (entries.length === 0) {\n return;\n }\n writer.writeLine();\n writer.pushScope();\n for (const [key, val] of entries) {\n writer.write(`[\"${key}\"] = `);\n writer.writeNode(new Unknown(val, this.generation));\n writer.writeLine(\",\");\n }\n writer.popScope();\n }\n }\n}\n","import { fail } from \"node:assert\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { type Origin } from \"../../context/model-navigator\";\nimport { type TypeScope } from \"../../context/name-registry\";\nimport { type ClassInstantiation } from \"../code/ClassInstantiation\";\nimport { Literal } from \"../code/Literal\";\nimport { Node } from \"../core/AstNode\";\nimport type { Writer } from \"../core/Writer\";\nimport { type Field } from \"./Field\";\nimport { Type } from \"./IType\";\nimport { Optional } from \"./Type\";\n\nexport declare namespace ClassReference {\n interface Identity {\n /* The name of the C# class */\n name: string;\n /* The namespace of the C# class */\n namespace?: string;\n /* The enclosing type of the C# class */\n enclosingType?: ClassReference;\n }\n\n interface Args extends Identity, Node.Args {\n /* The namespace alias for C# class */\n namespaceAlias?: string;\n /* Any generics used in the class reference */\n generics?: Type[];\n /* Whether or not the class reference should be fully-qualified */\n fullyQualified?: boolean;\n /* force global:: qualifier */\n global?: boolean;\n /* Whether or not the class reference is a collection */\n isCollection?: boolean;\n\n /**\n * The multipart form method name used when this type is added to a multipart/form-data request.\n * For example, primitives use \"AddStringPart\", while objects use \"AddJsonPart\".\n *\n * If this is null, then the type does not support adding to a multipart form.\n * If this is undefined, then the type supports adding to a multipart form, and the default method name is used.\n */\n multipartMethodName?: string | null;\n /**\n * The multipart form method name used when a collection of this type is added to a multipart/form-data request.\n * For example, primitives use \"AddStringParts\", while objects use \"AddJsonParts\".\n *\n * If this is null, then the type does not support adding to a multipart form.\n * If this is undefined, then the type supports adding to a multipart form, and the default method name is used.\n */\n multipartMethodNameForCollection?: string | null;\n\n /**\n * Whether or not the class reference is a reference type.\n * If this is undefined, then the type is indeterminate.\n * (interpreted as false, in a lot of cases, but sometimes it's used to see if it's a class reference)\n */\n isReferenceType?: boolean;\n }\n\n interface CreationArgs extends Args {\n /* the fully qualified name of the class reference */\n fullyQualifiedName: string;\n }\n}\n\nexport class ClassReference extends Node implements Type {\n public readonly name: string;\n public readonly namespace: string;\n public readonly namespaceAlias: string | undefined;\n public readonly enclosingType: ClassReference | undefined;\n public readonly generics: Type[];\n public readonly fullyQualified: boolean;\n public readonly global: boolean;\n public readonly fullyQualifiedName: string;\n public readonly isCollection: boolean;\n private readonly namespaceSegments: string[];\n public readonly isReferenceType: boolean | undefined;\n public readonly multipartMethodName: string | null;\n public readonly multipartMethodNameForCollection: string | null;\n\n constructor(\n {\n name,\n namespace,\n namespaceAlias,\n enclosingType,\n generics,\n fullyQualified,\n global,\n fullyQualifiedName,\n origin,\n isCollection,\n multipartMethodName,\n multipartMethodNameForCollection,\n isReferenceType\n }: ClassReference.CreationArgs,\n readonly scope: TypeScope,\n generation: Generation\n ) {\n super(origin, generation);\n this.name = name;\n this.namespace = enclosingType?.namespace ?? namespace ?? \"\";\n this.namespaceAlias = namespaceAlias;\n this.enclosingType = enclosingType;\n this.generics = generics ?? [];\n this.fullyQualified = fullyQualified ?? false;\n this.global = global ?? false;\n this.namespaceSegments = this.namespace.split(\".\");\n this.isCollection = isCollection ?? false;\n if (enclosingType != null) {\n this.fullyQualifiedName = enclosingType.fullyQualifiedName\n ? `${enclosingType.fullyQualifiedName}.${name}`\n : name;\n } else {\n this.fullyQualifiedName = fullyQualifiedName ? fullyQualifiedName : name;\n }\n this.multipartMethodName = multipartMethodName === undefined ? \"AddJsonPart\" : multipartMethodName;\n this.multipartMethodNameForCollection =\n multipartMethodNameForCollection === undefined ? \"AddJsonParts\" : multipartMethodNameForCollection;\n this.isReferenceType = isReferenceType;\n }\n\n public write(writer: Writer): void {\n this.writeInternal(writer, false);\n }\n\n public writeAsAttribute(writer: Writer): void {\n this.writeInternal(writer, true);\n }\n\n public get scopedName() {\n return this.enclosingType ? `${this.enclosingType.name}.${this.name}` : this.name;\n }\n\n private writeInternal(writer: Writer, isAttribute: boolean): void {\n // if the name (or the enclosing type name) is ambiguous\n const isAmbiguous =\n this.registry.isAmbiguousTypeName(this.name) ||\n this.registry.isAmbiguousTypeName(this.enclosingType?.name) ||\n // check if the type is registered in another referenced namespace\n writer\n .getReferencedNamespaces()\n .some((each) => each !== this.namespace && this.registry.isRegisteredTypeName(`${each}.${this.name}`));\n\n const shouldGlobal =\n // if the type is global, then we need to globally qualify the type\n this.global ||\n // if the first segment in a FQN is ambiguous, then we need to globally qualify the type if it gets expanded\n this.registry.isAmbiguousTypeName(this.namespaceSegments[0]) ||\n this.registry.isAmbiguousNamespaceName(this.namespaceSegments[0]) ||\n // or we always are going to be using fully qualified namespaces\n writer.generation.settings.useFullyQualifiedNamespaces;\n\n // the fully qualified name of the type (with global:: qualifier if it necessary)\n const fqName = `${shouldGlobal ? \"global::\" : \"\"}${this.fullyQualifiedName}`;\n\n if (!this.namespace) {\n writer.write(this.name);\n return;\n }\n if (this.namespaceAlias != null) {\n const alias = writer.addNamespaceAlias(this.namespaceAlias, this.resolveNamespace());\n writer.write(`${alias}.${this.scopedName}`);\n } else {\n if (writer.skipImports) {\n writer.write(this.scopedName);\n } else {\n if (this.fullyQualified) {\n writer.write(fqName);\n } else {\n // if the class needs to be partially qualified, or we're skipping imports,\n // we need to at least partially qualify the type\n if (this.qualifiedTypeNameRequired(writer, isAttribute) || writer.skipImports) {\n const typeQualification = this.getTypeQualification({\n classReferenceNamespace: this.resolveNamespace(),\n namespaceToBeWrittenTo: writer.namespace,\n isAttribute\n });\n // check to see if the abbreviation would be ambiguous\n const segments = typeQualification.split(\".\");\n if (\n this.registry.isAmbiguousTypeName(segments[0]) ||\n this.registry.isAmbiguousNamespaceName(segments[0])\n ) {\n writer.write(fqName);\n } else {\n writer.write(`${typeQualification}${this.scopedName}`);\n }\n } else if (isAmbiguous && this.resolveNamespace() !== writer.namespace) {\n // If the class is ambiguous and not in this specific namespace\n // we must to fully qualify the type\n // writer.addReference(this);\n writer.write(fqName);\n } else {\n // If the class is not ambiguous and is in this specific namespace,\n // we can use the short name\n writer.addReference(this);\n writer.write(this.scopedName);\n }\n }\n }\n }\n if (this.generics != null && this.generics.length > 0) {\n writer.write(\"<\");\n this.generics.forEach((generic, idx) => {\n writer.writeNode(generic);\n if (idx < this.generics.length - 1) {\n writer.write(\", \");\n }\n });\n writer.write(\">\");\n }\n }\n\n /**\n * Computes the type qualification starting at the point where the namespace of the type\n * differs from the namespace being written to.\n *\n * Example:\n * - classReferenceNamespace: Company.Employee.Engineer.Backend\n * - namespaceToBeWrittenTo: Company.Employee.Janitor\n *\n * Result: Engineer.Backend.\n */\n /**\n * Fast check for naming conflicts between class name and namespace segments\n */\n private hasNamespaceConflict(className: string, currentNamespace: string): boolean {\n // Fast path: check last segment first (most common case)\n const lastDotIndex = currentNamespace.lastIndexOf(\".\");\n const lastSegment = lastDotIndex === -1 ? currentNamespace : currentNamespace.substring(lastDotIndex + 1);\n\n if (lastSegment === className) {\n return true;\n }\n\n // Check if class name matches any segment in the CURRENT namespace\n // (not the target namespace - that's what we're trying to reference)\n const currentNamespaceSegments = currentNamespace.split(\".\");\n return currentNamespaceSegments.includes(className);\n }\n\n private getTypeQualification({\n classReferenceNamespace,\n namespaceToBeWrittenTo,\n isAttribute\n }: {\n classReferenceNamespace: string;\n namespaceToBeWrittenTo: string;\n isAttribute?: boolean;\n }): string {\n // If the class is in the exact same namespace, no qualification needed\n if (classReferenceNamespace === namespaceToBeWrittenTo) {\n return \"\";\n }\n\n // Check if we can use a shorter qualification by checking if the target namespace\n // is a child of the current namespace - in this case, minimal qualification is preferred\n if (classReferenceNamespace.startsWith(`${namespaceToBeWrittenTo}.`)) {\n // The target is a child namespace, so we only need the relative path\n const relativePath = classReferenceNamespace.substring(namespaceToBeWrittenTo.length + 1);\n return `${relativePath}.`;\n }\n\n // Check for sibling namespaces with common root - use minimal qualification\n const nameToCheck = isAttribute && !this.name.endsWith(\"Attribute\") ? `${this.name}Attribute` : this.name;\n const hasConflict = this.hasNamespaceConflict(nameToCheck, namespaceToBeWrittenTo);\n\n if (hasConflict) {\n // If there's a namespace conflict, use full qualification\n // Only use global:: when the entire namespace is just the class name\n if (namespaceToBeWrittenTo.indexOf(\".\") === -1 && namespaceToBeWrittenTo === nameToCheck) {\n return `global::${classReferenceNamespace}.`;\n }\n return `${classReferenceNamespace}.`;\n }\n\n // Find the common root and use minimal qualification from divergence point\n const classReferenceSegments = this.namespaceSegments;\n const namespaceToBeWrittenSegments = namespaceToBeWrittenTo.split(\".\");\n\n let commonPrefixLength = 0;\n const minLength = Math.min(classReferenceSegments.length, namespaceToBeWrittenSegments.length);\n while (\n commonPrefixLength < minLength &&\n classReferenceSegments[commonPrefixLength] === namespaceToBeWrittenSegments[commonPrefixLength]\n ) {\n commonPrefixLength++;\n }\n\n // If we have a common root, use qualification from divergence point\n if (commonPrefixLength > 0 && commonPrefixLength < classReferenceSegments.length) {\n const remainingSegments = classReferenceSegments.slice(commonPrefixLength);\n return `${remainingSegments.join(\".\")}.`;\n }\n\n // No common prefix or we're referencing the exact namespace, use full qualification\n return `${classReferenceNamespace}.`;\n }\n\n /**\n * This method addresses an edge case involving namespace and type conflicts.\n * When a class name matches any segment of a namespace within the project, the .NET compiler\n * might require references to that class to be qualified to avoid conflicts.\n * The rules governing this behavior are complex, so this method errs on the side of caution\n * by performing a simple check.\n *\n * -- Exploration supporting this --\n *\n * LEGEND: <Class Name> -- <Namespace of Class>\n * SETUP: Company.Net is the root namespace (i.e., the project name).\n *\n * Full qualification required:\n * - Guarantor -- Company.Net.Guarantor.V1\n * - ImportInvoice -- Company.Net.ImportInvoice.V1\n * - ImportInvoice -- Company.Net.Guarantor.V1 (if Candid.Net.ImportInvoice.V1 also exists)\n *\n * Qualification not required:\n * - V1 -- Company.Net.Guarantor.V1\n * - V1 -- Company.Net.Guarantor.V1.Types\n * - Net -- Company.Net\n */\n private qualifiedTypeNameRequired(writer: Writer, isAttribute: boolean): boolean {\n const currentNamespace = writer.namespace;\n\n if (this.namespace === currentNamespace) {\n return false;\n }\n\n const nameToDeconflict = isAttribute && !this.name.endsWith(\"Attribute\") ? `${this.name}Attribute` : this.name;\n\n // Check for direct namespace conflicts first\n if (this.hasNamespaceConflict(nameToDeconflict, currentNamespace)) {\n return true;\n }\n\n // For child namespaces (like SeedCsharpNamespaceConflict.A.Aa from SeedCsharpNamespaceConflict.A),\n // we generally don't need qualification unless there's a specific conflict\n if (this.namespace.startsWith(`${currentNamespace}.`)) {\n // Only require qualification if there's an actual naming conflict\n return this.potentialConflictWithGeneratedType(writer);\n }\n\n // Check for potential conflicts with generated types regardless of namespace\n // This handles both internal and external types consistently\n return this.potentialConflictWithGeneratedType(writer);\n }\n\n private potentialConflictWithGeneratedType(writer: Writer) {\n const matchingNamespaces = writer.getAllTypeClassReferences().get(this.name);\n if (matchingNamespaces == null) {\n return false;\n }\n\n // If there's a ClassReference besides the one that we're writing with the same name,\n // then there may be conflict, so return true\n const matchingNamespacesCopy = new Set(matchingNamespaces);\n matchingNamespacesCopy.delete(this.namespace);\n\n if (matchingNamespacesCopy.size === 0) {\n // Even if there's no type conflict, check for namespace conflicts\n // This handles cases like class \"A\" conflicting with namespace \"A\"\n return this.hasProjectNamespaceConflict(writer);\n }\n\n const currentNamespace = writer.namespace;\n // Check if any of the conflicting namespaces would actually cause ambiguity\n for (const conflictingNamespace of matchingNamespacesCopy) {\n // Only consider it a real conflict if the conflicting type is in the same namespace\n // or a parent namespace that would make qualification ambiguous\n if (conflictingNamespace === currentNamespace || currentNamespace.startsWith(`${conflictingNamespace}.`)) {\n return true;\n }\n }\n\n // Also check if the class name matches any namespace segment in the project\n return this.hasProjectNamespaceConflict(writer);\n }\n\n private hasProjectNamespaceConflict(writer: Writer): boolean {\n const allNamespaceSegments = writer.getAllNamespaceSegments();\n return allNamespaceSegments.has(this.name);\n }\n\n public resolveNamespace(): string {\n return this.registry.resolveNamespace(this.namespace);\n }\n\n /** returns this class reference as a fully qualified class reference */\n public asFullyQualified() {\n return this.csharp.classReferenceInternal({\n ...this,\n fullyQualified: true\n });\n }\n\n /** returns a class instantiation node for this class reference */\n public new(args?: Omit<ClassInstantiation.Args, \"classReference\">) {\n args = args ?? { arguments_: [] };\n return this.csharp.instantiateClass({\n ...args,\n classReference: this\n });\n }\n\n public explicit(name: string) {\n if (!this.origin) {\n fail(\n `Cannot create explicitly named member '${name}' on '${this.name}' because the class is not bound to an origin.`\n );\n }\n return this.model.explicit(this.origin, name);\n }\n\n public registerField(expectedName: string, origin?: Origin, field?: Field): string {\n return this.scope.registerField(expectedName, origin, field);\n }\n\n public getFieldName(origin: Origin, expectedName: string): string | undefined {\n return this.scope.getFieldName(origin, expectedName);\n }\n\n public registerMethod(name: string, origin?: Origin): string {\n return name;\n }\n\n public get isOptional(): boolean {\n return false;\n }\n\n public asOptional(): Type {\n return new Optional(this, this.generation);\n }\n\n public asNonOptional(): Type {\n return this;\n }\n public get defaultValue(): Literal {\n return this.csharp.Literal.null();\n }\n /** returns true if this class reference is the IAsyncEnumerable class */\n public get isAsyncEnumerable() {\n return this.name === \"IAsyncEnumerable\" && this.namespace === \"System.Collections.Generic\";\n }\n}\n","import { fail } from \"node:assert\";\nimport { PrimitiveTypeV1 } from \"@fern-fern/ir-sdk/api\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { hash, uniqueId } from \"../../utils/text\";\nimport { Literal } from \"../code/Literal\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { ClassReference } from \"./ClassReference\";\nimport { type Type } from \"./IType\";\n\n/**\n * Base class for all C# type representations in the AST.\n *\n * This class provides a polymorphic type system that makes it easier to work with\n * different C# types without requiring switch statements on discriminated unions.\n * Each concrete type (Integer, String, List, etc.) extends this base class and\n * provides its own implementation of abstract members.\n */\nexport abstract class BaseType extends AstNode {\n /**\n * Gets the multipart form method name used when this type is added to a multipart/form-data request.\n * For example, primitives use \"AddStringPart\", while objects use \"AddJsonPart\".\n */\n public abstract get multipartMethodName(): string | null;\n\n /**\n * Gets the multipart form method name used when a collection of this type is added to a multipart/form-data request.\n * For example, primitives use \"AddStringParts\", while objects use \"AddJsonParts\".\n */\n public abstract get multipartMethodNameForCollection(): string | null;\n\n /**\n * The default value for this type (e.g., null for reference types, 0 for integers, etc.).\n */\n public readonly defaultValue: Literal = this.csharp.Literal.null();\n\n /**\n * Indicates whether this type is optional (nullable). Defaults to false.\n */\n public readonly isOptional: boolean = false;\n\n /**\n * Indicates whether this type is a reference type (true), value type (false), or indeterminate (undefined).\n * Reference types include classes, interfaces, strings, etc. Value types include structs, primitives, etc.\n */\n public readonly isReferenceType: boolean | undefined = false;\n\n /**\n * The string representation of this type, typically the constructor name.\n * Used primarily for debugging and default write implementations.\n */\n public readonly fullyQualifiedName: string = this.constructor.name;\n\n /**\n * Indicates whether this type represents an async enumerable (IAsyncEnumerable<T>).\n */\n public get isAsyncEnumerable(): boolean {\n return false;\n }\n\n /**\n * Indicates whether this type represents a collection (List, Set, Map, etc.).\n */\n public get isCollection(): boolean {\n return false;\n }\n\n /**\n * Gets the item type for collection types (e.g., T in List<T>, or KeyValuePair<K,V> in Map<K,V>).\n * Returns undefined for non-collection types.\n */\n public getCollectionItemType(): Type | undefined {\n return undefined;\n }\n\n /**\n * Wraps this type in an Optional type if it's not already optional.\n * If this type is already optional, returns it unchanged.\n */\n public asOptional(): Type {\n return new Optional(this, this.generation);\n }\n\n /**\n * Returns the underlying type if this is an Optional type, otherwise returns this type unchanged.\n * This is useful for getting the non-nullable version of a type.\n */\n public asNonOptional(): Type {\n return this;\n }\n\n /**\n * Writes this type to the provided writer.\n * The default implementation writes the type name, but most subclasses override this\n * to provide more specific C# type syntax.\n */\n public override write(writer: Writer): void {\n writer.write(this.fullyQualifiedName);\n }\n\n /**\n * Writes an empty collection initializer for this type (e.g., \"= new List<T>();\").\n * The default implementation is a no-op. Collection types override this to provide\n * appropriate initialization syntax.\n */\n public writeEmptyCollectionInitializer(writer: Writer): void {\n // default - no-op\n }\n\n /**\n * This returns a typeLiteral for the appropriate type with a value,\n * derived from the getDefaultFor string\n *\n * The value should give a deterministic result for the same input string.\n * This is used to generate a default value for a type when no value is provided.\n *\n * @param input - The input string to derive the default value from\n * @returns A typeLiteral for the appropriate type with a value, derived from the input string\n * */\n public getDeterminsticDefault(input: string): Literal {\n return this.csharp.Literal.nop();\n }\n}\n\n/**\n * Base class for all primitive types in C# (int, string, bool, double, etc.).\n * Primitive types are serialized as strings in multipart form data.\n */\nabstract class PrimitiveType extends BaseType {\n public override get multipartMethodName(): string | null {\n return \"AddStringPart\";\n }\n\n public override get multipartMethodNameForCollection(): string | null {\n return \"AddStringParts\";\n }\n}\n\n/**\n * Base class for types that are always reference types but don't fit into CollectionType or ObjectType categories.\n * This includes delegates (Action, Func), optional types, union types, and special types like Binary and SystemType.\n */\nabstract class ReferenceType extends BaseType {\n public override readonly isReferenceType: boolean | undefined = true;\n}\n\n/**\n * Base class for all collection types in C# (List, Set, Map, etc.).\n * Collection types are serialized as JSON in multipart form data and are always reference types.\n */\nabstract class CollectionType extends ReferenceType {\n public override get isCollection(): boolean {\n return true;\n }\n\n public override get multipartMethodName(): string | null {\n return \"AddJsonPart\";\n }\n\n public override get multipartMethodNameForCollection(): string | null {\n return \"AddJsonParts\";\n }\n}\n\n/**\n * Base class for all object/reference types in C# (classes, interfaces, etc.).\n * Object types are serialized as JSON in multipart form data and are always reference types.\n */\nabstract class ObjectType extends ReferenceType {\n public override get multipartMethodName(): string | null {\n return \"AddJsonPart\";\n }\n\n public override get multipartMethodNameForCollection(): string | null {\n return \"AddJsonParts\";\n }\n}\n\n/**\n * Represents an optional (nullable) type in C#.\n * For value types, this renders as T?, and for reference types, it also uses the nullable syntax.\n */\nexport class Optional extends ReferenceType {\n public override readonly isOptional = true;\n\n /**\n * The underlying non-nullable type.\n */\n public readonly value: Type;\n\n /**\n * Creates a new optional type.\n * @param value - The underlying non-nullable type\n * @param generation - The generation context for code generation\n */\n constructor(value: Type, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public override get isCollection(): boolean {\n return false;\n }\n\n public override get multipartMethodName(): string | null {\n return this.value.multipartMethodName;\n }\n\n public override get multipartMethodNameForCollection(): string | null {\n return this.value.multipartMethodNameForCollection;\n }\n\n public override asOptional(): Type {\n return this;\n }\n\n public override asNonOptional(): Type {\n return this.value;\n }\n\n public override write(writer: Writer): void {\n this.value.write(writer);\n if (!this.value.isOptional) {\n writer.write(\"?\");\n }\n }\n}\n\nexport namespace Primitive {\n /**\n * Represents the C# `int` type (32-bit signed integer).\n */\n export class Integer extends PrimitiveType {\n public override fullyQualifiedName = \"int\";\n public override defaultValue = this.csharp.Literal.integer(0);\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique number using the defualtWith string as the seed.\n return this.csharp.Literal.integer(hash(input) & 0x7fffffff);\n }\n }\n\n /**\n * Represents the C# `long` type (64-bit signed integer).\n */\n export class Long extends PrimitiveType {\n public override fullyQualifiedName = \"long\";\n public override defaultValue = this.csharp.Literal.long(0);\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique number using the defualtWith string as the seed.\n return this.csharp.Literal.long(hash(input) & 0x7ffffffffffff);\n }\n }\n\n /**\n * Represents the C# `uint` type (32-bit unsigned integer).\n */\n export class Uint extends PrimitiveType {\n public override fullyQualifiedName = \"uint\";\n public override defaultValue = this.csharp.Literal.uint(0);\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique number using the defualtWith string as the seed.\n return this.csharp.Literal.uint(hash(input) & 0x7fffffff);\n }\n }\n\n /**\n * Represents the C# `ulong` type (64-bit unsigned integer).\n */\n export class ULong extends PrimitiveType {\n public override fullyQualifiedName = \"ulong\";\n public override defaultValue = this.csharp.Literal.ulong(0);\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique number using the defualtWith string as the seed.\n return this.csharp.Literal.ulong(hash(input) & 0x7ffffffffffff);\n }\n }\n\n /**\n * Represents the C# `string` type.\n * Strings are reference types in C#.\n */\n export class String extends PrimitiveType {\n public override fullyQualifiedName = \"string\";\n public override defaultValue = this.csharp.Literal.string(\"\");\n public override readonly isReferenceType: boolean | undefined = true;\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique string using the defualtWith string as the seed.\n return this.csharp.Literal.string(`<${input}>`);\n }\n }\n\n /**\n * Represents the C# `bool` type.\n */\n export class Boolean extends PrimitiveType {\n public override fullyQualifiedName = \"bool\";\n public override defaultValue = this.csharp.Literal.boolean(false);\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique boolean using the defualtWith string as the seed.\n return this.csharp.Literal.boolean(hash(input) % 2 === 0);\n }\n }\n\n /**\n * Represents the C# `float` type (32-bit floating-point number).\n */\n export class Float extends PrimitiveType {\n public override fullyQualifiedName = \"float\";\n public override defaultValue = this.csharp.Literal.float(0);\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique float using the defualtWith string as the seed.\n return this.csharp.Literal.float((hash(input) & 0x7fffffff) / 100);\n }\n }\n\n /**\n * Represents the C# `double` type (64-bit floating-point number).\n */\n export class Double extends PrimitiveType {\n public override fullyQualifiedName = \"double\";\n public override defaultValue = this.csharp.Literal.double(0);\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique double using the defualtWith string as the seed.\n return this.csharp.Literal.double((hash(input) & 0x7ffffffffffff) / 100);\n }\n }\n\n /**\n * Represents the C# `object` type (base type for all reference types).\n */\n export class Object extends ObjectType {\n public override fullyQualifiedName = \"object\";\n }\n\n export class AribitraryType extends PrimitiveType {\n constructor(\n public override readonly fullyQualifiedName: string,\n generation: Generation\n ) {\n super(generation);\n }\n }\n}\n\nexport namespace Value {\n /**\n * Represents the C# `byte[]` type (byte array/binary data).\n * This type is used for binary data.\n */\n export class Binary extends ReferenceType {\n public override get multipartMethodName(): string | null {\n fail(\"byte[] can not be added to multipart form\");\n return \"\";\n }\n\n public override get multipartMethodNameForCollection(): string {\n fail(\"byte[] can not be added to multipart form\");\n return \"\";\n }\n\n public override write(writer: Writer): void {\n writer.write(\"byte[]\");\n }\n }\n /**\n * Represents the C# `DateOnly` type (date without time component).\n */\n export class DateOnly extends PrimitiveType {\n public override fullyQualifiedName = \"DateOnly\";\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique date using the defualtWith string as the seed.\n const date = new Date(hash(input) & 0x7ffffffffffff);\n return this.csharp.Literal.date(date.toISOString());\n }\n }\n\n /**\n * Represents the C# `DateTime` type.\n */\n export class DateTime extends PrimitiveType {\n public override fullyQualifiedName = \"DateTime\";\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique date using the defualtWith string as the seed.\n const date = new Date(hash(input) & 0x7ffffffffffff);\n return this.csharp.Literal.datetime(date.toISOString());\n }\n }\n /**\n * Represents a UUID type, which is represented as a C# `string`.\n * Note: C# GUID is a value type, but we use string for UUID compatibility.\n */\n export class Uuid extends PrimitiveType {\n public override fullyQualifiedName = \"string\";\n public override defaultValue = this.csharp.Literal.string(\"\");\n\n // C# GUID is a value type, but we use string for UUID\n public override readonly isReferenceType: boolean | undefined = true;\n public override getDeterminsticDefault(input: string): Literal {\n // make a unique UUID using the defualtWith string as the seed.\n return this.csharp.Literal.string(uniqueId(input));\n }\n }\n\n /**\n * Represents a string enum type (enum backed by string values).\n * This extends PrimitiveType because string enums are serialized as strings.\n */\n export class StringEnum extends PrimitiveType {\n /**\n * The class reference for the string enum type.\n */\n public readonly value: ClassReference;\n\n /**\n * Creates a new string enum type.\n * @param value - The class reference for the enum\n * @param generation - The generation context for code generation\n */\n constructor(value: ClassReference, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public override write(writer: Writer): void {\n this.Types.StringEnum(this.value).write(writer);\n }\n }\n}\n\nexport namespace Collection {\n /**\n * Represents a C# array type (T[]).\n * Arrays can be rendered as ReadOnlyMemory<T> for certain primitive types when configured.\n */\n export class Array extends ObjectType {\n public override readonly isReferenceType: boolean | undefined = true;\n\n /**\n * The element type of the array.\n */\n public readonly value: Type;\n\n /**\n * Creates a new array type.\n * @param value - The element type of the array\n * @param generation - The generation context for code generation\n */\n constructor(value: Type, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public override getCollectionItemType(): Type | undefined {\n return this.value;\n }\n\n public override write(writer: Writer): void {\n if (isReadOnlyMemoryType({ writer, value: this.value })) {\n this.writeReadOnlyMemoryType({ writer, value: this.value });\n return;\n }\n this.value.write(writer);\n writer.write(\"[]\");\n }\n\n private writeReadOnlyMemoryType({ writer, value }: { writer: Writer; value: Type }): void {\n writer.writeNode(this.System.ReadOnlyMemory(value));\n }\n }\n\n /**\n * Represents the concrete C# `List<T>` type.\n * Can be rendered as ReadOnlyMemory<T> for certain primitive types when configured.\n */\n export class ListType extends CollectionType {\n /**\n * The element type of the list.\n */\n public readonly value: Type;\n\n /**\n * Creates a new List<T> type.\n * @param value - The element type of the list\n * @param generation - The generation context for code generation\n */\n constructor(value: Type, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public override get multipartMethodName(): string | null {\n return this.value.multipartMethodNameForCollection;\n }\n\n public override get multipartMethodNameForCollection(): string | null {\n return this.value.multipartMethodNameForCollection;\n }\n\n public override getCollectionItemType(): Type | undefined {\n return this.value;\n }\n\n public override write(writer: Writer): void {\n if (isReadOnlyMemoryType({ writer, value: this.value })) {\n this.writeReadOnlyMemoryType({ writer, value: this.value });\n return;\n }\n writer.writeNode(this.System.Collections.Generic.List(this.value));\n }\n\n public override writeEmptyCollectionInitializer(writer: Writer): void {\n if (isReadOnlyMemoryType({ writer, value: this.value })) {\n return;\n }\n writer.writeStatement(\" = \", this.System.Collections.Generic.List(this.value).new());\n }\n\n private writeReadOnlyMemoryType({ writer, value }: { writer: Writer; value: Type }): void {\n writer.writeNode(this.System.ReadOnlyMemory(value));\n }\n }\n\n /**\n * Represents the C# `IEnumerable<T>` interface type.\n * Can be rendered as ReadOnlyMemory<T> for certain primitive types when configured.\n */\n export class List extends CollectionType {\n /**\n * The element type of the enumerable.\n */\n public readonly value: Type;\n\n /**\n * Creates a new IEnumerable<T> type.\n * @param value - The element type of the enumerable\n * @param generation - The generation context for code generation\n */\n constructor(value: Type, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public override get multipartMethodName(): string | null {\n return this.value.multipartMethodNameForCollection;\n }\n\n public override get multipartMethodNameForCollection(): string | null {\n return this.value.multipartMethodNameForCollection;\n }\n\n public override getCollectionItemType(): Type {\n return this.value;\n }\n\n public override write(writer: Writer): void {\n if (isReadOnlyMemoryType({ writer, value: this.value })) {\n this.writeReadOnlyMemoryType({ writer, value: this.value });\n return;\n }\n writer.writeNode(this.System.Collections.Generic.IEnumerable(this.value));\n }\n\n public override writeEmptyCollectionInitializer(writer: Writer): void {\n if (isReadOnlyMemoryType({ writer, value: this.value })) {\n return;\n }\n writer.writeStatement(\" = \", this.System.Collections.Generic.List(this.value).new());\n }\n\n private writeReadOnlyMemoryType({ writer, value }: { writer: Writer; value: Type }): void {\n writer.writeNode(this.System.ReadOnlyMemory(value));\n }\n }\n\n /**\n * Represents the C# `HashSet<T>` type.\n */\n export class Set extends CollectionType {\n /**\n * The element type of the set.\n */\n public readonly value: Type;\n\n /**\n * Creates a new HashSet<T> type.\n * @param value - The element type of the set\n * @param generation - The generation context for code generation\n */\n constructor(value: Type, generation: Generation) {\n super(generation);\n this.value = value;\n }\n\n public override getCollectionItemType(): Type | undefined {\n return this.value;\n }\n\n public override write(writer: Writer): void {\n writer.writeNode(this.System.Collections.Generic.HashSet(this.value));\n }\n\n public override writeEmptyCollectionInitializer(writer: Writer): void {\n writer.writeStatement(\" = \", this.System.Collections.Generic.HashSet(this.value).new());\n }\n }\n\n /**\n * Represents the concrete C# `Dictionary<TKey, TValue>` type.\n * Can optionally simplify Dictionary<string, object?> to just `object` based on settings.\n */\n export class Map extends CollectionType {\n /**\n * The key type of the dictionary.\n */\n public readonly keyType: Type;\n\n /**\n * Optional configuration for this map type.\n */\n public readonly options?: { dontSimplify?: boolean };\n\n /**\n * The value type of the dictionary.\n */\n public readonly valueType: Type;\n\n /**\n * Creates a new Dictionary<TKey, TValue> type.\n * @param keyType - The key type of the dictionary\n * @param valueType - The value type of the dictionary\n * @param generation - The generation context for code generation\n * @param options - Optional configuration (e.g., whether to skip simplification)\n */\n constructor(keyType: Type, valueType: Type, generation: Generation, options?: { dontSimplify?: boolean }) {\n super(generation);\n this.keyType = keyType;\n this.valueType = valueType;\n this.options = options;\n }\n\n public override getCollectionItemType(): Type | undefined {\n return this.Collection.keyValuePair(this.keyType, this.valueType);\n }\n\n public override write(writer: Writer): void {\n if (\n this.options?.dontSimplify !== true &&\n writer.generation.settings.simplifyObjectDictionaries &&\n this.keyType instanceof Primitive.String &&\n this.valueType instanceof Optional &&\n this.valueType.value instanceof Primitive.Object\n ) {\n writer.write(\"object\");\n return;\n }\n writer.write(this.System.Collections.Generic.Dictionary(this.keyType, this.valueType));\n }\n\n public override writeEmptyCollectionInitializer(writer: Writer): void {\n writer.writeStatement(\n \" = \",\n this.System.Collections.Generic.Dictionary(this.keyType, this.valueType).new()\n );\n }\n }\n\n /**\n * Represents the C# `IDictionary<TKey, TValue>` interface type.\n * Can optionally simplify IDictionary<string, object?> to just `object` based on settings.\n */\n export class IDictionary extends CollectionType {\n /**\n * The key type of the dictionary.\n */\n public readonly keyType: Type;\n\n /**\n * Optional configuration for this dictionary type.\n */\n public readonly options?: { dontSimplify?: boolean };\n\n /**\n * The value type of the dictionary.\n */\n public readonly valueType: Type;\n\n /**\n * Creates a new IDictionary<TKey, TValue> type.\n * @param keyType - The key type of the dictionary\n * @param valueType - The value type of the dictionary\n * @param generation - The generation context for code generation\n * @param options - Optional configuration (e.g., whether to skip simplification)\n */\n constructor(keyType: Type, valueType: Type, generation: Generation, options?: { dontSimplify?: boolean }) {\n super(generation);\n this.keyType = keyType;\n this.valueType = valueType;\n this.options = options;\n }\n\n public override getCollectionItemType(): Type | undefined {\n return this.Collection.keyValuePair(this.keyType, this.valueType);\n }\n\n public override write(writer: Writer): void {\n if (\n this.options?.dontSimplify !== true &&\n writer.generation.settings.simplifyObjectDictionaries &&\n this.keyType instanceof Primitive.String &&\n this.valueType instanceof Optional &&\n this.valueType.value instanceof Primitive.Object\n ) {\n writer.write(\"object\");\n return;\n }\n writer.writeNode(this.System.Collections.Generic.IDictionary(this.keyType, this.valueType));\n }\n }\n\n /**\n * Represents the C# `KeyValuePair<TKey, TValue>` struct type.\n * This is a value type (struct) in C#, not a reference type.\n */\n export class KeyValuePair extends ObjectType {\n public override readonly isReferenceType: boolean | undefined = false;\n\n /**\n * The key type of the key-value pair.\n */\n public readonly keyType: Type;\n\n /**\n * The value type of the key-value pair.\n */\n public readonly valueType: Type;\n\n /**\n * Creates a new KeyValuePair<TKey, TValue> type.\n * @param keyType - The key type\n * @param valueType - The value type\n * @param generation - The generation context for code generation\n */\n constructor(keyType: Type, valueType: Type, generation: Generation) {\n super(generation);\n this.keyType = keyType;\n this.valueType = valueType;\n }\n\n public override write(writer: Writer): void {\n writer.writeNode(this.System.Collections.Generic.KeyValuePair(this.keyType, this.valueType));\n }\n }\n}\n\n/**\n * Converts an array of C# type names to their corresponding PrimitiveTypeV1 enum values.\n * This is used for converting ReadOnlyMemory type configurations.\n *\n * @param readOnlyMemoryTypeNames - Array of C# type names (e.g., \"int\", \"string\", \"bool\")\n * @returns Array of PrimitiveTypeV1 enum values\n * @throws Error if an unknown type name is encountered (should be unreachable if validated earlier)\n */\nexport function convertReadOnlyPrimitiveTypes(readOnlyMemoryTypeNames: string[]): PrimitiveTypeV1[] {\n return readOnlyMemoryTypeNames.map((typeName) => {\n switch (typeName) {\n case \"int\":\n return PrimitiveTypeV1.Integer;\n case \"long\":\n return PrimitiveTypeV1.Long;\n case \"uint\":\n return PrimitiveTypeV1.Uint;\n case \"ulong\":\n return PrimitiveTypeV1.Uint64;\n case \"string\":\n return PrimitiveTypeV1.String;\n case \"bool\":\n case \"boolean\":\n return PrimitiveTypeV1.Boolean;\n case \"float\":\n return PrimitiveTypeV1.Float;\n case \"double\":\n return PrimitiveTypeV1.Double;\n default:\n // This should be unreachable; the ReadOnlyMemory types should have already\n // been validated at this point.\n throw new Error(`Internal error; unknown ReadOnlyMemory type: ${typeName}`);\n }\n });\n}\n\n/**\n * Determines whether a given type should be rendered as `ReadOnlyMemory<T>` instead of an array or list.\n * This check is recursive for Optional types and delegates to the writer's configuration for the actual check.\n *\n * @param params - Object containing the writer and type to check\n * @param params.writer - The writer instance containing configuration for ReadOnlyMemory types\n * @param params.value - The type to check\n * @returns true if the type should be rendered as ReadOnlyMemory, false otherwise\n */\nfunction isReadOnlyMemoryType({ writer, value }: { writer: Writer; value: Type }): boolean {\n if (value instanceof Optional) {\n return isReadOnlyMemoryType({ writer, value: value.value });\n }\n // Check if it's a primitive type that should be ReadOnlyMemory\n if (value instanceof Primitive.Integer) {\n return writer.isReadOnlyMemoryType(\"int\");\n }\n if (value instanceof Primitive.Long) {\n return writer.isReadOnlyMemoryType(\"long\");\n }\n if (value instanceof Primitive.Uint) {\n return writer.isReadOnlyMemoryType(\"uint\");\n }\n if (value instanceof Primitive.ULong) {\n return writer.isReadOnlyMemoryType(\"ulong\");\n }\n if (value instanceof Primitive.String) {\n return writer.isReadOnlyMemoryType(\"string\");\n }\n if (value instanceof Primitive.Boolean) {\n return writer.isReadOnlyMemoryType(\"bool\");\n }\n if (value instanceof Primitive.Float) {\n return writer.isReadOnlyMemoryType(\"float\");\n }\n if (value instanceof Primitive.Double) {\n return writer.isReadOnlyMemoryType(\"double\");\n }\n return false;\n}\n","import { is } from \"./type-guards\";\n\n/**\n * Capitalizes the first character of a string.\n *\n * @param str - The input string to transform\n * @returns A new string with the first character uppercased and the rest unchanged\n *\n * @example\n * ```ts\n * upperFirst(\"hello\") // returns \"Hello\"\n * upperFirst(\"WORLD\") // returns \"WORLD\"\n * upperFirst(\"\") // returns \"\"\n * ```\n */\nexport function upperFirst(str: string): string {\n return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;\n}\n\n/**\n * Converts a string to camelCase format.\n *\n * This function handles various input formats including:\n * - Snake_case\n * - kebab-case\n * - PascalCase\n * - camelCase\n * - Space separated words\n * - Mixed formats with acronyms\n *\n * @param str - The input string to transform\n * @returns A camelCase version of the input string, with the first word lowercased\n * and subsequent words capitalized. Returns an empty string if the input\n * contains no valid words.\n *\n * @example\n * ```ts\n * camelCase(\"hello world\") // returns \"helloWorld\"\n * camelCase(\"snake_case_string\") // returns \"snakeCaseString\"\n * camelCase(\"kebab-case-string\") // returns \"kebabCaseString\"\n * camelCase(\"PascalCaseString\") // returns \"pascalCaseString\"\n * camelCase(\"XMLParser\") // returns \"xmlParser\"\n * camelCase(\"\") // returns \"\"\n * ```\n */\nexport function camelCase(str: string): string {\n // Remove leading and trailing whitespace\n str = str.trim();\n\n // Split on whitespace, hyphens, underscores, and transitions from lowercase to uppercase\n const words = str\n .replace(/([a-z])([A-Z])/g, \"$1 $2\") // Add space between camelCase\n .replace(/([A-Z]+)([A-Z][a-z])/g, \"$1 $2\") // Handle acronyms like \"XMLParser\" -> \"XML Parser\"\n .split(/[\\s_-]+/) // Split on whitespace, underscores, and hyphens\n .filter((word) => word.length > 0);\n\n if (words.length === 0) {\n return \"\";\n }\n\n // First word is lowercase, rest are capitalized\n return words\n .map((word, index) => {\n word = word.toLowerCase();\n if (index === 0) {\n return word;\n }\n return `${word.charAt(0).toUpperCase()}${word.slice(1)}`;\n })\n .join(\"\");\n}\n\n/**\n * Hashes a string to a number.\n * @param input - The input string to hash\n * @returns A number generated from the input string\n *\n * @example\n * ```ts\n * hash(\"hello\") // returns 1000000\n * hash(\"WORLD\") // returns 1000000\n * hash(\"\") // returns 0\n * ```\n */\nexport function hash(input: string): number {\n let hash = 0;\n for (const char of input) {\n hash = (hash << 5) - hash + char.charCodeAt(0);\n }\n return hash;\n}\n\n/**\n * Generates a deterministic unique id from a string.\n * @param input - The input string to generate a unique id for\n * @returns A unique id generated from the input string\n *\n * @example\n * ```ts\n * uniqueId(\"hello\") // returns \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"\n * uniqueId(\"WORLD\") // returns \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"\n * uniqueId(\"\") // returns \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"\n * ```\n */\nexport function uniqueId(input: string): string {\n // create a unique guid without using thecrypto library.\n // Seeded pseudo-random number generator\n function iterate(seed: number): number {\n const x = Math.sin(seed++) * 10000;\n return x - Math.floor(x);\n }\n\n let seed = hash(input);\n\n // Generate UUID v4 format using seeded random\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (iterate(seed++) * 16) | 0;\n const v = c === \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * This normalized date strings to ISO 8601 format so that they can be matched in wire tests.\n *\n * This can be used as a replacer function for JSON.stringify.\n *\n * @example\n * ```ts\n * JSON.stringify({ a: \"2025-01-01T00:00:00.000\" }, normalizeDates, 2);\n * ```\n */\nexport function normalizeDates(key: string, value: unknown): unknown {\n return is.isIsoDateTimeString(value) // reformat date time to ISO 8601 format\n ? new Date(value).toISOString()\n : is.isIsoDateString(value) // reformat date to ISO 8601 format\n ? new Date(value).toISOString().slice(0, 10)\n : value; // return value as is\n}\n","/**\n * TYPE GUARDS FOR @fern-api/dynamic-ir-sdk\n *\n * This file contains runtime type guards for validating objects from the Dynamic IR SDK.\n *\n * ============================================================================================\n * INSTRUCTIONS FOR UPDATING THIS FILE WHEN @fern-api/dynamic-ir-sdk PACKAGE IS UPDATED:\n * ============================================================================================\n *\n * 1. LOCATE INTERFACE DEFINITIONS:\n * - All interfaces are in: node_modules/@fern-api/dynamic-ir-sdk/api/resources/dynamic/\n * - ONLY include types from the `dynamic` namespace (FernIr.dynamic.*)\n * - EXCLUDE types from `generatorExec` namespace - they are NOT in FernIr.dynamic\n *\n * 2. STANDARD INTERFACE TYPEGUARDS:\n * - For each interface, create a typeguard that checks REQUIRED fields only\n * - Use this structure:\n * InterfaceName: (value: unknown): value is FernIr.dynamic.InterfaceName =>\n * isObject(value) &&\n * \"requiredProp1\" in value &&\n * \"requiredProp2\" in value &&\n * typeof value.requiredProp1 === \"string\" &&\n * Array.isArray(value.requiredProp2)\n *\n * 3. CHECK ORDERING (IMPORTANT):\n * - First: ALL property presence checks (\"prop\" in value)\n * - Then: ALL type validation checks (typeof, Array.isArray, is.OtherType)\n * - This ordering improves performance and readability\n *\n * 4. TYPE CHECKS TO USE:\n * - Primitives: typeof value.prop === \"string\" | \"number\" | \"boolean\"\n * - Arrays: Array.isArray(value.prop)\n * - Records/Objects: isObject(value.prop)\n * - Other interfaces: is.OtherInterface(value.prop)\n *\n * 5. DISCRIMINATED UNIONS:\n * - Found in files like Auth.d.ts, Request.d.ts, etc.\n * - Pattern: \"export type UnionName = UnionName.Variant1 | UnionName.Variant2\"\n * \"export declare namespace UnionName { interface Variant1 extends ParentInterface { type: \"variant1\" } }\"\n * - Structure as nested objects:\n * UnionName: {\n * Variant1: (value: unknown): value is FernIr.dynamic.UnionName.Variant1 =>\n * is.ParentInterface(value) && \"type\" in value && value.type === \"variant1\",\n * Variant2: (value: unknown): value is FernIr.dynamic.UnionName.Variant2 =>\n * is.ParentInterface(value) && \"type\" in value && value.type === \"variant2\"\n * }\n *\n * 6. OPTIMIZATION RULES:\n * - For union variants: Use parent interface check (e.g., is.BasicAuth(value))\n * - DO NOT add redundant isObject(value) after a parent check\n * - Parent checks already include isObject validation\n *\n * 7. CATEGORIZATION:\n * - Group typeguards by their location in the SDK:\n * • Common Types (from /resources/dynamic/resources/commons/)\n * • Auth Types (from /resources/dynamic/resources/auth/)\n * • Environment Types (from /resources/dynamic/resources/environment/)\n * • Types Types (from /resources/dynamic/resources/types/)\n * • Endpoints Types (from /resources/dynamic/resources/endpoints/)\n * • IR Types (from /resources/dynamic/resources/ir/)\n * • Variables Types (from /resources/dynamic/resources/variables/)\n * • Snippets Types (from /resources/dynamic/resources/snippets/)\n * • Discriminated Unions (at the end)\n *\n * 8. NAMING CONVENTIONS:\n * - Use exact interface names from the SDK\n * - For interfaces ending in underscore (e.g., Error_), keep the underscore\n * - For discriminated unions, use PascalCase variant names from the namespace\n *\n * 9. VERIFICATION:\n * - After updating, run linter to check for errors\n * - Ensure all FernIr.dynamic.* types are exported from the SDK\n * - Test that no TypeScript compilation errors occur\n *\n * CURRENT STATS: 51 standard typeguards, 10 discriminated unions (34 variants)\n * ============================================================================================\n */\n\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\n\nconst isObject = (value: unknown): value is object =>\n value != null && typeof value === \"object\" && !Array.isArray(value);\n\nexport const is = {\n // Common Types\n FernFilepath: (value: unknown): value is FernIr.dynamic.FernFilepath =>\n isObject(value) &&\n \"allParts\" in value &&\n \"packagePath\" in value &&\n Array.isArray(value.allParts) &&\n Array.isArray(value.packagePath),\n Name: (value: unknown): value is FernIr.dynamic.Name =>\n isObject(value) &&\n \"originalName\" in value &&\n \"camelCase\" in value &&\n \"pascalCase\" in value &&\n \"snakeCase\" in value &&\n \"screamingSnakeCase\" in value &&\n typeof value.originalName === \"string\",\n NameAndWireValue: (value: unknown): value is FernIr.dynamic.NameAndWireValue =>\n isObject(value) && \"wireValue\" in value && \"name\" in value && typeof value.wireValue === \"string\",\n SafeAndUnsafeString: (value: unknown): value is FernIr.dynamic.SafeAndUnsafeString =>\n isObject(value) &&\n \"unsafeName\" in value &&\n \"safeName\" in value &&\n typeof value.unsafeName === \"string\" &&\n typeof value.safeName === \"string\",\n WithDocs: (value: unknown): value is FernIr.dynamic.WithDocs => isObject(value),\n\n // Auth Types\n BasicAuth: (value: unknown): value is FernIr.dynamic.BasicAuth =>\n isObject(value) && \"username\" in value && \"password\" in value,\n BasicAuthValues: (value: unknown): value is FernIr.dynamic.BasicAuthValues =>\n isObject(value) &&\n \"username\" in value &&\n \"password\" in value &&\n typeof value.username === \"string\" &&\n typeof value.password === \"string\",\n BearerAuth: (value: unknown): value is FernIr.dynamic.BearerAuth => isObject(value) && \"token\" in value,\n BearerAuthValues: (value: unknown): value is FernIr.dynamic.BearerAuthValues =>\n isObject(value) && \"token\" in value && typeof value.token === \"string\",\n HeaderAuth: (value: unknown): value is FernIr.dynamic.HeaderAuth => isObject(value) && \"header\" in value,\n HeaderAuthValues: (value: unknown): value is FernIr.dynamic.HeaderAuthValues => isObject(value),\n InferredAuth: (value: unknown): value is FernIr.dynamic.InferredAuth => isObject(value),\n InferredAuthValues: (value: unknown): value is FernIr.dynamic.InferredAuthValues => isObject(value),\n OAuth: (value: unknown): value is FernIr.dynamic.OAuth =>\n isObject(value) && \"clientId\" in value && \"clientSecret\" in value,\n OAuthValues: (value: unknown): value is FernIr.dynamic.OAuthValues =>\n isObject(value) &&\n \"clientId\" in value &&\n \"clientSecret\" in value &&\n typeof value.clientId === \"string\" &&\n typeof value.clientSecret === \"string\",\n\n // Environment Types\n EnvironmentBaseUrlWithId: (value: unknown): value is FernIr.dynamic.EnvironmentBaseUrlWithId =>\n isObject(value) && \"id\" in value && \"name\" in value,\n EnvironmentsConfig: (value: unknown): value is FernIr.dynamic.EnvironmentsConfig =>\n isObject(value) && \"environments\" in value,\n MultipleBaseUrlsEnvironment: (value: unknown): value is FernIr.dynamic.MultipleBaseUrlsEnvironment =>\n isObject(value) && \"id\" in value && \"name\" in value && \"urls\" in value && isObject(value.urls),\n MultipleBaseUrlsEnvironments: (value: unknown): value is FernIr.dynamic.MultipleBaseUrlsEnvironments =>\n isObject(value) &&\n \"baseUrls\" in value &&\n \"environments\" in value &&\n Array.isArray(value.baseUrls) &&\n Array.isArray(value.environments),\n SingleBaseUrlEnvironment: (value: unknown): value is FernIr.dynamic.SingleBaseUrlEnvironment =>\n isObject(value) && \"id\" in value && \"name\" in value && \"url\" in value,\n SingleBaseUrlEnvironments: (value: unknown): value is FernIr.dynamic.SingleBaseUrlEnvironments =>\n isObject(value) && \"environments\" in value && Array.isArray(value.environments),\n\n // Types Types\n AliasType: (value: unknown): value is FernIr.dynamic.AliasType =>\n isObject(value) && \"declaration\" in value && \"typeReference\" in value,\n DiscriminatedUnionType: (value: unknown): value is FernIr.dynamic.DiscriminatedUnionType =>\n isObject(value) &&\n \"declaration\" in value &&\n \"discriminant\" in value &&\n \"types\" in value &&\n isObject(value.types),\n EnumType: (value: unknown): value is FernIr.dynamic.EnumType =>\n isObject(value) && \"declaration\" in value && \"values\" in value && Array.isArray(value.values),\n MapType: (value: unknown): value is FernIr.dynamic.MapType => isObject(value) && \"key\" in value && \"value\" in value,\n NamedParameter: (value: unknown): value is FernIr.dynamic.NamedParameter =>\n isObject(value) && \"name\" in value && \"typeReference\" in value,\n ObjectType: (value: unknown): value is FernIr.dynamic.ObjectType =>\n isObject(value) && \"declaration\" in value && \"properties\" in value && Array.isArray(value.properties),\n SingleDiscriminatedUnionTypeNoProperties: (\n value: unknown\n ): value is FernIr.dynamic.SingleDiscriminatedUnionTypeNoProperties =>\n isObject(value) && \"discriminantValue\" in value,\n SingleDiscriminatedUnionTypeObject: (value: unknown): value is FernIr.dynamic.SingleDiscriminatedUnionTypeObject =>\n isObject(value) &&\n \"typeId\" in value &&\n \"discriminantValue\" in value &&\n \"properties\" in value &&\n Array.isArray(value.properties),\n SingleDiscriminatedUnionTypeSingleProperty: (\n value: unknown\n ): value is FernIr.dynamic.SingleDiscriminatedUnionTypeSingleProperty =>\n isObject(value) && \"typeReference\" in value && \"discriminantValue\" in value,\n UndiscriminatedUnionType: (value: unknown): value is FernIr.dynamic.UndiscriminatedUnionType =>\n isObject(value) && \"declaration\" in value && \"types\" in value && Array.isArray(value.types),\n\n // Endpoints Types\n BodyRequest: (value: unknown): value is FernIr.dynamic.BodyRequest => isObject(value),\n Endpoint: (value: unknown): value is FernIr.dynamic.Endpoint =>\n isObject(value) && \"declaration\" in value && \"location\" in value && \"request\" in value && \"response\" in value,\n EndpointExample: (value: unknown): value is FernIr.dynamic.EndpointExample =>\n isObject(value) && \"id\" in value && typeof value.id === \"string\",\n EndpointLocation: (value: unknown): value is FernIr.dynamic.EndpointLocation =>\n isObject(value) && \"method\" in value && \"path\" in value && typeof value.path === \"string\",\n FileUploadRequestBody: (value: unknown): value is FernIr.dynamic.FileUploadRequestBody =>\n isObject(value) && \"properties\" in value && Array.isArray(value.properties),\n InlinedRequest: (value: unknown): value is FernIr.dynamic.InlinedRequest =>\n isObject(value) && \"declaration\" in value,\n InlinedRequestMetadata: (value: unknown): value is FernIr.dynamic.InlinedRequestMetadata =>\n isObject(value) &&\n \"includePathParameters\" in value &&\n \"onlyPathParameters\" in value &&\n typeof value.includePathParameters === \"boolean\" &&\n typeof value.onlyPathParameters === \"boolean\",\n ReferencedRequestBody: (value: unknown): value is FernIr.dynamic.ReferencedRequestBody =>\n isObject(value) && \"bodyKey\" in value && \"bodyType\" in value,\n\n // IR Types\n DynamicIntermediateRepresentation: (value: unknown): value is FernIr.dynamic.DynamicIntermediateRepresentation =>\n isObject(value) &&\n \"version\" in value &&\n \"types\" in value &&\n \"endpoints\" in value &&\n isObject(value.types) &&\n isObject(value.endpoints),\n GeneratorConfig: (value: unknown): value is FernIr.dynamic.GeneratorConfig =>\n isObject(value) &&\n \"apiName\" in value &&\n \"organization\" in value &&\n \"outputConfig\" in value &&\n typeof value.apiName === \"string\" &&\n typeof value.organization === \"string\",\n GoPublishInfo: (value: unknown): value is FernIr.dynamic.GoPublishInfo =>\n isObject(value) &&\n \"version\" in value &&\n \"repoUrl\" in value &&\n typeof value.version === \"string\" &&\n typeof value.repoUrl === \"string\",\n MavenPublishInfo: (value: unknown): value is FernIr.dynamic.MavenPublishInfo =>\n isObject(value) &&\n \"version\" in value &&\n \"coordinate\" in value &&\n typeof value.version === \"string\" &&\n typeof value.coordinate === \"string\",\n NpmPublishInfo: (value: unknown): value is FernIr.dynamic.NpmPublishInfo =>\n isObject(value) &&\n \"version\" in value &&\n \"packageName\" in value &&\n typeof value.version === \"string\" &&\n typeof value.packageName === \"string\",\n NugetPublishInfo: (value: unknown): value is FernIr.dynamic.NugetPublishInfo =>\n isObject(value) &&\n \"version\" in value &&\n \"packageName\" in value &&\n typeof value.version === \"string\" &&\n typeof value.packageName === \"string\",\n PypiPublishInfo: (value: unknown): value is FernIr.dynamic.PypiPublishInfo =>\n isObject(value) &&\n \"version\" in value &&\n \"packageName\" in value &&\n typeof value.version === \"string\" &&\n typeof value.packageName === \"string\",\n RubyGemsPublishInfo: (value: unknown): value is FernIr.dynamic.RubyGemsPublishInfo =>\n isObject(value) &&\n \"version\" in value &&\n \"packageName\" in value &&\n typeof value.version === \"string\" &&\n typeof value.packageName === \"string\",\n\n // Variables Types\n VariableDeclaration: (value: unknown): value is FernIr.dynamic.VariableDeclaration =>\n isObject(value) && \"id\" in value && \"name\" in value && \"typeReference\" in value && typeof value.id === \"string\",\n\n // Snippets Types\n EndpointSnippetRequest: (value: unknown): value is FernIr.dynamic.EndpointSnippetRequest =>\n isObject(value) && \"endpoint\" in value,\n EndpointSnippetResponse: (value: unknown): value is FernIr.dynamic.EndpointSnippetResponse =>\n isObject(value) && \"snippet\" in value && typeof value.snippet === \"string\",\n Error_: (value: unknown): value is FernIr.dynamic.Error_ =>\n isObject(value) && \"severity\" in value && \"message\" in value && typeof value.message === \"string\",\n\n // Discriminated Unions\n Auth: {\n Basic: (value: unknown): value is FernIr.dynamic.Auth.Basic =>\n is.BasicAuth(value) && \"type\" in value && value.type === \"basic\",\n Bearer: (value: unknown): value is FernIr.dynamic.Auth.Bearer =>\n is.BearerAuth(value) && \"type\" in value && value.type === \"bearer\",\n Header: (value: unknown): value is FernIr.dynamic.Auth.Header =>\n is.HeaderAuth(value) && \"type\" in value && value.type === \"header\",\n Inferred: (value: unknown): value is FernIr.dynamic.Auth.Inferred =>\n is.InferredAuth(value) && \"type\" in value && value.type === \"inferred\",\n Oauth: (value: unknown): value is FernIr.dynamic.Auth.Oauth =>\n is.OAuth(value) && \"type\" in value && value.type === \"oauth\"\n },\n\n AuthValues: {\n Basic: (value: unknown): value is FernIr.dynamic.AuthValues.Basic =>\n is.BasicAuthValues(value) && \"type\" in value && value.type === \"basic\",\n Bearer: (value: unknown): value is FernIr.dynamic.AuthValues.Bearer =>\n is.BearerAuthValues(value) && \"type\" in value && value.type === \"bearer\",\n Header: (value: unknown): value is FernIr.dynamic.AuthValues.Header =>\n is.HeaderAuthValues(value) && \"type\" in value && value.type === \"header\",\n Inferred: (value: unknown): value is FernIr.dynamic.AuthValues.Inferred =>\n is.InferredAuthValues(value) && \"type\" in value && value.type === \"inferred\",\n Oauth: (value: unknown): value is FernIr.dynamic.AuthValues.Oauth =>\n is.OAuthValues(value) && \"type\" in value && value.type === \"oauth\"\n },\n\n Environments: {\n MultipleBaseUrls: (value: unknown): value is FernIr.dynamic.Environments.MultipleBaseUrls =>\n is.MultipleBaseUrlsEnvironments(value) && \"type\" in value && value.type === \"multipleBaseUrls\",\n SingleBaseUrl: (value: unknown): value is FernIr.dynamic.Environments.SingleBaseUrl =>\n is.SingleBaseUrlEnvironments(value) && \"type\" in value && value.type === \"singleBaseUrl\"\n },\n\n FileUploadRequestBodyProperty: {\n BodyProperty: (value: unknown): value is FernIr.dynamic.FileUploadRequestBodyProperty.BodyProperty =>\n is.NamedParameter(value) && \"type\" in value && value.type === \"bodyProperty\",\n FileArray: (value: unknown): value is FernIr.dynamic.FileUploadRequestBodyProperty.FileArray =>\n is.NameAndWireValue(value) && \"type\" in value && value.type === \"fileArray\",\n File_: (value: unknown): value is FernIr.dynamic.FileUploadRequestBodyProperty.File_ =>\n is.NameAndWireValue(value) && \"type\" in value && value.type === \"file\"\n },\n\n InlinedRequestBody: {\n FileUpload: (value: unknown): value is FernIr.dynamic.InlinedRequestBody.FileUpload =>\n is.FileUploadRequestBody(value) && \"type\" in value && value.type === \"fileUpload\",\n Referenced: (value: unknown): value is FernIr.dynamic.InlinedRequestBody.Referenced =>\n is.ReferencedRequestBody(value) && \"type\" in value && value.type === \"referenced\"\n },\n\n AnyNamedType: (value: unknown): value is FernIr.dynamic.NamedType =>\n is.NamedType.Alias(value) ||\n is.NamedType.DiscriminatedUnion(value) ||\n is.NamedType.Enum(value) ||\n is.NamedType.Object_(value) ||\n is.NamedType.UndiscriminatedUnion(value),\n\n NamedType: {\n Alias: (value: unknown): value is FernIr.dynamic.NamedType.Alias =>\n is.AliasType(value) && \"type\" in value && value.type === \"alias\",\n DiscriminatedUnion: (value: unknown): value is FernIr.dynamic.NamedType.DiscriminatedUnion =>\n is.DiscriminatedUnionType(value) && \"type\" in value && value.type === \"discriminatedUnion\",\n Enum: (value: unknown): value is FernIr.dynamic.NamedType.Enum =>\n is.EnumType(value) && \"type\" in value && value.type === \"enum\",\n Object_: (value: unknown): value is FernIr.dynamic.NamedType.Object_ =>\n is.ObjectType(value) && \"type\" in value && value.type === \"object\",\n UndiscriminatedUnion: (value: unknown): value is FernIr.dynamic.NamedType.UndiscriminatedUnion =>\n is.UndiscriminatedUnionType(value) && \"type\" in value && value.type === \"undiscriminatedUnion\"\n },\n\n PublishInfo: {\n Go: (value: unknown): value is FernIr.dynamic.PublishInfo.Go =>\n is.GoPublishInfo(value) && \"type\" in value && value.type === \"go\",\n Maven: (value: unknown): value is FernIr.dynamic.PublishInfo.Maven =>\n is.MavenPublishInfo(value) && \"type\" in value && value.type === \"maven\",\n Npm: (value: unknown): value is FernIr.dynamic.PublishInfo.Npm =>\n is.NpmPublishInfo(value) && \"type\" in value && value.type === \"npm\",\n Nuget: (value: unknown): value is FernIr.dynamic.PublishInfo.Nuget =>\n is.NugetPublishInfo(value) && \"type\" in value && value.type === \"nuget\",\n Pypi: (value: unknown): value is FernIr.dynamic.PublishInfo.Pypi =>\n is.PypiPublishInfo(value) && \"type\" in value && value.type === \"pypi\",\n Rubygems: (value: unknown): value is FernIr.dynamic.PublishInfo.Rubygems =>\n is.RubyGemsPublishInfo(value) && \"type\" in value && value.type === \"rubygems\"\n },\n\n Request: {\n Body: (value: unknown): value is FernIr.dynamic.Request.Body =>\n is.BodyRequest(value) && \"type\" in value && value.type === \"body\",\n Inlined: (value: unknown): value is FernIr.dynamic.Request.Inlined =>\n is.InlinedRequest(value) && \"type\" in value && value.type === \"inlined\"\n },\n\n SingleDiscriminatedUnionType: {\n NoProperties: (value: unknown): value is FernIr.dynamic.SingleDiscriminatedUnionType.NoProperties =>\n is.SingleDiscriminatedUnionTypeNoProperties(value) && \"type\" in value && value.type === \"noProperties\",\n SamePropertiesAsObject: (\n value: unknown\n ): value is FernIr.dynamic.SingleDiscriminatedUnionType.SamePropertiesAsObject =>\n is.SingleDiscriminatedUnionTypeObject(value) && \"type\" in value && value.type === \"samePropertiesAsObject\",\n SingleProperty: (value: unknown): value is FernIr.dynamic.SingleDiscriminatedUnionType.SingleProperty =>\n is.SingleDiscriminatedUnionTypeSingleProperty(value) && \"type\" in value && value.type === \"singleProperty\"\n },\n\n TypeReference: {\n Map: (value: unknown): value is FernIr.dynamic.TypeReference.Map =>\n is.MapType(value) && \"type\" in value && value.type === \"map\"\n }\n};\n","/**\n * TYPE GUARDS FOR @fern-fern/ir-sdk\n *\n * This file contains runtime type guards for validating objects from the core IR SDK.\n *\n * ============================================================================================\n * INSTRUCTIONS FOR UPDATING THIS FILE WHEN @fern-fern/ir-sdk PACKAGE IS UPDATED:\n * ============================================================================================\n *\n * 1. LOCATE INTERFACE DEFINITIONS:\n * - All interfaces are in: node_modules/@fern-fern/ir-sdk/api/resources/\n * - Key directories: commons, types, http, websocket, errors, examples, auth, etc.\n * - Import types directly from \"@fern-fern/ir-sdk/api\" (NOT from /api/resources/...)\n *\n * 2. STANDARD INTERFACE TYPEGUARDS:\n * - For each interface, create a typeguard that checks REQUIRED fields only\n * - Use this structure:\n * InterfaceName: (value: unknown): value is InterfaceName =>\n * isObject(value) &&\n * \"requiredProp1\" in value &&\n * \"requiredProp2\" in value &&\n * typeof value.requiredProp1 === \"string\" &&\n * Array.isArray(value.requiredProp2)\n *\n * 3. CHECK ORDERING (IMPORTANT):\n * - First: ALL property presence checks (\"prop\" in value)\n * - Then: ALL type validation checks (typeof, Array.isArray, is.OtherType)\n * - This ordering improves performance and readability\n *\n * 4. TYPE CHECKS TO USE:\n * - Primitives: typeof value.prop === \"string\" | \"number\" | \"boolean\"\n * - Arrays: Array.isArray(value.prop)\n * - Records/Objects: isObject(value.prop)\n * - Other interfaces: is.OtherInterface(value.prop)\n *\n * 5. DISCRIMINATED UNIONS:\n * - Found in namespace declarations within interface files\n * - Pattern: Interface extends ParentInterface and has a literal \"type\" property\n * - Example from SDK:\n * export declare namespace AuthScheme {\n * interface Bearer extends BearerAuthScheme {\n * type: \"bearer\";\n * }\n * }\n * - Structure as nested objects (NOT flat strings):\n * AuthScheme: {\n * Bearer: (value: unknown): value is AuthScheme.Bearer =>\n * is.BearerAuthScheme(value) && \"type\" in value && value.type === \"bearer\",\n * Basic: (value: unknown): value is AuthScheme.Basic =>\n * is.BasicAuthScheme(value) && \"type\" in value && value.type === \"basic\"\n * }\n *\n * 6. PARENT INTERFACE VALIDATION:\n * - For union variants, ALWAYS check the parent interface first\n * - DO NOT check interfaces ending in \"_Utils\" - these only contain visitor patterns\n * - Example: AuthScheme.Bearer extends BearerAuthScheme, so check is.BearerAuthScheme(value)\n *\n * 7. OPTIMIZATION RULES:\n * - For union variants: Use parent interface check (e.g., is.BearerAuthScheme(value))\n * - DO NOT add redundant isObject(value) after a parent check\n * - Parent checks already include isObject validation\n * - This reduces unnecessary checks and improves performance\n *\n * 8. SPECIAL CASES TO EXCLUDE:\n * - Skip \"_Utils\" interfaces (e.g., AuthScheme_Utils) - they only have _visit methods\n * - Skip generatorExec types unless they're explicitly needed\n * - Some types may have \"_\" suffix (e.g., Object_, File_) - keep the underscore\n *\n * 9. CATEGORIZATION:\n * - Group typeguards logically:\n * • Common/Base Types (Name, SafeAndUnsafeString, etc.)\n * • Type Declarations (AliasTypeDeclaration, ObjectTypeDeclaration, etc.)\n * • HTTP/Request/Response (HttpEndpoint, HttpRequest, HttpResponse, etc.)\n * • Auth-Related (ApiAuth, AuthScheme, etc.)\n * • WebSocket (WebSocketChannel, etc.)\n * • Errors (ErrorDeclaration, etc.)\n * • Examples (ExampleType, ExampleEndpointCall, etc.)\n * • Environment (EnvironmentBaseUrlWithId, etc.)\n * • Other categories as needed\n * • Discriminated Unions (at the end, alphabetically sorted)\n *\n * 10. IMPORTS:\n * - Import ALL types used in typeguards at the top\n * - Use format: import { TypeName } from \"@fern-fern/ir-sdk/api\"\n * - Keep imports alphabetically sorted for maintainability\n *\n * 11. VERIFICATION:\n * - After updating, run linter to check for errors\n * - Ensure all imported types are exported from @fern-fern/ir-sdk/api\n * - Test that no TypeScript compilation errors occur\n * - Check that union variants properly extend their parent interfaces\n *\n * 12. COMMON PITFALLS TO AVOID:\n * - DON'T use flat string keys for union variants (e.g., \"AuthScheme.Bearer\")\n * - DON'T validate _Utils interfaces - they're not real data structures\n * - DON'T include isObject() after a parent interface check in unions\n * - DON'T mix up property presence checks and type checks - keep them separate\n * - DON'T forget to check parent interface for union variants\n *\n * CURRENT STATS: 184 standard typeguards, 183 discriminated union variants (91 with parent validation)\n * ============================================================================================\n */\n\nimport {\n AliasTypeDeclaration,\n ApiAuth,\n // Discriminated union types\n ApiDefinitionSource,\n ApiVersionScheme,\n AuthScheme,\n AutogeneratedEndpointExample,\n Availability,\n Base64Type,\n BaseAuthScheme,\n BasicAuthScheme,\n BasicAuthValues,\n BearerAuthScheme,\n BearerAuthValues,\n BigIntegerType,\n BooleanType,\n BytesRequest,\n BytesResponse,\n Constants,\n ContainerType,\n CsharpProtobufFileOptions,\n CursorPagination,\n CustomPagination,\n DateTimeType,\n DateType,\n Declaration,\n DeclaredErrorName,\n DeclaredServiceName,\n DeclaredTypeName,\n DoubleType,\n DoubleValidationRules,\n Encoding,\n EndpointReference,\n EnumTypeDeclaration,\n EnumTypeReference,\n EnumValue,\n Environments,\n ErrorDeclaration,\n ErrorDeclarationDiscriminantValue,\n ErrorDiscriminationStrategy,\n EscapedString,\n ExampleAliasType,\n ExampleCodeSample,\n ExampleCodeSampleLanguage,\n ExampleCodeSampleSdk,\n ExampleContainer,\n ExampleDatetime,\n ExampleEndpointCall,\n ExampleEndpointErrorResponse,\n ExampleEndpointSuccessResponse,\n ExampleEnumType,\n ExampleError,\n ExampleHeader,\n ExampleInlinedRequestBody,\n ExampleInlinedRequestBodyProperty,\n ExampleKeyValuePair,\n ExampleListContainer,\n ExampleLiteralContainer,\n ExampleMapContainer,\n ExampleNamedType,\n ExampleNullableContainer,\n ExampleObjectProperty,\n ExampleObjectType,\n ExampleObjectTypeWithTypeId,\n ExampleOptionalContainer,\n ExamplePathParameter,\n ExamplePrimitive,\n ExampleQueryParameter,\n ExampleQueryParameterShape,\n ExampleRequestBody,\n ExampleResponse,\n ExampleServerSideEvent,\n ExampleSetContainer,\n ExampleSingleUnionType,\n ExampleSingleUnionTypeProperties,\n ExampleType,\n ExampleTypeReference,\n ExampleTypeReferenceShape,\n ExampleTypeShape,\n ExampleUndiscriminatedUnionType,\n ExampleUnionType,\n ExampleWebhookCall,\n ExampleWebSocketMessage,\n ExampleWebSocketMessageBody,\n ExampleWebSocketSession,\n FernFilepath,\n FileDownloadResponse,\n FileProperty,\n FilePropertyArray,\n FilePropertySingle,\n Filesystem,\n FileUploadBodyProperty,\n FileUploadRequest,\n FileUploadRequestProperty,\n FloatType,\n GrpcTransport,\n generatorExec,\n HeaderAuthScheme,\n HeaderAuthValues,\n HttpEndpoint,\n HttpEndpointSource,\n HttpHeader,\n HttpPath,\n HttpPathPart,\n HttpRequestBody,\n HttpRequestBodyReference,\n HttpResponse,\n HttpResponseBody,\n HttpService,\n InferredAuthenticatedRequestHeader,\n InferredAuthScheme,\n InferredAuthSchemeTokenEndpoint,\n InlinedRequestBody,\n InlinedRequestBodyProperty,\n InlinedWebhookPayload,\n InlinedWebhookPayloadProperty,\n InlinedWebSocketMessageBody,\n InlinedWebSocketMessageBodyProperty,\n IntegerType,\n IntegerValidationRules,\n IntermediateRepresentation,\n JsonEncoding,\n JsonResponse,\n JsonResponseBody,\n JsonResponseBodyWithProperty,\n JsonStreamChunk,\n Literal,\n LongType,\n MapType,\n Name,\n NameAndWireValue,\n NamedType,\n NamedTypeDefault,\n NonStreamHttpResponseBody,\n OAuthAccessTokenRequestProperties,\n OAuthAccessTokenResponseProperties,\n OAuthClientCredentials,\n OAuthConfiguration,\n OAuthRefreshEndpoint,\n OAuthRefreshTokenRequestProperties,\n OAuthScheme,\n OAuthTokenEndpoint,\n OAuthValues,\n ObjectProperty,\n ObjectTypeDeclaration,\n OffsetPagination,\n Package,\n Pagination,\n PathParameter,\n PrimitiveTypeV2,\n PropertyPathItem,\n ProtobufFile,\n ProtobufFileOptions,\n ProtobufService,\n ProtobufType,\n ProtoEncoding,\n ProtoSource,\n ProtoSourceInfo,\n PublishingConfig,\n PublishTarget,\n QueryParameter,\n ReadmeConfig,\n ReadmeCustomSection,\n RequestProperty,\n RequestPropertyValue,\n ResolvedNamedType,\n ResolvedTypeReference,\n ResponseError,\n ResponseProperty,\n SafeAndUnsafeString,\n SdkConfig,\n SdkRequest,\n SdkRequestBodyType,\n SdkRequestShape,\n SdkRequestWrapper,\n ServiceTypeReferenceInfo,\n SingleUnionType,\n SingleUnionTypeProperty,\n Source,\n SourceConfig,\n SseStreamChunk,\n StreamingResponse,\n StreamParameterResponse,\n StringType,\n StringValidationRules,\n Subpackage,\n TextResponse,\n TextStreamChunk,\n Transport,\n Type,\n TypeDeclaration,\n TypeReference,\n Uint64Type,\n UintType,\n UndiscriminatedUnionMember,\n UndiscriminatedUnionTypeDeclaration,\n UnionTypeDeclaration,\n UserAgent,\n UserDefinedProtobufType,\n UserSpecifiedEndpointExample,\n UuidType,\n V2AuthValues,\n V2EndpointLocation,\n V2HttpEndpointCodeSample,\n V2HttpEndpointExample,\n V2HttpEndpointExamples,\n V2HttpEndpointRequest,\n V2HttpEndpointResponse,\n V2HttpEndpointResponseBody,\n V2HttpRequestBodies,\n V2HttpResponses,\n V2SchemaExamples,\n V2WebhookExample,\n V2WebhookExamples,\n V2WebSocketEndpointLocation,\n V2WebSocketMessageExample,\n V2WebSocketSessionExample,\n V2WebSocketSessionExamples,\n VariableDeclaration,\n Webhook,\n WebhookPayload,\n WebhookPayloadReference,\n WebSocketChannel,\n WebSocketMessage,\n WebSocketMessageBody,\n WebSocketMessageBodyReference,\n WellKnownProtobufType,\n WithContentType,\n WithDocs,\n WithDocsAndAvailability,\n WithJsonExample,\n WithV2Examples\n} from \"@fern-fern/ir-sdk/api\";\n\nconst isObject = (value: unknown): value is object =>\n value != null && typeof value === \"object\" && !Array.isArray(value);\n\nexport const is = {\n // Base types with proper validation\n SafeAndUnsafeString: (value: unknown): value is SafeAndUnsafeString =>\n isObject(value) &&\n \"safeName\" in value &&\n \"unsafeName\" in value &&\n typeof value.safeName === \"string\" &&\n typeof value.unsafeName === \"string\",\n Name: (value: unknown): value is Name =>\n isObject(value) &&\n \"originalName\" in value &&\n \"pascalCase\" in value &&\n \"camelCase\" in value &&\n \"snakeCase\" in value &&\n \"screamingSnakeCase\" in value &&\n typeof value.originalName === \"string\" &&\n is.SafeAndUnsafeString(value.pascalCase) &&\n is.SafeAndUnsafeString(value.camelCase) &&\n is.SafeAndUnsafeString(value.snakeCase) &&\n is.SafeAndUnsafeString(value.screamingSnakeCase),\n NameAndWireValue: (value: unknown): value is NameAndWireValue =>\n isObject(value) &&\n \"wireValue\" in value &&\n \"name\" in value &&\n typeof value.wireValue === \"string\" &&\n is.Name(value.name),\n // Type Declarations\n TypeDeclaration: (value: unknown): value is TypeDeclaration =>\n isObject(value) &&\n \"name\" in value &&\n \"shape\" in value &&\n \"autogeneratedExamples\" in value &&\n \"userProvidedExamples\" in value &&\n \"referencedTypes\" in value &&\n \"inline\" in value &&\n \"availability\" in value &&\n Array.isArray(value.autogeneratedExamples) &&\n Array.isArray(value.userProvidedExamples) &&\n \"docs\" in value,\n ObjectTypeDeclaration: (value: unknown): value is ObjectTypeDeclaration =>\n isObject(value) &&\n \"extends\" in value &&\n \"properties\" in value &&\n \"extraProperties\" in value &&\n Array.isArray(value.extends) &&\n Array.isArray(value.properties) &&\n typeof value.extraProperties === \"boolean\",\n EnumTypeDeclaration: (value: unknown): value is EnumTypeDeclaration =>\n isObject(value) && \"values\" in value && Array.isArray(value.values),\n\n UnionTypeDeclaration: (value: unknown): value is UnionTypeDeclaration =>\n isObject(value) &&\n \"discriminant\" in value &&\n \"extends\" in value &&\n \"types\" in value &&\n \"baseProperties\" in value &&\n is.NameAndWireValue(value.discriminant) &&\n Array.isArray(value.extends) &&\n Array.isArray(value.types) &&\n Array.isArray(value.baseProperties),\n AliasTypeDeclaration: (value: unknown): value is AliasTypeDeclaration =>\n isObject(value) && \"aliasOf\" in value && \"resolvedType\" in value,\n\n ObjectProperty: (value: unknown): value is ObjectProperty =>\n isObject(value) &&\n \"name\" in value &&\n \"valueType\" in value &&\n \"availability\" in value &&\n is.NameAndWireValue(value.name) &&\n \"docs\" in value,\n // HTTP Types\n HttpEndpoint: (value: unknown): value is HttpEndpoint =>\n isObject(value) &&\n \"id\" in value &&\n \"name\" in value &&\n \"method\" in value &&\n \"headers\" in value &&\n \"path\" in value &&\n \"fullPath\" in value &&\n \"pathParameters\" in value &&\n \"allPathParameters\" in value &&\n \"queryParameters\" in value &&\n \"errors\" in value &&\n \"auth\" in value &&\n \"idempotent\" in value &&\n \"userSpecifiedExamples\" in value &&\n \"autogeneratedExamples\" in value &&\n \"availability\" in value &&\n typeof value.id === \"string\" &&\n typeof value.method === \"string\" &&\n Array.isArray(value.headers) &&\n Array.isArray(value.pathParameters) &&\n Array.isArray(value.allPathParameters) &&\n Array.isArray(value.queryParameters) &&\n typeof value.auth === \"boolean\" &&\n typeof value.idempotent === \"boolean\" &&\n Array.isArray(value.userSpecifiedExamples) &&\n Array.isArray(value.autogeneratedExamples) &&\n \"docs\" in value,\n HttpService: (value: unknown): value is HttpService =>\n isObject(value) &&\n \"name\" in value &&\n \"basePath\" in value &&\n \"endpoints\" in value &&\n \"headers\" in value &&\n \"pathParameters\" in value &&\n is.HttpPath(value.basePath) &&\n Array.isArray(value.endpoints) &&\n Array.isArray(value.headers) &&\n Array.isArray(value.pathParameters),\n HttpHeader: (value: unknown): value is HttpHeader =>\n isObject(value) &&\n \"name\" in value &&\n \"valueType\" in value &&\n \"availability\" in value &&\n is.NameAndWireValue(value.name) &&\n \"docs\" in value,\n HttpResponse: (value: unknown): value is HttpResponse => isObject(value),\n\n HttpPath: (value: unknown): value is HttpPath =>\n isObject(value) &&\n \"head\" in value &&\n \"parts\" in value &&\n typeof value.head === \"string\" &&\n Array.isArray(value.parts),\n HttpPathPart: (value: unknown): value is HttpPathPart =>\n isObject(value) &&\n \"pathParameter\" in value &&\n \"tail\" in value &&\n typeof value.pathParameter === \"string\" &&\n typeof value.tail === \"string\",\n PathParameter: (value: unknown): value is PathParameter =>\n isObject(value) &&\n \"name\" in value &&\n \"valueType\" in value &&\n \"location\" in value &&\n is.Name(value.name) &&\n typeof value.location === \"string\" &&\n \"docs\" in value,\n QueryParameter: (value: unknown): value is QueryParameter =>\n isObject(value) &&\n \"name\" in value &&\n \"valueType\" in value &&\n \"allowMultiple\" in value &&\n \"availability\" in value &&\n is.NameAndWireValue(value.name) &&\n typeof value.allowMultiple === \"boolean\" &&\n \"docs\" in value,\n InlinedRequestBody: (value: unknown): value is InlinedRequestBody =>\n isObject(value) &&\n \"name\" in value &&\n \"extends\" in value &&\n \"properties\" in value &&\n \"extraProperties\" in value &&\n is.Name(value.name) &&\n Array.isArray(value.extends) &&\n Array.isArray(value.properties) &&\n typeof value.extraProperties === \"boolean\" &&\n \"docs\" in value,\n InlinedRequestBodyProperty: (value: unknown): value is InlinedRequestBodyProperty =>\n isObject(value) &&\n \"name\" in value &&\n \"valueType\" in value &&\n \"availability\" in value &&\n is.NameAndWireValue(value.name) &&\n \"docs\" in value,\n SdkRequest: (value: unknown): value is SdkRequest =>\n isObject(value) && \"requestParameterName\" in value && is.Name(value.requestParameterName) && \"shape\" in value,\n\n // WebSocket Types\n WebSocketChannel: (value: unknown): value is WebSocketChannel =>\n isObject(value) &&\n \"name\" in value &&\n \"path\" in value &&\n \"auth\" in value &&\n \"headers\" in value &&\n \"queryParameters\" in value &&\n \"pathParameters\" in value &&\n \"messages\" in value &&\n \"examples\" in value &&\n \"availability\" in value &&\n is.HttpPath(value.path) &&\n typeof value.auth === \"boolean\" &&\n Array.isArray(value.headers) &&\n Array.isArray(value.queryParameters) &&\n Array.isArray(value.pathParameters) &&\n Array.isArray(value.messages) &&\n Array.isArray(value.examples) &&\n \"docs\" in value,\n WebSocketMessage: (value: unknown): value is WebSocketMessage =>\n isObject(value) &&\n \"type\" in value &&\n \"origin\" in value &&\n \"body\" in value &&\n \"availability\" in value &&\n typeof value.type === \"string\" &&\n typeof value.origin === \"string\" &&\n \"docs\" in value,\n // Example Types (Original)\n ExampleType: (value: unknown): value is ExampleType =>\n isObject(value) && \"shape\" in value && \"jsonExample\" in value && \"docs\" in value,\n\n ExampleObjectType: (value: unknown): value is ExampleObjectType =>\n isObject(value) && \"properties\" in value && Array.isArray(value.properties),\n\n ExampleObjectProperty: (value: unknown): value is ExampleObjectProperty =>\n isObject(value) &&\n \"name\" in value &&\n \"value\" in value &&\n is.NameAndWireValue(value.name) &&\n is.ExampleTypeReference(value.value),\n ExampleEndpointCall: (value: unknown): value is ExampleEndpointCall =>\n isObject(value) &&\n \"url\" in value &&\n \"rootPathParameters\" in value &&\n \"servicePathParameters\" in value &&\n \"endpointPathParameters\" in value &&\n \"serviceHeaders\" in value &&\n \"endpointHeaders\" in value &&\n \"queryParameters\" in value &&\n \"response\" in value &&\n typeof value.url === \"string\" &&\n Array.isArray(value.rootPathParameters) &&\n Array.isArray(value.servicePathParameters) &&\n Array.isArray(value.endpointPathParameters) &&\n Array.isArray(value.serviceHeaders) &&\n Array.isArray(value.endpointHeaders) &&\n Array.isArray(value.queryParameters) &&\n \"docs\" in value,\n ExampleHeader: (value: unknown): value is ExampleHeader =>\n isObject(value) &&\n \"name\" in value &&\n \"value\" in value &&\n is.NameAndWireValue(value.name) &&\n is.ExampleTypeReference(value.value),\n ExamplePathParameter: (value: unknown): value is ExamplePathParameter =>\n isObject(value) && \"name\" in value && is.Name(value.name) && \"value\" in value,\n\n ExampleQueryParameter: (value: unknown): value is ExampleQueryParameter =>\n isObject(value) &&\n \"name\" in value &&\n \"value\" in value &&\n is.NameAndWireValue(value.name) &&\n is.ExampleTypeReference(value.value),\n ExampleTypeReference: (value: unknown): value is ExampleTypeReference =>\n isObject(value) && \"shape\" in value && \"jsonExample\" in value,\n\n ExampleNamedType: (value: unknown): value is ExampleNamedType =>\n isObject(value) && \"typeName\" in value && \"shape\" in value,\n\n // Common/Base Types\n WithDocs: (value: unknown): value is WithDocs => isObject(value) && \"docs\" in value,\n\n WithDocsAndAvailability: (value: unknown): value is WithDocsAndAvailability =>\n isObject(value) && \"docs\" in value && \"availability\" in value,\n\n Declaration: (value: unknown): value is Declaration =>\n isObject(value) && \"docs\" in value && \"availability\" in value,\n\n Availability: (value: unknown): value is Availability =>\n isObject(value) && \"status\" in value && typeof value.status === \"string\",\n\n FernFilepath: (value: unknown): value is FernFilepath =>\n isObject(value) &&\n \"allParts\" in value &&\n \"packagePath\" in value &&\n Array.isArray(value.allParts) &&\n Array.isArray(value.packagePath),\n // Error Types\n ErrorDeclaration: (value: unknown): value is ErrorDeclaration =>\n isObject(value) &&\n \"name\" in value &&\n \"discriminantValue\" in value &&\n \"statusCode\" in value &&\n \"examples\" in value &&\n is.NameAndWireValue(value.discriminantValue) &&\n typeof value.statusCode === \"number\" &&\n Array.isArray(value.examples) &&\n \"docs\" in value,\n // Auth Types (Original)\n BearerAuthScheme: (value: unknown): value is BearerAuthScheme =>\n isObject(value) && \"token\" in value && is.Name(value.token) && \"docs\" in value && \"availability\" in value,\n\n BasicAuthScheme: (value: unknown): value is BasicAuthScheme =>\n isObject(value) &&\n \"username\" in value &&\n \"password\" in value &&\n \"docs\" in value &&\n is.Name(value.username) &&\n is.Name(value.password) &&\n \"availability\" in value,\n HeaderAuthScheme: (value: unknown): value is HeaderAuthScheme =>\n isObject(value) &&\n \"name\" in value &&\n \"valueType\" in value &&\n \"docs\" in value &&\n is.NameAndWireValue(value.name) &&\n \"availability\" in value,\n OAuthScheme: (value: unknown): value is OAuthScheme =>\n isObject(value) && \"configuration\" in value && \"docs\" in value && \"availability\" in value,\n\n // Webhook Types\n Webhook: (value: unknown): value is Webhook =>\n isObject(value) &&\n \"id\" in value &&\n \"name\" in value &&\n \"method\" in value &&\n \"headers\" in value &&\n \"payload\" in value &&\n \"availability\" in value &&\n typeof value.id === \"string\" &&\n typeof value.method === \"string\" &&\n Array.isArray(value.headers) &&\n \"docs\" in value,\n InlinedWebhookPayload: (value: unknown): value is InlinedWebhookPayload =>\n isObject(value) &&\n \"name\" in value &&\n \"extends\" in value &&\n \"properties\" in value &&\n is.Name(value.name) &&\n Array.isArray(value.extends) &&\n Array.isArray(value.properties),\n // Variable Types\n VariableDeclaration: (value: unknown): value is VariableDeclaration =>\n isObject(value) &&\n \"id\" in value &&\n \"name\" in value &&\n \"type\" in value &&\n typeof value.id === \"string\" &&\n is.Name(value.name) &&\n \"docs\" in value,\n // Additional IR Configuration Types\n ApiAuth: (value: unknown): value is ApiAuth =>\n isObject(value) &&\n \"requirement\" in value &&\n \"schemes\" in value &&\n typeof value.requirement === \"string\" &&\n Array.isArray(value.schemes) &&\n \"docs\" in value,\n ReadmeConfig: (value: unknown): value is ReadmeConfig => isObject(value),\n\n ReadmeCustomSection: (value: unknown): value is ReadmeCustomSection =>\n isObject(value) &&\n \"title\" in value &&\n \"language\" in value &&\n \"content\" in value &&\n typeof value.title === \"string\" &&\n typeof value.language === \"string\" &&\n typeof value.content === \"string\",\n SourceConfig: (value: unknown): value is SourceConfig =>\n isObject(value) && \"sources\" in value && Array.isArray(value.sources),\n\n ServiceTypeReferenceInfo: (value: unknown): value is ServiceTypeReferenceInfo =>\n isObject(value) &&\n \"typesReferencedOnlyByService\" in value &&\n \"sharedTypes\" in value &&\n isObject(value.typesReferencedOnlyByService) &&\n Array.isArray(value.sharedTypes),\n UserAgent: (value: unknown): value is UserAgent =>\n isObject(value) &&\n \"header\" in value &&\n \"value\" in value &&\n typeof value.header === \"string\" &&\n typeof value.value === \"string\",\n // Primitive Type Declarations\n StringType: (value: unknown): value is StringType => isObject(value),\n IntegerType: (value: unknown): value is IntegerType => isObject(value),\n LongType: (value: unknown): value is LongType => isObject(value),\n DoubleType: (value: unknown): value is DoubleType => isObject(value),\n FloatType: (value: unknown): value is FloatType => isObject(value),\n BooleanType: (value: unknown): value is BooleanType => isObject(value),\n DateTimeType: (value: unknown): value is DateTimeType => isObject(value),\n DateType: (value: unknown): value is DateType => isObject(value),\n UuidType: (value: unknown): value is UuidType => isObject(value),\n Base64Type: (value: unknown): value is Base64Type => isObject(value),\n BigIntegerType: (value: unknown): value is BigIntegerType => isObject(value),\n UintType: (value: unknown): value is UintType => isObject(value),\n Uint64Type: (value: unknown): value is Uint64Type => isObject(value),\n\n MapType: (value: unknown): value is MapType => isObject(value) && \"keyType\" in value && \"valueType\" in value,\n\n // Validation Rules\n StringValidationRules: (value: unknown): value is StringValidationRules => isObject(value),\n IntegerValidationRules: (value: unknown): value is IntegerValidationRules => isObject(value),\n DoubleValidationRules: (value: unknown): value is DoubleValidationRules => isObject(value),\n\n // Response Body Types\n JsonResponseBody: (value: unknown): value is JsonResponseBody =>\n isObject(value) && \"responseBodyType\" in value && \"docs\" in value,\n\n JsonResponseBodyWithProperty: (value: unknown): value is JsonResponseBodyWithProperty =>\n isObject(value) && \"responseBodyType\" in value && \"docs\" in value,\n\n TextResponse: (value: unknown): value is TextResponse => isObject(value) && \"docs\" in value,\n\n BytesResponse: (value: unknown): value is BytesResponse => isObject(value) && \"docs\" in value,\n\n // Streaming Types\n JsonStreamChunk: (value: unknown): value is JsonStreamChunk =>\n isObject(value) && \"payload\" in value && \"docs\" in value,\n\n SseStreamChunk: (value: unknown): value is SseStreamChunk =>\n isObject(value) && \"payload\" in value && \"docs\" in value,\n\n TextStreamChunk: (value: unknown): value is TextStreamChunk => isObject(value) && \"docs\" in value,\n\n StreamParameterResponse: (value: unknown): value is StreamParameterResponse =>\n isObject(value) && \"nonStreamResponse\" in value && \"streamResponse\" in value,\n\n // Pagination Types\n CursorPagination: (value: unknown): value is CursorPagination =>\n isObject(value) &&\n \"page\" in value &&\n \"next\" in value &&\n \"results\" in value &&\n is.RequestProperty(value.page) &&\n is.ResponseProperty(value.next) &&\n is.ResponseProperty(value.results),\n OffsetPagination: (value: unknown): value is OffsetPagination =>\n isObject(value) &&\n \"page\" in value &&\n \"results\" in value &&\n is.RequestProperty(value.page) &&\n is.ResponseProperty(value.results),\n CustomPagination: (value: unknown): value is CustomPagination =>\n isObject(value) && \"results\" in value && is.ResponseProperty(value.results),\n\n RequestProperty: (value: unknown): value is RequestProperty => isObject(value) && \"property\" in value,\n\n ResponseProperty: (value: unknown): value is ResponseProperty => isObject(value) && \"property\" in value,\n\n // OAuth Types\n OAuthAccessTokenRequestProperties: (value: unknown): value is OAuthAccessTokenRequestProperties =>\n isObject(value) &&\n \"clientId\" in value &&\n \"clientSecret\" in value &&\n is.RequestProperty(value.clientId) &&\n is.RequestProperty(value.clientSecret),\n OAuthClientCredentials: (value: unknown): value is OAuthClientCredentials =>\n isObject(value) && \"tokenEndpoint\" in value && is.OAuthTokenEndpoint(value.tokenEndpoint),\n\n // Additional Auth Types\n BaseAuthScheme: (value: unknown): value is BaseAuthScheme =>\n isObject(value) && \"key\" in value && typeof value.key === \"string\" && \"docs\" in value,\n\n InferredAuthScheme: (value: unknown): value is InferredAuthScheme =>\n isObject(value) &&\n \"tokenEndpoint\" in value &&\n \"docs\" in value &&\n is.InferredAuthSchemeTokenEndpoint(value.tokenEndpoint) &&\n \"availability\" in value,\n // Additional Common Types\n PropertyPathItem: (value: unknown): value is PropertyPathItem =>\n isObject(value) && \"name\" in value && is.Name(value.name) && \"type\" in value,\n\n WithJsonExample: (value: unknown): value is WithJsonExample => isObject(value) && \"jsonExample\" in value,\n\n WithContentType: (value: unknown): value is WithContentType => isObject(value) && \"contentType\" in value,\n\n WithV2Examples: (value: unknown): value is WithV2Examples => isObject(value) && \"v2Examples\" in value,\n\n EscapedString: (value: unknown): value is EscapedString =>\n isObject(value) && \"original\" in value && typeof value.original === \"string\",\n\n // Additional Type-Related Interfaces\n EnumValue: (value: unknown): value is EnumValue =>\n isObject(value) &&\n \"name\" in value &&\n \"availability\" in value &&\n is.NameAndWireValue(value.name) &&\n \"docs\" in value,\n SingleUnionType: (value: unknown): value is SingleUnionType =>\n isObject(value) &&\n \"discriminantValue\" in value &&\n \"shape\" in value &&\n is.NameAndWireValue(value.discriminantValue) &&\n \"docs\" in value,\n SingleUnionTypeProperty: (value: unknown): value is SingleUnionTypeProperty =>\n isObject(value) && \"name\" in value && is.NameAndWireValue(value.name) && \"type\" in value,\n\n UndiscriminatedUnionTypeDeclaration: (value: unknown): value is UndiscriminatedUnionTypeDeclaration =>\n isObject(value) && \"members\" in value && Array.isArray(value.members),\n\n UndiscriminatedUnionMember: (value: unknown): value is UndiscriminatedUnionMember =>\n isObject(value) && \"type\" in value && \"docs\" in value,\n\n // Declared Names\n DeclaredTypeName: (value: unknown): value is DeclaredTypeName =>\n isObject(value) &&\n \"typeId\" in value &&\n \"fernFilepath\" in value &&\n \"name\" in value &&\n typeof value.typeId === \"string\" &&\n is.FernFilepath(value.fernFilepath) &&\n is.Name(value.name),\n DeclaredServiceName: (value: unknown): value is DeclaredServiceName =>\n isObject(value) && \"fernFilepath\" in value && is.FernFilepath(value.fernFilepath),\n\n DeclaredErrorName: (value: unknown): value is DeclaredErrorName =>\n isObject(value) &&\n \"errorId\" in value &&\n \"fernFilepath\" in value &&\n \"name\" in value &&\n typeof value.errorId === \"string\" &&\n is.FernFilepath(value.fernFilepath) &&\n is.Name(value.name),\n // File Upload/Download\n FileUploadRequest: (value: unknown): value is FileUploadRequest =>\n isObject(value) &&\n \"name\" in value &&\n \"properties\" in value &&\n is.Name(value.name) &&\n Array.isArray(value.properties) &&\n \"docs\" in value,\n FileDownloadResponse: (value: unknown): value is FileDownloadResponse => isObject(value) && \"docs\" in value,\n\n SdkRequestWrapper: (value: unknown): value is SdkRequestWrapper =>\n isObject(value) &&\n \"wrapperName\" in value &&\n \"bodyKey\" in value &&\n is.Name(value.wrapperName) &&\n is.Name(value.bodyKey),\n BytesRequest: (value: unknown): value is BytesRequest =>\n isObject(value) && \"isOptional\" in value && typeof value.isOptional === \"boolean\" && \"docs\" in value,\n\n NamedType: (value: unknown): value is NamedType =>\n isObject(value) &&\n \"typeId\" in value &&\n \"fernFilepath\" in value &&\n \"name\" in value &&\n typeof value.typeId === \"string\" &&\n is.FernFilepath(value.fernFilepath) &&\n is.Name(value.name),\n ResolvedNamedType: (value: unknown): value is ResolvedNamedType =>\n isObject(value) && \"name\" in value && \"shape\" in value,\n\n FileUploadBodyProperty: (value: unknown): value is FileUploadBodyProperty =>\n isObject(value) &&\n \"name\" in value &&\n \"valueType\" in value &&\n \"availability\" in value &&\n is.NameAndWireValue(value.name) &&\n \"docs\" in value,\n // IR Types\n IntermediateRepresentation: (value: unknown): value is IntermediateRepresentation =>\n isObject(value) &&\n \"apiName\" in value &&\n \"auth\" in value &&\n \"types\" in value &&\n \"headers\" in value &&\n \"idempotencyHeaders\" in value &&\n \"services\" in value &&\n \"webhookGroups\" in value &&\n \"errors\" in value &&\n \"subpackages\" in value &&\n \"rootPackage\" in value &&\n \"constants\" in value &&\n \"pathParameters\" in value &&\n \"errorDiscriminationStrategy\" in value &&\n \"sdkConfig\" in value &&\n \"variables\" in value &&\n \"serviceTypeReferenceInfo\" in value &&\n is.Name(value.apiName) &&\n isObject(value.types) &&\n Array.isArray(value.headers) &&\n Array.isArray(value.idempotencyHeaders) &&\n isObject(value.services) &&\n isObject(value.webhookGroups) &&\n isObject(value.errors) &&\n isObject(value.subpackages) &&\n is.Package(value.rootPackage) &&\n is.Constants(value.constants) &&\n Array.isArray(value.pathParameters) &&\n is.SdkConfig(value.sdkConfig) &&\n Array.isArray(value.variables) &&\n is.ServiceTypeReferenceInfo(value.serviceTypeReferenceInfo),\n Package: (value: unknown): value is Package =>\n isObject(value) &&\n \"fernFilepath\" in value &&\n \"types\" in value &&\n \"errors\" in value &&\n \"subpackages\" in value &&\n \"hasEndpointsInTree\" in value &&\n is.FernFilepath(value.fernFilepath) &&\n Array.isArray(value.types) &&\n Array.isArray(value.errors) &&\n Array.isArray(value.subpackages) &&\n typeof value.hasEndpointsInTree === \"boolean\" &&\n \"docs\" in value,\n Subpackage: (value: unknown): value is Subpackage =>\n isObject(value) &&\n \"name\" in value &&\n \"fernFilepath\" in value &&\n \"types\" in value &&\n \"errors\" in value &&\n \"subpackages\" in value &&\n \"hasEndpointsInTree\" in value &&\n is.Name(value.name) &&\n is.FernFilepath(value.fernFilepath) &&\n Array.isArray(value.types) &&\n Array.isArray(value.errors) &&\n Array.isArray(value.subpackages) &&\n typeof value.hasEndpointsInTree === \"boolean\" &&\n \"docs\" in value,\n Constants: (value: unknown): value is Constants =>\n isObject(value) && \"errorInstanceIdKey\" in value && is.NameAndWireValue(value.errorInstanceIdKey),\n\n SdkConfig: (value: unknown): value is SdkConfig =>\n isObject(value) &&\n \"isAuthMandatory\" in value &&\n \"hasStreamingEndpoints\" in value &&\n \"hasPaginatedEndpoints\" in value &&\n \"hasFileDownloadEndpoints\" in value &&\n typeof value.isAuthMandatory === \"boolean\" &&\n typeof value.hasStreamingEndpoints === \"boolean\" &&\n typeof value.hasPaginatedEndpoints === \"boolean\" &&\n typeof value.hasFileDownloadEndpoints === \"boolean\" &&\n \"platformHeaders\" in value,\n // Generator Config Types\n GeneratorConfig: (value: unknown): value is generatorExec.GeneratorConfig =>\n isObject(value) &&\n \"dryRun\" in value &&\n \"irFilepath\" in value &&\n \"output\" in value &&\n \"workspaceName\" in value &&\n \"organization\" in value &&\n \"customConfig\" in value &&\n \"environment\" in value &&\n \"whitelabel\" in value &&\n \"writeUnitTests\" in value &&\n \"generateOauthClients\" in value &&\n typeof value.dryRun === \"boolean\" &&\n typeof value.irFilepath === \"string\" &&\n typeof value.workspaceName === \"string\" &&\n typeof value.organization === \"string\" &&\n typeof value.whitelabel === \"boolean\" &&\n typeof value.writeUnitTests === \"boolean\" &&\n typeof value.generateOauthClients === \"boolean\",\n // ===== NEW ADDITIONS FROM 6 CATEGORIES =====\n\n // Example-Related Types (36 interfaces)\n AutogeneratedEndpointExample: (value: unknown): value is AutogeneratedEndpointExample =>\n isObject(value) && \"example\" in value && is.ExampleEndpointCall(value.example),\n\n UserSpecifiedEndpointExample: (value: unknown): value is UserSpecifiedEndpointExample => isObject(value),\n\n ExampleAliasType: (value: unknown): value is ExampleAliasType =>\n isObject(value) && \"value\" in value && is.ExampleTypeReference(value.value),\n\n ExampleEnumType: (value: unknown): value is ExampleEnumType =>\n isObject(value) && \"value\" in value && is.NameAndWireValue(value.value),\n\n ExampleUnionType: (value: unknown): value is ExampleUnionType =>\n isObject(value) &&\n \"discriminant\" in value &&\n is.NameAndWireValue(value.discriminant) &&\n \"singleUnionType\" in value,\n ExampleSingleUnionType: (value: unknown): value is ExampleSingleUnionType => isObject(value) && \"shape\" in value,\n\n ExampleUndiscriminatedUnionType: (value: unknown): value is ExampleUndiscriminatedUnionType =>\n isObject(value) && \"singleUnionType\" in value,\n\n ExampleObjectTypeWithTypeId: (value: unknown): value is ExampleObjectTypeWithTypeId =>\n isObject(value) &&\n \"typeId\" in value &&\n \"object\" in value &&\n typeof value.typeId === \"string\" &&\n is.ExampleObjectType(value.object),\n ExampleListContainer: (value: unknown): value is ExampleListContainer =>\n isObject(value) && \"list\" in value && Array.isArray(value.list),\n\n ExampleSetContainer: (value: unknown): value is ExampleSetContainer =>\n isObject(value) && \"set\" in value && Array.isArray(value.set),\n\n ExampleMapContainer: (value: unknown): value is ExampleMapContainer =>\n isObject(value) && \"map\" in value && Array.isArray(value.map),\n\n ExampleOptionalContainer: (value: unknown): value is ExampleOptionalContainer =>\n isObject(value) && \"optional\" in value,\n\n ExampleNullableContainer: (value: unknown): value is ExampleNullableContainer =>\n isObject(value) && \"nullable\" in value,\n\n ExampleLiteralContainer: (value: unknown): value is ExampleLiteralContainer =>\n isObject(value) && \"literal\" in value,\n\n ExampleKeyValuePair: (value: unknown): value is ExampleKeyValuePair =>\n isObject(value) &&\n \"key\" in value &&\n \"value\" in value &&\n is.ExampleTypeReference(value.key) &&\n is.ExampleTypeReference(value.value),\n ExampleError: (value: unknown): value is ExampleError => isObject(value) && \"name\" in value && \"body\" in value,\n\n ExampleEndpointErrorResponse: (value: unknown): value is ExampleEndpointErrorResponse =>\n isObject(value) && \"error\" in value,\n\n ExampleDatetime: (value: unknown): value is ExampleDatetime =>\n isObject(value) && \"datetime\" in value && typeof value.datetime === \"string\",\n\n ExampleInlinedRequestBody: (value: unknown): value is ExampleInlinedRequestBody =>\n isObject(value) && \"properties\" in value && Array.isArray(value.properties),\n\n ExampleInlinedRequestBodyProperty: (value: unknown): value is ExampleInlinedRequestBodyProperty =>\n isObject(value) &&\n \"name\" in value &&\n \"value\" in value &&\n is.NameAndWireValue(value.name) &&\n is.ExampleTypeReference(value.value),\n ExampleWebhookCall: (value: unknown): value is ExampleWebhookCall => isObject(value) && \"payload\" in value,\n\n ExampleWebSocketMessage: (value: unknown): value is ExampleWebSocketMessage =>\n isObject(value) && \"type\" in value && typeof value.type === \"string\" && \"body\" in value,\n\n ExampleWebSocketSession: (value: unknown): value is ExampleWebSocketSession =>\n isObject(value) && \"messages\" in value && Array.isArray(value.messages),\n\n ExampleServerSideEvent: (value: unknown): value is ExampleServerSideEvent =>\n isObject(value) && \"event\" in value && typeof value.event === \"string\" && \"data\" in value,\n\n ExampleCodeSampleLanguage: (value: unknown): value is ExampleCodeSampleLanguage =>\n isObject(value) &&\n \"language\" in value &&\n \"code\" in value &&\n typeof value.language === \"string\" &&\n typeof value.code === \"string\",\n ExampleCodeSampleSdk: (value: unknown): value is ExampleCodeSampleSdk =>\n isObject(value) &&\n \"sdk\" in value &&\n \"code\" in value &&\n typeof value.sdk === \"string\" &&\n typeof value.code === \"string\",\n V2HttpEndpointExample: (value: unknown): value is V2HttpEndpointExample =>\n isObject(value) && \"id\" in value && typeof value.id === \"string\",\n\n V2HttpEndpointExamples: (value: unknown): value is V2HttpEndpointExamples =>\n isObject(value) && \"examples\" in value && Array.isArray(value.examples),\n\n V2HttpEndpointRequest: (value: unknown): value is V2HttpEndpointRequest => isObject(value),\n\n V2HttpEndpointResponse: (value: unknown): value is V2HttpEndpointResponse => isObject(value),\n\n V2HttpEndpointCodeSample: (value: unknown): value is V2HttpEndpointCodeSample =>\n isObject(value) &&\n \"language\" in value &&\n \"code\" in value &&\n typeof value.language === \"string\" &&\n typeof value.code === \"string\",\n V2SchemaExamples: (value: unknown): value is V2SchemaExamples => isObject(value),\n\n V2WebSocketMessageExample: (value: unknown): value is V2WebSocketMessageExample =>\n isObject(value) && \"type\" in value && typeof value.type === \"string\",\n\n V2WebSocketSessionExample: (value: unknown): value is V2WebSocketSessionExample =>\n isObject(value) && \"messages\" in value && Array.isArray(value.messages),\n\n V2WebSocketSessionExamples: (value: unknown): value is V2WebSocketSessionExamples =>\n isObject(value) && \"examples\" in value && Array.isArray(value.examples),\n\n V2WebhookExample: (value: unknown): value is V2WebhookExample => isObject(value) && \"payload\" in value,\n\n V2WebhookExamples: (value: unknown): value is V2WebhookExamples =>\n isObject(value) && \"examples\" in value && Array.isArray(value.examples),\n\n // Auth-Related Types (9 interfaces)\n BasicAuthValues: (value: unknown): value is BasicAuthValues =>\n isObject(value) &&\n \"username\" in value &&\n \"password\" in value &&\n typeof value.username === \"string\" &&\n typeof value.password === \"string\",\n BearerAuthValues: (value: unknown): value is BearerAuthValues =>\n isObject(value) && \"token\" in value && typeof value.token === \"string\",\n\n HeaderAuthValues: (value: unknown): value is HeaderAuthValues =>\n isObject(value) && \"header\" in value && typeof value.header === \"string\",\n\n OAuthValues: (value: unknown): value is OAuthValues =>\n isObject(value) && \"accessToken\" in value && typeof value.accessToken === \"string\",\n\n InferredAuthSchemeTokenEndpoint: (value: unknown): value is InferredAuthSchemeTokenEndpoint =>\n isObject(value) &&\n \"endpoint\" in value &&\n \"authenticatedRequestHeaders\" in value &&\n is.EndpointReference(value.endpoint) &&\n Array.isArray(value.authenticatedRequestHeaders),\n InferredAuthenticatedRequestHeader: (value: unknown): value is InferredAuthenticatedRequestHeader =>\n isObject(value) && \"header\" in value,\n\n OAuthAccessTokenResponseProperties: (value: unknown): value is OAuthAccessTokenResponseProperties =>\n isObject(value) && \"accessToken\" in value && is.ResponseProperty(value.accessToken),\n\n OAuthRefreshEndpoint: (value: unknown): value is OAuthRefreshEndpoint =>\n isObject(value) && \"endpointReference\" in value && is.EndpointReference(value.endpointReference),\n\n OAuthRefreshTokenRequestProperties: (value: unknown): value is OAuthRefreshTokenRequestProperties =>\n isObject(value) && \"refreshToken\" in value && is.RequestProperty(value.refreshToken),\n\n OAuthTokenEndpoint: (value: unknown): value is OAuthTokenEndpoint =>\n isObject(value) &&\n \"endpointReference\" in value &&\n \"requestProperties\" in value &&\n \"responseProperties\" in value &&\n is.EndpointReference(value.endpointReference) &&\n is.OAuthAccessTokenRequestProperties(value.requestProperties) &&\n is.OAuthAccessTokenResponseProperties(value.responseProperties),\n // Encoding/Streaming Types (4 interfaces)\n Encoding: (value: unknown): value is Encoding => isObject(value),\n JsonEncoding: (value: unknown): value is JsonEncoding => isObject(value),\n ProtoEncoding: (value: unknown): value is ProtoEncoding => isObject(value),\n\n // File/WebSocket/Webhook Types (9 interfaces)\n FilePropertyArray: (value: unknown): value is FilePropertyArray =>\n isObject(value) && \"key\" in value && is.NameAndWireValue(value.key),\n\n FilePropertySingle: (value: unknown): value is FilePropertySingle =>\n isObject(value) && \"key\" in value && is.NameAndWireValue(value.key),\n\n Filesystem: (value: unknown): value is Filesystem =>\n isObject(value) && \"name\" in value && typeof value.name === \"string\",\n\n InlinedWebSocketMessageBody: (value: unknown): value is InlinedWebSocketMessageBody =>\n isObject(value) && \"properties\" in value && Array.isArray(value.properties),\n\n InlinedWebSocketMessageBodyProperty: (value: unknown): value is InlinedWebSocketMessageBodyProperty =>\n isObject(value) && \"name\" in value && is.NameAndWireValue(value.name) && \"valueType\" in value,\n\n InlinedWebhookPayloadProperty: (value: unknown): value is InlinedWebhookPayloadProperty =>\n isObject(value) && \"name\" in value && is.NameAndWireValue(value.name) && \"valueType\" in value,\n\n WebSocketMessageBodyReference: (value: unknown): value is WebSocketMessageBodyReference =>\n isObject(value) && \"bodyType\" in value,\n\n WebhookPayloadReference: (value: unknown): value is WebhookPayloadReference =>\n isObject(value) && \"payloadType\" in value,\n\n // HTTP/Request/Response Types (7 interfaces)\n HttpRequestBodyReference: (value: unknown): value is HttpRequestBodyReference =>\n isObject(value) && \"requestBodyType\" in value,\n\n ResponseError: (value: unknown): value is ResponseError => isObject(value) && \"error\" in value,\n\n V2EndpointLocation: (value: unknown): value is V2EndpointLocation =>\n isObject(value) &&\n \"method\" in value &&\n \"path\" in value &&\n typeof value.method === \"string\" &&\n typeof value.path === \"string\",\n V2WebSocketEndpointLocation: (value: unknown): value is V2WebSocketEndpointLocation =>\n isObject(value) && \"path\" in value && typeof value.path === \"string\",\n\n V2HttpRequestBodies: (value: unknown): value is V2HttpRequestBodies => isObject(value),\n\n V2HttpResponses: (value: unknown): value is V2HttpResponses => isObject(value),\n\n EndpointReference: (value: unknown): value is EndpointReference =>\n isObject(value) &&\n \"endpointId\" in value &&\n \"serviceId\" in value &&\n typeof value.endpointId === \"string\" &&\n typeof value.serviceId === \"string\",\n EnumTypeReference: (value: unknown): value is EnumTypeReference =>\n isObject(value) && \"enumTypeId\" in value && typeof value.enumTypeId === \"string\",\n\n // Protobuf/GRPC Types (9 interfaces)\n CsharpProtobufFileOptions: (value: unknown): value is CsharpProtobufFileOptions =>\n isObject(value) && \"namespace\" in value && typeof value.namespace === \"string\",\n\n GrpcTransport: (value: unknown): value is GrpcTransport =>\n isObject(value) && \"service\" in value && is.ProtobufService(value.service),\n\n ProtoSource: (value: unknown): value is ProtoSource =>\n isObject(value) && \"file\" in value && is.ProtobufFile(value.file),\n\n ProtoSourceInfo: (value: unknown): value is ProtoSourceInfo => isObject(value),\n\n ProtobufFile: (value: unknown): value is ProtobufFile =>\n isObject(value) && \"filepath\" in value && typeof value.filepath === \"string\",\n\n ProtobufFileOptions: (value: unknown): value is ProtobufFileOptions => isObject(value),\n\n ProtobufService: (value: unknown): value is ProtobufService =>\n isObject(value) &&\n \"name\" in value &&\n \"file\" in value &&\n typeof value.name === \"string\" &&\n is.ProtobufFile(value.file),\n UserDefinedProtobufType: (value: unknown): value is UserDefinedProtobufType =>\n isObject(value) &&\n \"typeName\" in value &&\n \"file\" in value &&\n typeof value.typeName === \"string\" &&\n is.ProtobufFile(value.file),\n // Discriminated Union Variants\n\n // AuthScheme\n AuthScheme: {\n Bearer: (value: unknown): value is AuthScheme.Bearer =>\n is.BearerAuthScheme(value) && \"type\" in value && value.type === \"bearer\",\n Basic: (value: unknown): value is AuthScheme.Basic =>\n is.BasicAuthScheme(value) && \"type\" in value && value.type === \"basic\",\n Header: (value: unknown): value is AuthScheme.Header =>\n is.HeaderAuthScheme(value) && \"type\" in value && value.type === \"header\",\n Oauth: (value: unknown): value is AuthScheme.Oauth =>\n is.OAuthScheme(value) && \"type\" in value && value.type === \"oauth\",\n Inferred: (value: unknown): value is AuthScheme.Inferred =>\n is.InferredAuthScheme(value) && \"type\" in value && value.type === \"inferred\"\n },\n\n // OAuthConfiguration\n OAuthConfiguration: {\n ClientCredentials: (value: unknown): value is OAuthConfiguration.ClientCredentials =>\n is.OAuthClientCredentials(value) && \"type\" in value && value.type === \"clientCredentials\"\n },\n\n // Environments\n Environments: {\n SingleBaseUrl: (value: unknown): value is Environments.SingleBaseUrl =>\n isObject(value) && \"type\" in value && value.type === \"singleBaseUrl\",\n MultipleBaseUrls: (value: unknown): value is Environments.MultipleBaseUrls =>\n isObject(value) && \"type\" in value && value.type === \"multipleBaseUrls\"\n },\n\n // ErrorDeclarationDiscriminantValue\n ErrorDeclarationDiscriminantValue: {\n Property: (value: unknown): value is ErrorDeclarationDiscriminantValue.Property =>\n is.NameAndWireValue(value) && \"type\" in value && value.type === \"property\",\n StatusCode: (value: unknown): value is ErrorDeclarationDiscriminantValue.StatusCode =>\n isObject(value) && \"type\" in value && value.type === \"statusCode\"\n },\n\n // V2AuthValues\n V2AuthValues: {\n Basic: (value: unknown): value is V2AuthValues.Basic =>\n is.BasicAuthValues(value) && \"type\" in value && value.type === \"basic\",\n Bearer: (value: unknown): value is V2AuthValues.Bearer =>\n is.BearerAuthValues(value) && \"type\" in value && value.type === \"bearer\",\n Header: (value: unknown): value is V2AuthValues.Header =>\n is.HeaderAuthValues(value) && \"type\" in value && value.type === \"header\",\n Oauth: (value: unknown): value is V2AuthValues.Oauth =>\n is.OAuthValues(value) && \"type\" in value && value.type === \"oauth\"\n },\n\n // V2HttpEndpointResponseBody\n V2HttpEndpointResponseBody: {\n Error_: (value: unknown): value is V2HttpEndpointResponseBody.Error_ =>\n isObject(value) && \"type\" in value && value.type === \"error\",\n Json: (value: unknown): value is V2HttpEndpointResponseBody.Json =>\n isObject(value) && \"type\" in value && value.type === \"json\",\n Stream: (value: unknown): value is V2HttpEndpointResponseBody.Stream =>\n isObject(value) && \"type\" in value && value.type === \"stream\"\n },\n\n // ExampleCodeSample\n ExampleCodeSample: {\n Language: (value: unknown): value is ExampleCodeSample.Language =>\n is.ExampleCodeSampleLanguage(value) && \"type\" in value && value.type === \"language\",\n Sdk: (value: unknown): value is ExampleCodeSample.Sdk =>\n is.ExampleCodeSampleSdk(value) && \"type\" in value && value.type === \"sdk\"\n },\n\n // ExampleEndpointSuccessResponse\n ExampleEndpointSuccessResponse: {\n Body: (value: unknown): value is ExampleEndpointSuccessResponse.Body =>\n isObject(value) && \"type\" in value && value.type === \"body\",\n Stream: (value: unknown): value is ExampleEndpointSuccessResponse.Stream =>\n isObject(value) && \"type\" in value && value.type === \"stream\",\n Sse: (value: unknown): value is ExampleEndpointSuccessResponse.Sse =>\n isObject(value) && \"type\" in value && value.type === \"sse\"\n },\n\n // ExampleQueryParameterShape\n ExampleQueryParameterShape: {\n Single: (value: unknown): value is ExampleQueryParameterShape.Single =>\n isObject(value) && \"type\" in value && value.type === \"single\",\n Exploded: (value: unknown): value is ExampleQueryParameterShape.Exploded =>\n isObject(value) && \"type\" in value && value.type === \"exploded\",\n CommaSeparated: (value: unknown): value is ExampleQueryParameterShape.CommaSeparated =>\n isObject(value) && \"type\" in value && value.type === \"commaSeparated\"\n },\n\n // ExampleRequestBody\n ExampleRequestBody: {\n InlinedRequestBody: (value: unknown): value is ExampleRequestBody.InlinedRequestBody =>\n is.ExampleInlinedRequestBody(value) && \"type\" in value && value.type === \"inlinedRequestBody\",\n Reference: (value: unknown): value is ExampleRequestBody.Reference =>\n is.ExampleTypeReference(value) && \"type\" in value && value.type === \"reference\"\n },\n\n // ExampleResponse\n ExampleResponse: {\n Ok: (value: unknown): value is ExampleResponse.Ok => isObject(value) && \"type\" in value && value.type === \"ok\",\n Error_: (value: unknown): value is ExampleResponse.Error_ =>\n is.ExampleEndpointErrorResponse(value) && \"type\" in value && value.type === \"error\"\n },\n\n // FileProperty\n FileProperty: {\n File_: (value: unknown): value is FileProperty.File_ =>\n is.FilePropertySingle(value) && \"type\" in value && value.type === \"file\",\n FileArray: (value: unknown): value is FileProperty.FileArray =>\n is.FilePropertyArray(value) && \"type\" in value && value.type === \"fileArray\"\n },\n\n // FileUploadRequestProperty\n FileUploadRequestProperty: {\n File_: (value: unknown): value is FileUploadRequestProperty.File_ =>\n isObject(value) && \"type\" in value && value.type === \"file\",\n BodyProperty: (value: unknown): value is FileUploadRequestProperty.BodyProperty =>\n is.FileUploadBodyProperty(value) && \"type\" in value && value.type === \"bodyProperty\"\n },\n\n // HttpEndpointSource\n HttpEndpointSource: {\n Proto: (value: unknown): value is HttpEndpointSource.Proto =>\n is.ProtoSourceInfo(value) && \"type\" in value && value.type === \"proto\",\n Openapi: (value: unknown): value is HttpEndpointSource.Openapi =>\n isObject(value) && \"type\" in value && value.type === \"openapi\",\n Openrpc: (value: unknown): value is HttpEndpointSource.Openrpc =>\n isObject(value) && \"type\" in value && value.type === \"openrpc\"\n },\n\n // HttpRequestBody\n HttpRequestBody: {\n InlinedRequestBody: (value: unknown): value is HttpRequestBody.InlinedRequestBody =>\n is.InlinedRequestBody(value) && \"type\" in value && value.type === \"inlinedRequestBody\",\n Reference: (value: unknown): value is HttpRequestBody.Reference =>\n is.HttpRequestBodyReference(value) && \"type\" in value && value.type === \"reference\",\n FileUpload: (value: unknown): value is HttpRequestBody.FileUpload =>\n is.FileUploadRequest(value) && \"type\" in value && value.type === \"fileUpload\",\n Bytes: (value: unknown): value is HttpRequestBody.Bytes =>\n is.BytesRequest(value) && \"type\" in value && value.type === \"bytes\"\n },\n\n // HttpResponseBody\n HttpResponseBody: {\n Json: (value: unknown): value is HttpResponseBody.Json =>\n isObject(value) && \"type\" in value && value.type === \"json\",\n FileDownload: (value: unknown): value is HttpResponseBody.FileDownload =>\n is.FileDownloadResponse(value) && \"type\" in value && value.type === \"fileDownload\",\n Text: (value: unknown): value is HttpResponseBody.Text =>\n is.TextResponse(value) && \"type\" in value && value.type === \"text\",\n Bytes: (value: unknown): value is HttpResponseBody.Bytes =>\n is.BytesResponse(value) && \"type\" in value && value.type === \"bytes\",\n Streaming: (value: unknown): value is HttpResponseBody.Streaming =>\n isObject(value) && \"type\" in value && value.type === \"streaming\",\n StreamParameter: (value: unknown): value is HttpResponseBody.StreamParameter =>\n is.StreamParameterResponse(value) && \"type\" in value && value.type === \"streamParameter\"\n },\n\n // JsonResponse\n JsonResponse: {\n Response: (value: unknown): value is JsonResponse.Response =>\n is.JsonResponseBody(value) && \"type\" in value && value.type === \"response\",\n NestedPropertyAsResponse: (value: unknown): value is JsonResponse.NestedPropertyAsResponse =>\n is.JsonResponseBodyWithProperty(value) && \"type\" in value && value.type === \"nestedPropertyAsResponse\"\n },\n\n // NonStreamHttpResponseBody\n NonStreamHttpResponseBody: {\n Json: (value: unknown): value is NonStreamHttpResponseBody.Json =>\n isObject(value) && \"type\" in value && value.type === \"json\",\n FileDownload: (value: unknown): value is NonStreamHttpResponseBody.FileDownload =>\n is.FileDownloadResponse(value) && \"type\" in value && value.type === \"fileDownload\",\n Text: (value: unknown): value is NonStreamHttpResponseBody.Text =>\n is.TextResponse(value) && \"type\" in value && value.type === \"text\",\n Bytes: (value: unknown): value is NonStreamHttpResponseBody.Bytes =>\n is.BytesResponse(value) && \"type\" in value && value.type === \"bytes\"\n },\n\n // Pagination\n Pagination: {\n Cursor: (value: unknown): value is Pagination.Cursor =>\n is.CursorPagination(value) && \"type\" in value && value.type === \"cursor\",\n Offset: (value: unknown): value is Pagination.Offset =>\n is.OffsetPagination(value) && \"type\" in value && value.type === \"offset\",\n Custom: (value: unknown): value is Pagination.Custom =>\n is.CustomPagination(value) && \"type\" in value && value.type === \"custom\"\n },\n\n // RequestPropertyValue\n RequestPropertyValue: {\n Query: (value: unknown): value is RequestPropertyValue.Query =>\n is.QueryParameter(value) && \"type\" in value && value.type === \"query\",\n Body: (value: unknown): value is RequestPropertyValue.Body =>\n is.ObjectProperty(value) && \"type\" in value && value.type === \"body\"\n },\n\n // SdkRequestBodyType\n SdkRequestBodyType: {\n TypeReference: (value: unknown): value is SdkRequestBodyType.TypeReference =>\n is.HttpRequestBodyReference(value) && \"type\" in value && value.type === \"typeReference\",\n Bytes: (value: unknown): value is SdkRequestBodyType.Bytes =>\n is.BytesRequest(value) && \"type\" in value && value.type === \"bytes\"\n },\n\n // SdkRequestShape\n SdkRequestShape: {\n JustRequestBody: (value: unknown): value is SdkRequestShape.JustRequestBody =>\n isObject(value) && \"type\" in value && value.type === \"justRequestBody\",\n Wrapper: (value: unknown): value is SdkRequestShape.Wrapper =>\n is.SdkRequestWrapper(value) && \"type\" in value && value.type === \"wrapper\"\n },\n\n // StreamingResponse\n StreamingResponse: {\n Json: (value: unknown): value is StreamingResponse.Json =>\n is.JsonStreamChunk(value) && \"type\" in value && value.type === \"json\",\n Text: (value: unknown): value is StreamingResponse.Text =>\n is.TextStreamChunk(value) && \"type\" in value && value.type === \"text\",\n Sse: (value: unknown): value is StreamingResponse.Sse =>\n is.SseStreamChunk(value) && \"type\" in value && value.type === \"sse\"\n },\n\n // Transport\n Transport: {\n Http: (value: unknown): value is Transport.Http => isObject(value) && \"type\" in value && value.type === \"http\",\n Grpc: (value: unknown): value is Transport.Grpc =>\n is.GrpcTransport(value) && \"type\" in value && value.type === \"grpc\"\n },\n\n // ApiDefinitionSource\n ApiDefinitionSource: {\n Proto: (value: unknown): value is ApiDefinitionSource.Proto =>\n is.ProtoSource(value) && \"type\" in value && value.type === \"proto\",\n Openapi: (value: unknown): value is ApiDefinitionSource.Openapi =>\n isObject(value) && \"type\" in value && value.type === \"openapi\"\n },\n\n // ApiVersionScheme\n ApiVersionScheme: {\n Header: (value: unknown): value is ApiVersionScheme.Header =>\n isObject(value) && \"type\" in value && value.type === \"header\"\n },\n\n // ErrorDiscriminationStrategy\n ErrorDiscriminationStrategy: {\n StatusCode: (value: unknown): value is ErrorDiscriminationStrategy.StatusCode =>\n isObject(value) && \"type\" in value && value.type === \"statusCode\",\n Property: (value: unknown): value is ErrorDiscriminationStrategy.Property =>\n isObject(value) && \"type\" in value && value.type === \"property\"\n },\n\n // ProtobufType\n ProtobufType: {\n WellKnown: (value: unknown): value is ProtobufType.WellKnown =>\n isObject(value) && \"type\" in value && value.type === \"wellKnown\",\n UserDefined: (value: unknown): value is ProtobufType.UserDefined =>\n is.UserDefinedProtobufType(value) && \"type\" in value && value.type === \"userDefined\"\n },\n\n // WellKnownProtobufType\n WellKnownProtobufType: {\n Any: (value: unknown): value is WellKnownProtobufType.Any =>\n isObject(value) && \"type\" in value && value.type === \"any\",\n Api: (value: unknown): value is WellKnownProtobufType.Api =>\n isObject(value) && \"type\" in value && value.type === \"api\",\n BoolValue: (value: unknown): value is WellKnownProtobufType.BoolValue =>\n isObject(value) && \"type\" in value && value.type === \"boolValue\",\n BytesValue: (value: unknown): value is WellKnownProtobufType.BytesValue =>\n isObject(value) && \"type\" in value && value.type === \"bytesValue\",\n DoubleValue: (value: unknown): value is WellKnownProtobufType.DoubleValue =>\n isObject(value) && \"type\" in value && value.type === \"doubleValue\",\n Duration: (value: unknown): value is WellKnownProtobufType.Duration =>\n isObject(value) && \"type\" in value && value.type === \"duration\",\n Empty: (value: unknown): value is WellKnownProtobufType.Empty =>\n isObject(value) && \"type\" in value && value.type === \"empty\",\n Enum: (value: unknown): value is WellKnownProtobufType.Enum =>\n isObject(value) && \"type\" in value && value.type === \"enum\",\n EnumValue: (value: unknown): value is WellKnownProtobufType.EnumValue =>\n isObject(value) && \"type\" in value && value.type === \"enumValue\",\n Field: (value: unknown): value is WellKnownProtobufType.Field =>\n isObject(value) && \"type\" in value && value.type === \"field\",\n FieldCardinality: (value: unknown): value is WellKnownProtobufType.FieldCardinality =>\n isObject(value) && \"type\" in value && value.type === \"fieldCardinality\",\n FieldKind: (value: unknown): value is WellKnownProtobufType.FieldKind =>\n isObject(value) && \"type\" in value && value.type === \"fieldKind\",\n FieldMask: (value: unknown): value is WellKnownProtobufType.FieldMask =>\n isObject(value) && \"type\" in value && value.type === \"fieldMask\",\n FloatValue: (value: unknown): value is WellKnownProtobufType.FloatValue =>\n isObject(value) && \"type\" in value && value.type === \"floatValue\",\n Int32Value: (value: unknown): value is WellKnownProtobufType.Int32Value =>\n isObject(value) && \"type\" in value && value.type === \"int32Value\",\n Int64Value: (value: unknown): value is WellKnownProtobufType.Int64Value =>\n isObject(value) && \"type\" in value && value.type === \"int64Value\",\n ListValue: (value: unknown): value is WellKnownProtobufType.ListValue =>\n isObject(value) && \"type\" in value && value.type === \"listValue\",\n Method: (value: unknown): value is WellKnownProtobufType.Method =>\n isObject(value) && \"type\" in value && value.type === \"method\",\n Mixin: (value: unknown): value is WellKnownProtobufType.Mixin =>\n isObject(value) && \"type\" in value && value.type === \"mixin\",\n NullValue: (value: unknown): value is WellKnownProtobufType.NullValue =>\n isObject(value) && \"type\" in value && value.type === \"nullValue\",\n Option: (value: unknown): value is WellKnownProtobufType.Option =>\n isObject(value) && \"type\" in value && value.type === \"option\",\n SourceContext: (value: unknown): value is WellKnownProtobufType.SourceContext =>\n isObject(value) && \"type\" in value && value.type === \"sourceContext\",\n StringValue: (value: unknown): value is WellKnownProtobufType.StringValue =>\n isObject(value) && \"type\" in value && value.type === \"stringValue\",\n Struct: (value: unknown): value is WellKnownProtobufType.Struct =>\n isObject(value) && \"type\" in value && value.type === \"struct\",\n Syntax: (value: unknown): value is WellKnownProtobufType.Syntax =>\n isObject(value) && \"type\" in value && value.type === \"syntax\",\n Timestamp: (value: unknown): value is WellKnownProtobufType.Timestamp =>\n isObject(value) && \"type\" in value && value.type === \"timestamp\",\n Type: (value: unknown): value is WellKnownProtobufType.Type =>\n isObject(value) && \"type\" in value && value.type === \"type\",\n Uint32Value: (value: unknown): value is WellKnownProtobufType.Uint32Value =>\n isObject(value) && \"type\" in value && value.type === \"uint32Value\",\n Uint64Value: (value: unknown): value is WellKnownProtobufType.Uint64Value =>\n isObject(value) && \"type\" in value && value.type === \"uint64Value\",\n Value: (value: unknown): value is WellKnownProtobufType.Value =>\n isObject(value) && \"type\" in value && value.type === \"value\"\n },\n\n // PublishTarget\n PublishTarget: {\n Postman: (value: unknown): value is PublishTarget.Postman =>\n isObject(value) && \"type\" in value && value.type === \"postman\",\n Npm: (value: unknown): value is PublishTarget.Npm => isObject(value) && \"type\" in value && value.type === \"npm\",\n Maven: (value: unknown): value is PublishTarget.Maven =>\n isObject(value) && \"type\" in value && value.type === \"maven\",\n Pypi: (value: unknown): value is PublishTarget.Pypi =>\n isObject(value) && \"type\" in value && value.type === \"pypi\"\n },\n\n // PublishingConfig\n PublishingConfig: {\n Github: (value: unknown): value is PublishingConfig.Github =>\n isObject(value) && \"type\" in value && value.type === \"github\",\n Direct: (value: unknown): value is PublishingConfig.Direct =>\n isObject(value) && \"type\" in value && value.type === \"direct\",\n Filesystem: (value: unknown): value is PublishingConfig.Filesystem =>\n is.Filesystem(value) && \"type\" in value && value.type === \"filesystem\"\n },\n\n // ContainerType\n ContainerType: {\n List: (value: unknown): value is ContainerType.List =>\n isObject(value) && \"type\" in value && value.type === \"list\",\n Map: (value: unknown): value is ContainerType.Map =>\n is.MapType(value) && \"type\" in value && value.type === \"map\",\n Nullable: (value: unknown): value is ContainerType.Nullable =>\n isObject(value) && \"type\" in value && value.type === \"nullable\",\n Optional: (value: unknown): value is ContainerType.Optional =>\n isObject(value) && \"type\" in value && value.type === \"optional\",\n Set: (value: unknown): value is ContainerType.Set => isObject(value) && \"type\" in value && value.type === \"set\",\n Literal: (value: unknown): value is ContainerType.Literal =>\n isObject(value) && \"type\" in value && value.type === \"literal\"\n },\n\n // ExampleContainer\n ExampleContainer: {\n List: (value: unknown): value is ExampleContainer.List =>\n is.ExampleListContainer(value) && \"type\" in value && value.type === \"list\",\n Set: (value: unknown): value is ExampleContainer.Set =>\n is.ExampleSetContainer(value) && \"type\" in value && value.type === \"set\",\n Optional: (value: unknown): value is ExampleContainer.Optional =>\n is.ExampleOptionalContainer(value) && \"type\" in value && value.type === \"optional\",\n Nullable: (value: unknown): value is ExampleContainer.Nullable =>\n is.ExampleNullableContainer(value) && \"type\" in value && value.type === \"nullable\",\n Map: (value: unknown): value is ExampleContainer.Map =>\n is.ExampleMapContainer(value) && \"type\" in value && value.type === \"map\",\n Literal: (value: unknown): value is ExampleContainer.Literal =>\n is.ExampleLiteralContainer(value) && \"type\" in value && value.type === \"literal\"\n },\n\n // ExamplePrimitive\n ExamplePrimitive: {\n Integer: (value: unknown): value is ExamplePrimitive.Integer =>\n isObject(value) && \"type\" in value && value.type === \"integer\",\n Long: (value: unknown): value is ExamplePrimitive.Long =>\n isObject(value) && \"type\" in value && value.type === \"long\",\n Uint: (value: unknown): value is ExamplePrimitive.Uint =>\n isObject(value) && \"type\" in value && value.type === \"uint\",\n Uint64: (value: unknown): value is ExamplePrimitive.Uint64 =>\n isObject(value) && \"type\" in value && value.type === \"uint64\",\n Float: (value: unknown): value is ExamplePrimitive.Float =>\n isObject(value) && \"type\" in value && value.type === \"float\",\n Double: (value: unknown): value is ExamplePrimitive.Double =>\n isObject(value) && \"type\" in value && value.type === \"double\",\n Boolean: (value: unknown): value is ExamplePrimitive.Boolean =>\n isObject(value) && \"type\" in value && value.type === \"boolean\",\n String: (value: unknown): value is ExamplePrimitive.String =>\n isObject(value) && \"type\" in value && value.type === \"string\",\n Date_: (value: unknown): value is ExamplePrimitive.Date_ =>\n isObject(value) && \"type\" in value && value.type === \"date\",\n Datetime: (value: unknown): value is ExamplePrimitive.Datetime =>\n is.ExampleDatetime(value) && \"type\" in value && value.type === \"datetime\",\n Uuid: (value: unknown): value is ExamplePrimitive.Uuid =>\n isObject(value) && \"type\" in value && value.type === \"uuid\",\n Base64: (value: unknown): value is ExamplePrimitive.Base64 =>\n isObject(value) && \"type\" in value && value.type === \"base64\",\n BigInteger: (value: unknown): value is ExamplePrimitive.BigInteger =>\n isObject(value) && \"type\" in value && value.type === \"bigInteger\"\n },\n\n // ExampleSingleUnionTypeProperties\n ExampleSingleUnionTypeProperties: {\n SamePropertiesAsObject: (value: unknown): value is ExampleSingleUnionTypeProperties.SamePropertiesAsObject =>\n is.ExampleObjectTypeWithTypeId(value) && \"type\" in value && value.type === \"samePropertiesAsObject\",\n SingleProperty: (value: unknown): value is ExampleSingleUnionTypeProperties.SingleProperty =>\n is.ExampleTypeReference(value) && \"type\" in value && value.type === \"singleProperty\",\n NoProperties: (value: unknown): value is ExampleSingleUnionTypeProperties.NoProperties =>\n isObject(value) && \"type\" in value && value.type === \"noProperties\"\n },\n\n // ExampleTypeReferenceShape\n ExampleTypeReferenceShape: {\n Primitive: (value: unknown): value is ExampleTypeReferenceShape.Primitive =>\n isObject(value) && \"type\" in value && value.type === \"primitive\",\n Container: (value: unknown): value is ExampleTypeReferenceShape.Container =>\n isObject(value) && \"type\" in value && value.type === \"container\",\n Unknown: (value: unknown): value is ExampleTypeReferenceShape.Unknown =>\n isObject(value) && \"type\" in value && value.type === \"unknown\",\n Named: (value: unknown): value is ExampleTypeReferenceShape.Named =>\n is.ExampleNamedType(value) && \"type\" in value && value.type === \"named\"\n },\n\n // ExampleTypeShape\n ExampleTypeShape: {\n Alias: (value: unknown): value is ExampleTypeShape.Alias =>\n is.ExampleAliasType(value) && \"type\" in value && value.type === \"alias\",\n Enum: (value: unknown): value is ExampleTypeShape.Enum =>\n is.ExampleEnumType(value) && \"type\" in value && value.type === \"enum\",\n Object_: (value: unknown): value is ExampleTypeShape.Object_ =>\n is.ExampleObjectType(value) && \"type\" in value && value.type === \"object\",\n Union: (value: unknown): value is ExampleTypeShape.Union =>\n is.ExampleUnionType(value) && \"type\" in value && value.type === \"union\",\n UndiscriminatedUnion: (value: unknown): value is ExampleTypeShape.UndiscriminatedUnion =>\n is.ExampleUndiscriminatedUnionType(value) && \"type\" in value && value.type === \"undiscriminatedUnion\"\n },\n\n // Literal\n Literal: {\n String: (value: unknown): value is Literal.String =>\n isObject(value) && \"type\" in value && value.type === \"string\",\n Boolean: (value: unknown): value is Literal.Boolean =>\n isObject(value) && \"type\" in value && value.type === \"boolean\"\n },\n\n // NamedTypeDefault\n NamedTypeDefault: {\n Enum: (value: unknown): value is NamedTypeDefault.Enum =>\n is.EnumValue(value) && \"type\" in value && value.type === \"enum\"\n },\n\n // PrimitiveTypeV2\n PrimitiveTypeV2: {\n Integer: (value: unknown): value is PrimitiveTypeV2.Integer =>\n is.IntegerType(value) && \"type\" in value && value.type === \"integer\",\n Long: (value: unknown): value is PrimitiveTypeV2.Long =>\n is.LongType(value) && \"type\" in value && value.type === \"long\",\n Uint: (value: unknown): value is PrimitiveTypeV2.Uint =>\n is.UintType(value) && \"type\" in value && value.type === \"uint\",\n Uint64: (value: unknown): value is PrimitiveTypeV2.Uint64 =>\n is.Uint64Type(value) && \"type\" in value && value.type === \"uint64\",\n Float: (value: unknown): value is PrimitiveTypeV2.Float =>\n is.FloatType(value) && \"type\" in value && value.type === \"float\",\n Double: (value: unknown): value is PrimitiveTypeV2.Double =>\n is.DoubleType(value) && \"type\" in value && value.type === \"double\",\n Boolean: (value: unknown): value is PrimitiveTypeV2.Boolean =>\n is.BooleanType(value) && \"type\" in value && value.type === \"boolean\",\n String: (value: unknown): value is PrimitiveTypeV2.String =>\n is.StringType(value) && \"type\" in value && value.type === \"string\",\n Date_: (value: unknown): value is PrimitiveTypeV2.Date_ =>\n is.DateType(value) && \"type\" in value && value.type === \"date\",\n DateTime: (value: unknown): value is PrimitiveTypeV2.DateTime =>\n is.DateTimeType(value) && \"type\" in value && value.type === \"dateTime\",\n Uuid: (value: unknown): value is PrimitiveTypeV2.Uuid =>\n is.UuidType(value) && \"type\" in value && value.type === \"uuid\",\n Base64: (value: unknown): value is PrimitiveTypeV2.Base64 =>\n is.Base64Type(value) && \"type\" in value && value.type === \"base64\",\n BigInteger: (value: unknown): value is PrimitiveTypeV2.BigInteger =>\n is.BigIntegerType(value) && \"type\" in value && value.type === \"bigInteger\"\n },\n\n // ResolvedTypeReference\n ResolvedTypeReference: {\n Container: (value: unknown): value is ResolvedTypeReference.Container =>\n isObject(value) && \"type\" in value && value.type === \"container\",\n Named: (value: unknown): value is ResolvedTypeReference.Named =>\n is.ResolvedNamedType(value) && \"type\" in value && value.type === \"named\",\n Primitive: (value: unknown): value is ResolvedTypeReference.Primitive =>\n isObject(value) && \"type\" in value && value.type === \"primitive\",\n Unknown: (value: unknown): value is ResolvedTypeReference.Unknown =>\n isObject(value) && \"type\" in value && value.type === \"unknown\"\n },\n\n // Source\n Source: {\n Proto: (value: unknown): value is Source.Proto => isObject(value) && \"type\" in value && value.type === \"proto\"\n },\n\n // Type\n Type: {\n Alias: (value: unknown): value is Type.Alias =>\n is.AliasTypeDeclaration(value) && \"type\" in value && value.type === \"alias\",\n Enum: (value: unknown): value is Type.Enum =>\n is.EnumTypeDeclaration(value) && \"type\" in value && value.type === \"enum\",\n Object_: (value: unknown): value is Type.Object_ =>\n is.ObjectTypeDeclaration(value) && \"type\" in value && value.type === \"object\",\n Union: (value: unknown): value is Type.Union =>\n is.UnionTypeDeclaration(value) && \"type\" in value && value.type === \"union\",\n UndiscriminatedUnion: (value: unknown): value is Type.UndiscriminatedUnion =>\n is.UndiscriminatedUnionTypeDeclaration(value) && \"type\" in value && value.type === \"undiscriminatedUnion\"\n },\n\n // TypeReference\n TypeReference: {\n Container: (value: unknown): value is TypeReference.Container =>\n isObject(value) && \"type\" in value && value.type === \"container\",\n Named: (value: unknown): value is TypeReference.Named =>\n is.NamedType(value) && \"type\" in value && value.type === \"named\",\n Primitive: (value: unknown): value is TypeReference.Primitive =>\n isObject(value) && \"type\" in value && value.type === \"primitive\",\n Unknown: (value: unknown): value is TypeReference.Unknown =>\n isObject(value) && \"type\" in value && value.type === \"unknown\"\n },\n\n // WebhookPayload\n WebhookPayload: {\n InlinedPayload: (value: unknown): value is WebhookPayload.InlinedPayload =>\n is.InlinedWebhookPayload(value) && \"type\" in value && value.type === \"inlinedPayload\",\n Reference: (value: unknown): value is WebhookPayload.Reference =>\n is.WebhookPayloadReference(value) && \"type\" in value && value.type === \"reference\"\n },\n\n // ExampleWebSocketMessageBody\n ExampleWebSocketMessageBody: {\n InlinedBody: (value: unknown): value is ExampleWebSocketMessageBody.InlinedBody =>\n is.ExampleInlinedRequestBody(value) && \"type\" in value && value.type === \"inlinedBody\",\n Reference: (value: unknown): value is ExampleWebSocketMessageBody.Reference =>\n is.ExampleTypeReference(value) && \"type\" in value && value.type === \"reference\"\n },\n\n // WebSocketMessageBody\n WebSocketMessageBody: {\n InlinedBody: (value: unknown): value is WebSocketMessageBody.InlinedBody =>\n is.InlinedWebSocketMessageBody(value) && \"type\" in value && value.type === \"inlinedBody\",\n Reference: (value: unknown): value is WebSocketMessageBody.Reference =>\n is.WebSocketMessageBodyReference(value) && \"type\" in value && value.type === \"reference\"\n }\n};\n","import { CodeBlock as CommonCodeBlock } from \"@fern-api/browser-compatible-base-generator\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { type Writer } from \"../core/Writer\";\nexport declare namespace CodeBlock {\n /* Write arbitrary code */\n type Arg = CommonCodeBlock.Arg<Writer>;\n}\n\nexport class CodeBlock extends AstNode {\n private arg: CodeBlock.Arg;\n\n public constructor(arg: CodeBlock.Arg, generation: Generation) {\n super(generation);\n this.arg = arg;\n }\n\n public write(writer: Writer): void {\n const commonCodeBlock = new CommonCodeBlock(this.arg);\n return commonCodeBlock.write(writer);\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { is } from \"../../utils/type-guards\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { CodeBlock } from \"../language/CodeBlock\";\nimport { NamedNode, Statement } from \"../language/Expression\";\nexport declare namespace Block {\n interface Args {}\n}\n\nexport class Block extends AstNode {\n private statements: Statement[] = [];\n\n constructor(args: Block.Args, generation: Generation) {\n super(generation);\n }\n\n public write(writer: Writer): void {\n for (const each of this.statements) {\n if (is.string(each)) {\n writer.writeStatement(each);\n continue;\n }\n\n if (each instanceof CodeBlock) {\n each.write(writer);\n continue;\n }\n\n writer.writeStatement(...each);\n }\n }\n\n append(codeblock: CodeBlock) {\n this.statements.push(codeblock);\n }\n\n assign(to: NamedNode, from: NamedNode | AstNode): this {\n if (is.Ast.NamedNode(from)) {\n this.statements.push([`${to.name} = ${from.name}`]);\n } else {\n this.statements.push([to.name, ` = `, from]);\n }\n\n return this;\n }\n /*\n // \n var(name: string, type: ClassReference | Type, initialValue?: Expression): Local;\n var(name: string, initialValue: Expression);\n var(name: string, typeOrInitialValue: Expression | ClassReference | Type, initialValue?: Expression) {\n if (type) {\n this.statements.push([type, \" \", name]);\n }\n }\n */\n if(condition: string, block: Block) {\n //\n }\n}\n","import {\n AbstractAstNode,\n Arguments,\n hasNamedArgument,\n isNamedArgument\n} from \"@fern-api/browser-compatible-base-generator\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { type ClassReference } from \"../types/ClassReference\";\n\nexport declare namespace ClassInstantiation {\n interface Args {\n classReference: ClassReference;\n // A map of the field for the class and the value to be assigned to it.\n arguments_: Arguments | ClassInstantiation[];\n /**\n * Lets you use constructor (rather than object initializer syntax) even if you pass in named arguments\n * @deprecated Use properties instead\n * @see properties\n */\n forceUseConstructor?: boolean;\n properties?: Property[];\n // Write the instantiation across multiple lines\n multiline?: boolean;\n }\n interface Property {\n name: AbstractAstNode | string;\n value: AbstractAstNode | string;\n }\n}\n\nexport class ClassInstantiation extends AstNode {\n public readonly classReference: ClassReference;\n public readonly arguments_: Arguments | ClassInstantiation[];\n private readonly forceUseConstructor: boolean;\n private readonly properties: ClassInstantiation.Property[];\n public readonly multiline: boolean;\n\n /* eslint-disable deprecation/deprecation */\n constructor(\n { classReference, arguments_, forceUseConstructor, properties, multiline }: ClassInstantiation.Args,\n generation: Generation\n ) {\n super(generation);\n this.classReference = classReference;\n this.arguments_ = arguments_;\n this.forceUseConstructor = forceUseConstructor ?? false;\n this.properties = properties ?? [];\n this.multiline = multiline ?? false;\n }\n\n public write(writer: Writer): void {\n if (this.classReference.namespaceAlias != null) {\n writer.write(`new ${this.classReference.namespaceAlias}.${this.classReference.name}`);\n } else {\n writer.write(\"new \");\n writer.writeNode(this.classReference);\n }\n\n const hasNamedArguments = hasNamedArgument(this.arguments_);\n if (hasNamedArguments && !this.forceUseConstructor) {\n writer.write(\" {\");\n } else {\n writer.write(\"(\");\n }\n\n if (this.arguments_.length === 0) {\n this.writeEnd({ writer, hasNamedArguments });\n return;\n }\n\n if (this.multiline) {\n writer.newLine();\n }\n\n writer.indent();\n this.arguments_.forEach((argument, idx) => {\n if (isNamedArgument(argument)) {\n writer.write(`${argument.name}`);\n if (this.forceUseConstructor) {\n writer.write(\": \");\n } else {\n writer.write(\" = \");\n }\n writer.write(argument.assignment);\n } else {\n argument.write(writer);\n }\n if (idx < this.arguments_.length - 1) {\n writer.write(\",\");\n if (!this.multiline) {\n writer.write(\" \");\n }\n }\n if (this.multiline) {\n writer.newLine();\n }\n });\n writer.dedent();\n\n this.writeEnd({ writer, hasNamedArguments });\n }\n\n private writeEnd({ writer, hasNamedArguments }: { writer: Writer; hasNamedArguments: boolean }): void {\n if (hasNamedArguments && !this.forceUseConstructor) {\n writer.write(\"}\");\n } else {\n writer.write(\")\");\n }\n if (this.properties.length > 0) {\n writer.write(\"{\");\n if (this.multiline) {\n writer.newLine();\n writer.indent();\n } else {\n writer.write(\" \");\n }\n this.properties.forEach((property, idx) => {\n writer.write(property.name, \" = \", property.value);\n if (idx < this.properties.length - 1) {\n writer.write(\",\");\n if (this.multiline) {\n writer.newLine();\n } else {\n writer.write(\" \");\n }\n }\n });\n if (this.multiline) {\n writer.dedent();\n writer.newLine();\n }\n writer.write(\"}\");\n }\n }\n}\n","import { UnnamedArgument } from \"@fern-api/browser-compatible-base-generator\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Type } from \"../types/IType\";\n\nexport declare namespace Dictionary {\n interface Args {\n keyType: Type;\n valueType: Type;\n values: Values | undefined;\n }\n\n interface MapEntry {\n key: AstNode;\n value: AstNode;\n }\n\n type Values = MapEntryValues | UnnamedArgumentValues;\n\n interface MapEntryValues {\n type: \"entries\";\n entries: MapEntry[];\n }\n\n interface UnnamedArgumentValues {\n type: \"argument\";\n argument: UnnamedArgument;\n }\n}\n\nexport class Dictionary extends AstNode {\n private keyType: Type;\n private valueType: Type;\n private values: Dictionary.Values | undefined;\n\n constructor({ keyType, valueType, values }: Dictionary.Args, generation: Generation) {\n super(generation);\n this.keyType = keyType;\n this.valueType = valueType;\n this.values = values;\n }\n\n public write(writer: Writer): void {\n if (this.values == null) {\n writer.write(this.System.Collections.Generic.Dictionary(this.keyType, this.valueType).new());\n return;\n }\n if (this.values.type === \"argument\") {\n writer.write(\n this.System.Collections.Generic.Dictionary(this.keyType, this.valueType).new({\n arguments_: [this.values.argument]\n })\n );\n return;\n }\n writer.write(this.System.Collections.Generic.Dictionary(this.keyType, this.valueType).new());\n writer.pushScope();\n for (const { key, value } of this.values.entries) {\n writer.writeLine(\"{ \", key, \", \", value, \" },\");\n }\n writer.popScope();\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { type ClassReference } from \"../types/ClassReference\";\n\nexport declare namespace EnumInstantiation {\n interface Args {\n reference: ClassReference;\n value: string;\n }\n}\n\nexport class EnumInstantiation extends AstNode {\n private reference: ClassReference;\n private value: string;\n\n constructor({ reference, value }: EnumInstantiation.Args, generation: Generation) {\n super(generation);\n this.reference = reference;\n this.value = value;\n }\n\n public write(writer: Writer): void {\n writer.writeNode(this.reference);\n writer.write(`.${this.value}`);\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\n\ntype InternalPrimitiveInstantiation =\n | IntegerInstantiation\n | LongInstantiation\n | UintInstantiation\n | UlongInstantiation\n | StringInstantiation\n | BooleanInstantiation\n | FloatInstanation\n | DoubleInstantiation\n | DateInstantiation\n | DateTimeInstantiation\n | GuidInstantiation\n | NullInstantiation;\n\ninterface IntegerInstantiation {\n type: \"integer\";\n value: number;\n}\n\ninterface LongInstantiation {\n type: \"long\";\n value: number;\n}\n\ninterface UintInstantiation {\n type: \"uint\";\n value: number;\n}\n\ninterface UlongInstantiation {\n type: \"ulong\";\n value: number;\n}\n\ninterface StringInstantiation {\n type: \"string\";\n value: string;\n}\n\ninterface BooleanInstantiation {\n type: \"boolean\";\n value: boolean;\n}\n\ninterface FloatInstanation {\n type: \"float\";\n value: number;\n}\n\ninterface DoubleInstantiation {\n type: \"double\";\n value: number;\n}\n\ninterface DateInstantiation {\n type: \"date\";\n value: string;\n}\n\ninterface DateTimeInstantiation {\n type: \"dateTime\";\n value: Date;\n parse: boolean;\n}\n\ninterface GuidInstantiation {\n type: \"uuid\";\n value: string;\n}\n\ninterface NullInstantiation {\n type: \"null\";\n}\n\nexport class PrimitiveInstantiation extends AstNode {\n public constructor(\n public readonly internalType: InternalPrimitiveInstantiation,\n generation: Generation\n ) {\n super(generation);\n }\n\n public write(writer: Writer): void {\n switch (this.internalType.type) {\n case \"integer\":\n writer.write(this.internalType.value.toString());\n break;\n case \"long\":\n writer.write(`${this.internalType.value.toString()}`);\n break;\n case \"uint\":\n writer.write(`${this.internalType.value.toString()}`);\n break;\n case \"ulong\":\n writer.write(`${this.internalType.value.toString()}`);\n break;\n case \"string\":\n writer.writeNode(this.csharp.string_({ string: this.internalType.value }));\n break;\n case \"boolean\":\n writer.write(this.internalType.value.toString());\n break;\n case \"float\":\n writer.write(`${this.internalType.value.toString()}f`);\n break;\n case \"double\":\n writer.write(`${this.internalType.value.toString()}`);\n break;\n case \"date\": {\n const date = new Date(this.internalType.value);\n const year = this.csharp.Literal.integer(date.getUTCFullYear());\n const month = this.csharp.Literal.integer(date.getUTCMonth() + 1);\n const day = this.csharp.Literal.integer(date.getUTCDate());\n writer.write(this.System.DateOnly.new({ arguments_: [year, month, day] }));\n break;\n }\n case \"dateTime\": {\n if (this.internalType.parse) {\n writer.write(`DateTime.Parse(\"${this.internalType.value.toISOString()}\", null, `);\n writer.writeNode(this.System.Globalization.DateTimeStyles);\n writer.write(\".AdjustToUniversal)\");\n } else {\n writer.write(this.constructDatetimeWithoutParse(this.internalType.value));\n }\n break;\n }\n case \"uuid\":\n writer.write(`\"${this.internalType.value.toString()}\"`);\n break;\n case \"null\":\n writer.write(\"null\");\n break;\n }\n }\n\n /*\n * Currently unused because it was easier to just use `.Parse` to get passing wire tests.\n */\n private constructDatetimeWithoutParse(datetime: Date): string {\n const dateTimeYear = datetime.getUTCFullYear();\n const dateTimeMonth = (datetime.getUTCMonth() + 1).toString().padStart(2, \"0\");\n const dateTimeDay = datetime.getUTCDate().toString().padStart(2, \"0\");\n const hours = datetime.getUTCHours().toString().padStart(2, \"0\");\n const minutes = datetime.getUTCMinutes().toString().padStart(2, \"0\");\n const seconds = datetime.getUTCSeconds().toString().padStart(2, \"0\");\n const milliseconds = datetime.getUTCMilliseconds().toString().padStart(3, \"0\");\n return `new DateTime(${dateTimeYear}, ${dateTimeMonth}, ${dateTimeDay}, ${hours}, ${minutes}, ${seconds}, ${milliseconds})`;\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Type } from \"../types/IType\";\n\nexport declare namespace List {\n interface Args {\n itemType?: Type;\n entries: AstNode[];\n }\n}\n\nexport class List extends AstNode {\n private itemType: Type | undefined;\n private entries: AstNode[];\n\n constructor({ itemType, entries }: List.Args, generation: Generation) {\n super(generation);\n this.itemType = itemType;\n this.entries = entries;\n }\n\n public write(writer: Writer): void {\n if (this.itemType != null) {\n writer.write(this.System.Collections.Generic.List(this.itemType).new());\n writer.pushScope();\n } else {\n writer.write(\"[\");\n }\n this.entries.forEach((item, index) => {\n writer.writeNode(item);\n if (index < this.entries.length - 1) {\n writer.write(\", \");\n }\n });\n if (this.itemType != null) {\n writer.popScope();\n } else {\n writer.write(\"]\");\n }\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { type Type } from \"../types/IType\";\n\nexport declare namespace MethodInvocation {\n interface Args {\n /* Defaults to false */\n async?: boolean;\n /*\n How to call configureAwait(false/true) when async is true.\n Defaults to `false`, which adds `configureAwait(false)`.\n If true, nothing is added, as the default it `configureAwait(true)`.\n */\n configureAwait?: boolean;\n /* The method to invoke */\n method: string;\n /* A map of the field for the class and the value to be assigned to it. */\n arguments_: AstNode[];\n /* In the event of an instance method, you'll want to invoke it on said instance */\n on?: AstNode;\n /* Any generics used in the method invocation */\n generics?: Type[];\n /* Whether to use a multiline method invocation */\n multiline?: boolean;\n /* Whether the method returns an async enumerable */\n isAsyncEnumerable?: boolean;\n }\n}\n\nexport class MethodInvocation extends AstNode {\n private arguments: AstNode[];\n private method: string;\n private on: AstNode | undefined;\n private [\"async\"]: boolean;\n public readonly isAsyncEnumerable: boolean;\n private configureAwait: boolean;\n private generics: Type[];\n private multiline: boolean;\n\n constructor(\n {\n method,\n arguments_,\n on,\n async,\n configureAwait,\n generics,\n multiline,\n isAsyncEnumerable\n }: MethodInvocation.Args,\n generation: Generation\n ) {\n super(generation);\n\n this.method = method;\n this.arguments = arguments_;\n this.on = on;\n this.async = async ?? false;\n this.configureAwait = configureAwait ?? false;\n this.generics = generics ?? [];\n this.multiline = multiline ?? false;\n this.isAsyncEnumerable = isAsyncEnumerable ?? false;\n }\n\n public write(writer: Writer): void {\n if (this.async && !this.isAsyncEnumerable) {\n writer.write(\"await \");\n }\n if (this.on) {\n this.on.write(writer);\n writer.write(\".\");\n }\n writer.write(this.method);\n if (this.generics != null && this.generics.length > 0) {\n writer.write(\"<\");\n this.generics.forEach((generic, idx) => {\n writer.writeNode(generic);\n if (idx < this.generics.length - 1) {\n writer.write(\", \");\n }\n });\n writer.write(\">\");\n }\n writer.write(\"(\");\n if (this.arguments.length === 0) {\n writer.write(\")\");\n this.writeEnd(writer);\n return;\n }\n if (this.multiline) {\n writer.newLine();\n writer.indent();\n }\n this.arguments.forEach((arg, idx) => {\n arg.write(writer);\n if (idx < this.arguments.length - 1) {\n writer.write(\",\");\n if (!this.multiline) {\n writer.write(\" \");\n }\n }\n if (this.multiline) {\n writer.writeNewLineIfLastLineNot();\n }\n });\n if (this.multiline) {\n writer.dedent();\n }\n writer.write(\")\");\n this.writeEnd(writer);\n }\n\n private writeEnd(writer: Writer): void {\n if (this.async && this.configureAwait === false) {\n writer.write(\".ConfigureAwait(false)\");\n }\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Type } from \"../types/IType\";\n\nexport declare namespace ReadOnlyMemory {\n interface Args {\n itemType: Type;\n entries: AstNode[];\n }\n}\n\nexport class ReadOnlyMemory extends AstNode {\n private itemType: Type;\n private entries: AstNode[];\n\n constructor({ itemType, entries }: ReadOnlyMemory.Args, generation: Generation) {\n super(generation);\n this.itemType = itemType;\n this.entries = entries;\n }\n\n public write(writer: Writer): void {\n writer.write(\"new\");\n if (this.entries.length === 0) {\n writer.write(\" \");\n writer.writeNode(this.itemType);\n }\n writer.write(\"[] {\");\n this.entries.forEach((item, index) => {\n writer.writeNode(item);\n if (index < this.entries.length - 1) {\n writer.write(\", \");\n }\n });\n writer.write(\"}\");\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Type } from \"../types/IType\";\n\nexport declare namespace Set {\n interface Args {\n itemType: Type;\n entries: AstNode[];\n }\n}\n\nexport class Set extends AstNode {\n private itemType: Type;\n private entries: AstNode[];\n\n constructor({ itemType, entries }: Set.Args, generation: Generation) {\n super(generation);\n this.itemType = itemType;\n this.entries = entries;\n }\n\n public write(writer: Writer): void {\n writer.write(this.System.Collections.Generic.HashSet(this.itemType).new());\n writer.pushScope();\n this.entries.forEach((item, index) => {\n writer.writeNode(item);\n if (index < this.entries.length - 1) {\n writer.write(\", \");\n }\n });\n writer.popScope(false);\n }\n}\n","// Pre-computed escape sequences for common characters\nconst ESCAPE_MAP: Record<string, string> = {\n \"\\\\\": \"\\\\\\\\\", // Backslash\n '\"': '\\\\\"', // Double quote\n \"\\n\": \"\\\\n\", // Newline (LF)\n \"\\r\": \"\\\\r\", // Carriage return (CR)\n \"\\t\": \"\\\\t\", // Tab\n \"\\0\": \"\\\\0\", // Null\n \"\\f\": \"\\\\f\", // Form feed\n \"\\u0008\": \"\\\\b\", // Backspace\n \"\\v\": \"\\\\v\", // Vertical tab\n \"\\u0007\": \"\\\\a\" // Bell/alert\n};\n\n// Single regex that matches all characters that need escaping\n// biome-ignore lint: ignore next line\nconst ESCAPE_REGEX = /[\\\\\\\"\\n\\r\\t\\0\\f\\u0007\\u0008\\v\\u0001-\\u0006\\u000E-\\u001F\\u007F-\\u009F]/g;\n\nexport function escapeForCSharpString(input: string): string {\n return input.replace(ESCAPE_REGEX, (match) => {\n const escaped = ESCAPE_MAP[match];\n if (escaped !== undefined) {\n return escaped;\n }\n\n // Fall back to Unicode escape for other control characters\n return `\\\\u${match.charCodeAt(0).toString(16).padStart(4, \"0\")}`;\n });\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { escapeForCSharpString } from \"../../utils/escapeForCSharpString\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\n\nexport declare namespace String_ {\n interface Args {\n string: string;\n }\n}\n\nexport class String_ extends AstNode {\n private string: string;\n\n constructor(args: String_.Args, generation: Generation) {\n super(generation);\n this.string = args.string;\n }\n\n public write(writer: Writer): void {\n writer.write(`\"${escapeForCSharpString(this.string)}\"`);\n }\n}\n","import { AbstractAstNode } from \"@fern-api/browser-compatible-base-generator\";\nimport { XmlDocBlock } from \"../language/XmlDocBlock\";\nimport { AstNode } from \"./AstNode\";\nimport { Writer } from \"./Writer\";\n\nexport class XmlDocWriter {\n private writer: Writer;\n private wrotePrefixOnCurrentLine: boolean = false;\n constructor(writer: Writer) {\n this.writer = writer;\n }\n\n public write(text: string | XmlDocBlock): void {\n if (typeof text === \"string\") {\n this.writer.write(text);\n return;\n }\n text.write(this.writer);\n }\n\n public writeWithEscaping(text: string | XmlDocBlock): void {\n if (typeof text === \"string\") {\n this.writer.write(this.escapeXmlDocContent(text));\n return;\n }\n text.write(this.writer);\n }\n\n public writeLine(text = \"\"): void {\n this.writePrefix();\n this.writer.writeLine(text);\n this.wrotePrefixOnCurrentLine = false;\n }\n\n public writeLineWithEscaping(text: string): void {\n this.writePrefix();\n this.writer.write(this.escapeXmlDocContent(text));\n this.wrotePrefixOnCurrentLine = false;\n }\n\n public writeNewLineIfLastLineNot(): void {\n this.writer.writeNewLineIfLastLineNot();\n this.wrotePrefixOnCurrentLine = false;\n }\n\n public writeNodeOrString(input: AbstractAstNode | string): void {\n this.writer.write(input);\n }\n\n public writePrefix(): this {\n if (this.wrotePrefixOnCurrentLine) {\n return this;\n }\n this.writer.write(\"/// \");\n this.wrotePrefixOnCurrentLine = true;\n return this;\n }\n\n public writeOpenXmlNode(nodeName: string): void {\n this.write(`<${nodeName}>`);\n }\n\n public writeCloseXmlNode(nodeName: string): void {\n this.write(`</${nodeName}>`);\n }\n\n public writeNode(node: AstNode): void {\n this.writer.writeNode(node);\n }\n\n public writeXmlNode(nodeName: string, text: string): void {\n this.writePrefix();\n this.writeOpenXmlNode(nodeName);\n this.writeLine(text);\n this.writePrefix();\n this.writeCloseXmlNode(nodeName);\n }\n\n public writeXmlNodeMultiline(nodeName: string, text: string): void {\n this.writePrefix();\n this.writeOpenXmlNode(nodeName);\n this.writeLine();\n this.writeMultiline(text);\n this.writeLine();\n this.writePrefix();\n this.writeCloseXmlNode(nodeName);\n }\n\n public writeXmlNodeWithEscaping(nodeName: string, text: string): void {\n this.writeOpenXmlNode(nodeName);\n this.writeLineWithEscaping(text);\n this.writeCloseXmlNode(nodeName);\n }\n\n public writeMultilineNodeWithEscaping(nodeName: string, text: string): void {\n this.writeOpenXmlNode(nodeName);\n this.writeLine();\n this.writeMultilineWithEscaping(text);\n this.writeLine();\n this.writeCloseXmlNode(nodeName);\n }\n\n public writeMultiline(text: string): void {\n text.trim()\n .split(\"\\n\")\n .forEach((line) => {\n this.writeLine(line);\n });\n }\n\n public writeMultilineWithEscaping(text: string): void {\n text = this.escapeXmlDocContent(text);\n this.writeMultiline(text);\n }\n\n private escapeXmlDocContent(text: string): string {\n text = this.decodeHtmlEntities(text);\n return text.replaceAll(\"<\", \"<\").replaceAll(\">\", \">\");\n }\n\n private decodeHtmlEntities(text: string): string {\n const entityMap: Record<string, string> = {\n \"+\": \"+\",\n \"−\": \"-\",\n \"×\": \"×\",\n \"÷\": \"÷\",\n \" \": \" \",\n \"…\": \"…\",\n \"·\": \"·\",\n \"©\": \"©\",\n \"®\": \"®\",\n \"™\": \"™\",\n \"°\": \"°\",\n \"±\": \"±\",\n \"¼\": \"¼\",\n \"½\": \"½\",\n \"¾\": \"¾\",\n \"–\": \"–\",\n \"—\": \"—\",\n \"‘\": \"\\u2018\",\n \"’\": \"\\u2019\",\n \"“\": \"\\u201C\",\n \"”\": \"\\u201D\",\n \"•\": \"•\",\n \"€\": \"€\",\n \"£\": \"£\",\n \"¥\": \"¥\",\n \"¢\": \"¢\",\n \"§\": \"§\",\n \"¶\": \"¶\",\n \"†\": \"†\",\n \"‡\": \"‡\",\n \"‰\": \"‰\",\n \"‹\": \"‹\",\n \"›\": \"›\",\n \"♠\": \"♠\",\n \"♣\": \"♣\",\n \"♥\": \"♥\",\n \"♦\": \"♦\",\n \"←\": \"←\",\n \"↑\": \"↑\",\n \"→\": \"→\",\n \"↓\": \"↓\",\n \"↔\": \"↔\",\n \"↵\": \"↵\",\n \"⇐\": \"⇐\",\n \"⇑\": \"⇑\",\n \"⇒\": \"⇒\",\n \"⇓\": \"⇓\",\n \"⇔\": \"⇔\",\n \"∀\": \"∀\",\n \"∂\": \"∂\",\n \"∃\": \"∃\",\n \"∅\": \"∅\",\n \"∇\": \"∇\",\n \"∈\": \"∈\",\n \"∉\": \"∉\",\n \"∋\": \"∋\",\n \"∏\": \"∏\",\n \"∑\": \"∑\",\n \"∗\": \"∗\",\n \"√\": \"√\",\n \"∝\": \"∝\",\n \"∞\": \"∞\",\n \"∠\": \"∠\",\n \"∧\": \"∧\",\n \"∨\": \"∨\",\n \"∩\": \"∩\",\n \"∪\": \"∪\",\n \"∫\": \"∫\",\n \"∴\": \"∴\",\n \"∼\": \"∼\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"≠\": \"≠\",\n \"≡\": \"≡\",\n \"≤\": \"≤\",\n \"≥\": \"≥\",\n \"⊂\": \"⊂\",\n \"⊃\": \"⊃\",\n \"⊄\": \"⊄\",\n \"⊆\": \"⊆\",\n \"⊇\": \"⊇\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"⊥\": \"⊥\",\n \"⋅\": \"⋅\",\n \"Α\": \"Α\",\n \"Β\": \"Β\",\n \"Γ\": \"Γ\",\n \"Δ\": \"Δ\",\n \"Ε\": \"Ε\",\n \"Ζ\": \"Ζ\",\n \"Η\": \"Η\",\n \"Θ\": \"Θ\",\n \"Ι\": \"Ι\",\n \"Κ\": \"Κ\",\n \"Λ\": \"Λ\",\n \"Μ\": \"Μ\",\n \"Ν\": \"Ν\",\n \"Ξ\": \"Ξ\",\n \"Ο\": \"Ο\",\n \"Π\": \"Π\",\n \"Ρ\": \"Ρ\",\n \"Σ\": \"Σ\",\n \"Τ\": \"Τ\",\n \"Υ\": \"Υ\",\n \"Φ\": \"Φ\",\n \"Χ\": \"Χ\",\n \"Ψ\": \"Ψ\",\n \"Ω\": \"Ω\",\n \"α\": \"α\",\n \"β\": \"β\",\n \"γ\": \"γ\",\n \"δ\": \"δ\",\n \"ε\": \"ε\",\n \"ζ\": \"ζ\",\n \"η\": \"η\",\n \"θ\": \"θ\",\n \"ι\": \"ι\",\n \"κ\": \"κ\",\n \"λ\": \"λ\",\n \"μ\": \"μ\",\n \"ν\": \"ν\",\n \"ξ\": \"ξ\",\n \"ο\": \"ο\",\n \"π\": \"π\",\n \"ρ\": \"ρ\",\n \"ς\": \"ς\",\n \"σ\": \"σ\",\n \"τ\": \"τ\",\n \"υ\": \"υ\",\n \"φ\": \"φ\",\n \"χ\": \"χ\",\n \"ψ\": \"ψ\",\n \"ω\": \"ω\"\n };\n\n let result = text;\n for (const [entity, char] of Object.entries(entityMap)) {\n result = result.replaceAll(entity, char);\n }\n\n result = result.replace(/&#(\\d+);/g, (match, dec) => {\n return String.fromCharCode(parseInt(dec, 10));\n });\n result = result.replace(/&#x([0-9A-Fa-f]+);/g, (match, hex) => {\n return String.fromCharCode(parseInt(hex, 16));\n });\n\n return result;\n }\n}\n","export const Access = {\n Public: \"public\",\n Private: \"private\",\n Protected: \"protected\",\n Internal: \"internal\"\n} as const;\n\nexport type Access = (typeof Access)[keyof typeof Access];\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\n\nexport declare namespace And {\n interface Args {\n // The conditions to combine into a single condition */\n conditions: AstNode[];\n }\n}\n\nexport class And extends AstNode {\n private conditions: AstNode[];\n\n constructor(args: And.Args, generation: Generation) {\n super(generation);\n this.conditions = args.conditions;\n }\n\n public write(writer: Writer): void {\n this.conditions.forEach((condition, index) => {\n if (index > 0) {\n writer.write(\" && \");\n }\n writer.writeNode(condition);\n });\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { type ClassReference } from \"../types/ClassReference\";\n\nexport declare namespace Annotation {\n interface Args {\n /* Reference to the annotation */\n reference: ClassReference;\n\n argument?: string | AstNode;\n }\n}\n\nexport class Annotation extends AstNode {\n private reference: ClassReference;\n private argument?: string | AstNode;\n\n constructor(args: Annotation.Args, generation: Generation) {\n super(generation);\n this.reference = args.reference;\n this.argument = args.argument;\n }\n\n public write(writer: Writer): void {\n writer.addReference(this.reference);\n writer.write(\"[\");\n this.reference.writeAsAttribute(writer);\n if (this.argument != null) {\n writer.write(\"(\");\n if (typeof this.argument === \"string\") {\n writer.write(this.argument);\n } else {\n this.argument.write(writer);\n }\n writer.write(\")\");\n }\n writer.write(\"]\");\n }\n}\n","import { Writer } from \"../core/Writer\";\nimport { CodeBlock } from \"./CodeBlock\";\nimport { Parameter } from \"./Parameter\";\n\nexport declare namespace AnonymousFunction {\n interface Args {\n /* Whether the method is sync or async. Defaults to false. */\n isAsync?: boolean;\n /* The parameters of the method */\n parameters: Parameter[];\n /* The body of the method */\n body: CodeBlock;\n }\n}\n\nexport class AnonymousFunction {\n private readonly isAsync: boolean;\n private readonly parameters: Parameter[];\n private readonly body: CodeBlock;\n constructor(methodBaseArgs: AnonymousFunction.Args) {\n this.isAsync = methodBaseArgs.isAsync ?? false;\n this.parameters = methodBaseArgs.parameters;\n this.body = methodBaseArgs.body;\n }\n\n public write(writer: Writer): void {\n if (this.isAsync) {\n writer.write(\"async \");\n }\n writer.write(\"(\");\n this.parameters.forEach((parameter, idx) => {\n parameter.write(writer);\n if (idx < this.parameters.length - 1) {\n writer.write(\", \");\n }\n });\n writer.writeLine(\") =>\");\n\n writer.pushScope();\n this.body?.write(writer);\n writer.popScope();\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\n\nexport declare namespace Or {\n interface Args {\n // The conditions to combine into a single condition */\n conditions: AstNode[];\n }\n}\n\nexport class Or extends AstNode {\n private conditions: AstNode[];\n\n constructor(args: Or.Args, generation: Generation) {\n super(generation);\n this.conditions = args.conditions;\n }\n\n public write(writer: Writer): void {\n this.conditions.forEach((condition, index) => {\n if (index > 0) {\n writer.write(\" || \");\n }\n writer.writeNode(condition);\n });\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core\";\nimport { Writer } from \"../core/Writer\";\nimport { ClassReference } from \"../types/ClassReference\";\nimport { Type } from \"../types/IType\";\n\nexport declare namespace Parameter {\n interface Args {\n /* The name of the parameter */\n name: string;\n /* The type of the parameter */\n type: ClassReference | Type;\n /* Docs for the parameter */\n docs?: string;\n /* The initializer for the parameter */\n initializer?: string;\n ref?: boolean;\n out?: boolean;\n }\n}\n\nexport class Parameter extends AstNode {\n public readonly name: string;\n public readonly docs: string | undefined;\n public readonly initializer: string | undefined;\n public readonly type: Type;\n private readonly ref: boolean;\n private readonly out: boolean;\n\n constructor({ name, type, docs, initializer, ref, out }: Parameter.Args, generation: Generation) {\n super(generation);\n this.name = name;\n this.type = type;\n this.docs = docs;\n this.initializer = initializer;\n this.ref = ref ?? false;\n this.out = out ?? false;\n }\n\n public write(writer: Writer): void {\n if (this.ref) {\n writer.write(\"ref \");\n }\n if (this.out) {\n writer.write(\"out \");\n }\n writer.writeNode(this.type);\n writer.write(` ${this.name}`);\n if (this.initializer != null) {\n writer.write(` = ${this.initializer}`);\n }\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\n\nexport declare namespace Switch {\n interface Args {\n /* The condition to switch on */\n condition: AstNode;\n /* The cases of the switch statement */\n cases: Case[];\n }\n\n interface Case {\n /* The label used to determine if the case is a match */\n label: AstNode;\n /* The value if the case is a match */\n value: AstNode;\n }\n}\n\nexport class Switch extends AstNode {\n private condition: AstNode;\n private cases: Switch.Case[];\n\n constructor({ condition, cases }: Switch.Args, generation: Generation) {\n super(generation);\n\n this.condition = condition;\n this.cases = cases;\n }\n\n public write(writer: Writer): void {\n writer.writeNode(this.condition);\n writer.write(\" switch\");\n writer.pushScope();\n for (const { label, value } of this.cases) {\n writer.writeNode(label);\n writer.write(\" => \");\n writer.writeNode(value);\n writer.writeLine(\",\");\n }\n writer.popScope();\n }\n}\n","import { Ternary as CommonTernary } from \"@fern-api/browser-compatible-base-generator\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\n\nexport declare namespace Ternary {\n type Args = CommonTernary.Args;\n}\n\nexport class Ternary extends AstNode {\n private args: Ternary.Args;\n\n public constructor(args: Ternary.Args, generation: Generation) {\n super(generation);\n this.args = args;\n }\n\n public write(writer: Writer): void {\n const commonTernary = new CommonTernary(this.args);\n return commonTernary.write(writer);\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { XmlDocWriter } from \"../core/XmlDocWriter\";\nexport declare namespace XmlDocBlock {\n type Like = XmlDocBlock | XmlDocBlock.Arg;\n type XmlDocProps = {\n summary?: XmlDocNode;\n codeExample?: XmlDocNode;\n exceptions?: Map<string | AstNode, XmlDocNode>;\n inheritdoc?: InheritdocNode;\n remarks?: XmlDocNode;\n };\n type Arg = XmlDocProps | XmlDocNode;\n type XmlDocNode = string | ((writer: XmlDocWriter) => void) | null | undefined;\n type InheritdocNode =\n | {\n cref: string | undefined;\n path: string | undefined;\n }\n | true;\n}\n\nexport class XmlDocBlock extends AstNode {\n private arg: XmlDocBlock.Arg;\n\n public constructor(arg: XmlDocBlock.Arg, generation: Generation) {\n super(generation);\n this.arg = arg;\n }\n\n public write(writer: Writer): void;\n public write(writer: XmlDocWriter): void;\n public write(writer: Writer | XmlDocWriter): void {\n if (this.arg == null) {\n return;\n }\n const docWriter = writer instanceof Writer ? new XmlDocWriter(writer) : writer;\n if (typeof this.arg === \"function\") {\n docWriter.writePrefix();\n this.arg(docWriter);\n docWriter.writeNewLineIfLastLineNot();\n return;\n }\n if (typeof this.arg === \"string\") {\n docWriter.writeMultilineWithEscaping(this.arg);\n docWriter.writeNewLineIfLastLineNot();\n return;\n }\n if (this.arg.summary) {\n docWriter.writePrefix();\n docWriter.writeOpenXmlNode(\"summary\");\n docWriter.writeLine();\n this.writeXmlDocNodeWithEscaping(docWriter, this.arg.summary);\n docWriter.writeNewLineIfLastLineNot();\n docWriter.writePrefix();\n docWriter.writeCloseXmlNode(\"summary\");\n docWriter.writeNewLineIfLastLineNot();\n }\n if (this.arg.codeExample) {\n docWriter.writePrefix();\n docWriter.writeOpenXmlNode(\"example\");\n docWriter.writeOpenXmlNode(\"code\");\n docWriter.writeLine();\n this.writeXmlDocNodeWithEscaping(docWriter, this.arg.codeExample);\n docWriter.writeNewLineIfLastLineNot();\n docWriter.writePrefix();\n docWriter.writeCloseXmlNode(\"code\");\n docWriter.writeCloseXmlNode(\"example\");\n docWriter.writeNewLineIfLastLineNot();\n }\n if (this.arg.exceptions) {\n this.arg.exceptions.forEach((exceptionSummary, exceptionType) => {\n docWriter.writePrefix();\n docWriter.write('<exception cref=\"');\n docWriter.writeNodeOrString(exceptionType);\n docWriter.write('\">');\n this.writeXmlDocNode(docWriter, exceptionSummary);\n docWriter.write(\"</exception>\");\n docWriter.writeNewLineIfLastLineNot();\n });\n }\n if (this.arg.inheritdoc) {\n docWriter.writePrefix();\n docWriter.write(\"<inheritdoc\");\n if (this.arg.inheritdoc !== true) {\n if (this.arg.inheritdoc.cref) {\n docWriter.write(` cref=\"${this.arg.inheritdoc.cref}\"`);\n }\n if (this.arg.inheritdoc.path) {\n docWriter.write(` path=\"${this.arg.inheritdoc.path}\"`);\n }\n }\n docWriter.write(\" />\");\n\n docWriter.writeNewLineIfLastLineNot();\n }\n if (this.arg.remarks) {\n docWriter.writePrefix();\n docWriter.writeOpenXmlNode(\"remarks\");\n docWriter.writeLine();\n this.writeXmlDocNodeWithEscaping(docWriter, this.arg.remarks);\n docWriter.writeNewLineIfLastLineNot();\n docWriter.writePrefix();\n docWriter.writeCloseXmlNode(\"remarks\");\n docWriter.writeNewLineIfLastLineNot();\n }\n }\n\n private writeXmlDocNode(writer: XmlDocWriter, node: XmlDocBlock.XmlDocNode): void {\n if (node == null) {\n return;\n }\n if (typeof node === \"function\") {\n writer.writePrefix();\n node(writer);\n return;\n }\n if (typeof node === \"string\") {\n writer.writePrefix();\n writer.writeMultiline(node);\n }\n }\n\n private writeXmlDocNodeWithEscaping(writer: XmlDocWriter, node: XmlDocBlock.XmlDocNode): void {\n if (node == null) {\n return;\n }\n if (typeof node === \"function\") {\n writer.writePrefix();\n node(writer);\n return;\n }\n if (typeof node === \"string\") {\n writer.writePrefix();\n writer.writeMultilineWithEscaping(node);\n }\n }\n}\n","import { fail } from \"assert\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { type Provenance } from \"../../context/model-navigator\";\nimport { is } from \"../../utils/type-guards\";\nimport { Literal } from \"../code/Literal\";\nimport { Node } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Access } from \"../language/Access\";\nimport { type ClassReference } from \"./ClassReference\";\nimport { Field, FieldArgsWithName, FieldArgsWithOrigin } from \"./Field\";\nimport { type Type } from \"./IType\";\nimport { Method } from \"./Method\";\nimport { Optional } from \"./Type\";\n\nexport declare namespace DefinedType {\n interface Args extends Node.Args {\n /* The name of the C# class */\n name?: string;\n /* The namespace of the C# class*/\n namespace?: string;\n /* The type that this class is nested in */\n enclosingType?: ClassReference;\n\n /* The access level of the C# class */\n access: Access;\n /* Defaults to false */\n partial?: boolean;\n /* Any interfaces the interface implements */\n interfaceReferences?: ClassReference[];\n }\n}\n\nexport abstract class DefinedType extends Node implements Type {\n public readonly access: Access;\n public readonly partial: boolean;\n public readonly reference: ClassReference;\n public readonly interfaceReferences: ClassReference[];\n\n protected fields: Field[] = [];\n protected methods: Method[] = [];\n\n constructor(\n { name, namespace, access, partial, interfaceReferences, enclosingType, origin }: DefinedType.Args,\n generation: Generation\n ) {\n super(origin, generation);\n\n // resolve the expected name for the type\n name =\n name || (origin ? this.model.getClassNameFor(origin) : fail(\"Class/Interface name or origin is required\"));\n\n // build the class reference from the arguments.\n // if the name has to be adjusted it will be done when the class reference is created.\n this.reference = enclosingType\n ? this.csharp.classReference({\n name: name,\n enclosingType: enclosingType\n })\n : this.csharp.classReference({\n name: name,\n namespace: namespace || fail(\"Class/Interface: Namespace or enclosingType is required \")\n });\n\n this.access = access;\n this.partial = partial ?? false;\n this.interfaceReferences = interfaceReferences ?? [];\n }\n\n public abstract override write(writer: Writer): void;\n\n public get name() {\n return this.reference.name;\n }\n public get namespace() {\n return this.reference.namespace;\n }\n public get enclosingType() {\n return this.reference.enclosingType;\n }\n\n public get isNested(): boolean {\n return this.enclosingType != null;\n }\n\n public explicit(name: string): Provenance {\n return this.origin\n ? this.model.explicit(is.Provenance(this.origin) ? this.origin.node : this.origin, name)\n : fail(\n `Cannot create explicit named member '${name}' on '${this.name}' because the class is not bound to an origin.`\n );\n }\n\n public getField(origin: Provenance): Field | undefined {\n return this.fields.find((each) => this.model.provenance(each.origin)?.jsonPath === origin.jsonPath);\n }\n\n public addField(args: FieldArgsWithOrigin): Field;\n public addField(args: FieldArgsWithName): Field;\n public addField(args: Field.Args): Field {\n args.enclosingType = this.reference;\n const field = new Field(args, this.generation);\n this.fields.push(field);\n return field;\n }\n\n public addMethod(args: Method.Args): Method {\n args.enclosingType = this.reference;\n const method = new Method(args, this.generation);\n this.methods.push(method);\n return method;\n }\n\n public get multipartMethodName(): string {\n return \"AddJsonPart\";\n }\n\n public get multipartMethodNameForCollection(): string {\n return \"AddJsonParts\";\n }\n\n public get isOptional(): boolean {\n return false;\n }\n\n public get isCollection(): boolean {\n return false;\n }\n\n public get isReferenceType(): boolean | undefined {\n return undefined;\n }\n\n public asOptional(): Type {\n return new Optional(this, this.generation);\n }\n\n public asNonOptional(): Type {\n return this;\n }\n\n public get defaultValue(): Literal {\n return this.csharp.Literal.null();\n }\n\n public get fullyQualifiedName(): string {\n return this.reference.fullyQualifiedName;\n }\n}\n","import { fail } from \"assert\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { type Origin } from \"../../context/model-navigator\";\nimport { is } from \"../../utils/type-guards\";\nimport { type ClassInstantiation } from \"../code/ClassInstantiation\";\nimport { MemberNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Access } from \"../language/Access\";\nimport { Annotation } from \"../language/Annotation\";\nimport { CodeBlock } from \"../language/CodeBlock\";\nimport { XmlDocBlock } from \"../language/XmlDocBlock\";\nimport { ClassReference } from \"./ClassReference\";\nimport { type Type } from \"./IType\";\n\nexport declare namespace Field {\n export type Accessors = {\n get?: (writer: Writer) => void;\n set?: (writer: Writer) => void;\n init?: (writer: Writer) => void;\n };\n\n interface Args extends MemberNode.Args {\n /* The name of the field */\n name?: string;\n /* The type of the field */\n type: Type | ClassReference;\n /* The access level of the method */\n access?: Access;\n /* Whether the the field is a constant value */\n const_?: boolean;\n /* Whether the the field should use the new keyword */\n new_?: boolean;\n /*\n The access modifier for the get, no get is generated if false.\n If true, get is added without an access modifier.\n Defaults to false. */\n get?: Access | boolean;\n /*\n The access modifier for the init, no init is generated if false.\n If true, init is added without an access modifier.\n Cannot be used with a set method.\n Defaults to false.\n */\n init?: Access | boolean;\n /*\n The access modifier for the set, no get is generated if false.\n If true, set is added without an access modifier.\n Cannot be used with an init method.\n Defaults to false.\n */\n set?: Access | boolean;\n /* Whether the field is static */\n static_?: boolean;\n /* Whether the field is readonly */\n readonly?: boolean;\n /* Field annotations */\n annotations?: (Annotation | ClassReference)[];\n /* The initializer for the field */\n initializer?: CodeBlock | ClassInstantiation;\n /* The summary tag (used for describing the field) */\n summary?: string;\n /* The doc block (used for describing the field) */\n doc?: XmlDocBlock.Like;\n /* JSON value for this particular field */\n jsonPropertyName?: string;\n /* If true, we will consider setting the field to required based on its type. If false, we will not. */\n useRequired?: boolean;\n /* If true, the default initializer (if any) is not included. */\n skipDefaultInitializer?: boolean;\n /* If specified, use the interface name in front of the field name */\n interfaceReference?: ClassReference;\n /* If true, the field is overridden */\n override?: boolean;\n\n /* If specified, use the accessor methods for the field implementation */\n accessors?: Accessors;\n }\n}\n\nexport interface FieldArgsWithOrigin extends Field.Args {\n origin: Origin;\n // enclosingType: ClassReference|Interface|Class;\n name?: never;\n}\n\nexport interface FieldArgsWithName extends Field.Args {\n name: string;\n origin?: never;\n}\n\nexport class Field extends MemberNode {\n public readonly name: string;\n public readonly access: Access | undefined;\n public readonly type: Type;\n private readonly const_: boolean;\n private readonly static_: boolean;\n private readonly get: Access | boolean;\n private readonly init: Access | boolean;\n private readonly set: Access | boolean;\n private readonly new_: boolean;\n private readonly annotations: Annotation[];\n private readonly initializer?: CodeBlock | ClassInstantiation;\n private readonly doc: XmlDocBlock;\n private readonly jsonPropertyName?: string;\n private readonly readonly?: boolean;\n private readonly useRequired: boolean;\n private readonly skipDefaultInitializer: boolean;\n private readonly interfaceReference?: ClassReference;\n private readonly accessors?: {\n get?: (writer: Writer) => void;\n set?: (writer: Writer) => void;\n init?: (writer: Writer) => void;\n };\n private readonly override?: boolean;\n constructor(\n {\n name,\n type,\n access,\n const_,\n new_,\n get,\n init,\n set,\n annotations,\n initializer,\n summary,\n doc,\n jsonPropertyName,\n readonly,\n static_,\n useRequired,\n skipDefaultInitializer,\n interfaceReference,\n accessors,\n override,\n origin,\n enclosingType\n }: Field.Args,\n generation: Generation\n ) {\n super({ enclosingType }, origin, generation);\n\n if (!enclosingType) {\n throw new Error(\"Enclosing type is required\");\n }\n\n name = name || (origin ? this.model.getPropertyNameFor(origin) : fail(\"Field name or origin is required\"));\n\n // verify that the field name is available or get a new name\n this.name = (enclosingType instanceof ClassReference ? enclosingType : enclosingType.reference).registerField(\n name,\n origin,\n this\n );\n\n this.type = type;\n this.const_ = const_ ?? false;\n this.new_ = new_ ?? false;\n this.access = access;\n this.get = get ?? !!accessors?.get;\n this.set = set ?? !!accessors?.set;\n this.init = init ?? !!accessors?.init;\n this.annotations = (annotations ?? []).map((annotation) =>\n annotation instanceof ClassReference ? this.csharp.annotation({ reference: annotation }) : annotation\n );\n this.initializer = initializer;\n this.doc = this.csharp.xmlDocBlockOf(doc ?? { summary });\n this.jsonPropertyName = jsonPropertyName;\n this.readonly = readonly;\n this.static_ = static_ ?? false;\n this.useRequired = useRequired ?? false;\n this.skipDefaultInitializer = skipDefaultInitializer ?? false;\n this.interfaceReference = interfaceReference;\n this.accessors = accessors;\n this.override = override ?? false;\n if (this.jsonPropertyName != null) {\n this.annotations = [\n this.csharp.annotation({\n reference: this.System.Text.Json.Serialization.JsonPropertyName,\n argument: `\"${this.jsonPropertyName}\"`\n }),\n ...this.annotations\n ];\n }\n }\n\n public get needsIntialization(): boolean {\n return !this.type.isOptional && this.initializer == null;\n }\n\n public get isConst(): boolean {\n return this.const_;\n }\n\n public get isField(): boolean {\n if (this.const_) {\n return false;\n }\n return !(this.get || this.init || this.set);\n }\n\n public get isProperty(): boolean {\n if (this.const_) {\n return false;\n }\n return !!(this.get || this.init || this.set);\n }\n\n public get isStatic(): boolean {\n return this.static_;\n }\n\n public get isRequired(): boolean {\n return this.useRequired;\n }\n\n public get isOptional(): boolean {\n return this.type.isOptional;\n }\n\n public write(writer: Writer): void {\n writer.writeNode(this.doc);\n\n for (const annotation of this.annotations) {\n annotation.write(writer);\n }\n writer.writeNewLineIfLastLineNot();\n\n if (this.override) {\n writer.write(\"override \");\n }\n\n if (this.access) {\n writer.write(`${this.access} `);\n }\n if (this.const_) {\n writer.write(\"const \");\n }\n if (this.new_) {\n writer.write(\"new \");\n }\n const isOptional = this.type.isOptional;\n const isCollection = this.type.asNonOptional().isCollection;\n if (this.useRequired && !isOptional && !isCollection && this.initializer == null) {\n writer.write(\"required \");\n }\n if (this.static_) {\n writer.write(\"static \");\n }\n if (this.readonly) {\n writer.write(\"readonly \");\n }\n writer.writeNode(this.type);\n writer.write(\" \");\n if (this.interfaceReference) {\n writer.write(`${this.interfaceReference.name}.`);\n }\n writer.write(this.name);\n\n // TODO: refactor useExpressionBodiedPropertySyntax to be an argument that defaults to false\n // expression body will run the code every time, which is not the intended/expected behavior of initializer\n const useExpressionBodiedPropertySyntax = this.get && !this.init && !this.set && this.initializer != null;\n if ((this.get || this.init || this.set) && !useExpressionBodiedPropertySyntax) {\n writer.write(\" { \");\n if (this.get) {\n if (!this.hasSameAccess(this.get)) {\n writer.write(`${this.get} `);\n }\n if (this.accessors?.get) {\n writer.write(\"get\");\n writer.write(` => `);\n this.accessors.get(writer);\n writer.writeTextStatement(\"\");\n } else {\n writer.write(\"get; \");\n }\n }\n if (this.init) {\n // if init is accessible to the end user (public, or protected through inheritance),\n // we should not expose init to the user on .NET Framework\n const needsFallback =\n (this.access === Access.Public || this.access === Access.Protected) &&\n (this.init === true || this.init === Access.Public || this.init === Access.Protected);\n if (needsFallback) {\n writer.writeLine();\n writer.writeNoIndent(\"#if NET5_0_OR_GREATER\\n\");\n if (!this.hasSameAccess(this.init)) {\n writer.write(`${this.init} `);\n }\n writer.writeTextStatement(\"init\");\n writer.writeNoIndent(\"#else\\n\");\n writer.writeTextStatement(\"set\");\n writer.writeNoIndent(\"#endif\\n\");\n } else {\n if (!this.hasSameAccess(this.init)) {\n writer.write(`${this.init} `);\n }\n\n if (this.accessors?.init) {\n writer.write(\"init\");\n writer.write(` => `);\n this.accessors.init(writer);\n writer.writeTextStatement(\"\");\n } else {\n writer.write(\"init; \");\n }\n }\n }\n if (this.set) {\n if (!this.hasSameAccess(this.set)) {\n writer.write(`${this.set} `);\n }\n\n if (this.accessors?.set) {\n writer.write(\"set\");\n writer.write(` => `);\n this.accessors.set(writer);\n writer.writeTextStatement(\"\");\n } else {\n writer.write(\"set; \");\n }\n }\n writer.write(\"}\");\n }\n\n if (this.initializer != null) {\n if (useExpressionBodiedPropertySyntax) {\n writer.write(\" => \");\n } else {\n writer.write(\" = \");\n }\n this.initializer.write(writer);\n writer.writeLine(\";\");\n } else if (!this.skipDefaultInitializer && !isOptional && isCollection) {\n if (is.Type(this.type)) {\n this.type.writeEmptyCollectionInitializer(writer);\n }\n } else if (!this.get && !this.init) {\n writer.writeLine(\";\");\n }\n }\n\n private hasSameAccess(access: Access | boolean): boolean {\n return access === true || access === this.access;\n }\n}\n","import { assertNever } from \"@fern-api/core-utils\";\nimport { type Generation } from \"../../context/generation-info\";\nimport { is } from \"../../utils/type-guards\";\nimport { MemberNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Access } from \"../language/Access\";\nimport { Annotation } from \"../language/Annotation\";\nimport { CodeBlock } from \"../language/CodeBlock\";\nimport { Parameter } from \"../language/Parameter\";\nimport { XmlDocBlock } from \"../language/XmlDocBlock\";\nimport { ClassReference } from \"./ClassReference\";\nimport { Type } from \"./IType\";\n\nexport enum MethodType {\n INSTANCE,\n STATIC\n}\n\nexport class Method extends MemberNode {\n public readonly name: string;\n public readonly isAsync: boolean;\n public readonly access: Access | undefined;\n public readonly return: Type | undefined;\n public readonly noBody: boolean;\n public readonly body: CodeBlock | undefined;\n private readonly bodyType: Method.BodyType;\n public readonly summary: string | undefined;\n private readonly doc: XmlDocBlock;\n public readonly type: MethodType;\n public readonly reference: ClassReference | undefined;\n public readonly override: boolean;\n private readonly parameters: Parameter[];\n private readonly typeParameters: Type[];\n private readonly annotations: Annotation[];\n private readonly interfaceReference?: ClassReference;\n\n constructor(\n {\n name,\n isAsync,\n override,\n access,\n return_,\n body,\n noBody,\n bodyType,\n summary,\n doc,\n type,\n classReference,\n parameters,\n typeParameters,\n annotations,\n codeExample,\n interfaceReference,\n origin,\n enclosingType\n }: Method.Args,\n generation: Generation\n ) {\n super({ enclosingType }, origin, generation);\n this.name = name;\n this.isAsync = isAsync ?? false;\n this.override = override ?? false;\n this.access = access;\n this.return = return_;\n this.noBody = noBody ?? false;\n this.body = body;\n this.bodyType = bodyType ?? Method.BodyType.Statement;\n this.summary = summary;\n this.doc = this.csharp.xmlDocBlockOf(doc ?? { summary, codeExample });\n this.type = type ?? MethodType.INSTANCE;\n this.reference = classReference;\n this.parameters = parameters ?? [];\n this.typeParameters = typeParameters ?? [];\n this.annotations = (annotations ?? []).map((annotation) =>\n annotation instanceof ClassReference ? this.csharp.annotation({ reference: annotation }) : annotation\n );\n this.interfaceReference = interfaceReference;\n }\n\n public get isAsyncEnumerable(): boolean {\n return is.AsyncEnumerable(this.return);\n }\n\n public addParameter(parameterArgs: Parameter.Args): Parameter;\n public addParameter(parameter: Parameter): Parameter;\n public addParameter(parameter: Parameter | Parameter.Args): Parameter {\n if (!(parameter instanceof Parameter)) {\n parameter = new Parameter(parameter, this.generation);\n }\n this.parameters.push(parameter);\n return parameter;\n }\n\n public write(writer: Writer): void {\n writer.writeNode(this.doc);\n\n this.annotations.forEach((annotation) => {\n annotation.write(writer);\n });\n writer.writeNewLineIfLastLineNot();\n\n if (this.access) {\n writer.write(`${this.access} `);\n }\n if (this.type === MethodType.STATIC) {\n writer.write(\"static \");\n }\n if (this.isAsync) {\n writer.write(\"async \");\n }\n if (this.override) {\n writer.write(\"override \");\n }\n if (this.return == null) {\n if (this.isAsync) {\n writer.writeNode(this.System.Threading.Tasks.Task());\n writer.write(\" \");\n } else {\n writer.write(\"void \");\n }\n } else {\n if (this.isAsync && !this.isAsyncEnumerable) {\n writer.writeNode(this.System.Threading.Tasks.Task(this.return));\n } else {\n this.return.write(writer);\n }\n writer.write(\" \");\n }\n if (this.interfaceReference) {\n writer.write(`${this.interfaceReference.name}.`);\n }\n writer.write(this.name);\n if (this.typeParameters.length > 0) {\n writer.write(\"<\");\n this.typeParameters.forEach((typeParameter, idx) => {\n typeParameter.write(writer);\n if (idx < this.typeParameters.length - 1) {\n writer.write(\", \");\n }\n });\n writer.write(\">\");\n }\n writer.write(\"(\");\n this.parameters.forEach((parameter, idx) => {\n parameter.write(writer);\n if (idx < this.parameters.length - 1) {\n writer.write(\", \");\n }\n });\n writer.write(\")\");\n if (this.noBody) {\n writer.writeLine(\";\");\n } else {\n switch (this.bodyType) {\n case Method.BodyType.Statement:\n writer.write(\" \");\n writer.pushScope();\n\n this.body?.write(writer);\n writer.popScope();\n break;\n case Method.BodyType.Expression:\n writer.write(\" => \");\n this.body?.write(writer);\n writer.writeSemicolonIfLastCharacterIsNot();\n break;\n default:\n assertNever(this.bodyType);\n }\n }\n }\n\n public getParameters(): Parameter[] {\n return this.parameters;\n }\n}\n\nexport namespace Method {\n export interface Args extends MemberNode.Args {\n /* Any annotations to add to the method */\n annotations?: (Annotation | ClassReference)[];\n /* Summary for the method */\n summary?: string;\n doc?: XmlDocBlock.Like;\n /* The access of the method */\n access?: Access;\n /* The type of the method, defaults to INSTANCE */\n type?: MethodType;\n /* Whether the method overrides a method in it's base class */\n override?: boolean;\n /* Whether the method is sync or async. Defaults to false. */\n isAsync?: boolean;\n /* The return type of the method */\n return_?: ClassReference | Type;\n /* The name of the method */\n name: string;\n /* The parameters of the method */\n typeParameters?: Type[];\n /* The parameters of the method */\n parameters?: Parameter[];\n /* If true, no method body will be written. This is for interface methods. */\n noBody?: boolean;\n /* The body of the method */\n body?: CodeBlock;\n /* The body type of the method */\n bodyType?: BodyType;\n /* The class this method belongs to, if any */\n classReference?: ClassReference;\n /* Any code example to add to the method */\n codeExample?: string;\n /* If specified, use the interface name in front of the method name */\n interfaceReference?: ClassReference;\n }\n\n export const BodyType = {\n Statement: \"statement\",\n Expression: \"expression\"\n } as const;\n export type BodyType = (typeof BodyType)[keyof typeof BodyType];\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { Block } from \"../code/Block\";\nimport { type ClassInstantiation } from \"../code/ClassInstantiation\";\nimport { MethodInvocation } from \"../code/MethodInvocation\";\nimport { AstNode } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Access } from \"../language/Access\";\nimport { Annotation } from \"../language/Annotation\";\nimport { CodeBlock } from \"../language/CodeBlock\";\nimport { Parameter } from \"../language/Parameter\";\nimport { XmlDocBlock } from \"../language/XmlDocBlock\";\nimport { ClassReference } from \"./ClassReference\";\nimport { DefinedType } from \"./DefinedType\";\nimport { Field } from \"./Field\";\nimport { Interface } from \"./Interface\";\nimport { Type } from \"./IType\";\nimport { MethodType } from \"./Method\";\n\nexport class Class extends DefinedType {\n public static readonly ClassType = {\n Class: \"class\",\n Record: \"record\",\n Struct: \"struct\",\n RecordStruct: \"record struct\"\n } as const;\n public static readonly Access = Access;\n\n public readonly static_: boolean;\n public readonly abstract_: boolean;\n public readonly sealed: boolean;\n public readonly readonly: boolean;\n public readonly parentClassReference: AstNode | undefined;\n public readonly type: Class.ClassType;\n public readonly summary: string | undefined;\n private readonly doc: XmlDocBlock;\n public readonly annotations: Annotation[] = [];\n public readonly primaryConstructor: Class.PrimaryConstructor | undefined;\n public readonly namespaceReferences: string[] = [];\n\n private constructors: Class.Constructor[] = [];\n private operators: Class.Operator[] = [];\n private nestedClasses: Class[] = [];\n private nestedInterfaces: Interface[] = [];\n\n constructor(\n {\n name,\n namespace,\n access,\n static_,\n abstract_,\n sealed,\n partial,\n readonly,\n parentClassReference,\n interfaceReferences,\n enclosingType,\n type,\n summary,\n doc,\n annotations,\n primaryConstructor,\n origin\n }: Class.Args,\n generation: Generation\n ) {\n super({ name, namespace, access, partial, interfaceReferences, enclosingType, origin }, generation);\n\n this.static_ = static_ ?? false;\n this.abstract_ = abstract_ ?? false;\n this.sealed = sealed ?? false;\n this.readonly = readonly ?? false;\n this.type = type ?? Class.ClassType.Class;\n this.summary = summary;\n this.doc = this.csharp.xmlDocBlockOf(doc ?? { summary });\n this.parentClassReference = parentClassReference;\n this.annotations = (annotations ?? []).map((annotation) =>\n annotation instanceof ClassReference ? this.csharp.annotation({ reference: annotation }) : annotation\n );\n this.primaryConstructor = primaryConstructor;\n }\n\n public addConstructor(constructor: Class.Constructor.Args): Class.Constructor {\n const ctor = new Class.Constructor(constructor, this.generation);\n this.constructors.push(ctor);\n return ctor;\n }\n\n public addNestedClass(subClassArgs: Class.Args): Class;\n public addNestedClass(subClass: Class): Class;\n public addNestedClass(subClass: Class | Class.Args): Class {\n if (!(subClass instanceof Class)) {\n // Set the enclosing type context\n subClass.enclosingType = this.reference;\n subClass = new Class(subClass, this.generation);\n }\n if (!subClass.isNested) {\n throw new Error(\n `Set the enclosingType of the class ${this.name} to add the nested class ${subClass.name}.`\n );\n }\n this.nestedClasses.push(subClass);\n return subClass;\n }\n\n public addNestedClasses(subClasses: Class[] | Class.Args[]): void {\n subClasses.forEach((subClass) => {\n if (subClass instanceof Class) {\n this.addNestedClass(subClass);\n } else {\n this.addNestedClass(subClass);\n }\n });\n }\n\n public addAnnotation(annotationArgs: Annotation.Args): Annotation;\n public addAnnotation(annotation: Annotation): Annotation;\n public addAnnotation(annotation: Annotation | Annotation.Args): Annotation {\n if (!(annotation instanceof Annotation)) {\n annotation = new Annotation(annotation, this.generation);\n }\n this.annotations.push(annotation);\n return annotation;\n }\n\n public addOperator(operator: Class.Operator): void {\n this.operators.push(operator);\n }\n\n public addOperators(operators: Class.Operator[]): void {\n operators.forEach((operator) => this.addOperator(operator));\n }\n\n public write(writer: Writer): void {\n // tell the writer of any namespaces that this class references\n this.namespaceReferences.forEach((namespace) => {\n writer.addNamespace(namespace);\n });\n\n if (!this.isNested) {\n writer.writeLine(`namespace ${this.namespace};`);\n writer.newLine();\n }\n\n writer.writeNode(this.doc);\n this.annotations.forEach((annotation) => {\n annotation.write(writer);\n });\n writer.writeNewLineIfLastLineNot();\n writer.write(`${this.access}`);\n if (this.static_) {\n writer.write(\" static\");\n }\n if (this.abstract_) {\n writer.write(\" abstract\");\n }\n if (this.sealed) {\n writer.write(\" sealed\");\n }\n if (this.readonly) {\n writer.write(\" readonly\");\n }\n if (this.partial) {\n writer.write(\" partial\");\n }\n writer.write(` ${this.type}`);\n writer.write(` ${this.name}`);\n if (this.primaryConstructor != null && this.primaryConstructor.parameters.length > 0) {\n const primaryConstructor = this.primaryConstructor;\n writer.write(\"(\");\n primaryConstructor.parameters.forEach((parameter, index) => {\n if (index > 0) {\n writer.write(\",\");\n }\n parameter.write(writer);\n });\n writer.write(\")\");\n }\n if (this.parentClassReference != null || this.interfaceReferences.length > 0) {\n writer.write(\" : \");\n if (this.parentClassReference != null) {\n this.parentClassReference.write(writer);\n if (this.interfaceReferences.length > 0) {\n writer.write(\", \");\n }\n }\n if (this.primaryConstructor != null && this.primaryConstructor.superClassArguments.length > 0) {\n const primaryConstructor = this.primaryConstructor;\n writer.write(\"(\");\n this.primaryConstructor.superClassArguments.forEach((argument, index) => {\n argument.write(writer);\n if (index < primaryConstructor.superClassArguments.length - 1) {\n writer.write(\", \");\n }\n });\n writer.write(\")\");\n }\n this.interfaceReferences.forEach((interfaceReference, index) => {\n interfaceReference.write(writer);\n // Don't write a comma after the last interface\n if (index < this.interfaceReferences.length - 1) {\n writer.write(\", \");\n }\n });\n }\n if (!this.hasBody()) {\n writer.write(\";\");\n return;\n }\n\n writer.writeNewLineIfLastLineNot();\n writer.pushScope();\n\n this.writeConsts(writer);\n this.writeFieldFields(writer);\n this.writeConstructors(writer);\n this.writeProperties(writer);\n this.writeMethods(writer);\n this.writeOperators(writer);\n this.writeNestedClasses(writer);\n this.writeNestedInterfaces(writer);\n\n writer.popScope();\n }\n\n private hasBody(): boolean {\n return (\n this.fields.length > 0 ||\n this.constructors.length > 0 ||\n this.nestedClasses.length > 0 ||\n this.nestedInterfaces.length > 0 ||\n this.methods.length > 0 ||\n this.operators.length > 0\n );\n }\n\n private writeConstructors(writer: Writer): void {\n this.constructors.forEach((constructor) => {\n writer.writeNode(this.csharp.xmlDocBlockOf(constructor.doc));\n writer.write(`${constructor.access} ${this.name} (`);\n constructor.parameters.forEach((parameter, index) => {\n parameter.write(writer);\n if (index < constructor.parameters.length - 1) {\n writer.write(\", \");\n }\n });\n writer.write(\")\");\n if (constructor.baseConstructorCall != null) {\n writer.write(\" : \");\n constructor.baseConstructorCall.write(writer);\n }\n writer.pushScope();\n constructor.body.write(writer);\n writer.popScope();\n writer.newLine();\n });\n }\n\n private writeFields({ writer, fields }: { writer: Writer; fields: Field[] }): void {\n fields.forEach((field, index) => {\n field.write(writer);\n writer.writeNewLineIfLastLineNot();\n\n if (index < this.fields.length - 1) {\n writer.newLine();\n }\n });\n }\n\n private writeConsts(writer: Writer): void {\n this.writeFields({\n writer,\n fields: this.getFields().sort(sortByAccess).sort(sortByStatic).filter(this.fieldConstFilter())\n });\n }\n\n private writeFieldFields(writer: Writer): void {\n this.writeFields({\n writer,\n fields: this.getFields().sort(sortByAccess).sort(sortByStatic).filter(this.fieldFieldFilter())\n });\n }\n\n private writeProperties(writer: Writer): void {\n this.writeFields({\n writer,\n fields: this.getFields().sort(sortByAccess).sort(sortByStatic).filter(this.fieldPropertyFilter())\n });\n }\n\n private writeMethods(writer: Writer): void {\n this.methods\n .sort(sortByAccess)\n .sort(sortMethodName)\n .sort(sortMethodType)\n .forEach((method) => {\n method.write(writer);\n writer.writeNewLineIfLastLineNot();\n writer.newLine();\n });\n }\n\n private writeOperators(writer: Writer): void {\n this.operators.forEach((operator) => {\n this.writeOperator({ writer, operator });\n writer.newLine();\n });\n }\n\n private writeNestedClasses(writer: Writer): void {\n this.nestedClasses.sort(sortByAccess).forEach((nestedClass, index) => {\n nestedClass.write(writer);\n writer.writeNewLineIfLastLineNot();\n\n if (index < this.fields.length - 1) {\n writer.newLine();\n }\n });\n }\n\n private writeNestedInterfaces(writer: Writer): void {\n this.nestedInterfaces.sort(sortByAccess).forEach((nestedInterface, index) => {\n nestedInterface.write(writer);\n writer.writeNewLineIfLastLineNot();\n\n if (index < this.fields.length - 1) {\n writer.newLine();\n }\n });\n }\n\n private fieldConstFilter(): (field: Field) => boolean {\n return (field) => field.isConst;\n }\n\n private fieldFieldFilter(): (field: Field) => boolean {\n return (field) => field.isField;\n }\n\n private fieldPropertyFilter(): (field: Field) => boolean {\n return (field) => field.isProperty;\n }\n\n public getFields(): Field[] {\n return this.fields;\n }\n\n public override get isReferenceType(): boolean {\n return this.type === Class.ClassType.Class || this.type === Class.ClassType.Record;\n }\n\n private writeOperator({ writer, operator }: { writer: Writer; operator: Class.Operator }): void {\n writer.write(\"public static \");\n if (operator.type === Class.CastOperator.Type.Explicit || operator.type === Class.CastOperator.Type.Implicit) {\n writer.write(`${operator.type} `);\n writer.write(\"operator \");\n const to = operator.to ?? this.reference;\n writer.writeNode(to);\n writer.write(\"(\");\n operator.parameter.write(writer);\n } else {\n const normalOperator = operator as Class.NormalOperator;\n normalOperator.return.write(writer);\n writer.write(\" operator \");\n writer.write(`${operator.type}(`);\n normalOperator.parameters.forEach((parameter, idx) => {\n parameter.write(writer);\n if (idx < normalOperator.parameters.length - 1) {\n writer.write(\", \");\n }\n });\n }\n if (operator.useExpressionBody) {\n writer.write(\") => \");\n writer.writeNodeStatement(operator.body);\n } else {\n writer.write(\") {\");\n writer.writeNode(operator.body);\n writer.writeLine(\"}\");\n }\n }\n\n public addNamespaceReference(namespace: string) {\n this.namespaceReferences.push(namespace);\n }\n}\n\nexport namespace Class {\n export type ClassType = (typeof Class.ClassType)[keyof typeof Class.ClassType];\n export interface Args extends DefinedType.Args {\n /* Defaults to false */\n static_?: boolean;\n /* Defaults to false */\n abstract_?: boolean;\n /* Defaults to false */\n sealed?: boolean;\n /* Defaults to false */\n readonly?: boolean;\n /* Defaults to class */\n type?: Class.ClassType;\n /* Summary for the class */\n summary?: string;\n doc?: XmlDocBlock.Like;\n /* The class to inherit from if any */\n parentClassReference?: AstNode;\n /* Any annotations to add to the class */\n annotations?: (Annotation | ClassReference)[];\n /* Any annotations to add to the class */\n primaryConstructor?: PrimaryConstructor;\n }\n\n export namespace Constructor {\n export interface Args {\n /* The XML doc block for the constructor */\n doc?: XmlDocBlock.Like;\n /* The body of the constructor */\n body?: CodeBlock;\n /* The parameters of the constructor */\n parameters?: Parameter[];\n /* The access of the constructor */\n access?: Access;\n /* The base constructor call, ex: public SomeClassName(string message) : base(message) { } */\n baseConstructorCall?: MethodInvocation;\n }\n }\n export class Constructor {\n /** The XML doc block for the constructor */\n doc?: XmlDocBlock.Like;\n /* The body of the constructor */\n body: Block;\n /* The parameters of the constructor */\n parameters: Parameter[];\n /* The access of the constructor */\n access: Access;\n /* The base constructor call, ex: public SomeClassName(string message) : base(message) { } */\n baseConstructorCall?: MethodInvocation;\n\n constructor(\n { doc, body, parameters, access, baseConstructorCall }: Constructor.Args,\n private readonly generation: Generation\n ) {\n this.parameters = parameters ?? [];\n this.access = access ?? Access.Public;\n this.doc = doc;\n this.body = new Block({}, this.generation);\n if (body != null) {\n this.body.append(body as CodeBlock);\n }\n\n this.baseConstructorCall = baseConstructorCall;\n }\n\n addParameter(args: Parameter.Args) {\n const parameter = new Parameter(args, this.generation);\n this.parameters.push(parameter);\n return parameter;\n }\n }\n\n export interface PrimaryConstructor {\n /* The parameters of the constructor */\n parameters: Parameter[];\n /* If this class extends another class, these will be the arguments passed to that parent class's constructor */\n superClassArguments: (CodeBlock | ClassInstantiation)[];\n }\n\n export interface CastOperator {\n parameter: Parameter;\n type: CastOperator.Type;\n to?: Type;\n body: CodeBlock;\n useExpressionBody?: boolean;\n }\n export namespace CastOperator {\n export const Type = {\n Implicit: \"implicit\",\n Explicit: \"explicit\"\n } as const;\n export type Type = (typeof CastOperator.Type)[keyof typeof CastOperator.Type];\n }\n export interface NormalOperator {\n type: \"==\" | \"!=\";\n parameters: Parameter[];\n return: Type;\n body: CodeBlock;\n useExpressionBody?: boolean;\n }\n export type Operator = CastOperator | NormalOperator;\n}\n\nfunction accessSorter(access: Access | undefined): number {\n switch (access) {\n case undefined:\n return 0;\n case Access.Private:\n return 1;\n case Access.Protected:\n return 2;\n case Access.Internal:\n return 3;\n case Access.Public:\n return 4;\n }\n}\n\nfunction sortByAccess(a: { access: Access | undefined }, b: { access: Access | undefined }): number {\n return accessSorter(a.access) - accessSorter(b.access);\n}\n\nfunction sortByStatic(a: { isStatic: boolean }, b: { isStatic: boolean }): number {\n return a.isStatic === b.isStatic ? 0 : a.isStatic ? -1 : 1;\n}\n\nfunction sortMethodType(a: { type: MethodType }, b: { type: MethodType }): number {\n if (a.type === MethodType.STATIC && b.type !== MethodType.STATIC) {\n return -1;\n }\n if (a.type !== MethodType.STATIC && b.type === MethodType.STATIC) {\n return 1;\n }\n return 0;\n}\n\nfunction sortMethodName(a: { name: string }, b: { name: string }): number {\n // put FromProto and ToProto 3rd from last\n if (a.name === \"FromProto\" || a.name === \"ToProto\") {\n return b.name === \"Equals\" || b.name === \"ToString\" ? -1 : 1;\n }\n if (b.name === \"FromProto\" || b.name === \"ToProto\") {\n return a.name === \"Equals\" || a.name === \"ToString\" ? 1 : -1;\n }\n // put ToString last\n if (a.name === \"ToString\") {\n return 1;\n }\n if (b.name === \"ToString\") {\n return -1;\n }\n // put Equals second to last\n if (a.name === \"Equals\") {\n return b.name === \"ToString\" ? -1 : 1;\n }\n if (b.name === \"Equals\") {\n return a.name === \"ToString\" ? 1 : -1;\n }\n return 0;\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { Node } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Access } from \"../language/Access\";\nimport { Annotation } from \"../language/Annotation\";\nimport { type ClassReference } from \"./ClassReference\";\n\nexport declare namespace Enum {\n interface Args extends Node.Args {\n /* The name of the C# enum */\n name: string;\n /* The namespace of the C# enum*/\n namespace: string;\n /* The access level of the C# enum */\n access: Access;\n /* Enum declaration annotations */\n annotations?: Annotation[];\n }\n\n interface Member {\n /* The name of the enum field */\n name: string;\n /* The value of the enum field */\n value: string;\n }\n\n interface _Member {\n /* The name of the enum field */\n name: string;\n /* The value of the enum field */\n value: Annotation;\n }\n}\n\nexport class Enum extends Node {\n public get name() {\n return this.reference.name;\n }\n public get namespace() {\n return this.reference.namespace;\n }\n\n public readonly access: Access;\n public readonly reference: ClassReference;\n\n private annotations: Annotation[];\n private fields: Enum._Member[] = [];\n\n constructor({ name, namespace, access, annotations, origin }: Enum.Args, generation: Generation) {\n super(origin, generation);\n this.reference = this.csharp.classReference({\n name: name,\n namespace: namespace,\n origin\n });\n\n this.access = access;\n this.annotations = annotations ?? [];\n }\n\n public getNamespace(): string {\n return this.namespace;\n }\n\n public addMember(field: Enum.Member): void {\n this.fields.push({\n name: field.name,\n value: this.csharp.annotation({\n reference: this.System.Runtime.Serialization.EnumMember,\n argument: this.csharp.codeblock((writer) => {\n writer.write(\"Value = \");\n writer.writeNode(this.csharp.string_({ string: field.value }));\n })\n })\n });\n }\n\n public write(writer: Writer): void {\n writer.writeLine(`namespace ${this.namespace};`);\n writer.newLine();\n\n for (const annotation of this.annotations) {\n annotation.write(writer);\n }\n writer.writeNewLineIfLastLineNot();\n\n writer.write(`${this.access} `);\n writer.write(\"enum \");\n writer.writeLine(`${this.name}`);\n writer.pushScope();\n\n this.fields.forEach((field, index) => {\n field.value.write(writer);\n writer.write(field.name);\n if (index < this.fields.length - 1) {\n writer.writeLine(\",\");\n writer.newLine();\n }\n });\n writer.writeNewLineIfLastLineNot();\n writer.popScope();\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { Writer } from \"../core/Writer\";\nimport { DefinedType } from \"./DefinedType\";\n\nexport declare namespace Interface {\n interface Args extends DefinedType.Args {}\n}\n\nexport class Interface extends DefinedType {\n constructor(\n { name, namespace, access, partial, interfaceReferences, enclosingType, origin }: Interface.Args,\n generation: Generation\n ) {\n super({ name, namespace, access, partial, interfaceReferences, enclosingType, origin }, generation);\n }\n\n public write(writer: Writer): void {\n if (!this.isNested) {\n writer.writeLine(`namespace ${this.namespace};`);\n writer.newLine();\n }\n writer.write(`${this.access} `);\n if (this.partial) {\n writer.write(\"partial \");\n }\n writer.write(\"interface \");\n writer.writeLine(`${this.name}`);\n\n if (this.interfaceReferences.length > 0) {\n writer.write(\" : \");\n this.interfaceReferences.forEach((interfaceReference, index) => {\n interfaceReference.write(writer);\n // Don't write a comma after the last interface\n if (index < this.interfaceReferences.length - 1) {\n writer.write(\", \");\n }\n });\n }\n writer.pushScope();\n for (const field of this.fields) {\n field.write(writer);\n writer.writeLine(\"\");\n }\n writer.dedent();\n\n writer.indent();\n for (const method of this.methods) {\n method.write(writer);\n writer.writeLine(\"\");\n }\n writer.popScope();\n }\n}\n","import { type Generation } from \"../../context/generation-info\";\nimport { Node } from \"../core/AstNode\";\nimport { Writer } from \"../core/Writer\";\nimport { Access } from \"../language/Access\";\nimport { CodeBlock } from \"../language/CodeBlock\";\nimport { Class } from \"./Class\";\nimport { type ClassReference } from \"./ClassReference\";\n\nexport declare namespace TestClass {\n interface Args extends Node.Args {\n /* The name of the C# class */\n name: string;\n /* The namespace of the C# class*/\n namespace: string;\n /* The class to inherit from if any */\n parentClassReference?: ClassReference;\n }\n\n interface TestMethod {\n /* The name of the C# test method */\n name: string;\n /* The body of the test method */\n body: CodeBlock;\n /* Whether the method is sync or async */\n isAsync: boolean;\n }\n}\n\nexport class TestClass extends Node {\n public get name() {\n return this.reference.name;\n }\n public get namespace() {\n return this.reference.namespace;\n }\n public readonly reference: ClassReference;\n public readonly parentClassReference: ClassReference | undefined;\n\n private testMethods: TestClass.TestMethod[] = [];\n\n constructor({ name, namespace, parentClassReference, origin }: TestClass.Args, generation: Generation) {\n super(origin, generation);\n this.reference = this.csharp.classReference({\n name: name,\n namespace: namespace,\n origin\n });\n this.parentClassReference = parentClassReference;\n }\n\n public write(writer: Writer): void {\n writer.writeNode(this.getClass());\n }\n\n public getClass(): Class {\n const _class = new Class(\n {\n access: Access.Public,\n name: this.name,\n namespace: this.namespace,\n annotations: [this.NUnit.Framework.TestFixture],\n parentClassReference: this.parentClassReference,\n origin: this.origin\n },\n this.generation\n );\n for (const testMethod of this.testMethods) {\n _class.addMethod({\n access: Access.Public,\n isAsync: testMethod.isAsync,\n name: testMethod.name,\n parameters: [],\n body: testMethod.body,\n annotations: [this.NUnit.Framework.Test]\n });\n }\n return _class;\n }\n\n public addTestMethod(testMethod: TestClass.TestMethod): void {\n this.testMethods.push(testMethod);\n }\n}\n","export type Namespace = string;\n\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { FernFilepath, IntermediateRepresentation, TypeId } from \"@fern-fern/ir-sdk/api\";\nimport { join } from \"path\";\nimport { is, text } from \"..\";\nimport * as ast from \"../ast\";\nimport { ClassReference } from \"../ast/types/ClassReference\";\nimport { Type } from \"../ast/types/IType\";\nimport { Collection, Primitive, Value } from \"../ast/types/Type\";\nimport { CSharp } from \"../csharp\";\nimport { type CsharpConfigSchema } from \"../custom-config\";\nimport { lazy } from \"../utils/lazy\";\nimport { camelCase, upperFirst } from \"../utils/text\";\n\nimport { MinimalGeneratorConfig, Support, TAbsoluteFilePath, TRelativeFilePath } from \"./common\";\nimport { Extern } from \"./extern\";\nimport { ModelNavigator } from \"./model-navigator\";\nimport { NameRegistry } from \"./name-registry\";\n\n/**\n * Central configuration and code generation context for C# SDK generation.\n *\n * This class serves as the single source of truth for all code generation decisions,\n * consolidating names, namespaces, types, and settings into a unified graph. It eliminates\n * duplication between dynamic and regular generators by providing consistent access to\n * generation metadata.\n *\n * ## Key Responsibilities:\n * - Manages namespace organization for generated C# code\n * - Provides standardized naming conventions for classes, types, and identifiers\n * - Lazily initializes and caches type references and configuration values\n * - Serves as a navigation hub for the IR (Intermediate Representation) model\n * - Coordinates between code generation utilities (CSharp, NameRegistry, etc.)\n *\n * ## Lazy Initialization:\n * All returned values use lazy initialization for performance:\n * - Parameterless functions: Evaluated once and cached on first access\n * - Parameterized functions: Remain as functions, evaluated on each call\n *\n * ## Usage Pattern:\n * ```typescript\n * const generation = new Generation(ir, apiName, config, generatorConfig);\n * const namespace = generation.namespaces.root; // Lazy-evaluated and cached\n * const pager = generation.types.Pager(itemType); // Function, evaluated each call\n * ```\n *\n * This object is safe to pass throughout the code generation pipeline and should be\n * the primary source for all naming and type reference decisions.\n */\nexport class Generation {\n /**\n * Creates a new Generation context for C# code generation.\n *\n * @param intermediateRepresentation - The Fern IR containing the API definition,\n * supports both static and dynamic IR formats\n * @param apiName - The name of the API being generated (used for namespace/class naming)\n * @param customConfig - User-provided custom configuration overrides for the generator\n * @param generatorConfig - Core generator configuration including organization and workspace info\n */\n constructor(\n public readonly intermediateRepresentation:\n | IntermediateRepresentation\n | FernIr.dynamic.DynamicIntermediateRepresentation,\n private readonly apiName: string,\n private readonly customConfig: CsharpConfigSchema,\n private readonly generatorConfig: MinimalGeneratorConfig,\n private readonly support: Support = {\n makeRelativeFilePath: (path) => path as TRelativeFilePath,\n makeAbsoluteFilePath: (path: string) => path as TAbsoluteFilePath,\n getNamespaceForTypeId: (typeId: TypeId) => \"\",\n getDirectoryForTypeId: (typeId: TypeId) => \"\",\n getCoreAsIsFiles: () => [],\n getCoreTestAsIsFiles: () => [],\n getPublicCoreAsIsFiles: () => [],\n getAsyncCoreAsIsFiles: () => [],\n getChildNamespaceSegments: (fernFilepath: FernFilepath) => []\n }\n ) {\n // Initialize the model navigator to traverse and query the IR\n this.model = new ModelNavigator(intermediateRepresentation, this);\n\n this.ir = is.IR.IntermediateRepresentation(intermediateRepresentation)\n ? intermediateRepresentation\n : ({} as IntermediateRepresentation);\n this.dir = is.DynamicIR.DynamicIntermediateRepresentation(intermediateRepresentation)\n ? intermediateRepresentation\n : ({} as FernIr.dynamic.DynamicIntermediateRepresentation);\n }\n\n public readonly ir: IntermediateRepresentation;\n public readonly dir: FernIr.dynamic.DynamicIntermediateRepresentation;\n\n /**\n * Utility for generating C# AST nodes and type references.\n * Provides methods for creating class references, type declarations, and other C# constructs.\n */\n public readonly csharp = new CSharp(this);\n\n /**\n * Registry for tracking and managing generated names to prevent collisions.\n * Ensures unique naming across namespaces, classes, properties, and other identifiers.\n */\n public readonly registry = new NameRegistry(this);\n\n /**\n * Navigator for traversing the IR model and querying type information.\n * Provides access to types, endpoints, errors, and other IR elements.\n */\n public readonly model: ModelNavigator;\n\n /**\n * Manager for external dependencies and imports.\n * Tracks which external packages and types are needed by the generated code.\n */\n public readonly extern = new Extern(this);\n\n /**\n * Lazily-initialized configuration settings for C# code generation.\n *\n * These settings control various aspects of the generated code including:\n * - Namespace configuration\n * - Feature flags (websockets, forward-compatible enums, etc.)\n * - Type generation options (discriminated unions, additional properties)\n * - Naming customization (client class names, exception classes)\n * - Testing options (mock server tests)\n * - Access modifiers and visibility settings\n *\n * All settings are derived from the custom configuration with sensible defaults.\n * Each property is lazily evaluated and cached on first access.\n */\n public readonly settings = lazy({\n /** The root namespace for all generated C# code (e.g., \"Acme.MyApi\"). Defaults to Organization_ApiName in camelCase. */\n namespace: () =>\n this.customConfig.namespace ??\n upperFirst(camelCase(`${this.generatorConfig.organization}_${this.apiName}`)),\n /** List of types that should use ReadOnlyMemory<byte> instead of byte[] for binary data. Default: []. */\n readOnlyMemoryTypes: () => this.customConfig[\"read-only-memory-types\"] ?? [],\n /** When true, simplifies object dictionaries in generated code for better type safety. Default: false. */\n simplifyObjectDictionaries: () => this.customConfig[\"simplify-object-dictionaries\"] ?? false,\n /** When true, uses fully-qualified namespaces in generated code to avoid naming conflicts. Default: false. */\n useFullyQualifiedNamespaces: () => this.customConfig[\"experimental-fully-qualified-namespaces\"] ?? false,\n /** When true, runs dotnet format on generated code for consistent formatting. Default: false. */\n useDotnetFormat: () => this.customConfig[\"experimental-dotnet-format\"] ?? false,\n /** When true, enables WebSocket support in the generated SDK. Default: false. */\n enableWebsockets: () => this.customConfig[\"experimental-enable-websockets\"] ?? false,\n /** When true, generates readonly constants instead of static properties. Default: false. */\n enableReadonlyConstants: () => this.customConfig[\"experimental-readonly-constants\"] ?? false,\n /** Temporary mapping of websocket environment configurations. Default: {}. */\n temporaryWebsocketEnvironments: () => this.customConfig[\"temporary-websocket-environments\"] ?? {},\n /** Custom name for the base API exception class. Default: \"\" (auto-generated). */\n baseApiExceptionClassName: () => this.customConfig[\"base-api-exception-class-name\"] ?? \"\",\n /** Custom name for the base exception class. Default: \"\" (auto-generated). */\n baseExceptionClassName: () => this.customConfig[\"base-exception-class-name\"] ?? \"\",\n /** When true, generates discriminated unions with type discriminators. Default: true. */\n shouldGeneratedDiscriminatedUnions: () => this.customConfig[\"use-discriminated-unions\"] ?? true,\n /** Custom name for the exported public client class. Default: \"\" (uses clientClassName or computed name). */\n exportedClientClassName: () => this.customConfig[\"exported-client-class-name\"] ?? \"\",\n /** Custom name for the internal client class. Default: \"\" (auto-generated from organization/workspace). */\n clientClassName: () => this.customConfig[\"client-class-name\"] ?? \"\",\n /** When true, places core classes in the root namespace instead of {root}.Core. Default: true. */\n rootNamespaceForCoreClasses: () => this.customConfig[\"root-namespace-for-core-classes\"] ?? true,\n /** Custom NuGet package identifier. Default: \"\" (uses root namespace). */\n packageId: () => this.customConfig[\"package-id\"] ?? \"\",\n /** When true, generates enums that can handle unknown/future values gracefully. Default: true. */\n isForwardCompatibleEnumsEnabled: () =>\n this.customConfig[\"enable-forward-compatible-enums\"] ??\n this.customConfig[\"experimental-enable-forward-compatible-enums\"] ??\n true,\n /** Mapping of websocket environment configurations. Default: {}. */\n websocketEnvironments: () => this.customConfig[\"temporary-websocket-environments\"] ?? {},\n /** When true, generates additional properties support for objects to handle extra fields. Default: true. */\n generateNewAdditionalProperties: () =>\n this.customConfig[\"additional-properties\"] ??\n this.customConfig[\"experimental-additional-properties\"] ??\n true,\n /** Custom name for the pagination class. Default: \"\" (auto-generated). */\n customPagerName: () => this.customConfig[\"custom-pager-name\"] ?? \"\",\n /** Custom name for the environment configuration class. Default: \"\" (auto-generated). */\n environmentClassName: () => this.customConfig[\"environment-class-name\"] ?? \"\",\n /** When true, generates dedicated error type classes for API errors. Default: true. */\n generateErrorTypes: () => this.customConfig[\"generate-error-types\"] ?? true,\n /** When true, inlines path parameters in method signatures instead of using a request object. Default: true. */\n shouldInlinePathParameters: () => this.customConfig[\"inline-path-parameters\"] ?? true,\n /** When true, includes exception handler infrastructure for custom error handling. Default: false. */\n includeExceptionHandler: () => this.customConfig[\"include-exception-handler\"] ?? false,\n /** Custom name for the exception interceptor class. Default: {PackageName}ExceptionInterceptor. */\n exceptionInterceptorClassName: () => this.customConfig[\"exception-interceptor-class-name\"] ?? \"\",\n /** When true, generates mock server tests for the SDK. Default: true. Also accepts enable-wire-tests as an alias. */\n shouldGenerateMockServerTests: () =>\n this.customConfig[\"generate-mock-server-tests\"] ?? this.customConfig[\"enable-wire-tests\"] ?? true,\n /** Access modifier for the root client class (Public or Internal). Default: Public. */\n rootClientAccess: () =>\n this.customConfig[\"root-client-class-access\"] == \"internal\" ? ast.Access.Internal : ast.Access.Public,\n /** Additional NuGet package dependencies to include in the generated project. Default: {}. */\n extraDependencies: () => this.customConfig[\"extra-dependencies\"] ?? {},\n /** When true, uses PascalCase for environment names (e.g., \"Production\" instead of \"production\"). Default: true. */\n pascalCaseEnvironments: () => this.customConfig[\"pascal-case-environments\"] ?? true,\n /** When true, requires explicit namespace declarations instead of using file-scoped namespaces. Default: false. */\n explicitNamespaces: () => this.customConfig[\"explicit-namespaces\"] === true,\n /**\n * Output path configuration for generated files.\n * Returns normalized paths for library, test, solution, and other files.\n */\n outputPath: () => {\n const config = this.customConfig[\"output-path\"];\n if (config == null) {\n // Default: all files go to \"src\" for library/test, \".\" for solution/other\n return {\n library: \"src\",\n test: \"src\",\n solution: \".\",\n other: \".\"\n };\n }\n if (typeof config === \"string\") {\n // Simple string: library and test go to that path, solution/other go to \".\"\n return {\n library: config,\n test: config,\n solution: \".\",\n other: \".\"\n };\n }\n // Object: use specified paths with defaults\n return {\n library: config.library ?? \"src\",\n test: config.test ?? \"src\",\n solution: config.solution ?? \".\",\n other: config.other ?? \".\"\n };\n }\n });\n\n public readonly constants = {\n folders: lazy({\n mockServerTests: () => this.support.makeRelativeFilePath(\"Unit/MockServer\"),\n types: () => \"Types\",\n exceptions: () => \"Exceptions\",\n src: () => \"src\",\n protobuf: () => \"proto\",\n serializationTests: () => this.support.makeRelativeFilePath(\"Unit/Serialization\"),\n project: () =>\n this.support.makeRelativeFilePath(\n join(\n this.constants.folders.sourceFiles,\n this.support.makeRelativeFilePath(this.names.files.project)\n )\n ),\n sourceFiles: () => this.support.makeRelativeFilePath(this.constants.folders.src),\n coreFiles: () =>\n this.support.makeRelativeFilePath(\n join(\n this.constants.folders.project,\n this.support.makeRelativeFilePath(this.constants.defaults.core)\n )\n ),\n publicCoreFiles: () =>\n this.support.makeRelativeFilePath(\n join(\n this.constants.folders.project,\n this.support.makeRelativeFilePath(this.constants.defaults.core),\n this.support.makeRelativeFilePath(this.constants.defaults.publicCore)\n )\n ),\n testFiles: () =>\n this.support.makeRelativeFilePath(\n join(\n this.constants.folders.sourceFiles,\n this.support.makeRelativeFilePath(this.names.files.testProject)\n )\n )\n }),\n\n formatting: lazy({\n indent: () => \" \"\n }),\n\n defaults: lazy({\n core: () => \"Core\",\n publicCore: () => \"Public\",\n version: () => \"0.0.0\"\n })\n };\n\n /**\n * Lazily-initialized namespace paths for organizing generated C# code.\n *\n * This object defines the namespace hierarchy used throughout the generated SDK:\n * - `root`: The top-level namespace for all generated code\n * - `core`: Internal implementation details and utilities (e.g., {root}.Core)\n * - `test`: Testing utilities and fixtures\n * - `testUtils`: Helper methods for tests\n * - `mockServerTest`: Mock server testing infrastructure\n * - `publicCore`: Public core utilities exposed to SDK users\n * - `asyncCore`: Asynchronous API utilities (websockets, streaming)\n * - `publicCoreTest`: Tests for public core functionality\n * - `asIsTestUtils`: Test utilities that preserve original casing\n * - `publicCoreClasses`: Location for core classes based on rootNamespaceForCoreClasses setting\n *\n * Namespaces are canonicalized through the NameRegistry to avoid conflicts with generated types.\n * All namespace paths are lazy-evaluated and cached on first access.\n */\n public readonly namespaces = lazy({\n /** The top-level root namespace for all generated SDK code (e.g., \"Acme.MyApi\"). */\n root: (): string => this.settings.namespace,\n /** Internal Core namespace for SDK implementation details and utilities ({root}.Core). */\n core: (): string => `${this.namespaces.root}.Core`,\n /** Test namespace for all test-related code, canonicalized to avoid conflicts ({root}.Test). */\n test: (): string => this.registry.canonicalizeNamespace(`${this.namespaces.root}.Test`),\n /** Test utilities namespace for helper methods and fixtures ({root}.Test.Utils). */\n testUtils: (): string => `${this.namespaces.test}.Utils`,\n /** Mock server test namespace for mock server testing infrastructure ({root}.Test.Unit.MockServer). */\n mockServerTest: (): string => `${this.namespaces.test}.Unit.MockServer`,\n /** Public Core namespace, same as root for publicly exposed core utilities. */\n publicCore: (): string => this.namespaces.root,\n /** Async Core namespace for asynchronous APIs like websockets and streaming ({root}.Core.Async). */\n asyncCore: (): string => `${this.namespaces.core}.Async`,\n /** Public Core test namespace for testing public core functionality ({root}.Test.PublicCore). */\n publicCoreTest: (): string => `${this.namespaces.root}.Test.PublicCore`,\n /** Test utilities namespace that preserves original casing ({root}.Test.Utils). */\n asIsTestUtils: (): string => `${this.namespaces.root}.Test.Utils`,\n /** Namespace for public core classes; either root or core based on rootNamespaceForCoreClasses setting. */\n publicCoreClasses: (): string =>\n this.settings.rootNamespaceForCoreClasses ? this.namespaces.root : this.namespaces.core,\n /** Implicit namespaces are namespaces that are assumed to be automatically imported into the generated code. */\n implicit: (): Set<string> =>\n new Set([\n \"System\",\n \"System.Collections.Generic\",\n \"System.IO\",\n \"System.Linq\",\n \"System.Threading\",\n \"System.Threading.Tasks\",\n \"System.Net.Http\"\n ])\n });\n\n /**\n * Lazily-initialized names for key generated classes and identifiers.\n \n *\n * Names are computed using naming conventions (camelCase, upperFirst) and can be\n * overridden via custom configuration. All names are lazy-evaluated and cached.\n */\n public readonly names = {\n classes: lazy({\n /** The name of the base API exception class (e.g., \"AcmeWidgetsApiException\"). */\n baseApiException: (): string =>\n this.settings.baseApiExceptionClassName || `${this.names.project.clientPrefix}ApiException`,\n /** The name of the base exception class for all SDK exceptions (e.g., \"AcmeWidgetsException\"). */\n baseException: (): string =>\n this.settings.baseExceptionClassName || `${this.names.project.clientPrefix}Exception`,\n /** The name of the main internal SDK client class (e.g., \"AcmeWidgetsClient\"). */\n rootClient: (): string => this.settings.clientClassName || `${this.names.project.clientPrefix}Client`,\n /** The name of the client class used in documentation snippets and examples. */\n rootClientForSnippets: (): string => this.settings.exportedClientClassName || this.names.classes.rootClient,\n /** The name for custom pagination classes (e.g., \"AcmeWidgetsPager\"), alphanumeric only. */\n customPager: (): string =>\n this.settings.customPagerName || `${this.names.project.packageId.replace(/[^a-zA-Z0-9]/g, \"\")}Pager`,\n /** The name for the environment configuration class (e.g., \"AcmeWidgetsEnvironment\"). */\n environment: (): string =>\n this.settings.environmentClassName || `${this.names.project.clientPrefix}Environment`,\n /** The name for the custom exception interceptor class (e.g., \"AcmeWidgetsExceptionInterceptor\"). */\n exceptionInterceptor: (): string =>\n this.settings.exceptionInterceptorClassName ||\n `${this.names.project.packageId.replace(/[^a-zA-Z0-9]/g, \"\")}ExceptionInterceptor`\n }),\n project: lazy({\n /** The computed client name derived from organization and workspace in camelCase (e.g., \"AcmeWidgets\"). */\n client: () =>\n upperFirst(camelCase(`${this.generatorConfig.organization}_${this.generatorConfig.workspaceName}`)),\n /** The prefix used for client-related classes, customizable via config or defaults to clientName. */\n clientPrefix: () =>\n this.settings.exportedClientClassName || this.settings.clientClassName || this.names.project.client,\n /** The NuGet package identifier for the generated SDK, defaults to root namespace if not specified. */\n packageId: () => this.settings.packageId || this.namespaces.root\n }),\n files: lazy({\n /* the name of the project */\n project: () => this.namespaces.root,\n /* the name of the test project */\n testProject: () => `${this.namespaces.root}.Test`\n }),\n methods: lazy({\n mockOauth: () => \"MockOAuthEndpoint\",\n getAccessTokenAsync: () => \"GetAccessTokenAsync\"\n }),\n variables: lazy({\n client: () => \"client\",\n response: () => \"response\",\n httpRequest: () => \"httpRequest\",\n sendRequest: () => \"sendRequest\",\n responseBody: () => \"responseBody\",\n query: () => \"_query\",\n headers: () => \"_headers\"\n }),\n parameters: lazy({\n cancellationToken: () => \"cancellationToken\",\n requestOptions: () => \"options\",\n idempotentOptions: () => \"options\"\n })\n };\n\n /**\n * Lazily-initialized C# type references for core SDK classes and utilities.\n *\n * This object provides type references for all core infrastructure classes used in the\n * generated SDK. These references are used throughout code generation to ensure consistent\n * type usage and proper namespace imports.\n *\n * ## Categories of Types:\n *\n * ### Request/Response Handling:\n * - `FormRequest`, `JsonRequest`: Request builders for different content types\n * - `ClientOptions`, `RequestOptions`: Configuration objects for API calls\n * - `RawClient`, `RawGrpcClient`: Low-level HTTP/gRPC clients\n * - `Headers`: HTTP header management\n *\n * ### Client Infrastructure:\n * - `RootClient`, `RootClientForSnippets`: Main SDK client classes\n * - `TestClient`: Testing infrastructure\n * - `AsyncApi`: Asynchronous API support (websockets, streaming)\n *\n * ### Error Handling:\n * - `BaseException`, `BaseApiException`: Exception hierarchy\n * - `ExceptionInterceptor`, `ExceptionHandler`: Exception processing\n *\n * ### Serialization:\n * - `EnumSerializer`, `StringEnumSerializer`: Enum serialization\n * - `DateTimeSerializer`: DateTime handling\n * - `JsonUtils`: JSON utilities\n * - `OneOfSerializer`: Union type serialization\n * - `CollectionItemSerializer`: Collection element serialization\n * - `ProtoConverter`, `ProtoAnyMapper`: Protocol buffer conversion\n *\n * ### Pagination:\n * - `Pager`: Base pagination interface\n * - `CustomPagerClass`: Custom pagination implementation\n * - `OffsetPager`: Offset-based pagination\n * - `CursorPager`: Cursor-based pagination\n * - `CustomPagerFactory`, `CustomPagerContext`: Pagination utilities\n *\n * ### Additional Properties:\n * - `AdditionalProperties`: Mutable additional properties\n * - `ReadOnlyAdditionalProperties`: Immutable additional properties\n *\n * ### Other Utilities:\n * - `Version`: SDK version information\n * - `ValueConvert`: Value conversion utilities\n * - `FileParameter`: File upload support\n * - `Constants`: SDK constants\n * - `Environments`: Environment configuration\n * - `Extensions`: Extension methods\n * - `OAuthTokenProvider`: OAuth authentication\n * - `QueryBuilder`: Query string building\n * - `IStringEnum`, `StringEnum`: String-based enum support\n *\n * ## Usage Patterns:\n *\n * ### Non-Generic Types (cached):\n * ```typescript\n * const clientType = generation.Types.RootClient; // Returns cached ClassReference\n * ```\n *\n * ### Generic Types (evaluated per call):\n * ```typescript\n * const pager = generation.Types.Pager(itemType); // Returns new ClassReference each time\n * const asyncApi = generation.Types.AsyncApi(messageType);\n * ```\n *\n * All type references include proper namespace information and are registered with\n * the NameRegistry to ensure correct imports in generated code.\n */\n public readonly Types = lazy({\n Arbitrary: (name: string) => new Primitive.AribitraryType(name, this),\n HttpMethodExtensions: () =>\n this.csharp.classReference({\n namespace: this.namespaces.core,\n origin: this.model.staticExplicit(\"HttpMethodExtensions\")\n }),\n /** Core infrastructure type for building multipart/form-data requests */\n FormRequest: () =>\n this.csharp.classReference({\n namespace: this.namespaces.core,\n origin: this.model.staticExplicit(\"FormRequest\")\n }),\n /** Configuration options for the SDK client (base URL, headers, timeout, etc.) */\n ClientOptions: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"ClientOptions\"),\n namespace: this.namespaces.publicCoreClasses\n }),\n /** Low-level HTTP client wrapper for making raw API calls */\n RawClient: () =>\n this.csharp.classReference({\n namespace: this.namespaces.core,\n origin: this.model.staticExplicit(\"RawClient\")\n }),\n /** Per-request configuration options (headers, timeout overrides, etc.) */\n RequestOptions: () =>\n this.csharp.classReference({\n namespace: this.namespaces.publicCoreClasses,\n origin: this.model.staticExplicit(\"RequestOptions\")\n }),\n /** Interface for per-request configuration options */\n RequestOptionsInterface: () =>\n this.csharp.classReference({\n namespace: this.namespaces.core,\n origin: this.model.staticExplicit(\"IRequestOptions\")\n }),\n /** Core infrastructure type for building JSON requests */\n JsonRequest: () =>\n this.csharp.classReference({\n namespace: this.namespaces.core,\n origin: this.model.staticExplicit(\"JsonRequest\")\n }),\n /** SDK version metadata class */\n Version: () =>\n this.csharp.classReference({\n namespace: this.namespaces.publicCore,\n origin: this.model.staticExplicit(\"Version\")\n }),\n /** Utility for converting values between different representations */\n ValueConvert: () =>\n this.csharp.classReference({\n namespace: this.namespaces.core,\n origin: this.model.staticExplicit(\"ValueConvert\")\n }),\n /** Wrapper for file upload parameters in multipart requests */\n FileParameter: () =>\n this.csharp.classReference({\n namespace: this.namespaces.publicCore,\n origin: this.model.staticExplicit(\"FileParameter\"),\n multipartMethodName: \"AddFileParameterPart\",\n multipartMethodNameForCollection: \"AddFileParameterParts\",\n isReferenceType: true\n }),\n /** HTTP header management utilities */\n Headers: () =>\n this.csharp.classReference({\n namespace: this.namespaces.core,\n origin: this.model.staticExplicit(\"Headers\")\n }),\n /** HTTP header value management utilities */\n HeaderValue: () =>\n this.csharp.classReference({\n namespace: this.namespaces.core,\n origin: this.model.staticExplicit(\"HeaderValue\")\n }),\n /** The main SDK client class (for code generation) */\n RootClient: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(this.names.classes.rootClient),\n namespace: this.namespaces.root\n }),\n /** The main SDK client class (for documentation snippets) */\n RootClientForSnippets: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(this.names.classes.rootClientForSnippets),\n namespace: this.namespaces.root\n }),\n /** Base exception class for API errors (HTTP 4xx/5xx responses) */\n BaseApiException: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(this.names.classes.baseApiException),\n namespace: this.namespaces.publicCoreClasses\n }),\n /** Base exception class for all SDK exceptions */\n BaseException: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(this.names.classes.baseException),\n namespace: this.namespaces.publicCoreClasses\n }),\n /** Interface for intercepting and processing exceptions */\n ExceptionInterceptor: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"IExceptionInterceptor\"),\n namespace: this.namespaces.core\n }),\n /** Utility for handling and transforming exceptions */\n ExceptionHandler: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"ExceptionHandler\"),\n namespace: this.namespaces.core\n }),\n /** Custom exception interceptor class for SDK authors to implement */\n CustomExceptionInterceptor: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(this.names.classes.exceptionInterceptor),\n namespace: this.namespaces.core\n }),\n /** Utility for mapping Protocol Buffer Any types */\n ProtoAnyMapper: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"ProtoAnyMapper\"),\n namespace: this.namespaces.core\n }),\n /** SDK-wide constants */\n Constants: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"Constants\"),\n namespace: this.namespaces.core\n }),\n /** JSON serializer for enum types */\n EnumSerializer: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"EnumSerializer\"),\n namespace: this.namespaces.core\n }),\n /** JSON serializer for DateTime types */\n DateTimeSerializer: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"DateTimeSerializer\"),\n namespace: this.namespaces.core\n }),\n /** Utility methods for JSON serialization/deserialization */\n JsonUtils: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"JsonUtils\"),\n namespace: this.namespaces.core\n }),\n /** Factory for creating custom pagination instances */\n CustomPagerFactory: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(`${this.names.classes.customPager}Factory`),\n namespace: this.namespaces.core\n }),\n /** Context object for custom pagination state */\n CustomPagerContext: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(`${this.names.classes.customPager}Context`),\n namespace: this.namespaces.core\n }),\n /** Environment configuration class (base URLs for different environments) */\n Environments: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(this.names.classes.environment),\n namespace: this.namespaces.publicCoreClasses\n }),\n /** Test client for testing infrastructure */\n TestClient: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"TestClient\"),\n namespace: this.namespaces.test\n }),\n /** Base class for mock server tests */\n BaseMockServerTest: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"BaseMockServerTest\"),\n namespace: this.namespaces.mockServerTest\n }),\n /** Request options with idempotency key support */\n IdempotentRequestOptions: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"IdempotentRequestOptions\"),\n namespace: this.namespaces.publicCoreClasses\n }),\n /** Interface for idempotent request options */\n IdempotentRequestOptionsInterface: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"IIdempotentRequestOptions\"),\n namespace: this.namespaces.core\n }),\n /** Interface for string-based enum types */\n IStringEnum: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"IStringEnum\"),\n namespace: this.namespaces.core\n }),\n /** Configuration options for asynchronous APIs (websockets, streaming) */\n AsyncApiOptions: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"AsyncApiOptions\"),\n namespace: `${this.namespaces.asyncCore}.Models`\n }),\n /** Query string builder utility */\n QueryBuilder: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"Query\"),\n namespace: this.namespaces.asyncCore\n }),\n /** OAuth token provider for authentication */\n OAuthTokenProvider: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"OAuthTokenProvider\"),\n namespace: this.namespaces.core\n }),\n /** Converter for Protocol Buffer types */\n ProtoConverter: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"ProtoConverter\"),\n namespace: this.namespaces.core\n }),\n /** Low-level gRPC client wrapper */\n RawGrpcClient: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"RawGrpcClient\"),\n namespace: this.namespaces.core\n }),\n /** Extension methods for common operations */\n Extensions: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"Extensions\"),\n namespace: this.namespaces.core\n }),\n /** Request options for gRPC calls */\n GrpcRequestOptions: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"GrpcRequestOptions\"),\n namespace: this.namespaces.root\n }),\n /** Configuration options for gRPC channels */\n GrpcChannelOptions: () =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"GrpcChannelOptions\"),\n namespace: \"Grpc.Net.Client\"\n }),\n /**\n * Generic string-based enum wrapper type.\n * @param genericType - The specific enum type to wrap (optional)\n */\n StringEnum: (genericType?: ast.Type | ast.ClassReference) =>\n this.csharp.classReference({\n origin: this.model.staticExplicit(\"StringEnum\"),\n namespace: this.namespaces.core,\n generics: genericType ? [genericType] : undefined\n }),\n /**\n * Generic asynchronous API wrapper for websockets and streaming.\n * @param genericType - The message type for the async API\n */\n AsyncApi: (genericType: ast.Type | ast.ClassReference): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"AsyncApi\"),\n namespace: this.namespaces.asyncCore,\n generics: [genericType]\n });\n },\n /**\n * Generic event wrapper for asynchronous APIs.\n * @param genericType - The event payload type\n */\n AsyncEvent: (genericType: ast.Type | ast.ClassReference): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"Event\"),\n namespace: `${this.namespaces.asyncCore}.Events`,\n generics: [genericType]\n });\n },\n /**\n * JSON serializer for string-based enum types.\n * @param enumClassReference - The enum type to serialize\n */\n StringEnumSerializer: (enumClassReference: ast.Type | ast.ClassReference): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"StringEnumSerializer\"),\n namespace: this.namespaces.core,\n generics: [enumClassReference]\n });\n },\n /**\n * Custom pagination class for iterating over paged results.\n * @param itemType - The type of items in each page\n */\n CustomPagerClass: (itemType: ast.Type | ast.ClassReference): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(this.names.classes.customPager),\n namespace: this.namespaces.core,\n generics: [itemType]\n });\n },\n /**\n * Generic pager interface for pagination support.\n * @param itemType - The type of items being paginated\n */\n Pager: (itemType: ast.Type | ast.ClassReference): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"Pager\"),\n namespace: this.namespaces.core,\n generics: [itemType]\n });\n },\n /**\n * Offset-based pagination implementation.\n * Supports paginating through results using numeric offsets.\n *\n * @param requestType - The type of the pagination request\n * @param requestOptionsType - The type of request options\n * @param responseType - The type of the pagination response\n * @param offsetType - The type of the offset (usually int or long)\n * @param stepType - The type of the step/page size (usually int)\n * @param itemType - The type of items in the paginated results\n */\n OffsetPager: ({\n requestType,\n requestOptionsType,\n responseType,\n offsetType,\n stepType,\n itemType\n }: {\n requestType: ast.Type;\n requestOptionsType: ast.Type;\n responseType: ast.Type;\n offsetType: ast.Type;\n stepType: ast.Type;\n itemType: ast.Type;\n }): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"OffsetPager\"),\n namespace: this.namespaces.core,\n generics: [requestType, requestOptionsType, responseType, offsetType, stepType, itemType]\n });\n },\n /**\n * Cursor-based pagination implementation.\n * Supports paginating through results using opaque cursor tokens.\n *\n * @param requestType - The type of the pagination request\n * @param requestOptionsType - The type of request options\n * @param responseType - The type of the pagination response\n * @param cursorType - The type of the cursor token (usually string)\n * @param itemType - The type of items in the paginated results\n */\n CursorPager: ({\n requestType,\n requestOptionsType,\n responseType,\n cursorType,\n itemType\n }: {\n requestType: ast.Type;\n requestOptionsType: ast.Type;\n responseType: ast.Type;\n cursorType: ast.Type;\n itemType: ast.Type;\n }): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"CursorPager\"),\n namespace: this.namespaces.core,\n generics: [requestType, requestOptionsType, responseType, cursorType, itemType]\n });\n },\n /**\n * Custom JSON serializer for collection items.\n * Wraps items in a collection with a specific serializer implementation.\n *\n * @param itemType - The type of items in the collection\n * @param serializer - The serializer class to use for each item\n * @returns A ClassReference for CollectionItemSerializer<TItem, TSerializer>\n */\n CollectionItemSerializer: (\n itemType: ast.ClassReference,\n serializer: ast.ClassReference\n ): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"CollectionItemSerializer\"),\n namespace: this.namespaces.core,\n generics: [itemType, serializer]\n });\n },\n /**\n * JSON serializer for union/OneOf types.\n * Handles discriminated and undiscriminated union serialization.\n *\n * @param oneof - The union type to serialize\n * @returns A ClassReference for OneOfSerializer<TOneOf>\n */\n OneOfSerializer: (oneof: ast.Type | ast.ClassReference): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"OneOfSerializer\"),\n namespace: this.namespaces.core,\n generics: [oneof]\n });\n },\n /**\n * Mutable dictionary for additional/extra properties on objects.\n * Allows setting arbitrary key-value pairs beyond defined properties.\n *\n * @param genericType - The value type for additional properties (defaults to object if not specified)\n * @returns A ClassReference for AdditionalProperties or AdditionalProperties<T>\n */\n AdditionalProperties: (genericType?: ast.Type | ast.ClassReference): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"AdditionalProperties\"),\n namespace: this.namespaces.publicCore,\n generics: genericType ? [genericType] : undefined\n });\n },\n /**\n * Immutable read-only dictionary for additional/extra properties on objects.\n * Provides read-only access to arbitrary key-value pairs beyond defined properties.\n *\n * @param genericType - The value type for additional properties (defaults to object if not specified)\n * @returns A ClassReference for ReadOnlyAdditionalProperties or ReadOnlyAdditionalProperties<T>\n */\n ReadOnlyAdditionalProperties: (genericType?: ast.Type | ast.ClassReference): ast.ClassReference => {\n return this.csharp.classReference({\n origin: this.model.staticExplicit(\"ReadOnlyAdditionalProperties\"),\n namespace: this.namespaces.publicCore,\n generics: genericType ? [genericType] : undefined\n });\n }\n });\n public Primitive = lazy({\n /**\n * Creates a string type.\n *\n * @returns A Type object representing the C# string type\n */\n string: () => {\n return new Primitive.String(this);\n },\n /**\n * Creates a boolean type.\n *\n * @returns A Type object representing the C# bool type\n */\n boolean: () => {\n return new Primitive.Boolean(this);\n },\n /**\n * Creates an integer type.\n *\n * @returns A Type object representing the C# int type\n */\n integer: () => {\n return new Primitive.Integer(this);\n },\n /**\n * Creates a long type.\n *\n * @returns A Type object representing the C# long type\n */\n long: () => {\n return new Primitive.Long(this);\n },\n /**\n * Creates an unsigned integer type.\n *\n * @returns A Type object representing the C# uint type\n */\n uint: () => {\n return new Primitive.Uint(this);\n },\n /**\n * Creates an unsigned long type.\n *\n * @returns A Type object representing the C# ulong type\n */\n ulong: () => {\n return new Primitive.ULong(this);\n },\n /**\n * Creates a float type.\n *\n * @returns A Type object representing the C# float type\n */\n float: () => {\n return new Primitive.Float(this);\n },\n /**\n * Creates a double type.\n *\n * @returns A Type object representing the C# double type\n */\n double: () => {\n return new Primitive.Double(this);\n },\n /**\n * Creates an object type.\n *\n * @returns A Type object representing the C# object type\n */\n object: () => {\n return new Primitive.Object(this);\n }\n });\n public Value = lazy({\n /**\n * Creates a string type.\n *\n * @returns A Type object representing the C# string type\n */\n binary: () => {\n return new Value.Binary(this);\n },\n /**\n * Creates a DateOnly type.\n *\n * @returns A Type object representing the C# DateOnly type\n */\n dateOnly: () => {\n return new Value.DateOnly(this);\n },\n /**\n * Creates a DateTime type.\n *\n * @returns A Type object representing the C# DateTime type\n */\n dateTime: () => {\n return new Value.DateTime(this);\n },\n /**\n * Creates a Guid type.\n *\n * @returns A Type object representing the C# Guid type\n */\n uuid: () => {\n return new Value.Uuid(this);\n },\n /**\n * Creates a string enum type.\n *\n * @param value - The class reference for the string enum\n * @returns A Type object representing the string enum type\n */\n stringEnum: (value: ClassReference) => {\n return new Value.StringEnum(value, this);\n }\n });\n public Collection = lazy({\n /**\n * Creates an array type.\n *\n * @param value - The element type of the array\n * @returns A Type object representing the C# array type\n */\n array: (value: Type) => {\n return new Collection.Array(value, this);\n },\n /**\n * Creates a list type.\n *\n * @param value - The element type of the list\n * @returns A Type object representing the C# List<T> type\n */\n listType: (value: Type) => {\n return new Collection.ListType(value, this);\n },\n /**\n * Creates a generic list type.\n *\n * @param value - The element type of the list\n * @returns A Type object representing the C# List<T> type\n */\n list: (value: Type) => {\n return new Collection.List(value, this);\n },\n /**\n * Creates a set type.\n *\n * @param value - The element type of the set\n * @returns A Type object representing the C# HashSet<T> type\n */\n set: (value: Type) => {\n return new Collection.Set(value, this);\n },\n /**\n * Creates a map/dictionary type.\n *\n * @param keyType - The key type of the map\n * @param valueType - The value type of the map\n * @param options - Optional configuration for the map\n * @returns A Type object representing the C# Dictionary<TKey, TValue> type\n */\n map: (keyType: Type, valueType: Type, options?: { dontSimplify?: boolean }) => {\n return new Collection.Map(keyType, valueType, this, options);\n },\n /**\n * Creates an IDictionary type.\n *\n * @param keyType - The key type of the dictionary\n * @param valueType - The value type of the dictionary\n * @param options - Optional configuration for the dictionary\n * @returns A Type object representing the C# IDictionary<TKey, TValue> type\n */\n idictionary: (keyType: Type, valueType: Type, options?: { dontSimplify?: boolean }) => {\n return new Collection.IDictionary(keyType, valueType, this, options);\n },\n /**\n * Creates a KeyValuePair type.\n *\n * @param keyType - The key type of the pair\n * @param valueType - The value type of the pair\n * @returns A Type object representing the C# KeyValuePair<TKey, TValue> type\n */\n keyValuePair: (keyType: Type, valueType: Type) => {\n return new Collection.KeyValuePair(keyType, valueType, this);\n }\n });\n\n public readonly format = lazy({\n private: (name: string) => `_${text.camelCase(name)}`\n });\n\n /** This is called (once) before any generator actually starts to generate code.\n * It offers a last-chance to validate or modify the generation before certain things are fixed in place.\n * If this returns false, the generation should be aborted.\n */\n public initialize(): boolean {\n return this.initializers.implicitNamespaces;\n }\n\n /** One-time initializers that are called before any generator actually starts to generate code. */\n public readonly initializers = lazy({\n implicitNamespaces: () => {\n // add all the implict namespaces\n for (const namespace of this.namespaces.implicit) {\n this.registry.addImplicitNamespace(namespace);\n }\n return true;\n }\n });\n\n /** Provides access to .NET System namespace types and utilities */\n public get System() {\n return this.extern.System;\n }\n\n /** Provides access to NUnit testing framework types */\n public get NUnit() {\n return this.extern.NUnit;\n }\n\n /** Provides access to OneOf discriminated union library types */\n public get OneOf() {\n return this.extern.OneOf;\n }\n\n /** Provides access to Google protocol buffer types */\n public get Google() {\n return this.extern.Google;\n }\n public get Grpc() {\n return this.extern.Grpc;\n }\n /** Provides access to WireMock.Net testing/mocking library types */\n public get WireMock() {\n return this.extern.WireMock;\n }\n}\n","import { fail } from \"node:assert\";\nimport { at } from \"@fern-api/browser-compatible-base-generator\";\nimport { dynamic, Name, NameAndWireValue } from \"@fern-fern/ir-sdk/api\";\nimport {\n And,\n Annotation,\n AnonymousFunction,\n AstNode,\n Set as AstSet,\n Block,\n Class,\n ClassInstantiation,\n ClassReference,\n CodeBlock,\n ConstructorField,\n Dictionary,\n DictionaryEntry,\n Enum,\n EnumInstantiation,\n Interface,\n List,\n Literal,\n MethodInvocation,\n Or,\n Parameter,\n InstantiatedPrimitive as PrimitiveInstantiation,\n ReadOnlyMemory,\n String_,\n Switch,\n Ternary,\n TestClass,\n XmlDocBlock\n} from \"./ast\";\nimport { Type } from \"./ast/types/IType\";\nimport { Generation } from \"./context/generation-info\";\nimport { IrNode, Origin } from \"./context/model-navigator\";\nimport { NameRegistry } from \"./context/name-registry\";\n\ninterface ClassRefArgsWithNamespace extends ClassReference.Args {\n namespace: string;\n enclosingType?: never;\n}\n\ninterface ClassRefArgsWithEnclosingType extends ClassReference.Args {\n enclosingType: ClassReference;\n namespace?: never;\n}\n\ninterface ClassRefWithOriginAndNamespace extends Omit<ClassReference.Args, \"name\"> {\n origin: Origin;\n namespace: string;\n}\n\ninterface ClassRefWithOriginAndEnclosingType extends Omit<ClassReference.Args, \"name\"> {\n origin: Origin;\n enclosingType: ClassReference;\n namespace?: never;\n}\n\ninterface ClassArgsWithOrigin extends Class.Args {\n origin: Origin;\n name?: never;\n}\n\ninterface ClassArgsWithName extends Class.Args {\n name: string;\n origin?: never;\n}\n\ninterface ClassArgsWithReference extends Class.Args {\n reference: ClassReference;\n name?: never; // this should be propogated from reference\n namespace?: never; // this should be propogated from reference\n enclosingType?: never; // this should be propogated from reference\n //origin?: never; // (TODO: removethis?) this should be propogated from reference\n}\n\n/**\n * Main class for generating C# code using an Abstract Syntax Tree (AST) approach.\n *\n * This class serves as the primary factory and registry for creating C# code elements\n * including classes, methods, types, and other language constructs. It maintains\n * a name registry to ensure proper namespace handling and class reference management.\n *\n * The class supports a \"freeze\" mechanism where after freezing, any new class references\n * are tracked separately to help identify missing dependencies during code generation.\n *\n * ```\n */\nexport class CSharp {\n /**\n * Registry for managing class names and ensuring proper namespace resolution.\n * This registry tracks all known classes and their fully qualified names.\n * Now also handles member-level name registration and conflict resolution.\n */\n\n constructor(private readonly generation: Generation) {}\n\n private get model() {\n return this.generation.model;\n }\n\n /**\n * Indicates whether the class reference registry has been frozen.\n * When frozen, new class references are tracked separately in extraClassReferences.\n */\n frozen = false;\n\n /**\n * Map tracking class references that were created after the registry was frozen.\n * Keys are fully qualified class names, values are sets of stack traces showing\n * where these references were used.\n */\n extraClassReferences = new Map<string, Set<string>>();\n\n /**\n * Creates a reference to a C# class with the specified name and namespace.\n *\n * This method handles class reference creation and tracks usage when the registry\n * is frozen. If the registry is frozen and the class reference is not already\n * registered, it will be tracked in extraClassReferences with stack trace information.\n *\n * @param args - Configuration for the class reference including name, namespace, and optional generics\n * @returns A ClassReference object representing the C# class\n *\n */\n public classReference(\n argz:\n | ClassRefArgsWithNamespace\n | ClassRefArgsWithEnclosingType\n | ClassRefWithOriginAndNamespace\n | ClassRefWithOriginAndEnclosingType\n ): ClassReference {\n return this.classReferenceInternal(argz as ClassReference.Args);\n }\n\n public classReferenceInternal(args: ClassReference.Args): ClassReference {\n // if we're given an origin, we need to turn that into a name\n if (!args.name && \"origin\" in args && args.origin) {\n args.name = this.model.getClassNameFor(args.origin);\n }\n\n if (args.enclosingType) {\n if (args.namespace) {\n throw new Error(`ClassReference: Both enclosingType and namespace cannot be provided`);\n }\n args.namespace = args.enclosingType.namespace;\n }\n const expectedFQN = NameRegistry.fullyQualifiedNameOf(args);\n if (this.frozen) {\n // check if the class reference is already known\n if (!this.generation.registry.isRegisteredTypeName(expectedFQN)) {\n // this wasn't in the registry before we were frozen.\n let set = this.extraClassReferences.get(expectedFQN);\n if (!set) {\n set = new Set();\n this.extraClassReferences.set(expectedFQN, set);\n }\n\n // remember where we saw this type being used\n set.add(`${expectedFQN} -\\n${at()}`);\n }\n }\n return this.generation.registry.registerClassReference(\n args as ClassReference.Args & { namespace: string },\n expectedFQN\n );\n }\n\n /**\n * Freezes the class reference registry, preventing new class registrations.\n * After freezing, any new class references will be tracked in extraClassReferences.\n * This is useful for identifying missing dependencies during code generation.\n */\n freezeClassReferences() {\n this.frozen = true;\n }\n\n getPropertyName(\n enclosingType: ClassReference,\n property: (IrNode & { name: Name | dynamic.Name }) | (IrNode & { name: NameAndWireValue })\n ) {\n const expectedName = this.model.getPropertyNameFor(property);\n const origin =\n this.model.origin(property) ??\n fail(`Origin not found for property: ${JSON.stringify(property).substring(0, 100)}`);\n\n const value = enclosingType.getFieldName(origin, expectedName);\n\n if (value) {\n // we have been told there is a member that looks like the one we want.\n return value;\n }\n\n // there isn't anything registered that looks like the one we want.\n // we're going to complain, but give them the expected name for now.\n // when we have the order of creation sorted all out, this should be an error.\n // this.generation.logger.warn(\n // `NOTE: getPropertyName: ${enclosingType.fullyQualifiedName} using unregistered property ${expectedName}`\n // );\n return expectedName;\n }\n\n /**\n * Creates a C# class definition.\n *\n * @param args - Configuration for the class including name, namespace, fields, methods, etc.\n * @returns A Class object representing the C# class definition\n */\n class_(args: ClassArgsWithOrigin | ClassArgsWithName | ClassArgsWithReference): Class {\n let classArgs: Class.Args = args as Class.Args;\n if (\"reference\" in args) {\n classArgs = { ...args.reference, ...args };\n }\n return new Class(classArgs, this.generation);\n }\n\n /**\n * Creates a C# test class definition with NUnit test framework attributes.\n *\n * @param args - Configuration for the test class\n * @returns A TestClass object representing the C# test class definition\n */\n public testClass(args: TestClass.Args): TestClass {\n return new TestClass(args, this.generation);\n }\n\n /**\n * Creates a C# attribute/annotation.\n *\n * @param args - Configuration for the annotation including name and parameters\n * @returns An Annotation object representing the C# attribute\n */\n public annotation(args: Annotation.Args): Annotation {\n return new Annotation(args, this.generation);\n }\n\n /**\n * Creates a C# class instantiation (new ClassName() expression).\n *\n * @param args - Configuration for the class instantiation including class reference and constructor arguments\n * @returns A ClassInstantiation object representing the C# object creation\n */\n public instantiateClass(args: ClassInstantiation.Args): ClassInstantiation {\n return new ClassInstantiation(args, this.generation);\n }\n\n /**\n * Creates a C# method invocation expression.\n *\n * @param args - Configuration for the method invocation including method reference and arguments\n * @returns A MethodInvocation object representing the C# method call\n */\n public invokeMethod(args: MethodInvocation.Args): MethodInvocation {\n return new MethodInvocation(args, this.generation);\n }\n\n /**\n * Creates a C# code block containing multiple statements.\n *\n * @param arg - Configuration for the code block including statements\n * @returns A CodeBlock object representing the C# code block\n */\n public codeblock(arg: CodeBlock.Arg): CodeBlock {\n return new CodeBlock(arg, this.generation);\n }\n\n public code(): Block {\n return new Block({}, this.generation);\n }\n\n /**\n * Creates a C# anonymous function (lambda expression).\n *\n * @param args - Configuration for the anonymous function including parameters and body\n * @returns An AnonymousFunction object representing the C# lambda\n */\n public anonymousFunction(args: AnonymousFunction.Args): AnonymousFunction {\n return new AnonymousFunction(args);\n }\n\n /**\n * Creates a C# method parameter.\n *\n * @param args - Configuration for the parameter including name, type, and modifiers\n * @returns A Parameter object representing the C# parameter\n */\n public parameter(args: Parameter.Args): Parameter {\n return new Parameter(args, this.generation);\n }\n\n /**\n * Creates a C# interface definition.\n *\n * @param args - Configuration for the interface including name, namespace, and members\n * @returns An Interface object representing the C# interface\n */\n public interface_(args: Interface.Args): Interface {\n return new Interface(args, this.generation);\n }\n\n /**\n * Creates a C# enum definition.\n *\n * @param args - Configuration for the enum including name, namespace, and values\n * @returns An Enum object representing the C# enum\n */\n public enum_(args: Enum.Args): Enum {\n return new Enum(args, this.generation);\n }\n\n /**\n * Creates a C# dictionary literal expression.\n *\n * @param args - Configuration for the dictionary including key-value pairs\n * @returns A Dictionary object representing the C# dictionary literal\n */\n public dictionary(args: Dictionary.Args): Dictionary {\n return new Dictionary(args, this.generation);\n }\n\n /**\n * Creates a C# list literal expression.\n *\n * @param args - Configuration for the list including elements\n * @returns A List object representing the C# list literal\n */\n public list(args: List.Args): List {\n return new List(args, this.generation);\n }\n\n /**\n * Creates a C# ReadOnlyMemory<T> expression.\n *\n * @param args - Configuration for the ReadOnlyMemory including element type and value\n * @returns A ReadOnlyMemory object representing the C# ReadOnlyMemory expression\n */\n public readOnlyMemory(args: ReadOnlyMemory.Args): ReadOnlyMemory {\n return new ReadOnlyMemory(args, this.generation);\n }\n\n /**\n * Creates a C# set literal expression.\n *\n * @param args - Configuration for the set including elements\n * @returns A Set object representing the C# set literal\n */\n public set(args: AstSet.Args): AstSet {\n return new AstSet(args, this.generation);\n }\n\n /**\n * Creates a C# switch statement or expression.\n *\n * @param args - Configuration for the switch including expression and cases\n * @returns A Switch object representing the C# switch statement\n */\n public switch_(args: Switch.Args): Switch {\n return new Switch(args, this.generation);\n }\n\n /**\n * Creates a C# ternary operator expression (condition ? trueValue : falseValue).\n *\n * @param args - Configuration for the ternary including condition, true value, and false value\n * @returns A Ternary object representing the C# ternary expression\n */\n public ternary(args: Ternary.Args): Ternary {\n return new Ternary(args, this.generation);\n }\n\n /**\n * Creates a C# logical AND expression (&&).\n *\n * @param args - Configuration for the AND expression including left and right operands\n * @returns An And object representing the C# logical AND expression\n */\n public and(args: And.Args): And {\n return new And(args, this.generation);\n }\n\n /**\n * Creates a C# logical OR expression (||).\n *\n * @param args - Configuration for the OR expression including left and right operands\n * @returns An Or object representing the C# logical OR expression\n */\n public or(args: Or.Args): Or {\n return new Or(args, this.generation);\n }\n\n /**\n * Creates a C# enum value instantiation.\n *\n * @param args - Configuration for the enum instantiation including enum reference and value\n * @returns An EnumInstantiation object representing the C# enum value\n */\n public enumInstantiation(args: EnumInstantiation.Args): EnumInstantiation {\n return new EnumInstantiation(args, this.generation);\n }\n\n /**\n * Creates a C# string literal expression.\n *\n * @param args - Configuration for the string including value and formatting\n * @returns A String_ object representing the C# string literal\n */\n public string_(args: String_.Args): String_ {\n return new String_(args, this.generation);\n }\n\n /**\n * Creates a C# XML documentation block.\n *\n * @param arg - Configuration for the XML documentation including content\n * @returns An XmlDocBlock object representing the C# XML documentation\n */\n public xmlDocBlock(arg: XmlDocBlock.Arg): XmlDocBlock {\n return new XmlDocBlock(arg, this.generation);\n }\n\n /**\n * Factory methods for creating primitive value instantiations.\n * These methods create PrimitiveInstantiation objects that represent literal values\n * in the generated C# code.\n */\n public InstantiatedPrimitive = {\n /**\n * Creates a string literal instantiation.\n *\n * @param value - The string value\n * @returns A PrimitiveInstantiation representing the string literal\n */\n string: (value: string) => {\n return new PrimitiveInstantiation(\n {\n type: \"string\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates a boolean literal instantiation.\n *\n * @param value - The boolean value\n * @returns A PrimitiveInstantiation representing the boolean literal\n */\n boolean: (value: boolean) => {\n return new PrimitiveInstantiation(\n {\n type: \"boolean\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates an integer literal instantiation.\n *\n * @param value - The integer value\n * @returns A PrimitiveInstantiation representing the integer literal\n */\n integer: (value: number) => {\n return new PrimitiveInstantiation(\n {\n type: \"integer\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates a long literal instantiation.\n *\n * @param value - The long value\n * @returns A PrimitiveInstantiation representing the long literal\n */\n long: (value: number) => {\n return new PrimitiveInstantiation(\n {\n type: \"long\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates an unsigned integer literal instantiation.\n *\n * @param value - The unsigned integer value\n * @returns A PrimitiveInstantiation representing the uint literal\n */\n uint: (value: number) => {\n return new PrimitiveInstantiation(\n {\n type: \"uint\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates an unsigned long literal instantiation.\n *\n * @param value - The unsigned long value\n * @returns A PrimitiveInstantiation representing the ulong literal\n */\n ulong: (value: number) => {\n return new PrimitiveInstantiation(\n {\n type: \"ulong\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates a float literal instantiation.\n *\n * @param value - The float value\n * @returns A PrimitiveInstantiation representing the float literal\n */\n float: (value: number) => {\n return new PrimitiveInstantiation(\n {\n type: \"float\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates a double literal instantiation.\n *\n * @param value - The double value\n * @returns A PrimitiveInstantiation representing the double literal\n */\n double: (value: number) => {\n return new PrimitiveInstantiation(\n {\n type: \"double\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates a date literal instantiation.\n *\n * @param value - The date value as a string\n * @returns A PrimitiveInstantiation representing the date literal\n */\n date: (value: string) => {\n return new PrimitiveInstantiation(\n {\n type: \"date\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates a DateTime literal instantiation.\n *\n * @param value - The DateTime value\n * @param parse - Whether to parse the DateTime value (default: true)\n * @returns A PrimitiveInstantiation representing the DateTime literal\n */\n dateTime: (value: Date, parse = true) => {\n return new PrimitiveInstantiation(\n {\n type: \"dateTime\",\n value,\n parse\n },\n this.generation\n );\n },\n\n /**\n * Creates a UUID literal instantiation.\n *\n * @param value - The UUID value as a string\n * @returns A PrimitiveInstantiation representing the UUID literal\n */\n uuid: (value: string) => {\n return new PrimitiveInstantiation(\n {\n type: \"uuid\",\n value\n },\n this.generation\n );\n },\n\n /**\n * Creates a null literal instantiation.\n *\n * @returns A PrimitiveInstantiation representing the null literal\n */\n null: () => {\n return new PrimitiveInstantiation(\n {\n type: \"null\"\n },\n this.generation\n );\n }\n };\n\n /**\n * Factory methods for creating C# type literals.\n * These methods create Literal objects that represent literal values\n * and object initializers in the generated C# code.\n */\n public Literal = {\n /**\n * Creates a class literal with constructor field initialization.\n *\n * @param reference - The class reference\n * @param fields - Array of constructor fields to initialize\n * @returns A Literal object representing the class initialization\n */\n class_: ({ reference, fields }: { reference: ClassReference; fields: ConstructorField[] }) => {\n return new Literal.Class_(reference, fields, this.generation);\n },\n\n /**\n * Creates a dictionary literal with key-value pairs.\n *\n * @param keyType - The type of dictionary keys\n * @param valueType - The type of dictionary values\n * @param entries - Array of dictionary entries\n * @returns A Literal object representing the dictionary initialization\n */\n dictionary: ({\n keyType,\n valueType,\n entries\n }: {\n keyType: Type;\n valueType: Type;\n entries: DictionaryEntry[];\n }) => {\n return new Literal.Dictionary(keyType, valueType, entries, this.generation);\n },\n\n /**\n * Creates a list literal with elements.\n *\n * @param valueType - The type of list elements\n * @param values - Array of literal values\n * @returns A Literal object representing the list initialization\n */\n list: ({ valueType, values }: { valueType: Type; values: Literal[] }) => {\n return new Literal.List(valueType, values, this.generation);\n },\n\n /**\n * Creates a set literal with elements.\n *\n * @param valueType - The type of set elements\n * @param values - Array of literal values\n * @returns A Literal object representing the set initialization\n */\n set: ({ valueType, values }: { valueType: Type; values: Literal[] }) => {\n return new Literal.Set(valueType, values, this.generation);\n },\n\n /**\n * Creates a boolean literal.\n *\n * @param value - The boolean value\n * @returns A Literal object representing the boolean literal\n */\n boolean: (value: boolean) => {\n return new Literal.Boolean(value, this.generation);\n },\n\n /**\n * Creates a float literal.\n *\n * @param value - The float value\n * @returns A Literal object representing the float literal\n */\n float: (value: number) => {\n return new Literal.Float(value, this.generation);\n },\n\n /**\n * Creates a date literal.\n *\n * @param value - The date value as a string\n * @returns A Literal object representing the date literal\n */\n date: (value: string) => {\n return new Literal.Date(value, this.generation);\n },\n\n /**\n * Creates a DateTime literal.\n *\n * @param value - The DateTime value as a string\n * @returns A Literal object representing the DateTime literal\n */\n datetime: (value: string) => {\n return new Literal.DateTime(value, this.generation);\n },\n\n /**\n * Creates a decimal literal.\n *\n * @param value - The decimal value\n * @returns A Literal object representing the decimal literal\n */\n decimal: (value: number) => {\n return new Literal.Decimal(value, this.generation);\n },\n\n /**\n * Creates a double literal.\n *\n * @param value - The double value\n * @returns A Literal object representing the double literal\n */\n double: (value: number) => {\n return new Literal.Double(value, this.generation);\n },\n\n /**\n * Creates an integer literal.\n *\n * @param value - The integer value\n * @returns A Literal object representing the integer literal\n */\n integer: (value: number) => {\n return new Literal.Integer(value, this.generation);\n },\n\n /**\n * Creates a long literal.\n *\n * @param value - The long value\n * @returns A Literal object representing the long literal\n */\n long: (value: number) => {\n return new Literal.Long(value, this.generation);\n },\n\n /**\n * Creates an unsigned integer literal.\n *\n * @param value - The unsigned integer value\n * @returns A Literal object representing the uint literal\n */\n uint: (value: number) => {\n return new Literal.Uint(value, this.generation);\n },\n\n /**\n * Creates an unsigned long literal.\n *\n * @param value - The unsigned long value\n * @returns A Literal object representing the ulong literal\n */\n ulong: (value: number) => {\n return new Literal.Ulong(value, this.generation);\n },\n\n /**\n * Creates a reference literal.\n *\n * @param value - The AST node reference\n * @returns A Literal object representing the reference literal\n */\n reference: (value: AstNode) => {\n return new Literal.Reference(value, this.generation);\n },\n\n /**\n * Creates a string literal.\n *\n * @param value - The string value\n * @returns A Literal object representing the string literal\n */\n string: (value: string) => {\n return new Literal.String(value, this.generation);\n },\n\n /**\n * Creates a null literal.\n *\n * @returns A Literal object representing the null literal\n */\n null: () => {\n return new Literal.Null(this.generation);\n },\n\n /**\n * Creates a no-operation literal (placeholder).\n *\n * @returns A Literal object representing a no-operation literal\n */\n nop: () => {\n return new Literal.Nop(this.generation);\n },\n\n /**\n * Creates an unknown type literal.\n *\n * @param value - The unknown value\n * @returns A Literal object representing the unknown literal\n */\n unknown: (value: unknown) => {\n return new Literal.Unknown(value, this.generation);\n }\n };\n\n /**\n * Converts an XmlDocBlock-like object to an XmlDocBlock instance.\n * If the input is already an XmlDocBlock, it returns it as-is.\n * Otherwise, it creates a new XmlDocBlock from the input.\n *\n * @param xmlDocBlockLike - Either an XmlDocBlock instance or XmlDocBlock.Like object\n * @returns An XmlDocBlock instance\n */\n public xmlDocBlockOf(xmlDocBlockLike: XmlDocBlock.Like): XmlDocBlock {\n return xmlDocBlockLike instanceof XmlDocBlock\n ? xmlDocBlockLike\n : new XmlDocBlock(xmlDocBlockLike, this.generation);\n }\n\n /**\n * The set of valid types supported by the 'read-only-memory-types' custom config option.\n *\n * The types are expressed in their C# type representation so that users can more easily\n * control the generated code.\n *\n * Also note that we use the InternalType's type property to determine the type of the Type\n * so that the two always remain in sync.\n */\n readonly VALID_READ_ONLY_MEMORY_TYPES = new Set<string>([\n \"int\",\n \"long\",\n \"uint\",\n \"ulong\",\n \"string\",\n \"bool\",\n \"float\",\n \"double\"\n ]);\n\n /**\n * Validates that the read-only-memory-types custom config option contains only valid types.\n *\n * This method checks that all types specified in the 'read-only-memory-types' configuration\n * are supported by the code generator. If any invalid types are found, it throws an error\n * with details about which types are valid.\n *\n * @throws Error if any invalid types are found in the read-only-memory-types configuration\n */\n validateReadOnlyMemoryTypes(): void {\n for (const type of this.generation.settings.readOnlyMemoryTypes) {\n if (!this.VALID_READ_ONLY_MEMORY_TYPES.has(type)) {\n throw new Error(\n `Type \"${type}\" is not a valid 'read-only-memory-types' custom config option; expected one of ${JSON.stringify(\n this.VALID_READ_ONLY_MEMORY_TYPES\n )}.`\n );\n }\n }\n }\n}\n","/**\n * @file Type canonicalization utilities for C# code generation.\n *\n * This module provides functionality to manage and canonicalize C# type names and namespaces\n * to avoid naming conflicts during code generation. It maintains registries of known types,\n * namespaces, and identifiers to ensure generated code follows C# naming conventions and\n * avoids conflicts with built-in types and namespaces.\n *\n * Key features:\n * - Type name conflict detection and resolution\n * - Namespace canonicalization and remapping\n * - Built-in type awareness and conflict avoidance\n * - Type registry persistence and restoration\n *\n */\n\nimport { fail } from \"node:assert\";\nimport { type Field as AstField, ClassReference } from \"../ast\";\nimport { Generation } from \"../context/generation-info\";\nimport { Origin } from \"../context/model-navigator\";\nimport { is } from \"../utils/type-guards\";\nimport { builtIns } from \"./knownTypes\";\n\n// C# Keywords and Reserved Names (from Registry)\nconst base_keywords = new Set([\n \"abstract\",\n \"as\",\n \"base\",\n \"bool\",\n \"break\",\n \"byte\",\n \"case\",\n \"catch\",\n \"char\",\n \"checked\",\n \"class\",\n \"const\",\n \"continue\",\n \"decimal\",\n \"default\",\n \"delegate\",\n \"do\",\n \"double\",\n \"else\",\n \"enum\",\n \"event\",\n \"explicit\",\n \"extern\",\n \"false\",\n \"finally\",\n \"fixed\",\n \"float\",\n \"for\",\n \"foreach\",\n \"goto\",\n \"if\",\n \"implicit\",\n \"in\",\n \"int\",\n \"interface\",\n \"internal\",\n \"is\",\n \"lock\",\n \"long\",\n \"namespace\",\n \"new\",\n \"null\",\n \"object\",\n \"operator\",\n \"out\",\n \"override\",\n \"params\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"ref\",\n \"return\",\n \"sbyte\",\n \"sealed\",\n \"short\",\n \"sizeof\",\n \"stackalloc\",\n \"static\",\n \"string\",\n \"struct\",\n \"switch\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typeof\",\n \"uint\",\n \"ulong\",\n \"unchecked\",\n \"unsafe\",\n \"ushort\",\n \"using\",\n \"virtual\",\n \"void\",\n \"volatile\",\n \"while\"\n]);\n\nconst acessor_keywords = new Set([\"get\", \"set\", \"init\", \"value\", \"add\", \"remove\"]);\nconst generic_keywords = new Set([\"where\"]);\nconst linq_keywords = new Set([\"from\", \"where\", \"select\", \"orderby\", \"groupby\", \"into\", \"let\", \"join\", \"on\", \"equals\"]);\nconst async_keywords = new Set([\"async\", \"await\"]);\nconst iterator_keywords = new Set([\"yield\"]);\nconst declarator_keywords = new Set([\"var\", \"dynamic\"]);\nconst using_keywords = new Set([\"using\", \"alias\"]);\nconst namespace_keywords = new Set([\"nameof\"]);\nconst modifier_keywords = new Set([\"required\", \"scoped\", \"unmanaged\", \"managed\"]);\nconst pattern_keywords = new Set([\"when\", \"and\", \"or\", \"not\"]);\nconst member_names = new Set([\"Equals\", \"GetHashCode\", \"ToString\", \"GetType\", \"MemberwiseClone\", \"Finalize\"]);\n\n// Generally, these are the keywords that we'd like to always avoid using for identifiers\nconst keywords = new Set([\n ...base_keywords,\n ...linq_keywords,\n ...async_keywords,\n ...iterator_keywords,\n ...declarator_keywords,\n ...using_keywords,\n ...modifier_keywords,\n ...pattern_keywords\n]);\n\ntype JsonPath = string;\ntype FullyQualifiedName = string;\n\n/**\n * Base class for identifiers in the name registry system.\n * Represents a named entity that is tracked by the NameRegistry.\n */\nclass Identifier {\n constructor(\n public readonly registry: NameRegistry,\n public readonly name: string,\n public readonly jsonPath?: JsonPath\n ) {}\n}\n\n/**\n * An identifier that creates a scope where other identifiers can be nested.\n * Manages forbidden names and ensures unique names within the scope.\n */\nclass Scope extends Identifier {\n private readonly forbidden = new Set<string>();\n\n /**\n * Makes a name off-limits within this scope.\n * @param name - The name to forbid\n */\n forbid(name: string) {\n this.forbidden.add(name);\n }\n\n /**\n * Creates an identifier in this scope with the specified name.\n * Two things cannot exist with the same name in the same scope.\n * @param name - The name to create\n */\n create(name: string) {\n //\n }\n\n /**\n * Gets a name, appending an underscore if it's forbidden.\n * @param name - The requested name\n * @returns The name with an underscore suffix if forbidden, otherwise the original name\n */\n getName(name: string) {\n if (this.forbidden.has(name)) {\n return `${name}_`;\n }\n return name;\n }\n}\n\n/**\n * Collection of members (fields or methods) within a TypeScope.\n * Maintains lookups by name and JSON path, and handles name redirections for conflict resolution.\n */\nclass Members<T extends Member> implements Iterable<T> {\n constructor(private readonly scope: TypeScope) {}\n private readonly byName = new Map<string, T>();\n private readonly byPath = new Map<JsonPath, T>();\n private readonly redirections = new Map<string, string>();\n\n [Symbol.iterator](): Iterator<T> {\n return this.byName.values();\n }\n\n /**\n * Checks if a member with the given name exists in this collection.\n * @param name - The member name to check\n * @returns `true` if a member with this name exists, `false` otherwise\n */\n has(name: string): boolean {\n return this.byName.has(name);\n }\n\n /**\n * Retrieves a member by its JSON path from the IR.\n * @param jsonPath - The JSON path identifying the member in the IR\n * @returns The member if found, `undefined` otherwise\n */\n getByJsonPath(jsonPath: JsonPath): T | undefined {\n return this.byPath.get(jsonPath);\n }\n\n /**\n * Retrieves a member by its name.\n * @param name - The member name to look up\n * @returns The member if found, `undefined` otherwise\n */\n getByName(name: string): T | undefined {\n return this.byName.get(name);\n }\n\n /**\n * Gets the redirected name for a member if one exists.\n * Redirections occur when a member's intended name conflicts with other identifiers.\n * @param name - The original member name\n * @returns The redirected name if one exists, `undefined` otherwise\n */\n getRedirectedName(name: string): string | undefined {\n return this.redirections.get(name);\n }\n\n /**\n * Adds a member to this collection.\n * Fails if a member with the same name or JSON path already exists.\n * @param member - The member to add\n * @throws Error if the member already exists by name or JSON path\n */\n set(member: T) {\n if (this.byName.has(member.name)) {\n fail(`set: ${member.name} in ${this.scope.fullyQualifiedName} already exists`);\n }\n if (member.jsonPath && this.byPath.has(member.jsonPath)) {\n fail(`set: ${member.name} in ${this.scope.fullyQualifiedName} already exists by jsonPath`);\n }\n\n this.byName.set(member.name, member);\n if (member.jsonPath) {\n this.byPath.set(member.jsonPath, member);\n }\n }\n\n /**\n * Registers a name redirection.\n * This is used to track when a member's intended name was changed to avoid conflicts.\n * @param name - The original name\n * @param newName - The redirected name\n * @throws Error if a redirection for this name already exists\n */\n redirect(name: string, newName: string) {\n if (this.redirections.has(name)) {\n fail(`redirect: ${name} in ${this.scope.fullyQualifiedName} already has a redirect`);\n }\n this.redirections.set(name, newName);\n }\n}\n\n/**\n * Represents the scope of a type (class, struct, etc.) and manages its members.\n * Handles field and method name registration, conflict detection, and name resolution.\n */\nexport class TypeScope extends Identifier {\n readonly fields: Members<Field>;\n readonly methods: Members<Method>;\n\n constructor(\n registry: NameRegistry,\n name: string,\n readonly namespace: string,\n readonly fullyQualifiedName: FullyQualifiedName\n ) {\n super(registry, name);\n this.fields = new Members<Field>(this);\n this.methods = new Members<Method>(this);\n }\n\n /**\n * Checks if a name is a C# keyword.\n * @param name - The name to check\n * @returns `true` if the name is a C# keyword, `false` otherwise\n */\n isKeyword(name: string) {\n return keywords.has(name);\n }\n\n /**\n * Checks if a name is a built-in .NET member name (e.g., Equals, GetHashCode, ToString).\n * @param name - The name to check\n * @returns `true` if the name is a built-in member name, `false` otherwise\n */\n isBuiltinMemberName(name: string) {\n return member_names.has(name);\n }\n\n /**\n * Checks if a name matches this type's name.\n * @param name - The name to check\n * @returns `true` if the name matches this type's name, `false` otherwise\n */\n isTypeName(name: string) {\n return this.name === name;\n }\n\n /**\n * Checks if a name is already registered as a field in this type.\n * @param name - The name to check\n * @returns `true` if the name is a registered field, `false` otherwise\n */\n isField(name: string) {\n return this.fields.has(name);\n }\n\n /**\n * Checks if a name is already registered as a method in this type.\n * @param name - The name to check\n * @returns `true` if the name is a registered method, `false` otherwise\n */\n isMethod(name: string) {\n return this.methods.has(name);\n }\n\n /**\n * Checks if a name is registered as either a field or method in this type.\n * @param name - The name to check\n * @returns `true` if the name is a registered member, `false` otherwise\n */\n isMember(name: string) {\n return this.isField(name) || this.isMethod(name);\n }\n\n /**\n * Determines why a name is blocked from use, if at all.\n * @param name - The name to check\n * @returns The reason the name is blocked, or `undefined` if available\n */\n nameBlocked(name: string): \"keyword\" | \"builtin\" | \"typeName\" | \"field\" | \"method\" | undefined {\n if (this.isKeyword(name)) {\n return \"keyword\";\n }\n if (this.isBuiltinMemberName(name)) {\n return \"builtin\";\n }\n if (this.isTypeName(name)) {\n return \"typeName\";\n }\n if (this.isField(name)) {\n return \"field\";\n }\n if (this.isMethod(name)) {\n return \"method\";\n }\n return undefined;\n }\n\n /**\n * Generates an alternative name when the requested name is blocked.\n * Appends underscores and numbers until an available name is found.\n * @param name - The blocked name\n * @returns An available alternative name (e.g., \"name_\", \"name_2\", \"name_3\", etc.)\n */\n getAlternativeName(name: string): string {\n // first append an underscore.\n let newName = `${name}_`;\n\n let i = 2;\n while (this.nameBlocked(newName)) {\n newName = `${name}_${i}`;\n i++;\n }\n\n return newName;\n }\n\n /**\n * Retrieves a field by its JSON path from the IR.\n * @param jsonPath - The JSON path identifying the field\n * @returns The field if found, `undefined` otherwise\n */\n getFieldByJsonPath(jsonPath?: string): Member | undefined {\n return jsonPath !== undefined ? this.fields.getByJsonPath(jsonPath) : undefined;\n }\n\n /**\n * Retrieves a field by its name.\n * @param name - The field name to look up\n * @returns The field if found, `undefined` otherwise\n */\n getFieldByName(name: string): Member | undefined {\n return this.fields.getByName(name);\n }\n\n /**\n * Gets the redirected name for a field if one exists.\n * @param name - The original field name\n * @returns The redirected name if one exists, `undefined` otherwise\n */\n getRedirectedFieldName(name: string): string | undefined {\n return this.fields.getRedirectedName(name);\n }\n\n /**\n * Registers a field in this type scope with conflict resolution.\n * If the expected name is unavailable, an alternative name is chosen and a redirection is registered.\n * @param expectedName - The desired field name\n * @param origin - The IR origin node for this field\n * @param field - The AST field object\n * @returns The actual field name (may differ from expectedName if conflicts occurred)\n */\n registerField(expectedName: string, origin?: Origin, field?: AstField): string {\n const jsonPath = this.registry.model.jsonPath(origin);\n if (jsonPath) {\n // quick lookup by json paths\n const member = this.fields.getByJsonPath(jsonPath);\n if (member) {\n return member.name;\n }\n }\n\n // lookup\n const member = this.fields.getByName(expectedName);\n\n if (member && jsonPath === member.jsonPath) {\n // the origin the same, assume it's the same member.\n return expectedName;\n }\n\n switch (this.nameBlocked(expectedName)) {\n case \"field\":\n // if the name we're asking for is already a field\n // and they are creating a new field with the same name - this should only happen if the generator is trying to create a field with a specific name like \"Value\" and\n // there is a property that came from the IR called \"Value\" that is already registered. (so if the origin is an explicitly named member we'll give them a new name)\n\n if (!(origin && is.Provenance(origin) && origin.explicit)) {\n fail(\n `Field ${expectedName} already exists - attempting to add a duplicate field with the same name that is not an explicitly named property`\n );\n }\n break;\n\n case \"keyword\":\n case \"builtin\":\n case \"typeName\":\n case \"method\":\n // if we're blocked because the name is a keyword/builtin/typename or an existing method, we can just get a new name, and the redirect will work fine.\n break;\n\n default:\n // name is available, register it and return the name\n this.fields.set(new Field(this.registry, expectedName, this, jsonPath, field));\n this.registry.setFieldNameShortcut(jsonPath, expectedName);\n return expectedName;\n }\n\n const newName = this.getAlternativeName(expectedName);\n this.fields.set(new Field(this.registry, newName, this, jsonPath, field));\n this.fields.redirect(expectedName, newName);\n this.registry.setFieldNameShortcut(jsonPath, newName);\n\n return newName;\n }\n\n /**\n * Retrieves the name of a field given an origin and expected name.\n * This method performs intelligent lookup considering IR origins and explicit property names.\n *\n * IMPORTANT: This method DOES NOT register the field in the type scope.\n *\n * @param node - The IR origin node for the field\n * @param expectedName - The expected field name\n * @returns The actual field name if found or inferred, `undefined` otherwise\n */\n getFieldName(node: Origin, expectedName: string): string | undefined {\n // if we have already identified this node's name then return that quickly.\n const result = this.getFieldByJsonPath(this.registry.model.jsonPath(node))?.name;\n if (result) {\n return result;\n }\n\n // we are being asked to find a field that we didn't get a match on the jsonPath.\n // given the origin however, we can are going to make a pretty good guess as to what the consumer is actually looking for.\n\n if (is.Provenance(node)) {\n // if the origin is an explicitly named property (aka one that the name is hand-coded in the generator)\n // then we should check to see if that has been redirected. If it has, then we can return the redirected name.\n const redirectedName = this.getRedirectedFieldName(expectedName);\n if (redirectedName) {\n return redirectedName;\n }\n\n // if it hasn't been redirected, and there is a property by that name,\n const property = this.getFieldByName(expectedName);\n if (property) {\n // does the property have an IR origin, if so, then this is not a good match (a hand-coded name shouldn't match a property that has an IR origin)\n const provenance = this.registry.model.provenance(property.jsonPath);\n if (provenance?.explicit) {\n // this is a good match, return the expected name\n return expectedName;\n }\n // this is not a good match (the hand-coded property should have been redirected)\n // `BAD: getFieldName: ${this.fullyQualifiedName} for ${expectedName} found a IR-based property, but is being requested for an explicitly named property.`\n // We should register a redirect\n return `${expectedName}_`;\n }\n\n // there is no property by that name, so we're going to return the expected name\n // `BAD: getFieldName: ${this.fullyQualifiedName} for ${expectedName} found no property by that name. You should register it before use.`\n return expectedName;\n }\n\n // the origin is an IR node.\n\n const property = this.getFieldByName(expectedName);\n if (property) {\n // there is an existing property by that name.\n // if the property has an IR origin, then we're going to assume that these two are intended to be the same.\n const provenance = this.registry.model.provenance(property.jsonPath);\n\n if (provenance?.explicit) {\n // if the origin is an IR node and the property has an explictly named origin, then it will not be a match,\n // this should have been redirected (this should be avoided if possible by making explictly named properties created after properties that are IR-based)\n // `BAD: getFieldName: ${this.fullyQualifiedName} for ${expectedName} found a IR-based property, but is being requested for an explictly named property.`\n // You should redirect the explictly named property\n return expectedName;\n }\n\n // this is a good match, (or at least it's not an explictly named property) we'll return the name\n\n return property.name;\n }\n\n // there is no registered property, we can check for a redirect\n const actualName = this.getRedirectedFieldName(expectedName);\n\n if (actualName) {\n return actualName;\n }\n\n // there was no redirect. Is there a method by the expected name?\n if (this.isMethod(expectedName)) {\n // this means we have a method where we think we wanted a property.\n // `BAD: getFieldName: ${this.fullyQualifiedName} for ${expectedName} found a method, but is being requested for a property.`\n return undefined;\n }\n\n // there is no member by this name registered, I can't tell you that it is OK to use.\n return undefined;\n }\n}\n\n/**\n * Base class representing a member (field or method) within a TypeScope.\n */\nclass Member extends Identifier {\n constructor(\n registry: NameRegistry,\n name: string,\n public readonly scope: TypeScope,\n jsonPath?: JsonPath\n ) {\n super(registry, name, jsonPath);\n }\n}\n\n/**\n * Represents a field member within a type.\n */\nclass Field extends Member {\n constructor(\n registry: NameRegistry,\n name: string,\n scope: TypeScope,\n jsonPath?: JsonPath,\n readonly field?: AstField\n ) {\n super(registry, name, scope, jsonPath);\n }\n}\n\n/**\n * Represents a method member within a type.\n */\nclass Method extends Member {}\n\n/**\n * Type/name canonicalization utilities for C# code generation.\n *\n * This class provides functionality to manage and canonicalize C# type names and namespaces\n * to avoid naming conflicts during code generation. It maintains registries of known types,\n * namespaces, and identifiers to ensure generated code follows C# naming conventions and\n * avoids conflicts with built-in types and namespaces.\n *\n * Key features:\n * - Type name conflict detection and resolution\n * - Namespace canonicalization and remapping\n * - Built-in type awareness and conflict avoidance\n * - Type registry persistence and restoration\n */\nexport class NameRegistry {\n /**\n * Registry mapping JSON paths from the IR to their ClassReference objects.\n * Provides fast lookup of class references by their IR origin.\n */\n private readonly classReferenceByJsonPath = new Map<JsonPath, ClassReference>();\n\n /**\n * Registry mapping fully qualified type names to their canonical ClassReference objects.\n * This registry tracks all known types and may contain remapped versions to avoid conflicts.\n *\n * Key format: \"Namespace.TypeName\" or \"Namespace.EnclosingType.TypeName\"\n * Value: The canonical ClassReference for the type\n */\n private readonly typeRegistry = new Map<FullyQualifiedName, ClassReference>();\n\n /**\n * Registry mapping original namespace names to their canonical (potentially remapped) versions.\n * This is used to track namespace remappings that occur during conflict resolution.\n *\n * Key: Original namespace name\n * Value: Canonical namespace name (may be modified to avoid conflicts)\n */\n private readonly namespaceRegistry = new Map<string, string>();\n\n /**\n * Registry tracking type names that exist in multiple namespaces, making them ambiguous.\n * These types should be explicitly qualified when used to avoid compilation errors.\n *\n * Key: Type name (e.g., \"String\", \"Object\")\n * Value: Set of namespaces where this type name exists\n */\n private readonly typeNames = new Map<string, Set<string>>();\n\n /**\n * Registry tracking namespace names that appear in multiple contexts.\n * Used for detecting ambiguous namespace references.\n *\n * Key: Namespace segment (e.g., \"Collections\", \"Data\")\n * Value: Set of parent namespace paths where this segment appears\n */\n private readonly namespaceNames = new Map<string, Set<string>>();\n\n /**\n * Set of namespaces that are implicitly imported/available.\n * Types in nested namespaces under these prefixes are tracked for ambiguity detection.\n */\n private readonly implicitNamespaces = new Set<string>();\n\n /**\n * Shortcut mapping JSON paths to field names for fast lookup.\n * Enables quick field name resolution without needing to know the containing type.\n */\n private readonly shortcuts = new Map<string, string>();\n\n /**\n * Set of well-known C# identifiers that should be avoided or handled carefully during code generation.\n * These include common .NET Framework namespaces and types that could cause naming conflicts.\n *\n * This set is populated with:\n * - Common .NET Framework namespace segments\n * - Built-in type names from the builtIns registry\n * - Namespace segments from all known built-in types\n */\n private readonly knownBuiltInIdentifiers = new Set([\n \"Text\",\n \"Json\",\n \"Xml\",\n \"Security\",\n \"Collections\",\n \"Data\",\n \"Diagnostics\",\n \"Globalization\",\n \"Math\",\n \"Reflection\",\n \"Runtime\",\n \"Security\",\n \"Serialization\",\n \"Threading\",\n \"Xml\"\n ]);\n\n constructor(readonly generation: Generation) {\n this.initializeBuiltIns();\n }\n\n /**\n * Gets the CSharp generation context.\n * @returns The CSharp generation context\n */\n get csharp() {\n return this.generation.csharp;\n }\n\n /**\n * Gets the model navigator for accessing the IR.\n * @returns The model navigator\n */\n get model() {\n return this.generation.model;\n }\n\n /**\n * Initializes the known identifiers set with all built-in types and namespace segments.\n * This populates the registry with .NET Framework types to enable conflict detection\n * and ensures generated code doesn't conflict with framework types.\n */\n private initializeBuiltIns(): void {\n for (const [namespace, types] of Object.entries(builtIns)) {\n // Add each namespace segment to known identifiers\n namespace.split(\".\").forEach((segment) => this.knownBuiltInIdentifiers.add(segment));\n // Add each built-in type name to known identifiers\n types.forEach((type) => this.knownBuiltInIdentifiers.add(type));\n }\n\n // Initialize the typeNames registry with built-in types to enable conflict detection.\n // This allows us to identify when user-defined types might conflict with .NET Framework types.\n for (const [namespace, names] of Object.entries(builtIns)) {\n for (const name of names) {\n this.typeNames.set(name, new Set([namespace]));\n }\n\n // and the first word of the namespace itself\n const firstWord = namespace.split(\".\")[0];\n if (firstWord) {\n this.typeNames.set(firstWord, new Set([namespace]));\n }\n }\n this.typeNames.set(\"System\", new Set([\"System\"]));\n this.typeNames.set(\"NUnit\", new Set([\"NUnit\"]));\n this.typeNames.set(\"OneOf\", new Set([\"OneOf\"]));\n }\n\n /**\n * Registers a shortcut mapping from JSON path to field name.\n * This enables fast field name lookup by IR origin without knowing the containing type.\n * @param jsonPath - The JSON path from the IR\n * @param name - The field name to associate with this JSON path\n */\n setFieldNameShortcut(jsonPath: JsonPath | undefined, name: string): void {\n if (jsonPath) {\n const current = this.shortcuts.get(jsonPath);\n if (current && current !== name) {\n fail(\n `BAD_BAD_BAD setFieldNameShortcut: ${jsonPath} already has a name: ${current} - while setting to ${name} - if this is happening, then you could be getting back the wrong name later!`\n );\n }\n this.shortcuts.set(jsonPath, name);\n }\n }\n\n /**\n * Retrieves the name of a previously registered field using only its IR origin.\n *\n * This provides a shortcut for field name lookup without needing to know the containing type,\n * which is particularly useful when generating examples and snippets.\n *\n * Note: It is remotely possible that two fields generated from the same IR origin node could\n * have different names. This scenario is detected and logged by `setFieldNameShortcut`.\n * If this becomes an issue, the type must be resolved before retrieving the field name.\n *\n * @param origin - The IR origin node for the field\n * @returns The field name if found, `undefined` otherwise\n */\n getFieldNameByOrigin(origin: Origin | undefined): string | undefined {\n return this.shortcuts.get(this.model.jsonPath(origin) ?? \">ignore<\");\n }\n\n /**\n * Checks if the given identifier is a well-known C# identifier that should be handled carefully.\n *\n * @param identifier - The identifier to check (e.g., \"String\", \"Collections\", \"System\")\n * @returns `true` if the identifier is a known C# identifier that could cause conflicts, `false` otherwise\n *\n * @example\n * ```typescript\n * nameRegistry.isKnownBuiltInIdentifier(\"String\"); // true - conflicts with System.String\n * nameRegistry.isKnownBuiltInIdentifier(\"MyCustomType\"); // false - safe to use\n * ```\n */\n public isKnownBuiltInIdentifier(identifier: string): boolean {\n if (!identifier || typeof identifier !== \"string\") {\n return false;\n }\n return this.knownBuiltInIdentifiers.has(identifier);\n }\n\n /**\n * Checks if a namespace has been registered in the namespace registry.\n * This includes both original namespaces and their canonical (potentially remapped) versions.\n *\n * @param namespace - The namespace to check\n * @returns `true` if the namespace is known/registered, `false` otherwise\n *\n * @example\n * ```typescript\n * nameRegistry.isKnownNamespace(\"System\"); // true - registered during initialization\n * nameRegistry.isKnownNamespace(\"MyNamespace\"); // false - not yet registered\n * ```\n */\n public isKnownNamespace(namespace: string): boolean {\n if (!namespace || typeof namespace !== \"string\") {\n return false;\n }\n return this.namespaceRegistry.has(namespace);\n }\n\n /**\n * Checks if a fully qualified type name is registered in the type registry.\n * This indicates whether the type has been encountered and processed during code generation.\n *\n * @param typeName - The fully qualified type name to check (e.g., \"System.String\", \"MyNamespace.MyType\")\n * @returns `true` if the type is registered, `false` otherwise\n *\n * @example\n * ```typescript\n * nameRegistry.isRegisteredTypeName(\"System.String\"); // true - built-in type\n * nameRegistry.isRegisteredTypeName(\"MyNamespace.MyType\"); // false - not yet registered\n * ```\n */\n public isRegisteredTypeName(typeName: string): boolean {\n return this.typeRegistry.has(typeName);\n }\n\n /**\n * Determines if a type name is ambiguous (exists in multiple namespaces).\n * Ambiguous type names should be explicitly qualified when used to avoid compilation errors.\n *\n * @param name - The type name to check for ambiguity (optional)\n * @returns `true` if the type name exists in multiple namespaces and is ambiguous, `false` otherwise\n *\n * @example\n * ```typescript\n * nameRegistry.isAmbiguousTypeName(\"String\"); // true - exists in System and other namespaces\n * nameRegistry.isAmbiguousTypeName(\"MyUniqueType\"); // false - only exists in one namespace\n * nameRegistry.isAmbiguousTypeName(); // false - no name provided\n * ```\n */\n public isAmbiguousTypeName(name?: string): boolean {\n return name ? (this.typeNames.get(name)?.size ?? 0) > 1 : false;\n }\n\n /**\n * Determines if a namespace name is ambiguous (appears in multiple contexts).\n * @param name - The namespace name to check for ambiguity (optional)\n * @returns `true` if the namespace name appears in multiple contexts, `false` otherwise\n */\n public isAmbiguousNamespaceName(name?: string): boolean {\n return name ? (this.namespaceNames.get(name)?.size ?? 0) > 1 : false;\n }\n\n /**\n * Generates a fully qualified name string from a class reference identity.\n * For nested types, includes the enclosing type in the qualified name.\n *\n * @param classReference - The class reference identity to convert to a qualified name\n * @param classReference.name - The type name\n * @param classReference.namespace - The namespace containing the type\n * @param classReference.enclosingType - Optional enclosing type for nested types\n * @returns A fully qualified name string (e.g., \"Namespace.TypeName\" or \"Namespace.EnclosingType.TypeName\")\n */\n public static fullyQualifiedNameOf(classReference: ClassReference.Identity): string {\n // Create a consistent string representation for registry keys\n return classReference.enclosingType\n ? `${classReference.namespace}.${classReference.enclosingType.name}.${classReference.name}`\n : `${classReference.namespace}.${classReference.name}`;\n }\n\n /**\n * Registers a namespace mapping, recording when an original namespace is remapped to a different name.\n * Logs an error if attempting to register conflicting mappings for the same namespace.\n * @param from - The original namespace name\n * @param to - The canonical namespace name (potentially modified to avoid conflicts)\n */\n registerNamespace(from: string, to: string): void {\n if (this.namespaceRegistry.has(from) && this.namespaceRegistry.get(from) !== to) {\n return;\n }\n\n this.namespaceRegistry.set(from, to);\n }\n\n /**\n * Registers a type in the type registry and updates related tracking data structures.\n * This method is called when a new type is encountered during code generation.\n * It handles JSON path mapping, namespace registration, and ambiguity tracking.\n *\n * @param classReference - The ClassReference to register\n * @param originalFullyQualifiedName - Optional original fully qualified name before any remapping\n * @returns The same ClassReference that was passed in (for method chaining)\n *\n * @example\n * ```typescript\n * const typeRef = csharp.classReference({ name: \"MyType\", namespace: \"MyNamespace\" });\n * nameRegistry.trackType(typeRef); // Registers the type\n * nameRegistry.trackType(typeRef, \"OriginalNamespace.MyType\"); // Also registers under original name\n * ```\n */\n public trackType(classReference: ClassReference, originalFullyQualifiedName?: FullyQualifiedName): ClassReference {\n const { name, namespace, enclosingType, fullyQualifiedName, origin } = classReference;\n\n if (origin) {\n const jsonPath =\n this.model.jsonPath(origin) ??\n fail(`JsonPath not found for origin: ${JSON.stringify(origin).substring(0, 100)}`);\n\n this.classReferenceByJsonPath.set(jsonPath, classReference);\n }\n\n // if we were given an original name for the class reference, then register the type\n if (\n originalFullyQualifiedName &&\n originalFullyQualifiedName !== fullyQualifiedName &&\n !this.typeRegistry.has(originalFullyQualifiedName)\n ) {\n this.typeRegistry.set(originalFullyQualifiedName, classReference);\n }\n\n if (!this.typeRegistry.has(fullyQualifiedName)) {\n // Register the type in the main registry\n this.typeRegistry.set(fullyQualifiedName, classReference);\n\n // Register all parent namespaces\n for (const ns of this.allNamespacesOf(namespace)) {\n this.registerNamespace(ns, ns);\n }\n // Track the type name and its namespace for ambiguity detection\n if (!enclosingType) {\n // Implementation Note:\n // if the classReference is actually a nested type, we're going to skip\n // tracking it for ambiguity for the moment, as the ambiguity would only be if the type\n // was rendered in the enclosing type, and I don't think that happens.\n // regardless, if we wanted to make sure that worked, we'd have to know the scope where\n // the node was being rendered\n // (ie, in the code generator, keep track of where we are, not *just* the current namespace)\n this.trackTypeName(name, namespace);\n }\n\n for (const each of [this.generation.namespaces.root, ...this.implicitNamespaces]) {\n if (namespace.startsWith(each)) {\n // get the next word of the namespace\n const trimmed = namespace.split(\".\")[each.split(\".\").length];\n\n if (trimmed) {\n this.trackTypeName(trimmed, namespace);\n }\n }\n }\n }\n\n return classReference;\n }\n\n /**\n * Adds a namespace to the set of implicit namespaces.\n * Implicit namespaces are used to automatically track type names from nested namespaces\n * that start with the implicit namespace prefix.\n *\n * @param namespace - The namespace to add as an implicit namespace\n *\n * @example\n * ```typescript\n * nameRegistry.addImplicitNamespace(\"MyCompany\");\n * // Now types in \"MyCompany.Products\" will automatically track \"Products\" as a type name\n * ```\n */\n public addImplicitNamespace(namespace: string): void {\n this.implicitNamespaces.add(namespace);\n }\n\n public isNamespaceImplicit(namespace: string): boolean {\n return this.implicitNamespaces.has(namespace);\n }\n\n public get implicitlyImportedNamespaces(): string[] {\n return [...this.implicitNamespaces];\n }\n /**\n * Tracks a type name and its namespace for ambiguity detection.\n * This method updates the typeNames registry to track which namespaces contain each type name,\n * enabling detection of ambiguous type names that exist in multiple namespaces.\n *\n * @param name - The type name to track\n * @param namespace - The namespace where this type name exists\n *\n * @example\n * ```typescript\n * nameRegistry.trackTypeName(\"String\", \"System\");\n * nameRegistry.trackTypeName(\"String\", \"MyNamespace\");\n * nameRegistry.isAmbiguousTypeName(\"String\"); // true - exists in multiple namespaces\n * ```\n */\n public trackTypeName(name: string, namespace: string): void {\n if (this.typeNames.has(name)) {\n this.typeNames.get(name)?.add(namespace);\n } else {\n this.typeNames.set(name, new Set([namespace]));\n }\n // add namespace part names to the list of namespace names that we want to track for ambiguity\n const parts = namespace.split(\".\");\n let ns = \"\";\n for (const each of parts) {\n if (this.namespaceNames.has(each)) {\n this.namespaceNames.get(each)?.add(ns);\n } else {\n this.namespaceNames.set(each, new Set([ns]));\n }\n ns = ns ? `${ns}.${each}` : each;\n }\n }\n\n /**\n * Generates all parent namespaces for a given namespace string.\n * For example, \"System.Collections.Generic\" would return [\"System\", \"System.Collections\", \"System.Collections.Generic\"].\n *\n * @param namespace - The namespace to decompose into parent namespaces\n * @returns A Set containing all parent namespaces, including the full namespace itself\n *\n * @example\n * ```typescript\n * nameRegistry.allNamespacesOf(\"System.Collections.Generic\");\n * // Returns: Set([\"System\", \"System.Collections\", \"System.Collections.Generic\"])\n * ```\n */\n public allNamespacesOf(namespace: string): Set<string> {\n if (!namespace || typeof namespace !== \"string\") {\n return new Set();\n }\n\n let fqNamespace = \"\";\n const result = new Set<string>();\n\n for (const part of namespace.split(\".\")) {\n if (part.trim()) {\n // Skip empty parts\n fqNamespace = fqNamespace ? `${fqNamespace}.${part}` : `${part}`;\n result.add(fqNamespace);\n }\n }\n\n return result;\n }\n\n /**\n * Creates and registers a new ClassReference with automatic conflict resolution.\n * This is the primary method for creating class references. It ensures proper registration\n * and resolves any naming conflicts with existing types or namespaces.\n *\n * The method performs several checks:\n * - Looks up existing class references by IR origin (JSON path)\n * - Resolves namespace remappings\n * - Detects and resolves conflicts between types and namespaces\n * - Handles duplicate type names from different IR origins\n *\n * @param classReferenceArgs - The arguments for creating the class reference\n * @param expectedFQN - The expected fully qualified name before conflict resolution\n * @returns A new or existing ClassReference, potentially with modified names to avoid conflicts\n *\n * @example\n * ```typescript\n * const classRef = nameRegistry.registerClassReference(\n * { name: \"MyType\", namespace: \"MyNamespace\", origin: irNode },\n * \"MyNamespace.MyType\"\n * );\n * ```\n */\n public registerClassReference(\n classReferenceArgs: ClassReference.Args & { namespace: string },\n expectedFQN: string\n ): ClassReference {\n let { name, namespace, enclosingType, origin } = classReferenceArgs;\n\n // look it up by origin first, because if we have that, then we're dead-on accurate.\n const callerJsonPath = this.model.jsonPath(origin);\n\n // do we have a class reference already that matches (by origin, or failing that by name)\n const classRef =\n (callerJsonPath ? this.classReferenceByJsonPath.get(callerJsonPath) : undefined) ??\n this.typeRegistry.get(expectedFQN);\n\n const existingJsonPath = this.model.jsonPath(classRef?.origin);\n\n // if the caller and the registered class reference have an origin, then then should be the same.\n // if either of them don't have an origin, we can't make the comparison, and so have to trust the caller knows what they are asking for.\n // (over time, we should be ensuring that all class references get an origin set.)\n let quality =\n existingJsonPath && callerJsonPath\n ? existingJsonPath === callerJsonPath\n ? \"match\"\n : \"mismatch\"\n : \"no origin\";\n\n if (classRef && quality !== \"mismatch\") {\n // we have a class reference that *should* be what we're looking for and\n // either the origin matches or we don't have an origin on one end or the other to compare with.\n // return the new instance of the class reference for the caller\n // creates a clone\n\n return new ClassReference(\n {\n name: classRef.name,\n namespace: classRef.namespace,\n enclosingType: classRef.enclosingType,\n fullyQualifiedName: classRef.fullyQualifiedName,\n\n namespaceAlias: classReferenceArgs.namespaceAlias,\n fullyQualified: classReferenceArgs.fullyQualified,\n generics: classReferenceArgs.generics,\n global: classReferenceArgs.global,\n origin: classRef.origin ?? origin,\n isCollection: classRef.isCollection,\n isReferenceType: classRef.isReferenceType,\n multipartMethodName: classRef.multipartMethodName,\n multipartMethodNameForCollection: classRef.multipartMethodNameForCollection\n },\n // reuse the type scope from the existing class reference, because it's the common data across all copies of a class reference\n classRef.scope,\n this.generation\n );\n }\n\n // no, we've never seen this class reference before.\n // check to see if we have to adjust it to avoid conflicts\n let modified = false;\n\n // Resolve any namespace remappings first\n const resolvedNamespace = this.resolveNamespace(namespace);\n if (resolvedNamespace !== namespace) {\n namespace = resolvedNamespace;\n modified = true;\n }\n\n // Ensure no conflicts with existing types or namespaces\n let fullyQualifiedName: FullyQualifiedName;\n conflictResolution: while (true) {\n fullyQualifiedName = NameRegistry.fullyQualifiedNameOf({ name, namespace, enclosingType });\n let fqNamespace = \"\";\n const parts = namespace.split(\".\");\n\n // Check each namespace segment for conflicts with existing types\n for (let i = 0; i < parts.length; i++) {\n fqNamespace = fqNamespace ? `${fqNamespace}.${parts[i]}` : `${parts[i]}`;\n\n if (this.typeRegistry.has(fqNamespace)) {\n // Found a conflict with an existing type, modify the namespace segment\n parts[i] = `${parts[i]}_`;\n namespace = parts.join(\".\");\n modified = true;\n\n // `RENAMING NAMESPACE: ${classReferenceArgs.namespace} to ${namespace} with existing fqNamespace: ${fqNamespace} caller: ${callerJsonPath} / existing: ${existingJsonPath}`\n\n continue conflictResolution;\n }\n }\n\n // Cache namespace modifications\n if (modified) {\n this.registerNamespace(classReferenceArgs.namespace, namespace);\n }\n\n if (quality === \"mismatch\" && classRef?.name === name) {\n // the origin mismatch means that the caller is asking for a different class reference, so we need to modify the type name\n // this can be expected when there are multiple types with the same name (pagination!)\n\n name = `${name}_`;\n modified = true;\n continue conflictResolution;\n }\n\n // Check if the fully qualified name conflicts with an existing namespace\n if (this.namespaceRegistry.has(fullyQualifiedName)) {\n // The type name conflicts with an existing namespace, modify the type name\n\n name = `${name}_`;\n modified = true;\n continue conflictResolution;\n }\n\n // No conflicts found, we're good to go\n break;\n }\n\n // Create and register the ClassReference\n return this.trackType(\n new ClassReference(\n {\n name,\n namespace,\n enclosingType,\n namespaceAlias: classReferenceArgs.namespaceAlias,\n fullyQualified: classReferenceArgs.fullyQualified,\n generics: classReferenceArgs.generics,\n global: classReferenceArgs.global,\n fullyQualifiedName,\n origin,\n isCollection: classReferenceArgs.isCollection,\n isReferenceType: classReferenceArgs.isReferenceType,\n multipartMethodName: classReferenceArgs.multipartMethodName,\n multipartMethodNameForCollection: classReferenceArgs.multipartMethodNameForCollection\n },\n // the typescope is the common data across all copies of a class referecne\n new TypeScope(this, name, namespace, fullyQualifiedName),\n this.generation\n ),\n expectedFQN\n );\n }\n\n /**\n * Resolves a namespace to its canonical version, checking for parent namespace remappings.\n * This function handles cases where parent namespaces have been remapped due to conflicts.\n *\n * @param namespace - The namespace to resolve\n * @returns The canonical namespace, which may be the original or a remapped version\n *\n * @example\n * ```typescript\n * // If \"System\" was remapped to \"System_\", then:\n * nameRegistry.resolveNamespace(\"System.Collections\"); // Returns \"System_.Collections\"\n * nameRegistry.resolveNamespace(\"MyNamespace\"); // Returns \"MyNamespace\" (unchanged)\n * ```\n */\n public resolveNamespace(namespace: string): string {\n const cached = this.namespaceRegistry.get(namespace);\n if (cached !== undefined) {\n return cached;\n }\n\n // Check if any parent namespaces have been remapped\n const parts = namespace.split(\".\");\n\n // Work backwards from the full namespace to each parent namespace\n for (let i = parts.length - 1; i >= 0; i--) {\n const parentNamespace = parts.slice(0, i).join(\".\");\n\n if (this.namespaceRegistry.has(parentNamespace)) {\n // Found a remapped parent namespace, construct the new full namespace\n const remappedParent = this.namespaceRegistry.get(parentNamespace);\n if (remappedParent !== undefined) {\n const remainingParts = parts.slice(i).join(\".\");\n const newNamespace = `${remappedParent}.${remainingParts}`;\n\n // Cache the result for future lookups\n this.registerNamespace(namespace, newNamespace);\n return newNamespace;\n }\n }\n }\n\n return namespace;\n }\n\n /**\n * Canonicalizes a namespace by ensuring it doesn't conflict with existing types or namespaces.\n * If conflicts are detected, the namespace is modified by appending underscores to conflicting segments.\n *\n * @param originalNamespace - The original namespace to canonicalize\n * @returns The canonicalized namespace, which may be modified to avoid conflicts\n *\n * @example\n * ```typescript\n * // If \"System\" already exists as a type:\n * nameRegistry.canonicalizeNamespace(\"System.MyNamespace\"); // Returns \"System_.MyNamespace\"\n * nameRegistry.canonicalizeNamespace(\"MyNamespace\"); // Returns \"MyNamespace\" (unchanged)\n * ```\n */\n public canonicalizeNamespace(originalNamespace: string): string {\n const cached = this.namespaceRegistry.get(originalNamespace);\n if (cached !== undefined) {\n return cached;\n }\n\n let modified = false;\n let namespace = originalNamespace;\n\n // Ensure the namespace doesn't conflict with existing types or namespaces\n conflictResolution: while (true) {\n let fqNamespace = \"\";\n const parts = namespace.split(\".\");\n\n // Check each namespace segment for conflicts\n for (let i = 0; i < parts.length; i++) {\n fqNamespace = fqNamespace ? `${fqNamespace}.${parts[i]}` : `${parts[i]}`;\n\n if (this.typeRegistry.has(fqNamespace)) {\n // Found a conflict with an existing type, modify the namespace segment\n parts[i] = `${parts[i]}_`;\n namespace = parts.join(\".\");\n modified = true;\n continue conflictResolution;\n }\n }\n\n // No conflicts found, we're good to go\n break;\n }\n\n // Cache the result if we made modifications\n if (modified) {\n this.registerNamespace(originalNamespace, namespace);\n }\n\n return namespace;\n }\n}\n","/**\n * Type definition for built-in type mappings\n * Maps namespace names to arrays of type names within that namespace\n */\nexport type BuiltInTypeMap = Record<string, readonly string[]>;\n\n/**\n * Comprehensive mapping of built-in .NET types organized by namespace.\n *\n * This object contains all the standard .NET types that should be treated as built-ins\n * during code generation. Types listed here will be referenced directly rather than\n * generating wrapper classes or custom implementations.\n *\n * The structure is organized as:\n * - Key: Full namespace name (e.g., \"System\", \"System.Collections.Generic\")\n * - Value: Array of type names within that namespace\n *\n */\nexport const builtIns: BuiltInTypeMap = {\n // Core System namespace - fundamental types, exceptions, and basic functionality\n System: [\n \"AccessViolationException\",\n \"Action\",\n \"Activator\",\n \"AggregateException\",\n \"AppContext\",\n \"AppDomain\",\n \"AppDomainSetup\",\n \"AppDomainUnloadedException\",\n \"ApplicationException\",\n \"ApplicationId\",\n \"ArgIterator\",\n \"ArgumentException\",\n \"ArgumentNullException\",\n \"ArgumentOutOfRangeException\",\n \"ArithmeticException\",\n \"Array\",\n \"ArrayTypeMismatchException\",\n \"AssemblyLoadEventArgs\",\n \"AssemblyLoadEventHandler\",\n \"AsyncCallback\",\n \"Attribute\",\n \"AttributeTargets\",\n \"AttributeUsageAttribute\",\n \"BadImageFormatException\",\n \"Base64FormattingOptions\",\n \"BitConverter\",\n \"Boolean\",\n \"Buffer\",\n \"Byte\",\n \"CannotUnloadAppDomainException\",\n \"Char\",\n \"CharEnumerator\",\n \"CLSCompliantAttribute\",\n \"Console\",\n \"ConsoleCancelEventArgs\",\n \"ConsoleCancelEventHandler\",\n \"ConsoleColor\",\n \"ConsoleKey\",\n \"ConsoleKeyInfo\",\n \"ConsoleModifiers\",\n \"ConsoleSpecialKey\",\n \"ContextBoundObject\",\n \"ContextMarshalException\",\n \"ContextStaticAttribute\",\n \"Convert\",\n \"CultureAwareComparer\",\n \"DataMisalignedException\",\n \"DateOnly\",\n \"DateTime\",\n \"DateTimeKind\",\n \"DateTimeOffset\",\n \"DayOfWeek\",\n \"DBNull\",\n \"Decimal\",\n \"Delegate\",\n \"DivideByZeroException\",\n \"DllNotFoundException\",\n \"Double\",\n \"DuplicateWaitObjectException\",\n \"EntryPointNotFoundException\",\n \"Enum\",\n \"Environment\",\n \"EnvironmentVariableTarget\",\n \"EventArgs\",\n \"EventHandler\",\n \"Exception\",\n \"ExecutionEngineException\",\n \"FieldAccessException\",\n \"FlagsAttribute\",\n \"FormatException\",\n \"FormattableString\",\n \"GC\",\n \"GCCollectionMode\",\n \"GCGenerationInfo\",\n \"GCKind\",\n \"GCMemoryInfo\",\n \"GCNotificationStatus\",\n \"Guid\",\n \"Half\",\n \"HashCode\",\n \"IAsyncDisposable\",\n \"IAsyncResult\",\n \"ICloneable\",\n \"IComparable\",\n \"IConvertible\",\n \"ICustomFormatter\",\n \"IDisposable\",\n \"IFormatProvider\",\n \"IFormattable\",\n \"Index\",\n \"IndexOutOfRangeException\",\n \"InsufficientExecutionStackException\",\n \"InsufficientMemoryException\",\n \"Int128\",\n \"Int16\",\n \"Int32\",\n \"Int64\",\n \"IntPtr\",\n \"InvalidCastException\",\n \"InvalidOperationException\",\n \"InvalidProgramException\",\n \"InvalidTimeZoneException\",\n \"ISpanFormattable\",\n \"IUtf8SpanFormattable\",\n \"LoaderOptimization\",\n \"LoaderOptimizationAttribute\",\n \"LocalDataStoreSlot\",\n \"MarshalByRefObject\",\n \"Math\",\n \"MathF\",\n \"MemberAccessException\",\n \"MemoryExtensions\",\n \"MethodAccessException\",\n \"MidpointRounding\",\n \"MissingFieldException\",\n \"MissingMemberException\",\n \"MissingMethodException\",\n \"ModuleHandle\",\n \"MTAThreadAttribute\",\n \"MulticastDelegate\",\n \"MulticastNotSupportedException\",\n \"NonSerializedAttribute\",\n \"NotFiniteNumberException\",\n \"NotImplementedException\",\n \"NotSupportedException\",\n \"Nullable\",\n \"NullReferenceException\",\n \"Object\",\n \"ObjectDisposedException\",\n \"ObsoleteAttribute\",\n \"OperatingSystem\",\n \"OperationCanceledException\",\n \"OrdinalComparer\",\n \"OutOfMemoryException\",\n \"OverflowException\",\n \"ParamArrayAttribute\",\n \"PlatformID\",\n \"PlatformNotSupportedException\",\n \"Random\",\n \"Range\",\n \"RankException\",\n \"ResolveEventArgs\",\n \"ResolveEventHandler\",\n \"RuntimeArgumentHandle\",\n \"RuntimeFieldHandle\",\n \"RuntimeMethodHandle\",\n \"RuntimeTypeHandle\",\n \"SByte\",\n \"SerializableAttribute\",\n \"Single\",\n \"StackOverflowException\",\n \"STAThreadAttribute\",\n \"String\",\n \"StringComparer\",\n \"StringComparison\",\n \"StringNormalizationExtensions\",\n \"StringSplitOptions\",\n \"SystemException\",\n \"ThreadStaticAttribute\",\n \"TimeOnly\",\n \"TimeoutException\",\n \"TimeProvider\",\n \"TimeSpan\",\n \"TimeZone\",\n \"TimeZoneInfo\",\n \"TimeZoneNotFoundException\",\n \"Tuple\",\n \"TupleExtensions\",\n \"Type\",\n \"TypeAccessException\",\n \"TypeCode\",\n \"TypedReference\",\n \"TypeInitializationException\",\n \"TypeLoadException\",\n \"TypeUnloadedException\",\n \"UInt128\",\n \"UInt16\",\n \"UInt32\",\n \"UInt64\",\n \"UIntPtr\",\n \"UnauthorizedAccessException\",\n \"UnhandledExceptionEventArgs\",\n \"UnhandledExceptionEventHandler\",\n \"UnitySerializationHolder\",\n \"ValueTuple\",\n \"ValueType\",\n \"Version\",\n \"Void\",\n \"WeakReference\",\n \"Buffers\",\n \"Collections\",\n \"ComponentModel\",\n \"Diagnostics\",\n \"Globalization\",\n \"IO\",\n \"Linq\",\n \"Net\",\n \"Numerics\",\n \"Reflection\",\n \"Resources\",\n \"Runtime\",\n \"Security\",\n \"Text\",\n \"Threading\"\n ],\n\n // Generic collections and related types\n \"System.Collections.Generic\": [\n \"ByteEqualityComparer\",\n \"CollectionExtensions\",\n \"IEnumerable\",\n \"KeyNotFoundException\",\n \"KeyValuePair\",\n \"NonRandomizedStringEqualityComparer\",\n \"ReferenceEqualityComparer\"\n ],\n\n // File and stream I/O operations\n \"System.IO\": [\n \"BinaryReader\",\n \"BinaryWriter\",\n \"BufferedStream\",\n \"Directory\",\n \"DirectoryInfo\",\n \"DirectoryNotFoundException\",\n \"EndOfStreamException\",\n \"EnumerationOptions\",\n \"File\",\n \"FileAccess\",\n \"FileAttributes\",\n \"FileInfo\",\n \"FileLoadException\",\n \"FileMode\",\n \"FileNotFoundException\",\n \"FileOptions\",\n \"FileShare\",\n \"FileStream\",\n \"FileStreamOptions\",\n \"FileSystemInfo\",\n \"HandleInheritability\",\n \"InvalidDataException\",\n \"IOException\",\n \"MatchCasing\",\n \"MatchType\",\n \"MemoryStream\",\n \"Path\",\n \"PathTooLongException\",\n \"RandomAccess\",\n \"SearchOption\",\n \"SeekOrigin\",\n \"Stream\",\n \"StreamReader\",\n \"StreamWriter\",\n \"StringReader\",\n \"StringWriter\",\n \"TextReader\",\n \"TextWriter\",\n \"UnixFileMode\",\n \"UnmanagedMemoryAccessor\",\n \"UnmanagedMemoryStream\",\n \"System.IO.Enumeration\"\n ],\n\n // Language Integrated Query (LINQ) functionality\n \"System.Linq\": [\"Enumerable\"],\n\n // HTTP client functionality\n \"System.Net.Http\": [\"HttpClient\", \"HttpMethod\"],\n\n // Threading and synchronization primitives\n \"System.Threading\": [\n \"AbandonedMutexException\",\n \"ApartmentState\",\n \"AsyncFlowControl\",\n \"AutoResetEvent\",\n \"CancellationToken\",\n \"CancellationTokenRegistration\",\n \"CancellationTokenSource\",\n \"CompressedStack\",\n \"ContextCallback\",\n \"EventResetMode\",\n \"EventWaitHandle\",\n \"ExecutionContext\",\n \"Interlocked\",\n \"IOCompletionCallback\",\n \"IThreadPoolWorkItem\",\n \"ITimer\",\n \"LazyInitializer\",\n \"LazyThreadSafetyMode\",\n \"Lock\",\n \"LockRecursionException\",\n \"LockRecursionPolicy\",\n \"ManualResetEvent\",\n \"ManualResetEventSlim\",\n \"Monitor\",\n \"Mutex\",\n \"NativeOverlapped\",\n \"Overlapped\",\n \"ParameterizedThreadStart\",\n \"PeriodicTimer\",\n \"PreAllocatedOverlapped\",\n \"ReaderWriterLockSlim\",\n \"RegisteredWaitHandle\",\n \"Semaphore\",\n \"SemaphoreFullException\",\n \"SemaphoreSlim\",\n \"SendOrPostCallback\",\n \"SpinLock\",\n \"SpinWait\",\n \"SynchronizationContext\",\n \"SynchronizationLockException\",\n \"Thread\",\n \"ThreadAbortException\",\n \"ThreadExceptionEventArgs\",\n \"ThreadExceptionEventHandler\",\n \"ThreadInterruptedException\",\n \"ThreadPool\",\n \"ThreadPoolBoundHandle\",\n \"ThreadPriority\",\n \"ThreadStart\",\n \"ThreadStartException\",\n \"ThreadState\",\n \"ThreadStateException\",\n \"Timeout\",\n \"Timer\",\n \"TimerCallback\",\n \"Volatile\",\n \"WaitCallback\",\n \"WaitHandle\",\n \"WaitHandleCannotBeOpenedException\",\n \"WaitHandleExtensions\",\n \"WaitOrTimerCallback\",\n \"Tasks\"\n ],\n\n // Task-based asynchronous programming (TAP) model\n \"System.Threading.Tasks\": [\n \"ConcurrentExclusiveSchedulerPair\",\n \"ConfigureAwaitOptions\",\n \"Task\",\n \"TaskAsyncEnumerableExtensions\",\n \"TaskCanceledException\",\n \"TaskCompletionSource\",\n \"TaskContinuationOptions\",\n \"TaskCreationOptions\",\n \"TaskExtensions\",\n \"TaskFactory\",\n \"TaskScheduler\",\n \"TaskSchedulerException\",\n \"TaskStatus\",\n \"TaskToAsyncResult\",\n \"UnobservedTaskExceptionEventArgs\",\n \"ValueTask\",\n \"Sources\"\n ]\n};\n","/**\n * LazyResult is a type that transparently unwraps functions with no required parameters to their return type.\n *\n * Functions with zero parameters `() => T` become properties of type `T`.\n * Functions with parameters `(arg: X) => T` remain as callable functions.\n *\n * @example\n * ```typescript\n * type Input = {\n * foo: () => string; // Zero params\n * bar: (x: number) => string; // One param\n * baz: (x?: number) => string; // Optional param\n * };\n *\n * type Output = LazyResult<Input>;\n * // Output is:\n * // {\n * // foo: string; // Unwrapped to return type\n * // bar: (x: number) => string; // Kept as function\n * // baz: (x?: number) => string; // Kept as function\n * // }\n * ```\n */\ntype LazyResult<T> = {\n // If it's a function AND has no required parameters, check if it's truly zero-param\n [K in keyof T]: T[K] extends (...args: infer Args) => infer R\n ? Args extends [] // True zero-parameter function\n ? R // Unwrap to return type\n : T[K] // Keep as function (has parameters, even if optional)\n : T[K]; // Not a function, keep as-is\n};\n\n/**\n * Creates an object with lazy-evaluated, cached properties from factory functions.\n *\n * This function transforms an object of factory functions into an object where:\n * - Zero-parameter functions become lazy-evaluated, cached properties (computed once on first access)\n * - Functions with parameters remain as regular methods (called every time)\n *\n * The distinction is made at runtime using `fn.length` (number of parameters).\n *\n * @param factories - An object where values are factory functions\n * @returns An object with the same keys, but zero-param functions become cached properties\n *\n * @example\n * ```typescript\n * const obj = lazy({\n * // Zero-param: becomes a cached property\n * name: () => computeExpensiveName(),\n *\n * // With param: remains a callable method\n * greet: (person: string) => `Hello, ${person}!`\n * });\n *\n * // Access as property (computed once, then cached)\n * console.log(obj.name); // string\n * console.log(obj.name); // Same value, from cache\n *\n * // Call as method (computed every time)\n * console.log(obj.greet(\"Alice\")); // \"Hello, Alice!\"\n * console.log(obj.greet(\"Bob\")); // \"Hello, Bob!\"\n * ```\n */\nexport function lazy<T extends Record<string, (...args: never[]) => unknown>>(factories: T): LazyResult<T> {\n const cache = {} as Record<string, unknown>;\n const result: Record<string, unknown> = {};\n\n for (const [key, fn] of Object.entries(factories)) {\n if (fn.length === 0) {\n // No parameters - make it a lazy cached property\n Object.defineProperty(result, key, {\n get() {\n if (!(key in cache)) {\n cache[key] = fn();\n }\n return cache[key];\n },\n enumerable: true,\n configurable: true\n });\n } else {\n // Has parameters - just assign the method directly\n result[key] = fn;\n }\n }\n\n return result as LazyResult<T>;\n}\n","import { type Type } from \"../ast/types/IType\";\nimport { type Generation } from \"../context/generation-info\";\nimport { lazy } from \"../utils/lazy\";\n\n/**\n * Provides access to external type references for C# code generation.\n * Offers pre-defined references to commonly used .NET Framework types, third-party libraries,\n * and testing frameworks.\n */\nexport class Extern {\n constructor(private readonly generation: Generation) {}\n protected get csharp() {\n return this.generation.csharp;\n }\n /**\n * Pre-defined references to commonly used System namespace classes and types.\n * This object provides convenient access to standard .NET Framework types\n * without having to manually create class references.\n *\n * All values are lazy initialized - simple references are cached, functions remain callable.\n */\n readonly System = lazy({\n /**\n * Creates a reference to System.Action<T> delegate.\n *\n * @param typeParameters - The generic type parameters (optional)\n * @returns A ClassReference for Action<T>\n */\n Action: (typeParameters?: Type[]) =>\n this.csharp.classReference({\n name: \"Action\",\n namespace: \"System\",\n generics: typeParameters ? typeParameters : undefined,\n multipartMethodName: null, // can not be added to multipart form\n multipartMethodNameForCollection: null, // can not be added to multipart form\n isReferenceType: true // is historically a \"reference\" type\n }),\n /**\n * Creates a reference to System.Func<TArgs..., TResult> delegate.\n *\n * @param typeParameters - The parameter types (optional)\n * @param returnType - The return type (optional)\n * @returns A ClassReference for Func<TArgs..., TResult>\n */\n Func: (typeParameters?: Type[], returnType?: Type) =>\n this.csharp.classReference({\n name: \"Func\",\n namespace: \"System\",\n generics: typeParameters\n ? returnType\n ? [...typeParameters, returnType]\n : typeParameters\n : returnType\n ? [returnType]\n : undefined,\n multipartMethodName: null, // can not be added to multipart form\n multipartMethodNameForCollection: null, // can not be added to multipart form,\n isReferenceType: true // is historically a \"reference\" type\n }),\n /**\n * Reference to System.DateOnly class.\n */\n DateOnly: () =>\n this.csharp.classReference({\n name: \"DateOnly\",\n namespace: \"System\"\n }),\n /**\n * Reference to System.DateTime class.\n */\n DateTime: () =>\n this.csharp.classReference({\n name: \"DateTime\",\n namespace: \"System\"\n }),\n /**\n * Reference to System.Enum class.\n */\n Enum: () =>\n this.csharp.classReference({\n name: \"Enum\",\n namespace: \"System\"\n }),\n\n /**\n * Reference to System.Exception class.\n */\n Exception: () =>\n this.csharp.classReference({\n name: \"Exception\",\n namespace: \"System\"\n }),\n\n /**\n * Creates a reference to System.ReadOnlyMemory<T>.\n *\n * @param type - The element type\n * @returns A ClassReference for ReadOnlyMemory<T>\n */\n ReadOnlyMemory: (type: Type) =>\n this.csharp.classReference({\n name: \"ReadOnlyMemory\",\n namespace: \"System\",\n generics: [type]\n }),\n /**\n * Reference to System.SerializableAttribute class.\n */\n Serializable: () =>\n this.csharp.classReference({\n name: \"Serializable\",\n namespace: \"System\"\n }),\n\n /**\n * Reference to System.String class.\n */\n String: () =>\n this.csharp.classReference({\n name: \"String\",\n namespace: \"System\"\n }),\n\n /**\n * Reference to System.Type class.\n *\n * @returns A ClassReference for System.Type\n */\n Type: () =>\n this.csharp.classReference({\n name: \"Type\",\n namespace: \"System\",\n isReferenceType: true,\n multipartMethodName: null, // can not be added to multipart form\n multipartMethodNameForCollection: null, // can not be added to multipart form\n fullyQualified: true\n }),\n /**\n * Reference to System.TimeSpan class.\n */\n TimeSpan: () =>\n this.csharp.classReference({\n name: \"TimeSpan\",\n namespace: \"System\"\n }),\n /**\n * Reference to System.Uri class.\n */\n Uri: () =>\n this.csharp.classReference({\n name: \"Uri\",\n namespace: \"System\"\n }),\n /**\n * Reference to System.UriBuilder class.\n */\n UriBuilder: () =>\n this.csharp.classReference({\n name: \"UriBuilder\",\n namespace: \"System\"\n }),\n /**\n * Runtime namespace references.\n */\n Runtime: () =>\n lazy({\n /**\n * Serialization namespace references.\n */\n Serialization: () =>\n lazy({\n /**\n * Reference to System.Runtime.Serialization.EnumMemberAttribute class.\n */\n EnumMember: () =>\n this.csharp.classReference({\n name: \"EnumMember\",\n namespace: \"System.Runtime.Serialization\"\n })\n })\n }),\n /**\n * Collections namespace references.\n */\n Collections: () =>\n lazy({\n /**\n * Generic collections namespace references.\n */\n Generic: () =>\n lazy({\n /**\n * Creates a reference to IAsyncEnumerable<T>.\n *\n * @param elementType - The element type (optional)\n * @returns A ClassReference for IAsyncEnumerable<T>\n */\n IAsyncEnumerable: (elementType?: Type) => {\n return this.csharp.classReference({\n name: \"IAsyncEnumerable\",\n namespace: \"System.Collections.Generic\",\n generics: elementType ? [elementType] : undefined\n });\n },\n\n /**\n * Creates a reference to IEnumerable<T>.\n *\n * @param elementType - The element type (optional)\n * @returns A ClassReference for IEnumerable<T>\n */\n IEnumerable: (elementType?: Type) => {\n return this.csharp.classReference({\n name: \"IEnumerable\",\n namespace: \"System.Collections.Generic\",\n generics: elementType ? [elementType] : undefined\n });\n },\n\n /**\n * Creates a reference to KeyValuePair<TKey, TValue>.\n *\n * @param keyType - The key type (optional)\n * @param valueType - The value type (optional)\n * @returns A ClassReference for KeyValuePair<TKey, TValue>\n */\n KeyValuePair: (keyType?: Type, valueType?: Type) => {\n return this.csharp.classReference({\n name: \"KeyValuePair\",\n namespace: \"System.Collections.Generic\",\n generics: keyType && valueType ? [keyType, valueType] : undefined\n });\n },\n\n /**\n * Creates a reference to List<T>.\n *\n * @param elementType - The element type (optional)\n * @returns A ClassReference for List<T>\n */\n List: (elementType?: Type) => {\n return this.csharp.classReference({\n name: \"List\",\n namespace: \"System.Collections.Generic\",\n generics: elementType ? [elementType] : undefined,\n isCollection: true\n });\n },\n\n /**\n * Creates a reference to HashSet<T>.\n *\n * @param elementType - The element type (optional)\n * @returns A ClassReference for HashSet<T>\n */\n HashSet: (elementType?: Type) => {\n return this.csharp.classReference({\n name: \"HashSet\",\n namespace: \"System.Collections.Generic\",\n generics: elementType ? [elementType] : undefined,\n isCollection: true\n });\n },\n\n /**\n * Creates a reference to Dictionary<TKey, TValue>.\n *\n * @param keyType - The key type (optional)\n * @param valueType - The value type (optional)\n * @returns A ClassReference for Dictionary<TKey, TValue>\n */\n Dictionary: (keyType?: Type, valueType?: Type) => {\n return this.csharp.classReference({\n name: \"Dictionary\",\n namespace: \"System.Collections.Generic\",\n generics: keyType && valueType ? [keyType, valueType] : undefined,\n isCollection: true\n });\n },\n /**\n * Creates a reference to IDictionary<TKey, TValue>.\n *\n * @param keyType - The key type\n * @param valueType - The value type\n * @returns A ClassReference for IDictionary<TKey, TValue>\n */\n IDictionary: (keyType: Type, valueType: Type) =>\n this.csharp.classReference({\n name: \"IDictionary\",\n namespace: \"System.Collections.Generic\",\n generics: [keyType, valueType]\n })\n }),\n\n /**\n * LINQ namespace references.\n */\n Linq: () =>\n lazy({\n /**\n * Reference to System.Linq.Enumerable class.\n */\n Enumerable: () =>\n this.csharp.classReference({\n name: \"Enumerable\",\n namespace: \"System.Linq\"\n })\n })\n }),\n /**\n * Globalization namespace references.\n */\n Globalization: () =>\n lazy({\n /**\n * Reference to System.Globalization.DateTimeStyles enum.\n */\n DateTimeStyles: () =>\n this.csharp.classReference({\n name: \"DateTimeStyles\",\n namespace: \"System.Globalization\"\n })\n }),\n\n /**\n * LINQ namespace references.\n */\n Linq: () =>\n lazy({\n /**\n * Reference to System.Linq.Enumerable class.\n */\n Enumerable: () =>\n this.csharp.classReference({\n name: \"Enumerable\",\n namespace: \"System.Linq\"\n })\n }),\n /**\n * Net namespace references.\n */\n Net: () =>\n lazy({\n /**\n * HTTP namespace references.\n */\n Http: () =>\n lazy({\n /**\n * Reference to System.Net.Http.HttpClient class.\n */\n HttpClient: () =>\n this.csharp.classReference({\n name: \"HttpClient\",\n namespace: \"System.Net.Http\"\n }),\n\n /**\n * Reference to System.Net.Http.HttpMethod class.\n */\n HttpMethod: () =>\n this.csharp.classReference({\n name: \"HttpMethod\",\n namespace: \"System.Net.Http\"\n }),\n\n /**\n * Reference to System.Net.Http.Headers.HttpResponseHeaders class.\n */\n HttpResponseHeaders: () =>\n this.csharp.classReference({\n name: \"HttpResponseHeaders\",\n namespace: \"System.Net.Http.Headers\"\n })\n }),\n /**\n * ServerSentEvents namespace references.\n */\n ServerSentEvents: () =>\n lazy({\n /**\n * Reference to System.Net.ServerSentEvents.SseEvent class.\n */\n SseEvent: () =>\n this.csharp.classReference({\n name: \"SseEvent\",\n namespace: \"System.Net.ServerSentEvents\"\n }),\n /**\n * Reference to System.Net.ServerSentEvents.SseParser class.\n */\n SseParser: () =>\n this.csharp.classReference({\n name: \"SseParser\",\n namespace: \"System.Net.ServerSentEvents\"\n })\n }),\n /**\n * WebSockets namespace references.\n */\n WebSockets: () =>\n lazy({\n /**\n * Reference to System.Net.WebSockets.ClientWebSocketOptions class.\n */\n ClientWebSocketOptions: () =>\n this.csharp.classReference({\n name: \"ClientWebSocketOptions\",\n namespace: \"System.Net.WebSockets\"\n })\n })\n }),\n /**\n * IO namespace references.\n */\n IO: () =>\n lazy({\n /**\n * Reference to System.IO.MemoryStream class.\n */\n MemoryStream: () =>\n this.csharp.classReference({\n name: \"MemoryStream\",\n namespace: \"System.IO\"\n }),\n /**\n * Reference to System.IO.Stream class.\n */\n Stream: () =>\n this.csharp.classReference({\n name: \"Stream\",\n namespace: \"System.IO\"\n }),\n /**\n * Reference to System.IO.StreamReader class.\n */\n StreamReader: () =>\n this.csharp.classReference({\n name: \"StreamReader\",\n namespace: \"System.IO\"\n })\n }),\n /**\n * Text namespace references.\n */\n Text: () =>\n lazy({\n /**\n * Reference to System.Text.Encoding class.\n */\n Encoding: () =>\n this.csharp.classReference({\n name: \"Encoding\",\n namespace: \"System.Text\"\n }),\n\n /**\n * Reference to System.Text.Encoding.UTF8 class.\n */\n Encoding_UTF8: () =>\n this.csharp.classReference({\n name: \"UTF8\",\n enclosingType: this.csharp.classReference({\n name: \"Encoding\",\n namespace: \"System.Text\"\n })\n }),\n /**\n * JSON namespace references.\n */\n Json: () =>\n lazy({\n /**\n * Reference to System.Text.Json.JsonElement class.\n */\n JsonElement: () =>\n this.csharp.classReference({\n name: \"JsonElement\",\n namespace: \"System.Text.Json\"\n }),\n\n /**\n * Reference to System.Text.Json.JsonDocument class.\n */\n JsonDocument: () =>\n this.csharp.classReference({\n name: \"JsonDocument\",\n namespace: \"System.Text.Json\"\n }),\n\n /**\n * Reference to System.Text.Json.JsonException class.\n */\n JsonException: () =>\n this.csharp.classReference({\n name: \"JsonException\",\n namespace: \"System.Text.Json\"\n }),\n\n /**\n * Reference to System.Text.Json.Utf8JsonReader class.\n */\n Utf8JsonReader: () =>\n this.csharp.classReference({\n name: \"Utf8JsonReader\",\n namespace: \"System.Text.Json\"\n }),\n\n /**\n * Reference to System.Text.Json.JsonSerializerOptions class.\n */\n JsonSerializerOptions: () =>\n this.csharp.classReference({\n name: \"JsonSerializerOptions\",\n namespace: \"System.Text.Json\"\n }),\n\n /**\n * Reference to System.Text.Json.JsonSerializer class.\n */\n JsonSerializer: () =>\n this.csharp.classReference({\n name: \"JsonSerializer\",\n namespace: \"System.Text.Json\"\n }),\n\n /**\n * Reference to System.Text.Json.Utf8JsonWriter class.\n */\n Utf8JsonWriter: () =>\n this.csharp.classReference({\n name: \"Utf8JsonWriter\",\n namespace: \"System.Text.Json\"\n }),\n\n /**\n * JSON Nodes namespace references.\n */\n Nodes: () =>\n lazy({\n /**\n * Reference to System.Text.Json.Nodes.JsonNode class.\n */\n JsonNode: () =>\n this.csharp.classReference({\n name: \"JsonNode\",\n namespace: \"System.Text.Json.Nodes\"\n }),\n\n /**\n * Reference to System.Text.Json.Nodes.JsonObject class.\n */\n JsonObject: () =>\n this.csharp.classReference({\n name: \"JsonObject\",\n namespace: \"System.Text.Json.Nodes\"\n })\n }),\n /**\n * JSON Serialization namespace references.\n */\n Serialization: () =>\n lazy({\n /**\n * Reference to System.Text.Json.Serialization.IJsonOnDeserialized interface.\n */\n IJsonOnDeserialized: () =>\n this.csharp.classReference({\n name: \"IJsonOnDeserialized\",\n namespace: \"System.Text.Json.Serialization\"\n }),\n\n /**\n * Reference to System.Text.Json.Serialization.IJsonOnSerializing interface.\n */\n IJsonOnSerializing: () =>\n this.csharp.classReference({\n name: \"IJsonOnSerializing\",\n namespace: \"System.Text.Json.Serialization\"\n }),\n\n /**\n * Reference to System.Text.Json.Serialization.JsonOnDeserializedAttribute class.\n */\n JsonOnDeserializedAttribute: () =>\n this.csharp.classReference({\n name: \"JsonOnDeserializedAttribute\",\n namespace: \"System.Text.Json.Serialization\"\n }),\n\n /**\n * Reference to System.Text.Json.Serialization.JsonExtensionDataAttribute class.\n */\n JsonExtensionData: () =>\n this.csharp.classReference({\n name: \"JsonExtensionData\",\n namespace: \"System.Text.Json.Serialization\"\n }),\n\n /**\n * Creates a reference to JsonConverter<T>.\n *\n * @param typeToConvert - The type to convert (optional)\n * @returns A ClassReference for JsonConverter<T>\n */\n JsonConverter: (typeToConvert?: Type) => {\n return this.csharp.classReference({\n name: \"JsonConverter\",\n namespace: \"System.Text.Json.Serialization\",\n generics: typeToConvert ? [typeToConvert] : undefined\n });\n },\n\n /**\n * Reference to System.Text.Json.Serialization.JsonIgnoreAttribute class.\n */\n JsonIgnore: () =>\n this.csharp.classReference({\n name: \"JsonIgnore\",\n namespace: \"System.Text.Json.Serialization\"\n }),\n\n /**\n * Reference to System.Text.Json.Serialization.JsonPropertyNameAttribute class.\n */\n JsonPropertyName: () =>\n this.csharp.classReference({\n name: \"JsonPropertyName\",\n namespace: \"System.Text.Json.Serialization\"\n })\n })\n })\n }),\n /**\n * Threading namespace references.\n */\n Threading: () =>\n lazy({\n /**\n * Reference to System.Threading.CancellationToken struct.\n */\n CancellationToken: () =>\n this.csharp.classReference({\n name: \"CancellationToken\",\n namespace: \"System.Threading\"\n }),\n\n /**\n * Tasks namespace references.\n */\n Tasks: () =>\n lazy({\n /**\n * Creates a reference to Task<T>.\n *\n * @param ofType - The result type (optional)\n * @returns A ClassReference for Task<T>\n */\n Task: (ofType?: Type) => {\n return this.csharp.classReference({\n name: \"Task\",\n namespace: \"System.Threading.Tasks\",\n generics: ofType ? [ofType] : undefined\n });\n }\n })\n })\n });\n\n /**\n * Pre-defined references to NUnit testing framework classes and attributes.\n * This object provides convenient access to NUnit test attributes\n * for generating test classes and methods.\n *\n * All values are lazy initialized - simple references are cached.\n */\n readonly NUnit = lazy({\n /**\n * NUnit Framework namespace references.\n */\n Framework: () =>\n lazy({\n /**\n * Reference to NUnit.Framework.TestFixtureAttribute class.\n */\n TestFixture: () =>\n this.csharp.classReference({\n name: \"TestFixture\",\n namespace: \"NUnit.Framework\"\n }),\n\n /**\n * Reference to NUnit.Framework.TestAttribute class.\n */\n Test: () =>\n this.csharp.classReference({\n name: \"Test\",\n namespace: \"NUnit.Framework\"\n }),\n /**\n * Reference to NUnit.Framework.OneTimeTearDownAttribute class.\n */\n OneTimeTearDown: () =>\n this.csharp.classReference({\n name: \"OneTimeTearDown\",\n namespace: \"NUnit.Framework\"\n }),\n /**\n * Reference to NUnit.Framework.OneTimeSetUpAttribute class.\n */\n OneTimeSetUp: () =>\n this.csharp.classReference({\n name: \"OneTimeSetUp\",\n namespace: \"NUnit.Framework\"\n }),\n /**\n * Reference to NUnit.Framework.SetUpFixtureAttribute class.\n */\n SetUpFixture: () =>\n this.csharp.classReference({\n name: \"SetUpFixture\",\n namespace: \"NUnit.Framework\"\n })\n })\n });\n\n /**\n * Pre-defined references to OneOf library classes for union types.\n * This object provides convenient access to OneOf union type classes\n * for creating discriminated unions in C#.\n *\n * Functions with parameters remain callable.\n */\n readonly OneOf = lazy({\n /**\n * Creates a reference to OneOf<T1, T2, ...>.\n *\n * @param generics - Array of generic type parameters (optional)\n * @returns A ClassReference for OneOf<T1, T2, ...>\n */\n OneOf: (generics?: Type[]) => {\n return this.csharp.classReference({\n name: \"OneOf\",\n namespace: \"OneOf\",\n generics\n });\n },\n\n /**\n * Creates a reference to OneOfBase<T1, T2, ...>.\n *\n * @param generics - Array of generic type parameters (optional)\n * @returns A ClassReference for OneOfBase<T1, T2, ...>\n */\n OneOfBase: (generics?: Type[]) => {\n return this.csharp.classReference({\n name: \"OneOfBase\",\n namespace: \"OneOf\",\n generics\n });\n }\n });\n\n /**\n * Pre-defined references to Google Protocol Buffers classes.\n * This object provides convenient access to Google.Protobuf types\n * for working with Protocol Buffer well-known types.\n *\n * All values are lazy initialized - simple references are cached.\n */\n readonly Google = lazy({\n /**\n * Protocol Buffers namespace references.\n */\n Protobuf: () =>\n lazy({\n /**\n * Well-known types namespace references with namespace alias.\n */\n WellKnownTypes: () =>\n lazy({\n /**\n * Reference to Google.Protobuf.WellKnownTypes.Struct class.\n */\n Struct: () =>\n this.csharp.classReference({\n name: \"Struct\",\n namespace: \"Google.Protobuf.WellKnownTypes\",\n namespaceAlias: \"WellKnownProto\"\n }),\n\n /**\n * Reference to Google.Protobuf.WellKnownTypes.Value class.\n */\n Value: () =>\n this.csharp.classReference({\n name: \"Value\",\n namespace: \"Google.Protobuf.WellKnownTypes\",\n namespaceAlias: \"WellKnownProto\"\n }),\n\n /**\n * Reference to Google.Protobuf.WellKnownTypes.ListValue class.\n */\n ListValue: () =>\n this.csharp.classReference({\n name: \"ListValue\",\n namespace: \"Google.Protobuf.WellKnownTypes\",\n namespaceAlias: \"WellKnownProto\"\n }),\n\n /**\n * Reference to Google.Protobuf.WellKnownTypes.Timestamp class.\n */\n Timestamp: () =>\n this.csharp.classReference({\n name: \"Timestamp\",\n namespace: \"Google.Protobuf.WellKnownTypes\",\n namespaceAlias: \"WellKnownProto\"\n })\n })\n })\n });\n\n /**\n * Pre-defined references to WireMock.Net testing/mocking library classes.\n * This object provides convenient access to WireMock types for creating mock servers\n * and testing HTTP interactions.\n *\n * All values are lazy initialized - simple references are cached.\n */\n readonly WireMock = lazy({\n /**\n * Reference to WireMock.Server.WireMockServer class.\n */\n Server: () =>\n this.csharp.classReference({\n name: \"WireMockServer\",\n namespace: \"WireMock.Server\"\n }),\n /**\n * Reference to WireMock.Settings.WireMockServerSettings class.\n */\n WireMockServerSettings: () =>\n this.csharp.classReference({\n name: \"WireMockServerSettings\",\n namespace: \"WireMock.Settings\"\n }),\n /**\n * Reference to WireMock.Logging.WireMockConsoleLogger class.\n */\n WireMockConsoleLogger: () =>\n this.csharp.classReference({\n name: \"WireMockConsoleLogger\",\n namespace: \"WireMock.Logging\"\n })\n });\n\n /**\n * Pre-defined references to gRPC library classes.\n * This object provides convenient access to Grpc.Core types for working with\n * gRPC remote procedure calls.\n *\n * All values are lazy initialized - simple references are cached.\n */\n readonly Grpc = lazy({\n /**\n * Grpc.Core namespace references.\n */\n Core: () =>\n lazy({\n /**\n * Reference to Grpc.Core.RpcException class.\n */\n RpcException: () =>\n this.csharp.classReference({\n name: \"RpcException\",\n namespace: \"Grpc.Core\"\n })\n })\n });\n}\n","import { fail } from \"node:assert\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport {\n DeclaredErrorName,\n DeclaredTypeName,\n ExampleEnumType,\n ExampleNamedType,\n IntermediateRepresentation,\n Name,\n NameAndWireValue,\n NamedType,\n ProtobufService,\n Type,\n TypeDeclaration,\n WebSocketChannel\n} from \"@fern-fern/ir-sdk/api\";\nimport { type TypesOf } from \"../utils/type-extractor\";\nimport { is } from \"../utils/type-guards\";\nimport { type Generation } from \"./generation-info\";\n\n/**\n * JsonPath is a string that represents a path of nodes in the Intermediate Representation (IR) to a given node.\n *\n * The path uses dot notation to traverse the object hierarchy:\n * - For arrays, you will see numbers in the path (e.g., \"types.0.properties.1\")\n * - For explicitly named nodes (hand-coded names), there will be a '+' in the path (e.g., \"types+Value\")\n */\nexport type JsonPath = string;\n\n/**\n * Provenance tracks metadata about where an AST (Abstract Syntax Tree) node came from in the IR.\n *\n * This interface provides a way to trace back from generated code to its origin in the IR,\n * which is essential for understanding why something is named the way it is and for tracking\n * relationships between generated code and source specifications.\n */\nexport interface Provenance {\n /** The dot-notation path in the IR to this node (trimmed to remove name case variants) */\n jsonPath: string;\n\n /** The property name or key used to access this node in its parent */\n name: string;\n\n /** The actual IR node object that this provenance describes */\n node: IrNode;\n\n /** Optional parent provenance, forming a chain back to the root of the IR */\n parent?: Provenance;\n\n /** True if this is an explicitly named node (hand-coded name) not directly bound to an IR node */\n explicit?: boolean;\n}\n\n/**\n * IrNode represents any valid node type from the Intermediate Representation.\n *\n * This union type includes all possible node types that can appear in the IR tree,\n * including types, services, channels, declarations, and error names. The `Exclude<..., undefined>`\n * ensures that undefined is never considered a valid IR node.\n */\nexport type IrNode = Exclude<\n | TypesOf<IntermediateRepresentation>\n | TypesOf<FernIr.dynamic.DynamicIntermediateRepresentation>\n | TypeDeclaration\n | ProtobufService\n | WebSocketChannel\n | FernIr.dynamic.NamedType\n | FernIr.dynamic.Declaration\n | DeclaredErrorName\n | DeclaredTypeName, // hack hack hack! Why did it not work without that?\n undefined\n>;\n\n/**\n * Origin represents the source of a generated piece of code in the IR.\n *\n * An Origin can be either:\n * - An IrNode: A direct reference to a node in the IR\n * - A Provenance: A reference that includes metadata about the node's location and lineage,\n * which may represent an explicitly named member (hand-coded name) that doesn't directly\n * correspond to an IR node but is generated on behalf of one\n */\nexport type Origin = IrNode | Provenance;\n\n/**\n * Trims a JsonPath by removing naming-related properties to normalize paths for comparison.\n *\n * This function filters out path segments related to name casing (camelCase, snakeCase, etc.)\n * to ensure that two paths referring to the same logical node are considered equivalent\n * regardless of which case variant was used to access the name.\n *\n * @param jsonPath - The full JsonPath to trim\n * @returns The trimmed JsonPath with name case properties removed\n *\n * @example\n * trim(\"types.User.name.pascalCase\") → \"types.User\"\n */\nfunction trim(jsonPath: JsonPath): JsonPath {\n return jsonPath\n .split(\".\")\n .filter((part) => ![\"name\", \"camelCase\", \"snakeCase\", \"screamingSnakeCase\", \"pascalCase\"].includes(part))\n .join(\".\");\n}\n\n/**\n * ModelNavigator provides navigation and lookup capabilities for the Intermediate Representation (IR).\n *\n * This class builds and maintains indexes of the IR tree structure, allowing for efficient lookups\n * and tracking of node provenance. It enables the code generator to:\n *\n * - Navigate the IR tree structure and find nodes by object reference or JsonPath\n * - Track the origin and provenance of generated code elements\n * - Handle explicit (hand-coded) names that don't directly map to IR nodes\n * - Dereference type references to their full declarations\n * - Extract properly formatted names for classes, properties, and enum values\n *\n * The navigator creates multiple indexes during construction to enable fast lookups:\n * - indexByObject: Maps IR nodes to their provenance\n * - indexByPath: Maps JsonPaths to their provenance\n * - explicitByObject: Maps IR nodes to their explicit child provenances\n * - explicitByPath: Maps JsonPaths to explicit provenances\n */\nexport class ModelNavigator {\n /** Maps IR node objects to their provenance metadata */\n private indexByObject = new Map<IrNode, Provenance>();\n\n /** Maps JsonPaths (string) to their provenance metadata */\n private indexByPath = new Map<string, Provenance>();\n\n /** Maps IR nodes to sets of explicit (hand-coded) child provenances */\n private explicitByObject: Map<IrNode, Set<Provenance>> = new Map();\n\n /** Maps JsonPaths to explicit (hand-coded) provenance entries */\n private explicitByPath: Map<string, Provenance> = new Map();\n\n /** The root provenance node representing the entire IR tree */\n readonly root: Provenance;\n\n /** The Intermediate Representation being navigated */\n readonly ir: IntermediateRepresentation | FernIr.dynamic.DynamicIntermediateRepresentation;\n\n /**\n * Provides access to C# code generation utilities.\n * @returns The C# generation context from the generation info\n */\n get csharp() {\n return this.generation.csharp;\n }\n\n /**\n * Provides access to the type registry for looking up generated type names.\n * @returns The type registry from the generation info\n */\n get registry() {\n return this.generation.registry;\n }\n\n /**\n * Creates a new ModelNavigator for the given IR.\n *\n * The constructor builds complete indexes of the IR tree, creating provenance\n * entries for every node and enabling fast lookups by both object reference and path.\n *\n * @param instance - The root IR node (IntermediateRepresentation or DynamicIntermediateRepresentation)\n * @param generation - The generation context providing access to code generation utilities\n */\n constructor(\n instance: IrNode,\n private readonly generation: Generation\n ) {\n this.root = this.createIndex(instance);\n this.ir = instance as IntermediateRepresentation | FernIr.dynamic.DynamicIntermediateRepresentation;\n }\n\n /**\n * Recursively builds indexes for all nodes in the IR tree.\n *\n * This private method traverses the entire IR object graph and creates provenance entries\n * for each node. It handles path collisions by using a trimming strategy - when multiple\n * paths normalize to the same trimmed path (e.g., \"types.User.name.pascalCase\" and\n * \"types.User.name.camelCase\" both trim to \"types.User.name\"), only the first encounter\n * is stored in indexByPath, and subsequent encounters are redirected to the parent provenance.\n *\n * The algorithm:\n * 1. Trims the current path to normalize it\n * 2. If the path already exists, map this node to the parent provenance (path collision)\n * 3. Otherwise, create a new provenance and store it in both indexes\n * 4. Recursively process all child nodes\n *\n * @param instance - The current IR node being indexed\n * @param key - The property name/key used to access this node (empty string for root)\n * @param parentProvenance - The provenance of the parent node (undefined for root)\n * @returns The provenance for this node (may be parent's provenance if path collision occurred)\n */\n private createIndex(instance: IrNode, key = \"\", parentProvenance?: Provenance) {\n const jsonPath = trim(parentProvenance?.jsonPath ? `${parentProvenance.jsonPath}.${key}` : key);\n\n if (this.indexByPath.has(jsonPath)) {\n // if the name was already taken that means that we've trimmed the path so we're not going to store this node\n // in the byPath index because we want lookups to find the parent\n // (this means if we use an xyz.name.name node we'll get back 'xyz' which is the resolved equivalent of the node)\n\n if (!parentProvenance) {\n fail(`Parent provenance not found for node: ${JSON.stringify(instance).substring(0, 100)}`);\n }\n\n // if someone looks up this object, dial them back to the parent provenance\n this.indexByObject.set(instance, parentProvenance);\n\n // but do continue to process the children nodes\n for (const [key, value] of Object.entries(instance)) {\n if (typeof value === \"object\" && value !== null) {\n this.createIndex(value, key, parentProvenance);\n }\n }\n\n return parentProvenance;\n }\n\n // otherwise, we can store the node in the indexes\n const provenance = {\n jsonPath,\n name: key,\n node: instance,\n parent: parentProvenance\n };\n this.indexByObject.set(instance, provenance);\n this.indexByPath.set(jsonPath, provenance);\n\n // process the children nodes\n for (const [key, value] of Object.entries(instance)) {\n if (typeof value === \"object\" && value !== null) {\n this.createIndex(value, key, provenance);\n }\n }\n\n return provenance;\n }\n\n /**\n * Creates a provenance for a static explicit name at the root IR level.\n *\n * This is a convenience method that creates an explicit provenance as a child of\n * the root IR node. Use this when you need to generate code with a hand-coded name\n * that relates to the IR as a whole rather than a specific node.\n *\n * @param name - The explicit name to create\n * @returns A new Provenance with the explicit flag set\n */\n staticExplicit(name: string): Provenance {\n return this.explicit(this.ir, name);\n }\n\n /**\n * Creates an explicit provenance for a hand-coded name that doesn't directly map to an IR node.\n *\n * This method is used when generating code elements that are not directly bound to items in the IR\n * but are logically children of an IR node. For example, a hand-coded \"Value\" property on an enum\n * that is generated but doesn't correspond to an actual IR node.\n *\n * The explicit provenance:\n * - Has its jsonPath marked with a '+' prefix to indicate it's explicit (e.g., \"types.MyEnum+Value\")\n * - Maintains a parent-child relationship with the origin node\n * - Is tracked separately in explicitByObject and explicitByPath indexes\n * - Has the explicit flag set to true\n *\n * @param node - The origin node (either an IrNode or existing Provenance) that is the logical parent\n * @param member - The name of the explicit member being created\n * @returns A new Provenance representing the explicit member\n * @throws Error if provenance for the parent node cannot be found\n */\n explicit(node: Origin, member: string): Provenance {\n const parentProvenance =\n this.provenance(node) ?? fail(`Provenance not found for node: ${JSON.stringify(node).substring(0, 100)}`);\n\n const element = {\n ...parentProvenance,\n jsonPath: trim(`${parentProvenance.jsonPath}+${member}`),\n name: member,\n node: parentProvenance.node,\n parent: parentProvenance,\n explicit: true\n };\n const set = this.explicitByObject.get(parentProvenance.node);\n if (set) {\n set.add(element);\n } else {\n this.explicitByObject.set(parentProvenance.node, new Set([element]));\n }\n this.explicitByPath.set(element.jsonPath, element);\n return element;\n }\n\n /**\n * Retrieves the provenance for a given source (JsonPath, IrNode, or existing Provenance).\n *\n * This is the primary lookup method for finding provenance information. It supports multiple\n * input types for flexibility:\n * - JsonPath (string): Looks up by path, checking explicit paths first, then regular paths\n * - Provenance: Validates and returns the provenance (checking explicit paths first)\n * - IrNode: Looks up the provenance by object reference\n * - undefined: Returns undefined\n *\n * Note: When looking up an IrNode, if the node's path was trimmed during indexing\n * (due to path collision), this will return the parent provenance instead.\n *\n * @param source - The JsonPath, IrNode, Provenance, or undefined to look up\n * @returns The Provenance for the source, or undefined if not found or source is undefined\n */\n provenance(source: JsonPath | IrNode | Provenance | undefined): Provenance | undefined {\n if (source === undefined) {\n return undefined;\n }\n\n if (is.string(source)) {\n return this.explicitByPath.get(source) ?? this.indexByPath.get(source);\n }\n if (is.Provenance(source)) {\n return this.explicitByPath.get(source.jsonPath) ?? this.indexByPath.get(source.jsonPath);\n }\n\n // get the provenance for the node requested (may return the parent provenance if the node was trimmed)\n return this.indexByObject.get(source);\n }\n\n /**\n * Retrieves the Origin for a given source.\n *\n * An Origin is either:\n * - A Provenance (if the source is an explicit/hand-coded member)\n * - An IrNode (if the source is a regular IR node)\n *\n * This method first looks up the provenance, then determines whether to return\n * the provenance itself (if explicit) or just the underlying IrNode.\n *\n * @param source - The IrNode, JsonPath, Provenance, or undefined to look up\n * @returns The Origin (either Provenance or IrNode), or undefined if not found\n */\n origin(source: IrNode | JsonPath | Provenance | undefined): Origin | undefined {\n const provenance = this.provenance(source);\n return provenance?.explicit ? provenance : provenance?.node;\n }\n\n /**\n * Retrieves the actual IR node for a given source.\n *\n * This method always returns the underlying IrNode, regardless of whether the\n * source is an explicit provenance or a regular node. It's useful when you need\n * the actual IR data rather than metadata about it.\n *\n * @param source - The IrNode, JsonPath, Provenance, or undefined to look up\n * @returns The underlying IrNode, or undefined if not found\n */\n irNode(source: IrNode | JsonPath | Provenance | undefined): IrNode | undefined {\n return this.provenance(source)?.node;\n }\n\n /**\n * Retrieves the JsonPath for a given source.\n *\n * This method extracts the JsonPath from the provenance of the source.\n * The JsonPath represents the location of the node in the IR tree.\n *\n * @param source - The IrNode, JsonPath, Provenance, or undefined to look up\n * @returns The JsonPath string, or undefined if not found\n */\n jsonPath(source: IrNode | JsonPath | Provenance | undefined): JsonPath | undefined {\n return this.provenance(source)?.jsonPath;\n }\n\n /**\n * Gets the C# property name for an enum value.\n *\n * This method resolves the property name that should be used in generated C# code\n * for a specific enum value. It:\n * 1. Extracts the name from either a NameAndWireValue or ExampleEnumType\n * 2. Finds the matching enum member in the enum's values array\n * 3. Returns the formatted property name for that member\n *\n * @param typeEnum - The enum type definition containing all possible values\n * @param valueName - The enum value to look up (either a NameAndWireValue or ExampleEnumType)\n * @returns The property name to use in generated C# code\n * @throws Error if the enum value name cannot be found in the enum definition\n */\n getEnumValueName(typeEnum: Type.Enum, valueName: NameAndWireValue | ExampleEnumType): string {\n // get the name of the enum value\n const name = is.IR.ExampleEnumType(valueName) ? valueName.value.name : valueName.name;\n // match the name given to the name in the actual type\n const member = typeEnum.values.find((v) => this.nameEquals(v.name.name, name));\n // return the property name for that value\n return member ? this.getPropertyNameFor(member) : fail(`Unexpected - can't find enum value ${name} in enum`);\n }\n\n /**\n * Gets the C# property name for any property-like Origin.\n *\n * This method determines the appropriate property name for use in generated C# code.\n * It follows a priority chain to extract the name:\n *\n * 1. Checks the registry for a pre-registered field name (fast path)\n * 2. If the origin is a Provenance, uses its name directly\n * 3. If the origin has a 'name' property:\n * - NameAndWireValue: Uses the PascalCase safe name\n * - Name: Uses the PascalCase safe name\n * - string: Uses the string directly\n * 4. If the origin has a 'pascalCase' property: Uses the safe name\n * 5. Otherwise: Throws an error\n *\n * @param property - The origin representing a property (can be an IrNode or Provenance)\n * @returns The property name formatted for use in C# code\n * @throws Error if the property type cannot be determined or doesn't have a name\n */\n getPropertyNameFor(property: Origin): string {\n const fast = this.registry.getFieldNameByOrigin(property);\n if (fast) {\n return fast;\n }\n if (is.Provenance(property)) {\n return property.name;\n }\n if (\"name\" in property) {\n if (is.IR.NameAndWireValue(property.name)) {\n return property.name.name.pascalCase.safeName;\n }\n if (is.IR.Name(property.name)) {\n return property.name.pascalCase.safeName;\n }\n if (typeof property.name === \"string\") {\n return property.name;\n }\n }\n if (\"pascalCase\" in property) {\n return property.pascalCase.safeName;\n }\n\n throw new Error(`Unknown property type: ${this.jsonPath(property)}`);\n }\n\n /**\n * Gets the C# class name for any class-like Origin.\n *\n * This method determines the appropriate class name for use in generated C# code.\n * It follows a priority chain similar to getPropertyNameFor:\n *\n * 1. If the origin is a Provenance, uses its name directly\n * 2. If the origin has a 'name' property:\n * - TypeDeclaration: Uses the PascalCase safe name from the type's name\n * - NameAndWireValue: Uses the PascalCase safe name\n * - Name: Uses the PascalCase safe name\n * - string: Uses the string directly\n * 3. If the origin has a 'pascalCase' property: Uses the safe name\n * 4. Otherwise: Throws an error\n *\n * @param classDeclaration - The origin representing a class/type (can be an IrNode or Provenance)\n * @returns The class name formatted for use in C# code\n * @throws Error if the class type cannot be determined or doesn't have a name\n */\n getClassNameFor(classDeclaration: Origin): string {\n if (is.Provenance(classDeclaration)) {\n return classDeclaration.name;\n }\n if (\"name\" in classDeclaration) {\n if (is.IR.TypeDeclaration(classDeclaration)) {\n return classDeclaration.name.name.pascalCase.safeName;\n }\n if (is.IR.NameAndWireValue(classDeclaration.name)) {\n return classDeclaration.name.name.pascalCase.safeName;\n }\n if (is.IR.Name(classDeclaration.name)) {\n return classDeclaration.name.pascalCase.safeName;\n }\n if (typeof classDeclaration.name === \"string\") {\n return classDeclaration.name;\n }\n }\n if (\"pascalCase\" in classDeclaration) {\n return classDeclaration.pascalCase.safeName;\n }\n\n throw new Error(`Unknown property type: ${JSON.stringify(classDeclaration)}`);\n }\n\n /**\n * Compares two IR Name objects for equality.\n *\n * Names in the IR can have multiple case variants (camelCase, PascalCase, snake_case, etc.).\n * This method determines if two names refer to the same logical entity by comparing their\n * camelCase safeName representations. Using camelCase as the canonical form ensures\n * consistent equality checks regardless of which case variant is used.\n *\n * @param name1 - The first Name object to compare\n * @param name2 - The second Name object to compare\n * @returns true if the names are equal (same camelCase safeName), false otherwise\n */\n nameEquals(name1: Name, name2: Name): boolean {\n return name1.camelCase.safeName === name2.camelCase.safeName;\n }\n\n /**\n * Dereferences a type reference to get its full type declaration.\n *\n * In the IR, types can be referenced in several ways (by ID string, by NamedType,\n * by DeclaredTypeName, by ExampleNamedType, or by TypeDeclaration directly).\n * This method resolves any of these references to the actual TypeDeclaration\n * stored in the IR's types map.\n *\n * The method:\n * 1. Extracts the typeId from whatever form of type reference is provided\n * 2. Looks up the type in the IR's types map using that typeId\n * 3. Returns both the typeId and the full TypeDeclaration\n *\n * This overload signature requires that the result be a standard TypeDeclaration\n * (not a dynamic NamedType), which is enforced by the input types.\n *\n * @param typeIdOrDeclaration - A type reference in any supported form\n * @returns An object containing the typeId and the resolved TypeDeclaration\n * @throws Error if the typeId cannot be resolved to a TypeDeclaration\n */\n dereferenceType(typeIdOrDeclaration: TypeDeclaration | NamedType | DeclaredTypeName | ExampleNamedType | string): {\n typeId: string;\n typeDeclaration: TypeDeclaration;\n };\n /**\n * Dereferences a type reference to get its full type declaration (dynamic IR variant).\n *\n * This overload is similar to the standard dereferenceType but supports resolving\n * to either a standard TypeDeclaration or a dynamic FernIr.dynamic.NamedType.\n * The commented-out FernIr.dynamic.NamedType in the input types suggests this\n * may be partially implemented or in transition.\n *\n * @param typeIdOrDeclaration - A type reference in any supported form (excluding ExampleNamedType)\n * @returns An object containing the typeId and the resolved TypeDeclaration or dynamic NamedType\n * @throws Error if the typeId cannot be resolved to a type declaration\n */\n dereferenceType(\n typeIdOrDeclaration: TypeDeclaration | NamedType | DeclaredTypeName /* | FernIr.dynamic.NamedType */ | string\n ): {\n typeId: string;\n typeDeclaration: TypeDeclaration | FernIr.dynamic.NamedType;\n } {\n // get the typeId and name\n const typeId = is.string(typeIdOrDeclaration)\n ? typeIdOrDeclaration\n : is.IR.NamedType(typeIdOrDeclaration) || is.IR.DeclaredTypeName(typeIdOrDeclaration)\n ? typeIdOrDeclaration.typeId\n : is.IR.ExampleNamedType(typeIdOrDeclaration)\n ? typeIdOrDeclaration.typeName.typeId\n : typeIdOrDeclaration.name.typeId;\n\n // resolve the typeId to the actual type in the bottom of the IR\n const declaration = this.irNode(this.ir.types[typeId]);\n if (is.IR.TypeDeclaration(declaration)) {\n return {\n typeId,\n typeDeclaration: declaration\n };\n }\n fail(`dereferenceType: typeId ${typeId} not resolved.`);\n }\n}\n","import { type Generation } from \"./context/generation-info\";\n\n/**\n * A trivial class of convenience properties that a generator class can inherit from to gain access to the portable context features.\n *\n * This base class provides convenient access to common generation context properties through protected getters,\n * eliminating the need to repeatedly access `this.ctx.generation.*` throughout generator implementations.\n */\nexport class WithGeneration {\n public constructor(protected readonly generation: Generation) {}\n\n /** Provides access to C# code generation utilities */\n protected get csharp() {\n return this.generation.csharp;\n }\n\n /** Provides access to generation settings and configuration */\n protected get settings() {\n return this.generation.settings;\n }\n\n /** Provides access to generation constants */\n protected get constants() {\n return this.generation.constants;\n }\n\n /** Provides access to namespace management utilities */\n protected get namespaces() {\n return this.generation.namespaces;\n }\n\n /** Provides access to naming utilities for generating consistent identifiers */\n protected get names() {\n return this.generation.names;\n }\n\n /** Provides access to the model navigation and inspection utilities */\n protected get model() {\n return this.generation.model;\n }\n /** Provides access to text formatting utilities */\n protected get format() {\n return this.generation.format;\n }\n\n /** Provides access to the type registry for looking up generated types */\n protected get registry() {\n return this.generation.registry;\n }\n /** Provides access to type information and utilities */\n protected get Types() {\n return this.generation.Types;\n }\n\n /** Provides access to .NET System namespace types and utilities */\n public get System() {\n return this.generation.extern.System;\n }\n\n /** Provides access to NUnit testing framework types */\n public get NUnit() {\n return this.generation.extern.NUnit;\n }\n\n /** Provides access to OneOf discriminated union library types */\n public get OneOf() {\n return this.generation.extern.OneOf;\n }\n\n /** Provides access to Google protocol buffer types */\n public get Google() {\n return this.generation.extern.Google;\n }\n public get Grpc() {\n return this.generation.extern.Grpc;\n }\n /** Provides access to WireMock.Net testing/mocking library types */\n public get WireMock() {\n return this.generation.extern.WireMock;\n }\n /** Provides access to primitive types */\n public get Primitive() {\n return this.generation.Primitive;\n }\n /** Provides access to value types */\n public get Value() {\n return this.generation.Value;\n }\n /** Provides access to collection types */\n public get Collection() {\n return this.generation.Collection;\n }\n}\n","import { DiscriminatedUnionTypeInstance, NamedArgument, Severity } from \"@fern-api/browser-compatible-base-generator\";\nimport { assertNever } from \"@fern-api/core-utils\";\nimport { ast, WithGeneration } from \"@fern-api/csharp-codegen\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { DynamicSnippetsGeneratorContext } from \"./DynamicSnippetsGeneratorContext\";\n\nexport declare namespace DynamicLiteralMapper {\n interface Args {\n typeReference: FernIr.dynamic.TypeReference;\n value: unknown;\n as?: ConvertedAs;\n fallbackToDefault?: string;\n }\n\n // Identifies what the type is being converted as, which sometimes influences how\n // the type is instantiated.\n type ConvertedAs = \"key\";\n}\n\nexport class DynamicLiteralMapper extends WithGeneration {\n private context: DynamicSnippetsGeneratorContext;\n\n constructor({ context }: { context: DynamicSnippetsGeneratorContext }) {\n super(context.generation);\n this.context = context;\n }\n\n public convert(args: DynamicLiteralMapper.Args): ast.Literal {\n // eslint-disable-next-line eqeqeq\n if (args.value === null) {\n if (this.context.isNullable(args.typeReference)) {\n return this.csharp.Literal.null();\n }\n this.context.errors.add({\n severity: Severity.Critical,\n message: \"Expected non-null value, but got null\"\n });\n return this.csharp.Literal.nop();\n }\n if (args.value === undefined && !args.fallbackToDefault) {\n return this.csharp.Literal.nop();\n }\n switch (args.typeReference.type) {\n case \"list\":\n return this.convertList({\n list: args.typeReference.value,\n value: args.value,\n fallbackToDefault: args.fallbackToDefault\n });\n case \"literal\":\n return this.convertLiteral({\n literal: args.typeReference.value,\n value: args.value\n });\n case \"map\":\n return this.convertMap({\n map: args.typeReference,\n value: args.value,\n fallbackToDefault: args.fallbackToDefault\n });\n case \"named\": {\n const named = this.context.resolveNamedType({ typeId: args.typeReference.value });\n if (named == null) {\n return this.csharp.Literal.nop();\n }\n return this.convertNamed({\n named,\n value: args.value,\n as: args.as,\n fallbackToDefault: args.fallbackToDefault\n });\n }\n case \"nullable\":\n return this.convert({\n typeReference: args.typeReference.value,\n value: args.value,\n as: args.as\n });\n case \"optional\":\n return this.convert({\n typeReference: args.typeReference.value,\n value: args.value,\n as: args.as\n });\n case \"primitive\":\n return this.convertPrimitive({\n primitive: args.typeReference.value,\n value: args.value,\n as: args.as,\n fallbackToDefault: args.fallbackToDefault\n });\n case \"set\":\n return this.convertSet({\n set: args.typeReference.value,\n value: args.value,\n fallbackToDefault: args.fallbackToDefault\n });\n case \"unknown\":\n return this.convertUnknown({ value: args.value, fallbackToDefault: args.fallbackToDefault });\n default:\n assertNever(args.typeReference);\n }\n }\n\n private convertList({\n list,\n value,\n fallbackToDefault\n }: {\n list: FernIr.dynamic.TypeReference;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n if (!Array.isArray(value)) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected array but got: ${typeof value}`\n });\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.list({\n valueType: this.context.dynamicTypeMapper.convert({ typeReference: list, unboxOptionals: true }),\n values: value.map((v, index) => {\n this.context.errors.scope({ index });\n try {\n return this.convert({ typeReference: list, value: v });\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertLiteral({\n literal,\n value,\n fallbackToDefault\n }: {\n literal: FernIr.dynamic.LiteralType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n switch (literal.type) {\n case \"boolean\": {\n const bool = this.context.getValueAsBoolean({ value });\n if (bool == null) {\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.boolean(bool);\n }\n case \"string\": {\n const str = this.context.getValueAsString({ value });\n if (str == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(str);\n }\n default:\n assertNever(literal);\n }\n }\n\n private convertSet({\n set,\n value,\n fallbackToDefault\n }: {\n set: FernIr.dynamic.TypeReference;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n if (!Array.isArray(value)) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected array but got: ${typeof value}`\n });\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.set({\n valueType: this.context.dynamicTypeMapper.convert({ typeReference: set, unboxOptionals: true }),\n values: value.map((v, index) => {\n this.context.errors.scope({ index });\n try {\n return this.convert({ typeReference: set, value: v });\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertMap({\n map,\n value,\n fallbackToDefault\n }: {\n map: FernIr.dynamic.MapType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n if (typeof value !== \"object\" || value == null) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected object but got: ${value == null ? \"null\" : typeof value}`\n });\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.dictionary({\n keyType: this.context.dynamicTypeMapper.convert({ typeReference: map.key }),\n valueType:\n map.value.type === \"unknown\"\n ? this.context.dynamicTypeMapper.convert({ typeReference: map.value }).asOptional()\n : this.context.dynamicTypeMapper.convert({ typeReference: map.value }),\n entries: Object.entries(value).map(([key, value]) => {\n this.context.errors.scope(key);\n try {\n return {\n key: this.convert({ typeReference: map.key, value: key, as: \"key\" }),\n value: this.convert({ typeReference: map.value, value })\n };\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertNamed({\n named,\n value,\n as,\n fallbackToDefault\n }: {\n named: FernIr.dynamic.NamedType;\n value: unknown;\n as?: DynamicLiteralMapper.ConvertedAs;\n fallbackToDefault?: string;\n }): ast.Literal {\n switch (named.type) {\n case \"alias\":\n return this.convert({ typeReference: named.typeReference, value, as, fallbackToDefault });\n case \"discriminatedUnion\":\n if (this.settings.shouldGeneratedDiscriminatedUnions) {\n return this.convertDiscriminatedUnion({ discriminatedUnion: named, value, fallbackToDefault });\n }\n return this.convertUnknown({ value, fallbackToDefault });\n case \"enum\":\n return this.getEnumValue(named, value);\n case \"object\":\n return this.convertObject({ object_: named, value, fallbackToDefault });\n case \"undiscriminatedUnion\":\n return this.convertUndiscriminatedUnion({ undiscriminatedUnion: named, value, fallbackToDefault });\n default:\n assertNever(named);\n }\n }\n\n private convertDiscriminatedUnion({\n discriminatedUnion,\n value,\n fallbackToDefault\n }: {\n discriminatedUnion: FernIr.dynamic.DiscriminatedUnionType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n const classReference = this.csharp.classReference({\n origin: discriminatedUnion.declaration,\n namespace: this.context.getNamespace(discriminatedUnion.declaration.fernFilepath)\n });\n const discriminatedUnionTypeInstance = this.context.resolveDiscriminatedUnionTypeInstance({\n discriminatedUnion,\n value\n });\n if (discriminatedUnionTypeInstance == null) {\n return this.csharp.Literal.nop();\n }\n const unionVariant = discriminatedUnionTypeInstance.singleDiscriminatedUnionType;\n const baseProperties = this.getBaseProperties({\n discriminatedUnionTypeInstance,\n singleDiscriminatedUnionType: unionVariant\n });\n switch (unionVariant.type) {\n case \"samePropertiesAsObject\": {\n const named = this.context.resolveNamedType({\n typeId: unionVariant.typeId\n });\n if (named == null) {\n return this.csharp.Literal.nop();\n }\n return this.instantiateUnionWithBaseProperties({\n classReference,\n baseProperties,\n arguments_: [this.convertNamed({ named, value: discriminatedUnionTypeInstance.value })]\n });\n }\n case \"singleProperty\": {\n const record = this.context.getRecord(discriminatedUnionTypeInstance.value);\n if (record == null) {\n return this.csharp.Literal.nop();\n }\n try {\n const innerClassName = [\"Value\", \"Type\"].includes(\n unionVariant.discriminantValue.name.pascalCase.safeName\n )\n ? `${unionVariant.discriminantValue.name.pascalCase.safeName}Inner`\n : unionVariant.discriminantValue.name.pascalCase.safeName;\n\n this.context.errors.scope(unionVariant.discriminantValue.wireValue);\n return this.instantiateUnionWithBaseProperties({\n classReference,\n baseProperties,\n arguments_: [\n this.csharp.instantiateClass({\n classReference: this.csharp.classReference({\n // origin: discriminatedUnionTypeInstance.discriminantValue,\n name: innerClassName,\n enclosingType: classReference\n }),\n arguments_: [\n this.convert({\n typeReference: unionVariant.typeReference,\n value: unionVariant.discriminantValue.wireValue\n })\n ]\n })\n ]\n });\n } finally {\n this.context.errors.unscope();\n }\n }\n case \"noProperties\":\n return this.instantiateUnionWithBaseProperties({\n classReference,\n baseProperties,\n arguments_: [\n // Unions with no properties require the discriminant property to be set.\n this.csharp.instantiateClass({\n classReference: this.csharp.classReference({\n origin: discriminatedUnionTypeInstance.discriminantValue,\n enclosingType: classReference\n }),\n arguments_: []\n })\n ]\n });\n default:\n assertNever(unionVariant);\n }\n }\n\n private getBaseProperties({\n discriminatedUnionTypeInstance,\n singleDiscriminatedUnionType\n }: {\n discriminatedUnionTypeInstance: DiscriminatedUnionTypeInstance;\n singleDiscriminatedUnionType: FernIr.dynamic.SingleDiscriminatedUnionType;\n }): NamedArgument[] {\n const properties = this.context.associateByWireValue({\n parameters: singleDiscriminatedUnionType.properties ?? [],\n values: this.context.getRecord(discriminatedUnionTypeInstance.value) ?? {},\n\n // We're only selecting the base properties here. The rest of the properties\n // are handled by the union variant.\n ignoreMissingParameters: true\n });\n return properties.map((property) => {\n this.context.errors.scope(property.name.wireValue);\n try {\n return {\n name: this.context.getPropertyName(property.name.name),\n assignment: this.convert(property)\n };\n } finally {\n this.context.errors.unscope();\n }\n });\n }\n\n private instantiateUnionWithBaseProperties({\n classReference,\n arguments_,\n baseProperties\n }: {\n classReference: ast.ClassReference;\n arguments_: ast.AstNode[];\n baseProperties: NamedArgument[];\n }): ast.Literal {\n const instantiation = this.csharp.instantiateClass({\n classReference,\n arguments_,\n multiline: true\n });\n if (baseProperties.length === 0) {\n return this.csharp.Literal.reference(instantiation);\n }\n return this.csharp.Literal.reference(\n this.csharp.codeblock((writer) => {\n writer.write(instantiation, \" \");\n writer.pushScope();\n for (const baseProperty of baseProperties) {\n writer.write(baseProperty.name, \" = \", baseProperty.assignment, \",\");\n }\n writer.popScope(false);\n })\n );\n }\n\n private getEnumValue(enum_: FernIr.dynamic.EnumType, wireValue: unknown): ast.Literal {\n if (typeof wireValue !== \"string\") {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected enum value string, got: ${typeof wireValue}`\n });\n return this.csharp.Literal.nop();\n }\n const enumValue = enum_.values.find((v) => v.wireValue === wireValue);\n if (enumValue == null) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `An enum value named \"${wireValue}\" does not exist in this context`\n });\n return this.csharp.Literal.nop();\n }\n const reference = this.csharp.classReference({\n origin: enum_.declaration,\n namespace: this.context.getNamespace(enum_.declaration.fernFilepath)\n });\n\n const valueName = reference.registerField(this.model.getPropertyNameFor(enumValue), enumValue);\n\n return this.csharp.Literal.reference(\n this.csharp.enumInstantiation({\n reference,\n value: valueName\n })\n );\n }\n\n private convertObject({\n object_,\n value,\n fallbackToDefault\n }: {\n object_: FernIr.dynamic.ObjectType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n const properties = this.context.associateByWireValue({\n parameters: object_.properties,\n values: this.context.getRecord(value) ?? {}\n });\n\n return this.csharp.Literal.class_({\n reference: this.csharp.classReference({\n origin: object_.declaration,\n namespace: this.context.getNamespace(object_.declaration.fernFilepath)\n }),\n fields: properties.map((property) => {\n this.context.errors.scope(property.name.wireValue);\n try {\n return {\n name: this.context.getClassName(property.name.name),\n value: this.convert(property)\n };\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertUndiscriminatedUnion({\n undiscriminatedUnion,\n value,\n fallbackToDefault\n }: {\n undiscriminatedUnion: FernIr.dynamic.UndiscriminatedUnionType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n const result = this.findMatchingUndiscriminatedUnionType({\n undiscriminatedUnion,\n value\n });\n if (result == null) {\n return this.csharp.Literal.nop();\n }\n return result.typeLiteral;\n }\n\n private findMatchingUndiscriminatedUnionType({\n undiscriminatedUnion,\n value\n }: {\n undiscriminatedUnion: FernIr.dynamic.UndiscriminatedUnionType;\n value: unknown;\n }): { valueTypeReference: FernIr.dynamic.TypeReference; typeLiteral: ast.Literal } | undefined {\n for (const typeReference of undiscriminatedUnion.types) {\n try {\n const typeLiteral = this.convert({ typeReference, value });\n return { valueTypeReference: typeReference, typeLiteral };\n } catch (e) {\n continue;\n }\n }\n this.context.errors.add({\n severity: Severity.Critical,\n message: `None of the types in the undiscriminated union matched the given \"${typeof value}\" value`\n });\n return undefined;\n }\n\n private convertUnknown({ value, fallbackToDefault }: { value: unknown; fallbackToDefault?: string }): ast.Literal {\n return this.csharp.Literal.unknown(value);\n }\n\n private convertPrimitive({\n primitive,\n value,\n as,\n fallbackToDefault\n }: {\n primitive: FernIr.dynamic.PrimitiveTypeV1;\n value: unknown;\n as?: DynamicLiteralMapper.ConvertedAs;\n fallbackToDefault?: string;\n }): ast.Literal {\n switch (primitive) {\n case \"INTEGER\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.integer.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.integer(num);\n }\n case \"LONG\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.long.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.long(num);\n }\n case \"UINT\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.uint.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.uint(num);\n }\n case \"UINT_64\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.ulong.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.ulong(num);\n }\n case \"FLOAT\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.float.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.float(num);\n }\n case \"DOUBLE\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.double.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.double(num);\n }\n case \"BOOLEAN\": {\n const bool = this.getValueAsBoolean({ value, as });\n if (bool == null) {\n return fallbackToDefault\n ? this.Primitive.boolean.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.boolean(bool);\n }\n case \"STRING\": {\n const str = this.context.getValueAsString({ value });\n if (str == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(str);\n }\n case \"DATE\": {\n const date = this.context.getValueAsString({ value });\n if (date == null) {\n return fallbackToDefault\n ? this.Value.dateOnly.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.date(date);\n }\n case \"DATE_TIME\": {\n const dateTime = this.context.getValueAsString({ value });\n if (dateTime == null) {\n return fallbackToDefault\n ? this.Value.dateTime.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.datetime(dateTime);\n }\n case \"UUID\": {\n const uuid = this.context.getValueAsString({ value });\n if (uuid == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(uuid);\n }\n case \"BASE_64\": {\n const base64 = this.context.getValueAsString({ value });\n if (base64 == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(base64);\n }\n case \"BIG_INTEGER\": {\n const bigInt = this.context.getValueAsString({ value });\n if (bigInt == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(bigInt);\n }\n default:\n assertNever(primitive);\n }\n }\n\n private getValueAsNumber({\n value,\n as\n }: {\n value: unknown;\n as?: DynamicLiteralMapper.ConvertedAs;\n }): number | undefined {\n const num = as === \"key\" ? (typeof value === \"string\" ? Number(value) : value) : value;\n return this.context.getValueAsNumber({ value: num });\n }\n\n private getValueAsBoolean({\n value,\n as\n }: {\n value: unknown;\n as?: DynamicLiteralMapper.ConvertedAs;\n }): boolean | undefined {\n const bool =\n as === \"key\" ? (typeof value === \"string\" ? value === \"true\" : value === \"false\" ? false : value) : value;\n return this.context.getValueAsBoolean({ value: bool });\n }\n}\n","import { assertNever } from \"@fern-api/core-utils\";\nimport { ast, WithGeneration } from \"@fern-api/csharp-codegen\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\n\nimport { DynamicSnippetsGeneratorContext } from \"./DynamicSnippetsGeneratorContext\";\n\nexport declare namespace DynamicTypeMapper {\n interface Args {\n typeReference: FernIr.dynamic.TypeReference;\n unboxOptionals?: boolean;\n }\n}\n\nexport class DynamicTypeMapper extends WithGeneration {\n private context: DynamicSnippetsGeneratorContext;\n\n constructor({ context }: { context: DynamicSnippetsGeneratorContext }) {\n super(context.generation);\n this.context = context;\n }\n\n public convert(args: DynamicTypeMapper.Args): ast.Type {\n switch (args.typeReference.type) {\n case \"list\":\n return this.Collection.list(this.convert({ typeReference: args.typeReference, unboxOptionals: true }));\n case \"literal\":\n return this.convertLiteral({ literal: args.typeReference.value });\n case \"map\": {\n return this.Collection.map(\n this.convert({ typeReference: args.typeReference.key }),\n this.convert({ typeReference: args.typeReference.value })\n );\n }\n case \"named\": {\n const named = this.context.resolveNamedType({ typeId: args.typeReference.value });\n if (named == null) {\n return this.convertUnknown();\n }\n return this.convertNamed({ named });\n }\n case \"optional\":\n case \"nullable\": {\n const value = this.convert({ typeReference: args.typeReference.value });\n return args.unboxOptionals ? value.asNonOptional() : value.asOptional();\n }\n case \"primitive\":\n return this.convertPrimitive({ primitive: args.typeReference.value });\n case \"set\":\n return this.Collection.set(this.convert({ typeReference: args.typeReference, unboxOptionals: true }));\n case \"unknown\":\n return this.convertUnknown();\n default:\n assertNever(args.typeReference);\n }\n }\n\n convertToClassReference(named: FernIr.dynamic.NamedType): ast.ClassReference {\n return this.csharp.classReference({\n origin: named.declaration,\n namespace: this.context.getNamespace(named.declaration.fernFilepath)\n });\n }\n\n private convertNamed({ named }: { named: FernIr.dynamic.NamedType }): ast.Type {\n switch (named.type) {\n case \"alias\":\n return this.convert({ typeReference: named.typeReference });\n case \"enum\":\n case \"object\":\n return this.csharp.classReference({\n origin: named.declaration,\n namespace: this.context.getNamespace(named.declaration.fernFilepath)\n });\n\n case \"discriminatedUnion\":\n if (!this.settings.shouldGeneratedDiscriminatedUnions) {\n return this.Primitive.object;\n }\n return this.csharp.classReference({\n origin: named.declaration,\n namespace: this.context.getNamespace(named.declaration.fernFilepath)\n });\n\n case \"undiscriminatedUnion\":\n return this.OneOf.OneOf(\n named.types.map((typeReference) => {\n return this.convert({ typeReference });\n })\n );\n default:\n assertNever(named);\n }\n }\n\n private convertLiteral({ literal }: { literal: FernIr.dynamic.LiteralType }): ast.Type {\n switch (literal.type) {\n case \"boolean\":\n return this.Primitive.boolean;\n case \"string\":\n return this.Primitive.string;\n }\n }\n\n private convertUnknown(): ast.Type {\n return this.Primitive.object;\n }\n\n private convertPrimitive({ primitive }: { primitive: FernIr.dynamic.PrimitiveTypeV1 }): ast.Type {\n switch (primitive) {\n case \"INTEGER\":\n return this.Primitive.integer;\n case \"UINT\":\n return this.Primitive.uint;\n case \"LONG\":\n return this.Primitive.long;\n case \"UINT_64\":\n return this.Primitive.ulong;\n case \"FLOAT\":\n return this.Primitive.float;\n case \"DOUBLE\":\n return this.Primitive.double;\n case \"BOOLEAN\":\n return this.Primitive.boolean;\n case \"STRING\":\n return this.Primitive.string;\n case \"DATE\":\n return this.Value.dateOnly;\n case \"DATE_TIME\":\n return this.Value.dateTime;\n case \"UUID\":\n return this.Primitive.string;\n case \"BASE_64\":\n return this.Primitive.string;\n case \"BIG_INTEGER\":\n return this.Primitive.string;\n default:\n assertNever(primitive);\n }\n }\n}\n","import { assertNever } from \"@fern-api/core-utils\";\nimport { ast, is, WithGeneration } from \"@fern-api/csharp-codegen\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\n\nimport { DynamicSnippetsGeneratorContext } from \"./DynamicSnippetsGeneratorContext\";\n\nexport interface FilePropertyInfo {\n fileFields: ast.ConstructorField[];\n bodyPropertyFields: ast.ConstructorField[];\n}\n\nexport class FilePropertyMapper extends WithGeneration {\n private context: DynamicSnippetsGeneratorContext;\n\n constructor({ context }: { context: DynamicSnippetsGeneratorContext }) {\n super(context.generation);\n this.context = context;\n }\n\n public getFilePropertyInfo({\n body,\n value\n }: {\n body: FernIr.dynamic.FileUploadRequestBody;\n value: unknown;\n }): FilePropertyInfo {\n const result: FilePropertyInfo = {\n fileFields: [],\n bodyPropertyFields: []\n };\n const record = this.context.getRecord(value) ?? {};\n for (const property of body.properties) {\n switch (property.type) {\n case \"file\":\n // if we don't have a record, we can fake some data for it.\n if (is.Record.missingKey(record, property.wireValue)) {\n record[property.wireValue] = \"[bytes]\";\n }\n result.fileFields.push({\n name: this.context.getPropertyName(property.name),\n value: this.getSingleFileProperty({ property, record })\n });\n break;\n case \"fileArray\":\n // if we don't have a record, we can fake some data for it.\n if (is.Record.missingKey(record, property.wireValue)) {\n record[property.wireValue] = [\"[bytes]\"];\n }\n result.fileFields.push({\n name: this.context.getPropertyName(property.name),\n value: this.getArrayFileProperty({ property, record })\n });\n break;\n case \"bodyProperty\":\n // if we don't have a record, we can try fake some data for it.\n if (is.Record.missingKey(record, property.name.wireValue)) {\n switch (property.typeReference.type) {\n case \"optional\": {\n // ignore missing optional values\n break;\n }\n case \"primitive\": {\n // for primitives, we can return a sample value.\n switch (property.typeReference.value.toLowerCase()) {\n case \"integer\": {\n record[property.name.wireValue] = 123;\n break;\n }\n case \"string\": {\n record[property.name.wireValue] = \"[string]\";\n break;\n }\n case \"boolean\": {\n record[property.name.wireValue] = true;\n break;\n }\n case \"double\": {\n record[property.name.wireValue] = 123.456;\n break;\n }\n case \"float\": {\n record[property.name.wireValue] = 123.456;\n break;\n }\n case \"long\": {\n record[property.name.wireValue] = 123456789;\n break;\n }\n case \"uint\": {\n record[property.name.wireValue] = 123;\n break;\n }\n case \"uint64\": {\n record[property.name.wireValue] = 12345;\n break;\n }\n case \"date\": {\n record[property.name.wireValue] = new Date(2021, 1, 1);\n break;\n }\n case \"datetime\": {\n record[property.name.wireValue] = new Date(2021, 1, 1, 12, 0, 0);\n break;\n }\n case \"uuid\": {\n record[property.name.wireValue] = \"123e4567-e89b-12d3-a456-426614174000\";\n break;\n }\n case \"base64\": {\n record[property.name.wireValue] = \"SGVsbG8gd29ybGQh\";\n break;\n }\n case \"biginteger\": {\n record[property.name.wireValue] = \"12345678901234567890\";\n break;\n }\n }\n break;\n }\n\n default: {\n // todo: optionally synthesize a value for a other types in the future\n break;\n }\n }\n }\n result.bodyPropertyFields.push({\n name: this.context.getPropertyName(property.name.name),\n value: this.getBodyProperty({ property, record })\n });\n break;\n default:\n assertNever(property);\n }\n }\n return result;\n }\n\n private getSingleFileProperty({\n property,\n record\n }: {\n property: FernIr.dynamic.FileUploadRequestBodyProperty.File_;\n record: Record<string, unknown>;\n }): ast.Literal {\n const fileValue = this.context.getSingleFileValue({ property, record });\n if (fileValue == null) {\n return this.csharp.Literal.nop();\n }\n return this.context.getFileParameterForString(fileValue);\n }\n\n private getArrayFileProperty({\n property,\n record\n }: {\n property: FernIr.dynamic.FileUploadRequestBodyProperty.FileArray;\n record: Record<string, unknown>;\n }): ast.Literal {\n const fileValues = this.context.getFileArrayValues({ property, record });\n if (fileValues == null) {\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.list({\n valueType: this.Types.FileParameter,\n values: fileValues.map((value) => this.context.getFileParameterForString(value))\n });\n }\n\n private getBodyProperty({\n property,\n record\n }: {\n property: FernIr.dynamic.NamedParameter;\n record: Record<string, unknown>;\n }): ast.Literal {\n const bodyPropertyValue = record[property.name.wireValue];\n if (bodyPropertyValue == null) {\n return this.csharp.Literal.nop();\n }\n return this.context.dynamicLiteralMapper.convert({\n typeReference: property.typeReference,\n value: bodyPropertyValue\n });\n }\n}\n","import {\n AbstractDynamicSnippetsGeneratorContext,\n FernGeneratorExec,\n Options\n} from \"@fern-api/browser-compatible-base-generator\";\nimport { ast, CsharpConfigSchema, Generation } from \"@fern-api/csharp-codegen\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { DynamicLiteralMapper } from \"./DynamicLiteralMapper\";\nimport { DynamicTypeMapper } from \"./DynamicTypeMapper\";\nimport { FilePropertyMapper } from \"./FilePropertyMapper\";\n\nexport class DynamicSnippetsGeneratorContext extends AbstractDynamicSnippetsGeneratorContext {\n public ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n public dynamicTypeMapper: DynamicTypeMapper;\n public dynamicLiteralMapper: DynamicLiteralMapper;\n public filePropertyMapper: FilePropertyMapper;\n\n public readonly generation: Generation;\n\n public get namespaces() {\n return this.generation.namespaces;\n }\n public get registry() {\n return this.generation.registry;\n }\n public get settings() {\n return this.generation.settings;\n }\n public get constants() {\n return this.generation.constants;\n }\n public get names() {\n return this.generation.names;\n }\n public get model() {\n return this.generation.model;\n }\n public get format() {\n return this.generation.format;\n }\n public get csharp() {\n return this.generation.csharp;\n }\n public get Types() {\n return this.generation.Types;\n }\n public get System() {\n return this.generation.extern.System;\n }\n public get NUnit() {\n return this.generation.extern.NUnit;\n }\n public get OneOf() {\n return this.generation.extern.OneOf;\n }\n public get Google() {\n return this.generation.extern.Google;\n }\n public get WireMock() {\n return this.generation.extern.WireMock;\n }\n public get Primitive() {\n return this.generation.Primitive;\n }\n public get Value() {\n return this.generation.Value;\n }\n public get Collection() {\n return this.generation.Collection;\n }\n\n constructor({\n ir,\n config,\n options,\n generation\n }: {\n ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n config: FernGeneratorExec.GeneratorConfig;\n options?: Options;\n generation?: Generation;\n }) {\n super({ ir, config, options });\n this.ir = ir;\n\n this.generation =\n generation ??\n new Generation(\n ir,\n config.workspaceName,\n config.customConfig != null ? (config.customConfig as CsharpConfigSchema) : ({} as CsharpConfigSchema),\n config\n );\n\n this.dynamicTypeMapper = new DynamicTypeMapper({ context: this });\n this.dynamicLiteralMapper = new DynamicLiteralMapper({ context: this });\n this.filePropertyMapper = new FilePropertyMapper({ context: this });\n }\n\n public clone(): DynamicSnippetsGeneratorContext {\n return new DynamicSnippetsGeneratorContext({\n ir: this.ir,\n config: this.config,\n options: this.options,\n generation: this.generation\n });\n }\n\n public getFileParameterForString(str: string): ast.Literal {\n return this.csharp.Literal.reference(\n this.csharp.instantiateClass({\n classReference: this.Types.FileParameter,\n arguments_: [],\n properties: [\n {\n name: \"Stream\",\n value: this.getMemoryStreamForString(str)\n }\n ],\n multiline: true\n })\n );\n }\n\n public getMemoryStreamForString(str: string): ast.ClassInstantiation {\n return this.System.IO.MemoryStream.new({\n arguments_: [\n this.csharp.invokeMethod({\n on: this.System.Text.Encoding_UTF8,\n method: \"GetBytes\",\n arguments_: [this.csharp.Literal.string(str)]\n })\n ]\n });\n }\n\n public getClassName(name: FernIr.Name): string {\n return name.pascalCase.safeName;\n }\n\n public getParameterName(name: FernIr.Name): string {\n return name.camelCase.safeName;\n }\n\n public getPropertyName(name: FernIr.Name): string {\n return name.pascalCase.safeName;\n }\n\n public getMethodName(name: FernIr.Name): string {\n return `${name.pascalCase.safeName}Async`;\n }\n\n public getNamespace(fernFilepath: FernIr.dynamic.FernFilepath, suffix?: string): string {\n let parts = this.getNamespaceSegments(fernFilepath);\n parts = suffix != null ? [...parts, suffix] : parts;\n return [this.namespaces.root, ...parts].join(\".\");\n }\n\n public getEnvironmentTypeReferenceFromID(environmentID: string): ast.ClassReference | undefined {\n const environmentName = this.resolveEnvironmentName(environmentID);\n if (environmentName == null) {\n return undefined;\n }\n return this.getEnvironmentClassReferenceForEnumName(environmentName);\n }\n\n private getEnvironmentClassReferenceForEnumName(name: FernIr.Name): ast.ClassReference {\n return this.csharp.classReference({\n name: `${this.generation.Types.Environments.name}.${this.getClassName(name)}`,\n namespace: this.namespaces.root\n });\n }\n\n private getNamespaceSegments(fernFilepath: FernIr.dynamic.FernFilepath): string[] {\n const segments = this.settings.explicitNamespaces ? fernFilepath.allParts : fernFilepath.packagePath;\n return segments.map((segment) => segment.pascalCase.safeName);\n }\n\n public precalculate(requests: Partial<FernIr.dynamic.EndpointSnippetRequest>[]): void {\n this.generation.initialize();\n this.System.Collections.Generic.KeyValuePair();\n this.System.Collections.Generic.IEnumerable();\n this.System.Collections.Generic.IAsyncEnumerable();\n this.System.Collections.Generic.HashSet();\n this.System.Collections.Generic.List();\n this.System.Collections.Generic.Dictionary();\n this.System.Threading.Tasks.Task();\n\n // generate the names for the model types\n Object.entries(this.ir.types)\n .sort((a, b) => {\n // sort by shortest key length\n return a[0].length - b[0].length;\n })\n .forEach(([typeId, type]) => {\n this.dynamicTypeMapper.convertToClassReference(type);\n });\n\n for (const [idx, request] of requests.entries()) {\n // generate the class names for the examples\n\n this.csharp.classReference({\n origin: this.model.staticExplicit(`Example${idx}`),\n namespace: \"Usage\"\n });\n\n if (request.endpoint) {\n const endpoints = this.resolveEndpointLocation(request.endpoint);\n for (const endpoint of endpoints) {\n switch (endpoint.request.type) {\n case \"inlined\":\n this.csharp.classReference({\n origin: endpoint.request.declaration.name,\n namespace: this.getNamespace(endpoint.request.declaration.fernFilepath)\n });\n\n break;\n\n case \"body\":\n break;\n }\n }\n }\n }\n\n this.generation.Types.ClientOptions;\n this.generation.Types.RootClient;\n\n // after generating the names for everything, freeze the class references\n this.csharp.freezeClassReferences();\n }\n}\n","import { NamedArgument, Options, Scope, Severity, Style } from \"@fern-api/browser-compatible-base-generator\";\nimport { assertNever } from \"@fern-api/core-utils\";\nimport { ast, is, WithGeneration } from \"@fern-api/csharp-codegen\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { camelCase, upperFirst } from \"lodash-es\";\nimport { Config } from \"./Config\";\nimport { DynamicSnippetsGeneratorContext } from \"./context/DynamicSnippetsGeneratorContext\";\nimport { FilePropertyInfo } from \"./context/FilePropertyMapper\";\n\nexport class EndpointSnippetGenerator extends WithGeneration {\n private context: DynamicSnippetsGeneratorContext;\n\n constructor({ context }: { context: DynamicSnippetsGeneratorContext }) {\n super(context.generation);\n this.context = context;\n }\n\n public async generateSnippet({\n endpoint,\n request,\n options\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n request: FernIr.dynamic.EndpointSnippetRequest;\n options: Options;\n }): Promise<string> {\n const code = this.buildCodeBlock({ endpoint, snippet: request, options });\n return code.toString({\n namespace: \"Usage\",\n generation: this.generation,\n allNamespaceSegments: new Set(),\n allTypeClassReferences: new Map()\n });\n }\n\n public generateSnippetSync({\n endpoint,\n request,\n options\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n request: FernIr.dynamic.EndpointSnippetRequest;\n options: Options;\n }): string {\n const code = this.buildCodeBlock({ endpoint, snippet: request, options });\n return code.toString({\n namespace: \"Usage\",\n generation: this.generation,\n allNamespaceSegments: new Set(),\n allTypeClassReferences: new Map()\n });\n }\n\n public async generateSnippetAst({\n endpoint,\n request,\n options\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n request: FernIr.dynamic.EndpointSnippetRequest;\n options?: Options;\n }): Promise<ast.AstNode> {\n throw new Error(\"Unsupported\");\n }\n\n private buildCodeBlock({\n endpoint,\n snippet,\n options\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n options: Options;\n }): ast.AstNode {\n // if we're actually passed the examples, we need to\n // check that the endpoint that we're generating has an example that matches the snippet\n if (\n endpoint.examples &&\n !endpoint.examples?.find((each) => is.DynamicIR.EndpointExample(snippet) && each.id === snippet.id)\n ) {\n // the dsg expects us to just throw when there is nothing to generate.\n throw new Error(\"Endpoint does not have an example that matches the snippet\");\n }\n\n const body = this.csharp.codeblock((writer) => {\n writer.writeNodeStatement(this.constructClient({ endpoint, snippet }));\n writer.newLine();\n writer.writeNodeStatement(this.callMethod({ endpoint, snippet }));\n });\n const style = this.getStyle(options);\n switch (style) {\n case Style.Concise:\n return body;\n case Style.Full:\n return this.buildFullCodeBlock({ body, options });\n default:\n assertNever(style);\n }\n }\n\n private buildFullCodeBlock({ body, options }: { body: ast.CodeBlock; options: Options }): ast.AstNode {\n const config = this.getConfig(options);\n const class_ = this.csharp.class_({\n name: config.fullStyleClassName ?? \"Example\",\n namespace: \"Usage\",\n access: ast.Access.Public\n });\n\n // before we add the method, we're going to make the class aware of the root client namespace\n // which can help when finding out if we're going to have an ambiguous type of some kind.\n class_.addNamespaceReference(this.Types.RootClient.namespace);\n\n class_.addMethod({\n name: \"Do\",\n access: ast.Access.Public,\n isAsync: true,\n parameters: [],\n body\n });\n return class_;\n }\n\n private constructClient({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ast.CodeBlock {\n return this.csharp.codeblock((writer) => {\n writer.write(`var client = `);\n writer.writeNode(this.getRootClientConstructorInvocation(this.getConstructorArgs({ endpoint, snippet })));\n });\n }\n\n private callMethod({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ast.CodeBlock | ast.MethodInvocation {\n // if the example has *any* sample with stream set to true, then the method is an async enumerable\n const isAsyncEnumerable =\n endpoint.response?.type === \"streaming\" || endpoint.response?.type === \"streamParameter\";\n\n const invocation = this.csharp.invokeMethod({\n on: this.csharp.codeblock(\"client\"),\n method: this.getMethod({ endpoint }),\n arguments_: this.getMethodArgs({ endpoint, snippet }),\n async: true,\n configureAwait: true,\n multiline: true,\n isAsyncEnumerable\n });\n\n if (isAsyncEnumerable) {\n return this.csharp.codeblock((writer) => {\n writer.write(\"await foreach (var item in \");\n writer.writeNode(invocation);\n writer.writeLine(\")\");\n writer.pushScope();\n writer.writeLine(\"/* consume each item */\");\n writer.popScope();\n });\n }\n return invocation;\n }\n\n private getConstructorArgs({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): NamedArgument[] {\n const authArgs: NamedArgument[] = [];\n if (endpoint.auth != null) {\n if (snippet.auth != null) {\n authArgs.push(...this.getConstructorAuthArgs({ auth: endpoint.auth, values: snippet.auth }));\n } else {\n this.context.errors.add({\n severity: Severity.Warning,\n message: `Auth with ${endpoint.auth.type} configuration is required for this endpoint`\n });\n }\n }\n const optionArgs: NamedArgument[] = [];\n const baseUrlArgs = this.getConstructorBaseUrlArgs({\n baseUrl: snippet.baseURL,\n environment: snippet.environment\n });\n if (baseUrlArgs.length > 0) {\n optionArgs.push(...baseUrlArgs);\n }\n this.context.errors.scope(Scope.Headers);\n const headerArgs: NamedArgument[] = [];\n if (this.context.ir.headers != null && snippet.headers != null) {\n headerArgs.push(\n ...this.getConstructorHeaderArgs({ headers: this.context.ir.headers, values: snippet.headers })\n );\n }\n this.context.errors.unscope();\n\n if (optionArgs.length === 0) {\n return [...authArgs, ...headerArgs];\n }\n return [\n ...authArgs,\n ...headerArgs,\n {\n name: \"clientOptions\",\n assignment: this.csharp.instantiateClass({\n classReference: this.Types.ClientOptions,\n arguments_: optionArgs.map((arg) => ({\n name: arg.name,\n assignment: arg.assignment\n })),\n multiline: true\n })\n }\n ];\n }\n\n private getConstructorBaseUrlArgs({\n baseUrl,\n environment\n }: {\n baseUrl: string | undefined;\n environment: FernIr.dynamic.EnvironmentValues | undefined;\n }): NamedArgument[] {\n const baseUrlArg = this.getBaseUrlArg({ baseUrl, environment });\n if (is.Literal.nop(baseUrlArg)) {\n return [];\n }\n return [\n {\n name: this.getBaseUrlOptionName(),\n assignment: baseUrlArg\n }\n ];\n }\n\n private getBaseUrlArg({\n baseUrl,\n environment\n }: {\n baseUrl: string | undefined;\n environment: FernIr.dynamic.EnvironmentValues | undefined;\n }): ast.Literal {\n if (baseUrl != null && environment != null) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: \"Cannot specify both baseUrl and environment options\"\n });\n return this.csharp.Literal.nop();\n }\n if (baseUrl != null) {\n if (this.context.ir.environments?.environments.type === \"multipleBaseUrls\") {\n this.context.errors.add({\n severity: Severity.Critical,\n message: \"The C# SDK doesn't support a baseUrl when multiple URL environments are configured\"\n });\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(baseUrl);\n }\n if (environment != null) {\n if (this.context.isSingleEnvironmentID(environment)) {\n const classReference = this.context.getEnvironmentTypeReferenceFromID(environment);\n if (classReference == null) {\n this.context.errors.add({\n severity: Severity.Warning,\n message: `Environment ${JSON.stringify(environment)} was not found`\n });\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.reference(classReference);\n }\n if (this.context.isMultiEnvironmentValues(environment)) {\n if (!this.context.validateMultiEnvironmentUrlValues(environment)) {\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.reference(\n this.csharp.instantiateClass({\n classReference: this.Types.Environments,\n arguments_: Object.entries(environment).map(([key, value]) => ({\n name: upperFirst(camelCase(key)),\n assignment: this.context.dynamicLiteralMapper.convert({\n typeReference: {\n type: \"primitive\",\n value: \"STRING\"\n },\n value\n })\n })),\n multiline: true\n })\n );\n }\n }\n return this.csharp.Literal.nop();\n }\n\n private getConstructorAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.Auth;\n values: FernIr.dynamic.AuthValues;\n }): NamedArgument[] {\n if (values.type !== auth.type) {\n this.addError(this.context.newAuthMismatchError({ auth, values }).message);\n return [];\n }\n\n switch (auth.type) {\n case \"basic\":\n return values.type === \"basic\" ? this.getConstructorBasicAuthArg({ auth, values }) : [];\n case \"bearer\":\n return values.type === \"bearer\" ? this.getConstructorBearerAuthArgs({ auth, values }) : [];\n case \"header\":\n return values.type === \"header\" ? this.getConstructorHeaderAuthArgs({ auth, values }) : [];\n case \"oauth\":\n return values.type === \"oauth\" ? this.getConstructorOAuthArgs({ auth, values }) : [];\n case \"inferred\":\n this.addWarning(\"The C# SDK Generator does not support Inferred auth scheme yet\");\n return [];\n default:\n assertNever(auth);\n }\n }\n\n private addError(message: string): void {\n this.context.errors.add({ severity: Severity.Critical, message });\n }\n\n private addWarning(message: string): void {\n this.context.errors.add({ severity: Severity.Warning, message });\n }\n\n private getConstructorBasicAuthArg({\n auth,\n values\n }: {\n auth: FernIr.dynamic.BasicAuth;\n values: FernIr.dynamic.BasicAuthValues;\n }): NamedArgument[] {\n return [\n {\n name: this.context.getParameterName(auth.username),\n assignment: this.csharp.Literal.string(values.username)\n },\n {\n name: this.context.getParameterName(auth.password),\n assignment: this.csharp.Literal.string(values.password)\n }\n ];\n }\n\n private getConstructorBearerAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.BearerAuth;\n values: FernIr.dynamic.BearerAuthValues;\n }): NamedArgument[] {\n return [\n {\n name: this.context.getParameterName(auth.token),\n assignment: this.csharp.Literal.string(values.token)\n }\n ];\n }\n\n private getConstructorHeaderAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.HeaderAuth;\n values: FernIr.dynamic.HeaderAuthValues;\n }): NamedArgument[] {\n return [\n {\n name: this.context.getParameterName(auth.header.name.name),\n assignment: this.context.dynamicLiteralMapper.convert({\n typeReference: auth.header.typeReference,\n value: values.value,\n fallbackToDefault: auth.header.name.wireValue\n })\n }\n ];\n }\n\n private getConstructorOAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.OAuth;\n values: FernIr.dynamic.OAuthValues;\n }): NamedArgument[] {\n return [\n {\n name: this.context.getParameterName(auth.clientId),\n assignment: this.csharp.Literal.string(values.clientId)\n },\n {\n name: this.context.getParameterName(auth.clientSecret),\n assignment: this.csharp.Literal.string(values.clientSecret)\n }\n ];\n }\n\n private getConstructorHeaderArgs({\n headers,\n values\n }: {\n headers: FernIr.dynamic.NamedParameter[];\n values: FernIr.dynamic.Values;\n }): NamedArgument[] {\n const args: NamedArgument[] = [];\n for (const header of headers) {\n const arg = this.getConstructorHeaderArg({ header, value: values.value });\n if (arg != null) {\n args.push({\n name: this.context.getParameterName(header.name.name),\n assignment: arg\n });\n }\n }\n return args;\n }\n\n private getConstructorHeaderArg({\n header,\n value\n }: {\n header: FernIr.dynamic.NamedParameter;\n value: unknown;\n }): ast.Literal | undefined {\n const typeLiteral = this.context.dynamicLiteralMapper.convert({\n typeReference: header.typeReference,\n value,\n fallbackToDefault: header.name.wireValue\n });\n if (is.Literal.nop(typeLiteral)) {\n // Literal header values (e.g. \"X-API-Version\") should not be included in the\n // client constructor.\n return undefined;\n }\n return typeLiteral;\n }\n\n private getMethodArgs({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ast.Literal[] {\n switch (endpoint.request.type) {\n case \"inlined\":\n return this.getMethodArgsForInlinedRequest({ request: endpoint.request, snippet });\n case \"body\":\n return this.getMethodArgsForBodyRequest({ request: endpoint.request, snippet });\n default:\n assertNever(endpoint.request);\n }\n }\n\n private getMethodArgsForInlinedRequest({\n request,\n snippet\n }: {\n request: FernIr.dynamic.InlinedRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ast.Literal[] {\n const args: ast.Literal[] = [];\n\n this.context.errors.scope(Scope.PathParameters);\n const pathParameterFields: ast.ConstructorField[] = [];\n const pathParameters = [...(this.context.ir.pathParameters ?? []), ...(request.pathParameters ?? [])];\n if (pathParameters.length > 0) {\n pathParameterFields.push(...this.getPathParameters({ namedParameters: pathParameters, snippet }));\n }\n this.context.errors.unscope();\n\n // TODO: Add support for file properties.\n this.context.errors.scope(Scope.RequestBody);\n const filePropertyInfo = this.getFilePropertyInfo({ request, snippet });\n this.context.errors.unscope();\n\n if (\n !this.context.includePathParametersInWrappedRequest({\n request,\n inlinePathParameters: this.settings.shouldInlinePathParameters\n })\n ) {\n args.push(...pathParameterFields.map((field) => field.value));\n }\n // For now, the C# SDK always requires the inlined request parameter.\n args.push(\n this.getInlinedRequestArg({\n request,\n snippet,\n pathParameterFields: this.context.includePathParametersInWrappedRequest({\n request,\n inlinePathParameters: this.settings.shouldInlinePathParameters\n })\n ? pathParameterFields\n : [],\n filePropertyInfo\n })\n );\n return args;\n }\n\n private getFilePropertyInfo({\n request,\n snippet\n }: {\n request: FernIr.dynamic.InlinedRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): FilePropertyInfo {\n if (request.body == null || !this.context.isFileUploadRequestBody(request.body)) {\n return {\n fileFields: [],\n bodyPropertyFields: []\n };\n }\n return this.context.filePropertyMapper.getFilePropertyInfo({\n body: request.body,\n value: snippet.requestBody\n });\n }\n\n private getInlinedRequestArg({\n request,\n snippet,\n pathParameterFields,\n filePropertyInfo\n }: {\n request: FernIr.dynamic.InlinedRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n pathParameterFields: ast.ConstructorField[];\n filePropertyInfo: FilePropertyInfo;\n }): ast.Literal {\n this.context.errors.scope(Scope.QueryParameters);\n const queryParameters = this.context.associateQueryParametersByWireValue({\n parameters: request.queryParameters ?? [],\n values: snippet.queryParameters ?? {}\n });\n const queryParameterFields = queryParameters.map((queryParameter) => ({\n name: this.context.getPropertyName(queryParameter.name.name),\n value: this.context.dynamicLiteralMapper.convert(queryParameter)\n }));\n this.context.errors.unscope();\n\n this.context.errors.scope(Scope.Headers);\n const headers = this.context.associateByWireValue({\n parameters: request.headers ?? [],\n values: snippet.headers ?? {}\n });\n const headerFields = headers.map((header) => ({\n name: this.context.getPropertyName(header.name.name),\n value: this.context.dynamicLiteralMapper.convert({\n ...header,\n fallbackToDefault: header.name.wireValue\n })\n }));\n this.context.errors.unscope();\n\n this.context.errors.scope(Scope.RequestBody);\n const requestBodyFields =\n request.body != null\n ? this.getInlinedRequestBodyConstructorFields({\n body: request.body,\n value: snippet.requestBody,\n filePropertyInfo\n })\n : [];\n this.context.errors.unscope();\n\n return this.csharp.Literal.class_({\n reference: this.csharp.classReference({\n origin: request.declaration,\n namespace: this.context.getNamespace(request.declaration.fernFilepath)\n }),\n fields: [...pathParameterFields, ...queryParameterFields, ...headerFields, ...requestBodyFields]\n });\n }\n\n private getInlinedRequestBodyConstructorFields({\n body,\n value,\n filePropertyInfo\n }: {\n body: FernIr.dynamic.InlinedRequestBody;\n value: unknown;\n filePropertyInfo: FilePropertyInfo;\n }): ast.ConstructorField[] {\n switch (body.type) {\n case \"properties\":\n return this.getInlinedRequestBodyPropertyConstructorFields({ parameters: body.value, value });\n case \"referenced\":\n return [this.getReferencedRequestBodyPropertyConstructorField({ body, value })];\n case \"fileUpload\":\n return this.getFileUploadRequestBodyConstructorFields({ filePropertyInfo });\n default:\n assertNever(body);\n }\n }\n\n private getInlinedRequestBodyPropertyConstructorFields({\n parameters,\n value\n }: {\n parameters: FernIr.dynamic.NamedParameter[];\n value: unknown;\n }): ast.ConstructorField[] {\n const fields: ast.ConstructorField[] = [];\n\n const bodyProperties = this.context.associateByWireValue({\n parameters,\n values: this.context.getRecord(value) ?? {}\n });\n for (const parameter of bodyProperties) {\n fields.push({\n name: this.context.getPropertyName(parameter.name.name),\n value: this.context.dynamicLiteralMapper.convert({\n ...parameter,\n fallbackToDefault: parameter.name.wireValue\n })\n });\n }\n\n return fields;\n }\n\n private getFileUploadRequestBodyConstructorFields({\n filePropertyInfo\n }: {\n filePropertyInfo: FilePropertyInfo;\n }): ast.ConstructorField[] {\n return [...filePropertyInfo.fileFields, ...filePropertyInfo.bodyPropertyFields];\n }\n\n private getReferencedRequestBodyPropertyConstructorField({\n body,\n value\n }: {\n body: FernIr.dynamic.ReferencedRequestBody;\n value: unknown;\n }): ast.ConstructorField {\n return {\n name: this.context.getPropertyName(body.bodyKey),\n value: this.getReferencedRequestBodyPropertyLiteral({ body: body.bodyType, value })\n };\n }\n\n private getReferencedRequestBodyPropertyLiteral({\n body,\n value\n }: {\n body: FernIr.dynamic.ReferencedRequestBodyType;\n value: unknown;\n }): ast.Literal {\n switch (body.type) {\n case \"bytes\":\n return this.getBytesBodyRequestArg({ value });\n case \"typeReference\":\n return this.context.dynamicLiteralMapper.convert({\n typeReference: body.value,\n value,\n fallbackToDefault: JSON.stringify(body.value)\n });\n default:\n assertNever(body);\n }\n }\n\n private getMethodArgsForBodyRequest({\n request,\n snippet\n }: {\n request: FernIr.dynamic.BodyRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ast.Literal[] {\n const args: ast.Literal[] = [];\n this.context.errors.scope(Scope.PathParameters);\n const pathParameters = [...(this.context.ir.pathParameters ?? []), ...(request.pathParameters ?? [])];\n if (pathParameters.length > 0) {\n args.push(\n ...this.getPathParameters({ namedParameters: pathParameters, snippet }).map((field) => field.value)\n );\n }\n this.context.errors.unscope();\n\n this.context.errors.scope(Scope.RequestBody);\n if (request.body != null) {\n args.push(this.getBodyRequestArg({ body: request.body, value: snippet.requestBody }));\n }\n this.context.errors.unscope();\n\n return args;\n }\n\n private getBodyRequestArg({\n body,\n value\n }: {\n body: FernIr.dynamic.ReferencedRequestBodyType;\n value: unknown;\n }): ast.Literal {\n switch (body.type) {\n case \"bytes\": {\n return this.getBytesBodyRequestArg({ value });\n }\n case \"typeReference\":\n // if the body type is optional, but not provided, then we should use null\n // (the generated body arg parameter is currently required)\n if (body.value.type === \"optional\" && value == undefined) {\n return this.csharp.Literal.null();\n }\n return this.context.dynamicLiteralMapper.convert({\n typeReference: body.value,\n value,\n fallbackToDefault: JSON.stringify(body.value)\n });\n default:\n assertNever(body);\n }\n }\n\n private getBytesBodyRequestArg({ value }: { value: unknown }): ast.Literal {\n let str = this.context.getValueAsString({ value });\n if (str == null) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: \"The bytes request body must be provided in string format\"\n });\n\n // if there is no value, then let's just use a random string\n str = \"[bytes]\";\n }\n return this.csharp.Literal.reference(this.context.getMemoryStreamForString(str));\n }\n\n private getRootClientConstructorInvocation(arguments_: NamedArgument[]): ast.ClassInstantiation {\n return this.csharp.instantiateClass({\n classReference: this.Types.RootClient,\n arguments_,\n forceUseConstructor: true,\n multiline: true\n });\n }\n\n private getPathParameters({\n namedParameters,\n snippet\n }: {\n namedParameters: FernIr.dynamic.NamedParameter[];\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ast.ConstructorField[] {\n const args: ast.ConstructorField[] = [];\n const pathParameters = this.context.associateByWireValueOrDefault({\n parameters: namedParameters,\n values: snippet.pathParameters ?? {}\n });\n for (const parameter of pathParameters) {\n args.push({\n name: this.context.getPropertyName(parameter.name.name),\n value: this.context.dynamicLiteralMapper.convert({\n ...parameter,\n fallbackToDefault: parameter.name.wireValue\n })\n });\n }\n return args;\n }\n\n private getMethod({ endpoint }: { endpoint: FernIr.dynamic.Endpoint }): string {\n if (endpoint.declaration.fernFilepath.allParts.length > 0) {\n return `${endpoint.declaration.fernFilepath.allParts\n .map((val) => this.context.getClassName(val))\n .join(\".\")}.${this.context.getMethodName(endpoint.declaration.name)}`;\n }\n\n return this.context.getMethodName(endpoint.declaration.name);\n }\n\n private getBaseUrlOptionName(): string {\n if (this.context.ir.environments?.environments.type === \"multipleBaseUrls\") {\n return \"Environment\";\n }\n return \"BaseUrl\";\n }\n\n private getStyle(options: Options): Style {\n return options.style ?? this.context.options.style ?? Style.Full;\n }\n\n private getConfig(options: Options): Config {\n return options.config ?? this.context.options.config ?? {};\n }\n}\n","import {\n AbstractAstNode,\n AbstractDynamicSnippetsGenerator,\n FernGeneratorExec,\n Options\n} from \"@fern-api/browser-compatible-base-generator\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { DynamicSnippetsGeneratorContext } from \"./context/DynamicSnippetsGeneratorContext\";\nimport { EndpointSnippetGenerator } from \"./EndpointSnippetGenerator\";\n\nexport class DynamicSnippetsGenerator extends AbstractDynamicSnippetsGenerator<\n DynamicSnippetsGeneratorContext,\n EndpointSnippetGenerator\n> {\n constructor({\n ir,\n config,\n options = {}\n }: {\n ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n config: FernGeneratorExec.GeneratorConfig;\n options?: Options;\n }) {\n super(new DynamicSnippetsGeneratorContext({ ir, config, options }));\n }\n\n public precalculate(requests: FernIr.dynamic.EndpointSnippetRequest[]): void {\n this.context.precalculate(requests);\n }\n\n public override async generate(\n request: FernIr.dynamic.EndpointSnippetRequest,\n options: Options = {}\n ): Promise<FernIr.dynamic.EndpointSnippetResponse> {\n return super.generate(request, options);\n }\n\n public override generateSync(\n request: FernIr.dynamic.EndpointSnippetRequest,\n options: Options = {}\n ): FernIr.dynamic.EndpointSnippetResponse {\n return super.generateSync(request, options);\n }\n\n public override async generateSnippetAst(request: FernIr.dynamic.EndpointSnippetRequest): Promise<AbstractAstNode> {\n return super.generateSnippetAst(request);\n }\n\n protected createSnippetGenerator(context: DynamicSnippetsGeneratorContext): EndpointSnippetGenerator {\n return new EndpointSnippetGenerator({ context });\n }\n}\n"],"mappings":"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B,IAAAC,GAAqB,kBCgBrB,IAAAC,GAAqB,kBCEd,IAAMC,GAA2B,CAEpC,OAAQ,CACJ,2BACA,SACA,YACA,qBACA,aACA,YACA,iBACA,6BACA,uBACA,gBACA,cACA,oBACA,wBACA,8BACA,sBACA,QACA,6BACA,wBACA,2BACA,gBACA,YACA,mBACA,0BACA,0BACA,0BACA,eACA,UACA,SACA,OACA,iCACA,OACA,iBACA,wBACA,UACA,yBACA,4BACA,eACA,aACA,iBACA,mBACA,oBACA,qBACA,0BACA,yBACA,UACA,uBACA,0BACA,WACA,WACA,eACA,iBACA,YACA,SACA,UACA,WACA,wBACA,uBACA,SACA,+BACA,8BACA,OACA,cACA,4BACA,YACA,eACA,YACA,2BACA,uBACA,iBACA,kBACA,oBACA,KACA,mBACA,mBACA,SACA,eACA,uBACA,OACA,OACA,WACA,mBACA,eACA,aACA,cACA,eACA,mBACA,cACA,kBACA,eACA,QACA,2BACA,sCACA,8BACA,SACA,QACA,QACA,QACA,SACA,uBACA,4BACA,0BACA,2BACA,mBACA,uBACA,qBACA,8BACA,qBACA,qBACA,OACA,QACA,wBACA,mBACA,wBACA,mBACA,wBACA,yBACA,yBACA,eACA,qBACA,oBACA,iCACA,yBACA,2BACA,0BACA,wBACA,WACA,yBACA,SACA,0BACA,oBACA,kBACA,6BACA,kBACA,uBACA,oBACA,sBACA,aACA,gCACA,SACA,QACA,gBACA,mBACA,sBACA,wBACA,qBACA,sBACA,oBACA,QACA,wBACA,SACA,yBACA,qBACA,SACA,iBACA,mBACA,gCACA,qBACA,kBACA,wBACA,WACA,mBACA,eACA,WACA,WACA,eACA,4BACA,QACA,kBACA,OACA,sBACA,WACA,iBACA,8BACA,oBACA,wBACA,UACA,SACA,SACA,SACA,UACA,8BACA,8BACA,iCACA,2BACA,aACA,YACA,UACA,OACA,gBACA,UACA,cACA,iBACA,cACA,gBACA,KACA,OACA,MACA,WACA,aACA,YACA,UACA,WACA,OACA,aAIJ,6BAA8B,CAC1B,uBACA,uBACA,cACA,uBACA,eACA,sCACA,6BAIJ,YAAa,CACT,eACA,eACA,iBACA,YACA,gBACA,6BACA,uBACA,qBACA,OACA,aACA,iBACA,WACA,oBACA,WACA,wBACA,cACA,YACA,aACA,oBACA,iBACA,uBACA,uBACA,cACA,cACA,YACA,eACA,OACA,uBACA,eACA,eACA,aACA,SACA,eACA,eACA,eACA,eACA,aACA,aACA,eACA,0BACA,wBACA,yBAIJ,cAAe,CAAC,YAAY,EAG5B,kBAAmB,CAAC,aAAc,YAAY,EAG9C,mBAAoB,CAChB,0BACA,iBACA,mBACA,iBACA,oBACA,gCACA,0BACA,kBACA,kBACA,iBACA,kBACA,mBACA,cACA,uBACA,sBACA,SACA,kBACA,uBACA,OACA,yBACA,sBACA,mBACA,uBACA,UACA,QACA,mBACA,aACA,2BACA,gBACA,yBACA,uBACA,uBACA,YACA,yBACA,gBACA,qBACA,WACA,WACA,yBACA,+BACA,SACA,uBACA,2BACA,8BACA,6BACA,aACA,wBACA,iBACA,cACA,uBACA,cACA,uBACA,UACA,QACA,gBACA,WACA,eACA,aACA,oCACA,uBACA,sBACA,SAIJ,yBAA0B,CACtB,mCACA,wBACA,OACA,gCACA,wBACA,uBACA,0BACA,sBACA,iBACA,cACA,gBACA,yBACA,aACA,oBACA,mCACA,YACA,YD9VR,IAAMC,GAAgB,IAAI,IAAI,CAC1B,WACA,KACA,OACA,OACA,QACA,OACA,OACA,QACA,OACA,UACA,QACA,QACA,WACA,UACA,UACA,WACA,KACA,SACA,OACA,OACA,QACA,WACA,SACA,QACA,UACA,QACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,MACA,YACA,WACA,KACA,OACA,OACA,YACA,MACA,OACA,SACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,MACA,SACA,QACA,SACA,QACA,SACA,aACA,SACA,SACA,SACA,SACA,OACA,QACA,OACA,MACA,SACA,OACA,QACA,YACA,SAC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","names":["require_AudienceDefinition","__commonJSMin","exports","require_AudienceReference","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_audience","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_EnvironmentVariable","__commonJSMin","exports","require_AuthSchemeKey","__commonJSMin","exports","require_AuthScope","__commonJSMin","exports","require_ApiAuth","__commonJSMin","exports","require_AuthSchemesRequirement","__commonJSMin","exports","value","visitor","require_AuthScheme","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_BaseAuthScheme","__commonJSMin","exports","require_InferredAuthScheme","__commonJSMin","exports","require_InferredAuthSchemeTokenEndpoint","__commonJSMin","exports","require_InferredAuthenticatedRequestHeader","__commonJSMin","exports","require_BearerAuthScheme","__commonJSMin","exports","require_OAuthScheme","__commonJSMin","exports","require_OAuthConfiguration","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_OAuthClientCredentials","__commonJSMin","exports","require_OAuthTokenEndpoint","__commonJSMin","exports","require_OAuthRefreshEndpoint","__commonJSMin","exports","require_OAuthAccessTokenRequestProperties","__commonJSMin","exports","require_OAuthAccessTokenResponseProperties","__commonJSMin","exports","require_OAuthRefreshTokenRequestProperties","__commonJSMin","exports","require_BasicAuthScheme","__commonJSMin","exports","require_HeaderAuthScheme","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_auth","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_WithDocs","__commonJSMin","exports","require_WithDocsAndAvailability","__commonJSMin","exports","require_FernFilepath","__commonJSMin","exports","require_Name","__commonJSMin","exports","require_DisplayName","__commonJSMin","exports","require_NameAndWireValue","__commonJSMin","exports","require_SafeAndUnsafeString","__commonJSMin","exports","require_EscapedString","__commonJSMin","exports","require_WithJsonExample","__commonJSMin","exports","require_WithContentType","__commonJSMin","exports","require_SubpackageId","__commonJSMin","exports","require_ServiceId","__commonJSMin","exports","require_EndpointId","__commonJSMin","exports","require_TypeId","__commonJSMin","exports","require_ErrorId","__commonJSMin","exports","require_WebhookGroupId","__commonJSMin","exports","require_WebhookId","__commonJSMin","exports","require_WebSocketChannelId","__commonJSMin","exports","require_FeatureId","__commonJSMin","exports","require_Declaration","__commonJSMin","exports","require_Availability","__commonJSMin","exports","require_AvailabilityStatus","__commonJSMin","exports","value","visitor","require_EndpointReference","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_commons","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_Constants","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_constants","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_Auth","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_AuthValues","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_BasicAuth","__commonJSMin","exports","require_BasicAuthValues","__commonJSMin","exports","require_InferredAuth","__commonJSMin","exports","require_InferredAuthValues","__commonJSMin","exports","require_BearerAuth","__commonJSMin","exports","require_BearerAuthValues","__commonJSMin","exports","require_HeaderAuth","__commonJSMin","exports","require_HeaderAuthValues","__commonJSMin","exports","require_OAuth","__commonJSMin","exports","require_OAuthValues","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_auth","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_WithDocs","__commonJSMin","exports","require_FernFilepath","__commonJSMin","exports","require_Name","__commonJSMin","exports","require_NameAndWireValue","__commonJSMin","exports","require_SafeAndUnsafeString","__commonJSMin","exports","require_EndpointId","__commonJSMin","exports","require_TypeId","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_commons","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_Declaration","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_declaration","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_EndpointLocation","__commonJSMin","exports","require_Endpoint","__commonJSMin","exports","require_Request","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_Response","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","visitor","value","require_BodyRequest","__commonJSMin","exports","require_InlinedRequest","__commonJSMin","exports","require_InlinedRequestMetadata","__commonJSMin","exports","require_InlinedRequestBody","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ReferencedRequestBody","__commonJSMin","exports","require_ReferencedRequestBodyType","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","visitor","value","require_FileUploadRequestBody","__commonJSMin","exports","require_FileUploadRequestBodyProperty","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_EndpointExample","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_endpoints","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_EnvironmentId","__commonJSMin","exports","require_EnvironmentBaseUrlId","__commonJSMin","exports","require_EnvironmentUrl","__commonJSMin","exports","require_EnvironmentsConfig","__commonJSMin","exports","require_Environments","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_SingleBaseUrlEnvironments","__commonJSMin","exports","require_SingleBaseUrlEnvironment","__commonJSMin","exports","require_MultipleBaseUrlsEnvironments","__commonJSMin","exports","require_MultipleBaseUrlsEnvironment","__commonJSMin","exports","require_EnvironmentBaseUrlWithId","__commonJSMin","exports","require_EnvironmentValues","__commonJSMin","exports","require_MultipleEnvironmentUrlValues","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_environment","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_HttpMethod","__commonJSMin","exports","value","visitor","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_http","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_DynamicIntermediateRepresentation","__commonJSMin","exports","require_GeneratorConfig","__commonJSMin","exports","require_GeneratorOutputConfig","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_PublishInfo","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_GoPublishInfo","__commonJSMin","exports","require_SwiftPublishInfo","__commonJSMin","exports","require_MavenPublishInfo","__commonJSMin","exports","require_NpmPublishInfo","__commonJSMin","exports","require_NugetPublishInfo","__commonJSMin","exports","require_PypiPublishInfo","__commonJSMin","exports","require_RubyGemsPublishInfo","__commonJSMin","exports","require_CratesPublishInfo","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_ir","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_ErrorSeverity","__commonJSMin","exports","value","visitor","require_Error","__commonJSMin","exports","require_Values","__commonJSMin","exports","require_EndpointSnippetRequest","__commonJSMin","exports","require_EndpointSnippetResponse","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_snippets","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_NamedParameter","__commonJSMin","exports","require_NamedType","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_TypeReference","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_AliasType","__commonJSMin","exports","require_EnumType","__commonJSMin","exports","require_MapType","__commonJSMin","exports","require_ObjectType","__commonJSMin","exports","require_DiscriminatedUnionType","__commonJSMin","exports","require_SingleDiscriminatedUnionType","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_SingleDiscriminatedUnionTypeObject","__commonJSMin","exports","require_SingleDiscriminatedUnionTypeSingleProperty","__commonJSMin","exports","require_SingleDiscriminatedUnionTypeNoProperties","__commonJSMin","exports","require_UndiscriminatedUnionType","__commonJSMin","exports","require_LiteralType","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ObjectPropertyAccess","__commonJSMin","exports","value","visitor","require_PrimitiveTypeV1","__commonJSMin","exports","value","visitor","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_VariableDeclaration","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_variables","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_resources","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","__exportStar","p","require_dynamic","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_EnvironmentId","__commonJSMin","exports","require_EnvironmentBaseUrlId","__commonJSMin","exports","require_EnvironmentUrl","__commonJSMin","exports","require_EnvironmentsConfig","__commonJSMin","exports","require_Environments","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_SingleBaseUrlEnvironments","__commonJSMin","exports","require_SingleBaseUrlEnvironment","__commonJSMin","exports","require_MultipleBaseUrlsEnvironments","__commonJSMin","exports","require_MultipleBaseUrlsEnvironment","__commonJSMin","exports","require_EnvironmentBaseUrlWithId","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_environment","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_ErrorDeclaration","__commonJSMin","exports","require_ErrorDeclarationDiscriminantValue","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_DeclaredErrorName","__commonJSMin","exports","require_ExampleError","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_errors","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_WithV2Examples","__commonJSMin","exports","require_V2HttpEndpointExamples","__commonJSMin","exports","require_V2HttpEndpointExample","__commonJSMin","exports","require_V2HttpEndpointRequest","__commonJSMin","exports","require_V2HttpEndpointResponse","__commonJSMin","exports","require_V2HttpEndpointResponseBody","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_V2HttpEndpointCodeSample","__commonJSMin","exports","require_V2WebSocketSessionExamples","__commonJSMin","exports","require_V2WebSocketSessionExample","__commonJSMin","exports","require_V2WebSocketMessageExample","__commonJSMin","exports","require_V2WebhookExamples","__commonJSMin","exports","require_V2WebhookExample","__commonJSMin","exports","require_V2SchemaExamples","__commonJSMin","exports","require_V2SchemaExample","__commonJSMin","exports","require_V2ValueExamples","__commonJSMin","exports","require_V2WebSocketEndpointLocation","__commonJSMin","exports","require_V2EndpointLocation","__commonJSMin","exports","require_V2EndpointLocationHttpMethod","__commonJSMin","exports","value","visitor","require_V2EnvironmentValues","__commonJSMin","exports","require_MultipleEnvironmentUrlValues","__commonJSMin","exports","require_V2AuthValues","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_BasicAuthValues","__commonJSMin","exports","require_BearerAuthValues","__commonJSMin","exports","require_HeaderAuthValues","__commonJSMin","exports","require_OAuthValues","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_examples","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_GeneratorConfig","__commonJSMin","exports","require_LicenseConfig","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_BasicLicense","__commonJSMin","exports","require_LicenseId","__commonJSMin","exports","value","visitor","require_CustomLicense","__commonJSMin","exports","require_GeneratorOutputConfig","__commonJSMin","exports","require_OutputMode","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_GeneratorPublishConfig","__commonJSMin","exports","require_GithubOutputMode","__commonJSMin","exports","require_OutputMetadataAuthor","__commonJSMin","exports","require_OutputMetadata","__commonJSMin","exports","require_PublishingMetadata","__commonJSMin","exports","require_GithubPublishInfo","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_EnvironmentVariable","__commonJSMin","exports","require_NpmGithubPublishInfo","__commonJSMin","exports","require_MavenCentralSignatureGithubInfo","__commonJSMin","exports","require_MavenGithubPublishInfo","__commonJSMin","exports","require_PostmanGithubPublishInfo","__commonJSMin","exports","require_PypiMetadata","__commonJSMin","exports","require_PypiGithubPublishInfo","__commonJSMin","exports","require_RubyGemsGithubPublishInfo","__commonJSMin","exports","require_NugetGithubPublishInfo","__commonJSMin","exports","require_CratesGithubPublishInfo","__commonJSMin","exports","require_GeneratorRegistriesConfig","__commonJSMin","exports","require_MavenCentralSignature","__commonJSMin","exports","require_MavenRegistryConfig","__commonJSMin","exports","require_NpmRegistryConfig","__commonJSMin","exports","require_GeneratorRegistriesConfigV2","__commonJSMin","exports","require_GeneratorPublishTarget","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_MavenRegistryConfigV2","__commonJSMin","exports","require_NpmRegistryConfigV2","__commonJSMin","exports","require_PypiRegistryConfig","__commonJSMin","exports","require_RubyGemsRegistryConfig","__commonJSMin","exports","require_NugetRegistryConfig","__commonJSMin","exports","require_CratesRegistryConfig","__commonJSMin","exports","require_PostmanConfig","__commonJSMin","exports","require_GeneratorEnvironment","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","visitor","value","require_RemoteGeneratorEnvironment","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_config","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_resources","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","__exportStar","p","require_generatorExec","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_HttpService","__commonJSMin","exports","require_DeclaredServiceName","__commonJSMin","exports","require_Transport","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","visitor","value","require_GrpcTransport","__commonJSMin","exports","require_HttpEndpoint","__commonJSMin","exports","require_HttpEndpointSecurityItem","__commonJSMin","exports","require_RetriesConfiguration","__commonJSMin","exports","require_RetriesDisabledSchema","__commonJSMin","exports","require_HttpEndpointSource","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ProtoSourceInfo","__commonJSMin","exports","require_EndpointName","__commonJSMin","exports","require_HttpPath","__commonJSMin","exports","require_HttpPathPart","__commonJSMin","exports","require_HttpMethod","__commonJSMin","exports","value","visitor","require_HttpHeader","__commonJSMin","exports","require_PathParameter","__commonJSMin","exports","require_PathParameterLocation","__commonJSMin","exports","value","visitor","require_QueryParameter","__commonJSMin","exports","require_HttpRequestBody","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_V2HttpRequestBodies","__commonJSMin","exports","require_InlinedRequestBody","__commonJSMin","exports","require_InlinedRequestBodyProperty","__commonJSMin","exports","require_FileUploadRequest","__commonJSMin","exports","require_BytesRequest","__commonJSMin","exports","require_FileUploadRequestProperty","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_FileUploadBodyProperty","__commonJSMin","exports","require_FileUploadBodyPropertyEncoding","__commonJSMin","exports","value","visitor","require_FileProperty","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_FilePropertySingle","__commonJSMin","exports","require_FilePropertyArray","__commonJSMin","exports","require_HttpRequestBodyReference","__commonJSMin","exports","require_SdkRequestBodyType","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_SdkRequest","__commonJSMin","exports","require_SdkRequestShape","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_SdkRequestWrapper","__commonJSMin","exports","require_HttpResponse","__commonJSMin","exports","require_V2HttpResponses","__commonJSMin","exports","require_NonStreamHttpResponseBody","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_HttpResponseBody","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_JsonResponse","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_JsonResponseBody","__commonJSMin","exports","require_JsonResponseBodyWithProperty","__commonJSMin","exports","require_FileDownloadResponse","__commonJSMin","exports","require_TextResponse","__commonJSMin","exports","require_BytesResponse","__commonJSMin","exports","require_StreamParameterResponse","__commonJSMin","exports","require_StreamingResponse","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_TextStreamChunk","__commonJSMin","exports","require_JsonStreamChunk","__commonJSMin","exports","require_SseStreamChunk","__commonJSMin","exports","require_ResponseErrors","__commonJSMin","exports","require_ResponseError","__commonJSMin","exports","require_Pagination","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_CursorPagination","__commonJSMin","exports","require_OffsetPagination","__commonJSMin","exports","require_CustomPagination","__commonJSMin","exports","require_RequestPropertyValue","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_PropertyPathItem","__commonJSMin","exports","require_RequestProperty","__commonJSMin","exports","require_ResponseProperty","__commonJSMin","exports","require_AutogeneratedEndpointExample","__commonJSMin","exports","require_UserSpecifiedEndpointExample","__commonJSMin","exports","require_ExampleEndpointCall","__commonJSMin","exports","require_ExampleCodeSample","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleCodeSampleLanguage","__commonJSMin","exports","require_ExampleCodeSampleSdk","__commonJSMin","exports","require_SupportedSdkLanguage","__commonJSMin","exports","value","visitor","require_ExamplePathParameter","__commonJSMin","exports","require_ExampleQueryParameter","__commonJSMin","exports","require_ExampleQueryParameterShape","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","visitor","value","require_ExampleHeader","__commonJSMin","exports","require_ExampleRequestBody","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleInlinedRequestBody","__commonJSMin","exports","require_ExampleInlinedRequestBodyExtraProperty","__commonJSMin","exports","require_ExampleInlinedRequestBodyProperty","__commonJSMin","exports","require_ExampleResponse","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleEndpointSuccessResponse","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleServerSideEvent","__commonJSMin","exports","require_ExampleEndpointErrorResponse","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_http","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_IntermediateRepresentation","__commonJSMin","exports","require_GenerationMetadata","__commonJSMin","exports","require_ReadmeConfig","__commonJSMin","exports","require_ExampleStyle","__commonJSMin","exports","value","visitor","require_ReadmeCustomSection","__commonJSMin","exports","require_SourceConfig","__commonJSMin","exports","require_ApiDefinitionSourceId","__commonJSMin","exports","require_ApiDefinitionSource","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ProtoSource","__commonJSMin","exports","require_SdkConfig","__commonJSMin","exports","require_PlatformHeaders","__commonJSMin","exports","require_UserAgent","__commonJSMin","exports","require_ApiVersionScheme","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_HeaderApiVersionScheme","__commonJSMin","exports","require_ErrorDiscriminationStrategy","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","visitor","value","require_ErrorDiscriminationByPropertyStrategy","__commonJSMin","exports","require_Package","__commonJSMin","exports","require_Subpackage","__commonJSMin","exports","require_PackageNavigationConfig","__commonJSMin","exports","require_ServiceTypeReferenceInfo","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_ir","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_ProtobufService","__commonJSMin","exports","require_ProtobufType","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_UserDefinedProtobufType","__commonJSMin","exports","require_WellKnownProtobufType","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","visitor","value","require_ProtobufFile","__commonJSMin","exports","require_ProtobufFileOptions","__commonJSMin","exports","require_CsharpProtobufFileOptions","__commonJSMin","exports","require_ProtobufMethodType","__commonJSMin","exports","value","visitor","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_proto","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_PublishingConfig","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_Filesystem","__commonJSMin","exports","require_GithubPublish","__commonJSMin","exports","require_DirectPublish","__commonJSMin","exports","require_PublishTarget","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_PostmanPublishTarget","__commonJSMin","exports","require_NpmPublishTarget","__commonJSMin","exports","require_MavenPublishTarget","__commonJSMin","exports","require_PypiPublishTarget","__commonJSMin","exports","require_CratesPublishTarget","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_publish","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_Source","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_Encoding","__commonJSMin","exports","require_JsonEncoding","__commonJSMin","exports","require_ProtoEncoding","__commonJSMin","exports","require_TypeDeclaration","__commonJSMin","exports","require_DeclaredTypeName","__commonJSMin","exports","require_Type","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_AliasTypeDeclaration","__commonJSMin","exports","require_ResolvedTypeReference","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ResolvedNamedType","__commonJSMin","exports","require_ShapeType","__commonJSMin","exports","value","visitor","require_EnumTypeDeclaration","__commonJSMin","exports","require_EnumValue","__commonJSMin","exports","require_ObjectTypeDeclaration","__commonJSMin","exports","require_ObjectProperty","__commonJSMin","exports","require_ObjectPropertyAccess","__commonJSMin","exports","value","visitor","require_UnionTypeDeclaration","__commonJSMin","exports","require_SingleUnionType","__commonJSMin","exports","require_SingleUnionTypeProperties","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_SingleUnionTypeProperty","__commonJSMin","exports","require_UndiscriminatedUnionTypeDeclaration","__commonJSMin","exports","require_UndiscriminatedUnionMember","__commonJSMin","exports","require_TypeReference","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_NamedType","__commonJSMin","exports","require_NamedTypeDefault","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_EnumTypeReference","__commonJSMin","exports","require_ContainerType","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_MapType","__commonJSMin","exports","require_PrimitiveType","__commonJSMin","exports","require_PrimitiveTypeV1","__commonJSMin","exports","value","visitor","require_PrimitiveTypeV2","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_IntegerType","__commonJSMin","exports","require_IntegerValidationRules","__commonJSMin","exports","require_LongType","__commonJSMin","exports","require_UintType","__commonJSMin","exports","require_Uint64Type","__commonJSMin","exports","require_FloatType","__commonJSMin","exports","require_DoubleType","__commonJSMin","exports","require_DoubleValidationRules","__commonJSMin","exports","require_BooleanType","__commonJSMin","exports","require_StringType","__commonJSMin","exports","require_StringValidationRules","__commonJSMin","exports","require_DateType","__commonJSMin","exports","require_DateTimeType","__commonJSMin","exports","require_UuidType","__commonJSMin","exports","require_Base64Type","__commonJSMin","exports","require_BigIntegerType","__commonJSMin","exports","require_Literal","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleType","__commonJSMin","exports","require_ExampleTypeShape","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleAliasType","__commonJSMin","exports","require_ExampleEnumType","__commonJSMin","exports","require_ExampleObjectType","__commonJSMin","exports","require_ExampleObjectProperty","__commonJSMin","exports","require_ExampleExtraObjectProperty","__commonJSMin","exports","require_ExampleUnionType","__commonJSMin","exports","require_ExampleUnionBaseProperty","__commonJSMin","exports","require_ExampleUndiscriminatedUnionType","__commonJSMin","exports","require_ExampleSingleUnionType","__commonJSMin","exports","require_ExampleSingleUnionTypeProperties","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleTypeReference","__commonJSMin","exports","require_ExampleTypeReferenceShape","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleContainer","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleListContainer","__commonJSMin","exports","require_ExampleSetContainer","__commonJSMin","exports","require_ExampleOptionalContainer","__commonJSMin","exports","require_ExampleNullableContainer","__commonJSMin","exports","require_ExampleMapContainer","__commonJSMin","exports","require_ExampleLiteralContainer","__commonJSMin","exports","require_ExampleKeyValuePair","__commonJSMin","exports","require_ExamplePrimitive","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_ExampleDatetime","__commonJSMin","exports","require_ExampleNamedType","__commonJSMin","exports","require_ExampleObjectTypeWithTypeId","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_VariableId","__commonJSMin","exports","require_VariableDeclaration","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_variables","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_WebhookGroup","__commonJSMin","exports","require_Webhook","__commonJSMin","exports","require_WebhookName","__commonJSMin","exports","require_WebhookPayload","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_WebhookPayloadReference","__commonJSMin","exports","require_InlinedWebhookPayload","__commonJSMin","exports","require_InlinedWebhookPayloadProperty","__commonJSMin","exports","require_WebhookHttpMethod","__commonJSMin","exports","value","visitor","require_ExampleWebhookCall","__commonJSMin","exports","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_webhooks","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_WebSocketMessageId","__commonJSMin","exports","require_WebSocketChannel","__commonJSMin","exports","require_WebSocketName","__commonJSMin","exports","require_WebSocketMessage","__commonJSMin","exports","require_WebSocketMessageOrigin","__commonJSMin","exports","value","visitor","require_WebSocketMessageBody","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_InlinedWebSocketMessageBody","__commonJSMin","exports","require_InlinedWebSocketMessageBodyProperty","__commonJSMin","exports","require_WebSocketMessageBodyReference","__commonJSMin","exports","require_ExampleWebSocketSession","__commonJSMin","exports","require_ExampleWebSocketMessage","__commonJSMin","exports","require_ExampleWebSocketMessageBody","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","FernIr","value","visitor","require_types","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_websocket","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","require_resources","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","ownKeys","ar","mod","result","__exportStar","p","require_api","__commonJSMin","exports","__createBinding","o","m","k","k2","desc","__exportStar","p","index_exports","__export","DynamicSnippetsGenerator","__toCommonJS","assertNever","x","freeGlobal","freeGlobal_default","freeSelf","root","freeGlobal_default","root_default","Symbol","root_default","Symbol_default","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","Symbol_default","getRawTag","value","isOwn","tag","unmasked","e","result","getRawTag_default","objectProto","nativeObjectToString","objectToString","value","objectToString_default","nullTag","undefinedTag","symToStringTag","Symbol_default","baseGetTag","value","getRawTag_default","objectToString_default","baseGetTag_default","isObjectLike","value","isObjectLike_default","symbolTag","isSymbol","value","isObjectLike_default","baseGetTag_default","isSymbol_default","arrayMap","array","iteratee","index","length","result","arrayMap_default","isArray","isArray_default","INFINITY","symbolProto","Symbol_default","symbolToString","baseToString","value","isArray_default","arrayMap_default","isSymbol_default","result","baseToString_default","toString","value","baseToString_default","toString_default","baseSlice","array","start","end","index","length","result","baseSlice_default","castSlice","array","start","end","length","baseSlice_default","castSlice_default","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsZWJ","reHasUnicode","hasUnicode","string","hasUnicode_default","asciiToArray","string","asciiToArray_default","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsZWJ","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","reUnicode","unicodeToArray","string","unicodeToArray_default","stringToArray","string","hasUnicode_default","unicodeToArray_default","asciiToArray_default","stringToArray_default","createCaseFirst","methodName","string","toString_default","strSymbols","hasUnicode_default","stringToArray_default","chr","trailing","castSlice_default","createCaseFirst_default","upperFirst","createCaseFirst_default","upperFirst_default","capitalize","string","upperFirst_default","toString_default","capitalize_default","arrayReduce","array","iteratee","accumulator","initAccum","index","length","arrayReduce_default","basePropertyOf","object","key","basePropertyOf_default","deburredLetters","deburrLetter","basePropertyOf_default","deburrLetter_default","reLatin","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsCombo","reComboMark","deburr","string","toString_default","deburrLetter_default","deburr_default","reAsciiWord","asciiWords","string","asciiWords_default","reHasUnicodeWord","hasUnicodeWord","string","hasUnicodeWord_default","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsOptJoin","rsOrdLower","rsOrdUpper","rsSeq","rsEmoji","reUnicodeWord","unicodeWords","string","unicodeWords_default","words","string","pattern","guard","toString_default","hasUnicodeWord_default","unicodeWords_default","asciiWords_default","words_default","rsApos","reApos","createCompounder","callback","string","arrayReduce_default","words_default","deburr_default","createCompounder_default","camelCase","createCompounder_default","result","word","index","capitalize_default","camelCase_default","keys","object","_a","_b","key","enableStackTracking","trackingType","globalFunctionFilters","globalFileFilters","addGlobalFunctionFilter","filter","stacktrace","maxFrames","skip","filterPaths","filterFunctions","stopOn","filterNode","filterJs","formatFilename","filename","_a","enableStackTracking","globalFunctionFilters","globalFileFilters","stop","line","match","fn","path","column","s","each","_b","f","p","at","multiline","StackTraces","__publicField","obj","current","frame","frames","stackTraces","startTracking","tag","getFramesForTaggedObject","obj","_a","stackTraces","AbstractAstNode","tag","CodeBlock","AbstractAstNode","value","__publicField","writer","TAB_SIZE","startTracking","AbstractWriter","__publicField","enableStackTracking","parts","text","textEndsInNewline","textWithoutNewline","indent","indentedText","currIndentLevel","node","getFramesForTaggedObject","trackingType","input","CodeBlock","prefix","statement","withNewline","nodes","delimiter","writeFunction","firstNode","i","appendToLastLine","lines","appendTrackingComment","line","stack","each","stacktrace","isNamedArgument","argument","hasNamedArgument","arguments_","Ternary","AbstractAstNode","condition","true_","false_","__publicField","writer","Result","__publicField","context","snippet","endpoint","_a","reporter","_b","AbstractDynamicSnippetsGenerator","context","__publicField","request","options","endpoints","result","Result","endpoint","snippetGenerator","snippet","error","lastError","HttpEndpointReferenceParser","__publicField","reference","match","Severity","ErrorReporter","_ErrorReporter","__publicField","err","__spreadProps","__spreadValues","path","severity","clone","result","item","AbstractDynamicSnippetsGeneratorContext","ir","config","options","__publicField","ErrorReporter","HttpEndpointReferenceParser","parameters","values","instances","key","value","parameter","param","typeInstanceValue","Severity","ignoreMissingParameters","snippetObject","objectRecord","property","record","fileValue","fileArrayValue","stringValues","typeId","namedType","discriminatedUnion","discriminantFieldName","discriminantValue","singleDiscriminatedUnionType","_a","_","filtered","__objRest","__restKey","rawEndpoint","parsedEndpoint","location","endpoints","endpoint","request","inlinePathParameters","inlineFileProperties","_b","body","assertNever","environmentID","environments","environment","env","multiEnvironmentUrlValues","firstEnvironment","expectedKeys","keys","typeReference","resolvedType","auth","parameterName","expected","fileUpload","Style","Scope","ast_exports","__export","Access","And","Annotation","AnonymousFunction","AstNode","Block","Class","ClassInstantiation","ClassReference","CodeBlock","Dictionary","Enum","EnumInstantiation","Field","PrimitiveInstantiation","Interface","List","Literal","MemberNode","Method","MethodInvocation","MethodType","Node","Or","Parameter","ReadOnlyMemory","Set","String_","Switch","Ternary","TestClass","Writer","XmlDocBlock","XmlDocWriter","convertReadOnlyPrimitiveTypes","import_node_assert","Writer","AbstractWriter","namespace","allNamespaceSegments","allTypeClassReferences","generation","skipImports","__publicField","reference","alias","set","imports","type","lines","line","result","ns","refs","ref","addGlobalFunctionFilter","AstNode","AbstractAstNode","generation","__publicField","namespace","allNamespaceSegments","allTypeClassReferences","formatter","skipImports","writer","Writer","stringNode","enableStackTracking","at","getFramesForTaggedObject","each","Node","origin","MemberNode","args","Literal","AstNode","Boolean","value","generation","__publicField","writer","Class_","reference","fields","field","Date","DateTime","Decimal","Double","Float","Integer","Long","Uint","Ulong","Reference","String","Null","Nop","List","valueType","values","Set","Dictionary","keyType","entries","entry","is","Unknown","element","key","val","import_node_assert","import_node_assert","import_api","text_exports","__export","camelCase","hash","normalizeDates","uniqueId","upperFirst","upperFirst","str","camelCase","words","word","index","hash","input","char","uniqueId","iterate","seed","x","c","r","normalizeDates","key","value","is","BaseType","AstNode","__publicField","Optional","writer","input","PrimitiveType","ReferenceType","CollectionType","ObjectType","value","generation","Primitive","Integer","hash","Long","Uint","ULong","String","Boolean","Float","Double","Object","AribitraryType","fullyQualifiedName","Value","Binary","DateOnly","date","DateTime","Uuid","uniqueId","StringEnum","Collection","Array","isReadOnlyMemoryType","ListType","List","Set","Map","keyType","valueType","options","_a","IDictionary","KeyValuePair","convertReadOnlyPrimitiveTypes","readOnlyMemoryTypeNames","typeName","ClassReference","Node","name","namespace","namespaceAlias","enclosingType","generics","fullyQualified","global","fullyQualifiedName","origin","isCollection","multipartMethodName","multipartMethodNameForCollection","isReferenceType","scope","generation","_a","_b","__publicField","writer","isAttribute","isAmbiguous","each","fqName","alias","typeQualification","segments","generic","idx","className","currentNamespace","lastDotIndex","classReferenceNamespace","namespaceToBeWrittenTo","nameToCheck","classReferenceSegments","namespaceToBeWrittenSegments","commonPrefixLength","minLength","nameToDeconflict","matchingNamespaces","matchingNamespacesCopy","conflictingNamespace","__spreadProps","__spreadValues","args","expectedName","field","Optional","isObject","value","is","isObject","value","is","ISO_8601_DATE_REGEX","ISO_8601_DATE_TIME_REGEX","is","value","BaseType","ClassReference","Optional","key","AstNode","Primitive","Value","Collection","Literal","CodeBlock","AstNode","arg","generation","__publicField","writer","Block","AstNode","args","generation","__publicField","writer","each","is","CodeBlock","codeblock","to","from","condition","block","ClassInstantiation","AstNode","classReference","arguments_","forceUseConstructor","properties","multiline","generation","__publicField","writer","hasNamedArguments","hasNamedArgument","argument","idx","isNamedArgument","property","Dictionary","AstNode","keyType","valueType","values","generation","__publicField","writer","key","value","EnumInstantiation","AstNode","reference","value","generation","__publicField","writer","PrimitiveInstantiation","AstNode","internalType","generation","__publicField","writer","date","year","month","day","datetime","dateTimeYear","dateTimeMonth","dateTimeDay","hours","minutes","seconds","milliseconds","List","AstNode","itemType","entries","generation","__publicField","writer","item","index","MethodInvocation","AstNode","method","arguments_","on","async","configureAwait","generics","multiline","isAsyncEnumerable","generation","__publicField","writer","generic","idx","arg","ReadOnlyMemory","AstNode","itemType","entries","generation","__publicField","writer","item","index","Set","AstNode","itemType","entries","generation","__publicField","writer","item","index","ESCAPE_MAP","ESCAPE_REGEX","escapeForCSharpString","input","match","escaped","String_","AstNode","args","generation","__publicField","writer","escapeForCSharpString","XmlDocWriter","writer","__publicField","text","input","nodeName","node","line","entityMap","result","entity","char","match","dec","hex","Access","And","AstNode","args","generation","__publicField","writer","condition","index","Annotation","AstNode","args","generation","__publicField","writer","AnonymousFunction","methodBaseArgs","__publicField","_a","writer","parameter","idx","Or","AstNode","args","generation","__publicField","writer","condition","index","Parameter","AstNode","name","type","docs","initializer","ref","out","generation","__publicField","writer","Switch","AstNode","condition","cases","generation","__publicField","writer","label","value","Ternary","AstNode","args","generation","__publicField","writer","XmlDocBlock","AstNode","arg","generation","__publicField","writer","docWriter","Writer","XmlDocWriter","exceptionSummary","exceptionType","node","import_assert","import_assert","Field","MemberNode","name","type","access","const_","new_","get","init","set","annotations","initializer","summary","doc","jsonPropertyName","readonly","static_","useRequired","skipDefaultInitializer","interfaceReference","accessors","override","origin","enclosingType","generation","__publicField","ClassReference","annotation","writer","_a","_b","_c","isOptional","isCollection","useExpressionBodiedPropertySyntax","Access","is","MethodType","Method","_Method","MemberNode","name","isAsync","override","access","return_","body","noBody","bodyType","summary","doc","type","classReference","parameters","typeParameters","annotations","codeExample","interfaceReference","origin","enclosingType","generation","__publicField","annotation","ClassReference","is","parameter","Parameter","writer","_a","_b","typeParameter","idx","assertNever","DefinedType","Node","name","namespace","access","partial","interfaceReferences","enclosingType","origin","generation","__publicField","is","each","_a","args","field","Field","method","Method","Optional","_Class","DefinedType","name","namespace","access","static_","abstract_","sealed","partial","readonly","parentClassReference","interfaceReferences","enclosingType","type","summary","doc","annotations","primaryConstructor","origin","generation","__publicField","annotation","ClassReference","constructor","ctor","subClass","subClasses","Annotation","operator","operators","writer","parameter","index","argument","interfaceReference","fields","field","sortByAccess","sortByStatic","sortMethodName","sortMethodType","method","nestedClass","nestedInterface","_a","to","normalOperator","idx","Access","Class","Constructor","body","parameters","baseConstructorCall","Block","args","Parameter","CastOperator","accessSorter","a","b","MethodType","Enum","Node","name","namespace","access","annotations","origin","generation","__publicField","field","writer","annotation","index","Interface","DefinedType","name","namespace","access","partial","interfaceReferences","enclosingType","origin","generation","writer","interfaceReference","index","field","method","TestClass","Node","name","namespace","parentClassReference","origin","generation","__publicField","writer","_class","Class","Access","testMethod","import_path","import_node_assert","import_node_assert","builtIns","base_keywords","linq_keywords","async_keywords","iterator_keywords","declarator_keywords","using_keywords","modifier_keywords","pattern_keywords","member_names","keywords","base_keywords","linq_keywords","async_keywords","iterator_keywords","declarator_keywords","using_keywords","Identifier","registry","name","jsonPath","__publicField","Members","scope","__publicField","name","jsonPath","member","newName","TypeScope","Identifier","registry","namespace","fullyQualifiedName","keywords","member_names","expectedName","origin","field","is","Field","node","_a","result","redirectedName","property","provenance","actualName","Member","NameRegistry","_NameRegistry","generation","__publicField","namespace","types","builtIns","segment","type","names","name","firstWord","jsonPath","current","origin","_a","identifier","typeName","_b","classReference","from","to","originalFullyQualifiedName","enclosingType","fullyQualifiedName","ns","each","trimmed","parts","fqNamespace","result","part","classReferenceArgs","expectedFQN","callerJsonPath","classRef","existingJsonPath","quality","ClassReference","modified","resolvedNamespace","conflictResolution","i","TypeScope","cached","parentNamespace","remappedParent","remainingParts","newNamespace","originalNamespace","CSharp","generation","__publicField","value","PrimitiveInstantiation","parse","reference","fields","Literal","keyType","valueType","entries","values","argz","args","expectedFQN","NameRegistry","set","at","enclosingType","property","_a","expectedName","origin","classArgs","__spreadValues","Class","TestClass","Annotation","ClassInstantiation","MethodInvocation","arg","CodeBlock","Block","AnonymousFunction","Parameter","Interface","Enum","Dictionary","List","ReadOnlyMemory","Set","Switch","Ternary","And","Or","EnumInstantiation","String_","XmlDocBlock","xmlDocBlockLike","type","lazy","factories","cache","result","key","fn","Extern","generation","__publicField","lazy","typeParameters","returnType","type","elementType","keyType","valueType","typeToConvert","ofType","generics","import_node_assert","trim","jsonPath","part","ModelNavigator","instance","generation","__publicField","key","parentProvenance","value","provenance","name","node","member","_a","element","__spreadProps","__spreadValues","set","source","_b","is","typeEnum","valueName","v","property","fast","classDeclaration","name1","name2","typeIdOrDeclaration","typeId","declaration","Generation","intermediateRepresentation","apiName","customConfig","generatorConfig","support","path","typeId","fernFilepath","__publicField","CSharp","NameRegistry","Extern","lazy","_a","upperFirst","camelCase","_b","Access","_c","_d","config","name","Primitive","genericType","enumClassReference","itemType","requestType","requestOptionsType","responseType","offsetType","stepType","cursorType","serializer","oneof","Value","value","Collection","keyType","valueType","options","text_exports","namespace","ModelNavigator","is","WithGeneration","generation","__publicField","DynamicLiteralMapper","WithGeneration","context","__publicField","args","Severity","named","assertNever","list","value","fallbackToDefault","v","index","literal","bool","str","set","map","key","as","discriminatedUnion","classReference","discriminatedUnionTypeInstance","unionVariant","baseProperties","innerClassName","singleDiscriminatedUnionType","_a","_b","property","arguments_","instantiation","writer","baseProperty","enum_","wireValue","enumValue","reference","valueName","object_","properties","undiscriminatedUnion","result","typeReference","typeLiteral","e","primitive","num","date","dateTime","uuid","base64","bigInt","DynamicTypeMapper","WithGeneration","context","__publicField","args","named","value","assertNever","typeReference","literal","primitive","FilePropertyMapper","WithGeneration","context","__publicField","body","value","_a","result","record","property","is","assertNever","fileValue","fileValues","bodyPropertyValue","DynamicSnippetsGeneratorContext","_DynamicSnippetsGeneratorContext","AbstractDynamicSnippetsGeneratorContext","ir","config","options","generation","__publicField","Generation","DynamicTypeMapper","DynamicLiteralMapper","FilePropertyMapper","str","name","fernFilepath","suffix","parts","environmentID","environmentName","segment","requests","a","b","typeId","type","idx","request","endpoints","endpoint","EndpointSnippetGenerator","WithGeneration","context","__publicField","endpoint","request","options","snippet","_a","each","is","body","writer","style","Style","assertNever","config","class_","ast_exports","_b","isAsyncEnumerable","invocation","authArgs","Severity","optionArgs","baseUrlArgs","Scope","headerArgs","arg","baseUrl","environment","baseUrlArg","classReference","key","value","upperFirst_default","camelCase_default","auth","values","message","headers","args","header","typeLiteral","pathParameterFields","pathParameters","filePropertyInfo","field","_c","_d","queryParameterFields","queryParameter","headerFields","__spreadProps","__spreadValues","requestBodyFields","parameters","fields","bodyProperties","parameter","str","arguments_","namedParameters","val","DynamicSnippetsGenerator","AbstractDynamicSnippetsGenerator","ir","config","options","DynamicSnippetsGeneratorContext","requests","request","context","EndpointSnippetGenerator"]}
|