@fern-api/generator-migrations 0.0.3 → 0.0.5

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.d.mts CHANGED
@@ -7,317 +7,336 @@ interface AiServicesSchema {
7
7
  model: ModelName;
8
8
  }
9
9
  //#endregion
10
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/ai/types/ModelName.d.ts
11
+ type ModelName = string;
12
+ //#endregion
10
13
  //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/ai/types/ModelProvider.d.ts
11
- /**
12
- * This file was auto-generated by Fern from our API Definition.
13
- */
14
- type ModelProvider = "openai" | "anthropic" | "bedrock";
15
14
  declare const ModelProvider: {
16
15
  readonly Openai: "openai";
17
16
  readonly Anthropic: "anthropic";
18
17
  readonly Bedrock: "bedrock";
19
18
  };
19
+ type ModelProvider = (typeof ModelProvider)[keyof typeof ModelProvider];
20
20
  //#endregion
21
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/ai/types/ModelName.d.ts
22
- /**
23
- * This file was auto-generated by Fern from our API Definition.
24
- */
25
- type ModelName = string;
21
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AnyAuthItem.d.ts
22
+ type AnyAuthItem = string | AuthSchemeReferenceSchema;
26
23
  //#endregion
27
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/GeneratorsConfigurationSchema.d.ts
28
- interface GeneratorsConfigurationSchema {
29
- "auth-schemes"?: Record<string, AuthSchemeDeclarationSchema>;
30
- api?: ApiConfigurationSchema;
31
- whitelabel?: WhitelabelConfigurationSchema;
32
- metadata?: OutputMetadataSchema;
33
- readme?: ReadmeSchema;
34
- "default-group"?: string;
35
- /**
36
- * Aliases that map to multiple groups. When running `fern generate <alias>`,
37
- * all groups in the alias will be run. For example:
38
- * ```yaml
39
- * aliases:
40
- * all: ["php-sdk", "ts-sdk", "go-sdk"]
41
- * ```
42
- * Then `fern generate all` will run all three groups.
43
- */
44
- aliases?: Record<string, string[]>;
45
- groups?: Record<string, GeneratorGroupSchema>;
46
- reviewers?: ReviewersSchema;
47
- ai?: AiServicesSchema;
48
- /**
49
- * If true, automatically release SDKs when changes are detected.
50
- * Can be overridden at the individual generator level.
51
- */
52
- autorelease?: boolean;
53
- /** Deprecated, use the `api` key instead */
54
- openapi?: GeneratorsOpenApiSchema;
55
- /** Deprecated, use the `api` key instead */
56
- "openapi-overrides"?: string;
57
- /** Deprecated, use the `api` key instead */
58
- "spec-origin"?: string;
59
- /** Deprecated, use the `api` key instead */
60
- "async-api"?: string;
61
- /** Deprecated, use the `api` key instead */
62
- "api-settings"?: ApiDefinitionSettingsSchema;
24
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AnyAuthSchemesSchema.d.ts
25
+ interface AnyAuthSchemesSchema extends WithDocsSchema {
26
+ any: AnyAuthItem[];
63
27
  }
64
28
  //#endregion
65
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiConfigurationSchema.d.ts
66
- type ApiConfigurationSchema = ApiConfigurationSchemaInternal | NamespacedApiConfigurationSchema | ApiConfigurationV2Schema;
29
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/ApiAuthSchema.d.ts
30
+ type ApiAuthSchema = string | AuthSchemeReferenceSchema | AnyAuthSchemesSchema | EndpointSecuritySchema;
67
31
  //#endregion
68
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/NamespacedApiConfigurationSchema.d.ts
69
- interface NamespacedApiConfigurationSchema {
70
- namespaces: Record<string, ApiConfigurationSchemaInternal>;
32
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AuthSchemeDeclarationSchema.d.ts
33
+ type AuthSchemeDeclarationSchema = OAuthSchemeSchema | HeaderAuthSchemeSchema | BasicAuthSchemeSchema | BearerAuthSchemeSchema;
34
+ //#endregion
35
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AuthSchemeReferenceSchema.d.ts
36
+ interface AuthSchemeReferenceSchema extends WithDocsSchema {
37
+ scheme: string;
71
38
  }
72
39
  //#endregion
73
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/WhitelabelConfigurationSchema.d.ts
74
- interface WhitelabelConfigurationSchema {
75
- github?: WhitelabelGithubConfigurationSchema;
40
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AuthScope.d.ts
41
+ type AuthScope = string;
42
+ //#endregion
43
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AuthVariable.d.ts
44
+ interface AuthVariable extends WithEnvironmentVariable, WithName {
45
+ /** If true, the auth variable will be omitted from the SDK. */
46
+ omit?: boolean;
76
47
  }
77
48
  //#endregion
78
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/WhitelabelGithubConfigurationSchema.d.ts
79
- /**
80
- * This file was auto-generated by Fern from our API Definition.
81
- */
82
- interface WhitelabelGithubConfigurationSchema {
83
- username: string;
84
- email: string;
85
- token: string;
49
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/BasicAuthSchemeSchema.d.ts
50
+ interface BasicAuthSchemeSchema extends WithDocsSchema {
51
+ scheme: "basic";
52
+ username?: AuthVariable;
53
+ password?: AuthVariable;
86
54
  }
87
55
  //#endregion
88
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OutputMetadataSchema.d.ts
89
- interface OutputMetadataSchema {
90
- description?: string;
91
- authors?: OutputMetadataAuthor[];
56
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/BearerAuthSchemeSchema.d.ts
57
+ type BearerAuthSchemeSchema = TokenBearerAuthSchema | InferredBearerAuthSchema;
58
+ //#endregion
59
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/EndpointSecuritySchema.d.ts
60
+ interface EndpointSecuritySchema extends WithDocsSchema {
61
+ /** Indicates that authentication requirements are defined per-endpoint via the `security` field. */
62
+ "endpoint-security": EndpointSecuritySchemaDetails;
92
63
  }
93
64
  //#endregion
94
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OutputMetadataAuthor.d.ts
65
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/EndpointSecuritySchemaDetails.d.ts
66
+ type EndpointSecuritySchemaDetails = {};
67
+ //#endregion
68
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/HeaderAuthSchemeSchema.d.ts
69
+ interface HeaderAuthSchemeSchema extends WithEnvironmentVariable, WithName, WithDocsSchema {
70
+ header: string;
71
+ /** Defaults to string */
72
+ type?: string;
73
+ prefix?: string;
74
+ }
75
+ //#endregion
76
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/InferredAuthenticatedRequestHeader.d.ts
95
77
  /**
96
- * This file was auto-generated by Fern from our API Definition.
78
+ * A header that will be set on HTTP requests when the inferred auth scheme is applied to an endpoint. These are not headers for the authorization endpoint.
97
79
  */
98
- interface OutputMetadataAuthor {
99
- name: string;
100
- email: string;
80
+ interface InferredAuthenticatedRequestHeader {
81
+ /** The property to retrieve the header value from the get token or refresh endpoint response. */
82
+ "response-property": string;
83
+ /** The header name to put the token in for any authenticated HTTP request. */
84
+ "header-name": string;
85
+ /** Commonly used for setting the `Authorization` scheme, but could be used for other things. */
86
+ "value-prefix"?: string;
101
87
  }
102
88
  //#endregion
103
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ReadmeSchema.d.ts
104
- interface ReadmeSchema {
105
- bannerLink?: string;
106
- introduction?: string;
107
- apiReferenceLink?: string;
108
- apiName?: string;
109
- disabledSections?: string[];
110
- /** If set, use this endpoint's snippet as the default whenever possible */
111
- defaultEndpoint?: ReadmeEndpointSchema;
112
- /** Specifies a list of endpoints associated with the feature */
113
- features?: Record<string, ReadmeEndpointSchema[]>;
114
- /** Supply custom sections as markdown to be included in the readme */
115
- customSections?: ReadmeCustomSectionSchema[];
116
- /** Controls whether usage examples show only required parameters (minimal) or all parameters (comprehensive). Defaults to comprehensive. */
117
- exampleStyle?: ExampleStyle;
89
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/InferredBearerAuthSchema.d.ts
90
+ interface InferredBearerAuthSchema extends WithDocsSchema {
91
+ scheme: "bearer";
92
+ "get-token": InferredGetTokenEndpointSchema;
118
93
  }
119
94
  //#endregion
120
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ExampleStyle.d.ts
121
- /**
122
- * This file was auto-generated by Fern from our API Definition.
123
- */
124
- type ExampleStyle = "minimal" | "comprehensive";
125
- declare const ExampleStyle: {
126
- readonly Minimal: "minimal";
127
- readonly Comprehensive: "comprehensive";
128
- };
95
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/InferredGetTokenEndpointSchema.d.ts
96
+ type InferredGetTokenEndpointSchema = string | InferredGetTokenEndpointSchemaObject;
129
97
  //#endregion
130
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ReadmeCustomSectionSchema.d.ts
131
- interface ReadmeCustomSectionSchema {
132
- title: string;
133
- language: Language;
134
- content: string;
98
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/InferredGetTokenEndpointSchemaObject.d.ts
99
+ interface InferredGetTokenEndpointSchemaObject {
100
+ /** The endpoint to get the access token, such as 'auth.get_token' */
101
+ endpoint: string;
102
+ /** The property name for the expiry time in the response. */
103
+ "expiry-response-property"?: string;
104
+ /** The headers that will be set on HTTP requests when the inferred auth scheme is applied to an endpoint. */
105
+ "authenticated-request-headers"?: InferredAuthenticatedRequestHeader[];
135
106
  }
136
107
  //#endregion
137
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ReadmeEndpointSchema.d.ts
138
- type ReadmeEndpointSchema =
139
- /**
140
- * Endpoint name in 'POST /users' format */
141
- string | ReadmeEndpointObjectSchema;
108
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthAccessTokenRequestPropertiesSchema.d.ts
109
+ interface OAuthAccessTokenRequestPropertiesSchema {
110
+ /** The property name for the client ID. */
111
+ "client-id"?: string;
112
+ /** The property name for the client secret. */
113
+ "client-secret"?: string;
114
+ /** The property name for the scopes. */
115
+ scopes?: string;
116
+ }
142
117
  //#endregion
143
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ReadmeEndpointObjectSchema.d.ts
144
- /**
145
- * This file was auto-generated by Fern from our API Definition.
146
- */
147
- interface ReadmeEndpointObjectSchema {
148
- method: string;
149
- path: string;
150
- stream?: boolean;
118
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthAccessTokenResponsePropertiesSchema.d.ts
119
+ interface OAuthAccessTokenResponsePropertiesSchema {
120
+ /** The property name for the access token. */
121
+ "access-token"?: string;
122
+ /** The property name for the expires in property. */
123
+ "expires-in"?: string;
124
+ /** The property name for the refresh token */
125
+ "refresh-token"?: string;
151
126
  }
152
127
  //#endregion
153
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/GeneratorsOpenApiSchema.d.ts
154
- type GeneratorsOpenApiSchema = GeneratorsOpenApiObjectSchema | string;
128
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthGetTokenEndpointSchema.d.ts
129
+ interface OAuthGetTokenEndpointSchema {
130
+ /** The endpoint to get the access token, such as 'auth.get_token */
131
+ endpoint: string;
132
+ "request-properties"?: OAuthAccessTokenRequestPropertiesSchema;
133
+ "response-properties"?: OAuthAccessTokenResponsePropertiesSchema;
134
+ }
155
135
  //#endregion
156
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/GeneratorsOpenApiObjectSchema.d.ts
157
- interface GeneratorsOpenApiObjectSchema {
158
- path: string;
159
- origin?: string;
160
- overrides?: string;
161
- "disable-examples"?: boolean;
162
- settings: OpenApiSettingsSchema;
136
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthRefreshTokenEndpointSchema.d.ts
137
+ interface OAuthRefreshTokenEndpointSchema {
138
+ /** The endpoint to refresh the access token, such as 'auth.refresh_token */
139
+ endpoint: string;
140
+ "request-properties"?: OAuthRefreshTokenRequestPropertiesSchema;
141
+ "response-properties"?: OAuthRefreshTokenResponsePropertiesSchema;
163
142
  }
164
143
  //#endregion
165
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionPathSchema.d.ts
166
- /**
167
- * This file was auto-generated by Fern from our API Definition.
168
- */
169
- /**
170
- * Path to the OpenAPI, AsyncAPI or Fern Definition
171
- */
172
- type ApiDefinitionPathSchema = string;
144
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthRefreshTokenRequestPropertiesSchema.d.ts
145
+ interface OAuthRefreshTokenRequestPropertiesSchema {
146
+ /** The property name for the refresh token. */
147
+ "refresh-token": string;
148
+ }
173
149
  //#endregion
174
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionSettingsSchema.d.ts
175
- /**
176
- * Deprecated, use the `api.specs` key instead
177
- */
178
- interface ApiDefinitionSettingsSchema {
179
- /**
180
- * Whether to use the titles of the schemas within an OpenAPI definition as the names of the types within Fern. Defaults to false.
181
- * Deprecated, use the `api.specs.[].settings.title-as-schema-name` key instead.
182
- */
183
- "use-title"?: boolean;
184
- /**
185
- * What version of union generation to use, this will grow over time. Defaults to v0.
186
- * Deprecated, use the `api.specs.[].settings.prefer-undiscriminated-unions-with-literals` key instead.
187
- */
188
- unions?: UnionSettingsSchema;
189
- /** What version of message naming to use for AsyncAPI messages, this will grow over time. Defaults to v1. */
190
- "message-naming"?: MessageNamingSettingsSchema;
191
- /** Preserves nullable schemas in API definition settings. Defaults to true, where nullable schemas are treated as optional. */
192
- "respect-nullable-schemas"?: boolean;
193
- /** Whether to only include schemas referenced by endpoints in the generated SDK (i.e. a form of tree-shaking). Defaults to false. */
194
- "only-include-referenced-schemas"?: boolean;
195
- /** Whether to include path parameters within the generated in-lined request. Defaults to true. */
196
- "inline-path-parameters"?: boolean;
197
- /** Whether to use idiomatic request names for endpoints (e.g. ListUsersRequest instead of UsersListRequest). Defaults to true. */
198
- "idiomatic-request-names"?: boolean;
199
- /**
200
- * If true, the converter will wrap references to nullable schemas in optional.
201
- * If false, the converter will wrap references to nullable schemas in nullable.
202
- * Defaults to true.
203
- */
204
- "wrap-references-to-nullable-in-optional"?: boolean;
205
- /**
206
- * If true, the converter will coerce nullable schemas to optional.
207
- * If false, the converter will keep nullable schemas as nullable.
208
- * Defaults to true.
209
- */
210
- "coerce-optional-schemas-to-nullable"?: boolean;
211
- /**
212
- * If true, group servers by host into unified environments regardless of protocol.
213
- * This allows APIs with multiple protocols (REST, WebSocket, etc.) to share environment configuration.
214
- * When enabled, environment URL IDs are generated with collision resolution:
215
- * - Use server name alone if no collision
216
- * - Add path segment if collision (e.g., "prod: https://api.com/foo" -> "foo")
217
- * - Add protocol if still collision (e.g., "prod: wss://api.com/foo" -> "foo_wss", only for non-HTTPS protocols)
218
- */
219
- "group-environments-by-host"?: boolean;
220
- /**
221
- * If `always`, remove discriminant properties from schemas when generating types, unless the schema is also used outside of a discriminated union.
222
- * If `never`, keep discriminant properties in schemas when generating types.
223
- * Defaults to `always`.
224
- */
225
- "remove-discriminants-from-schemas"?: RemoveDiscriminantsFromSchemas;
226
- /**
227
- * Controls the order of path parameters in generated method signatures.
228
- * - `url-order`: Use the order path parameters appear in the URL path (e.g., /users/{userId}/posts/{postId})
229
- * - `spec-order`: Use the order path parameters are defined in the spec
230
- * Defaults to `url-order`.
231
- */
232
- "path-parameter-order"?: PathParameterOrder;
150
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthRefreshTokenResponsePropertiesSchema.d.ts
151
+ interface OAuthRefreshTokenResponsePropertiesSchema {
152
+ /** The property name for the access token. */
153
+ "access-token"?: string;
154
+ /** The property name for the expires in property. */
155
+ "expires-in"?: string;
156
+ /** The property name for the refresh token. */
157
+ "refresh-token"?: string;
233
158
  }
234
159
  //#endregion
235
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/RemoveDiscriminantsFromSchemas.d.ts
236
- /**
237
- * This file was auto-generated by Fern from our API Definition.
238
- */
239
- /**
240
- * Whether to remove discriminant properties from schemas when generating types, unless the schema is also used outside of a discriminated union.
241
- */
242
- type RemoveDiscriminantsFromSchemas = "always" | "never";
243
- declare const RemoveDiscriminantsFromSchemas: {
244
- readonly Always: "always";
245
- readonly Never: "never";
246
- };
160
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthSchemeSchema.d.ts
161
+ interface OAuthSchemeSchema extends WithDocsSchema {
162
+ scheme: "oauth";
163
+ type: "client-credentials";
164
+ scopes?: AuthScope[];
165
+ "client-id-env"?: string;
166
+ "client-secret-env"?: string;
167
+ /** Sets the token header value prefix. Defaults to 'Bearer' */
168
+ "token-prefix"?: string;
169
+ /** Sets the token header key name. Defaults to 'Authorization' */
170
+ "token-header"?: string;
171
+ "get-token": OAuthGetTokenEndpointSchema;
172
+ "refresh-token"?: OAuthRefreshTokenEndpointSchema;
173
+ }
247
174
  //#endregion
248
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/PathParameterOrder.d.ts
249
- /**
250
- * This file was auto-generated by Fern from our API Definition.
251
- */
252
- /**
253
- * Controls the order of path parameters in generated method signatures.
254
- */
255
- type PathParameterOrder = "url-order" | "spec-order";
256
- declare const PathParameterOrder: {
257
- readonly UrlOrder: "url-order";
258
- readonly SpecOrder: "spec-order";
259
- };
175
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/TokenBearerAuthSchema.d.ts
176
+ interface TokenBearerAuthSchema extends WithDocsSchema {
177
+ scheme: "bearer";
178
+ token?: AuthVariable;
179
+ }
260
180
  //#endregion
261
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/UnionSettingsSchema.d.ts
262
- /**
263
- * This file was auto-generated by Fern from our API Definition.
264
- */
265
- type UnionSettingsSchema = "v1";
266
- declare const UnionSettingsSchema: {
267
- readonly V1: "v1";
268
- };
181
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/WithEnvironmentVariable.d.ts
182
+ interface WithEnvironmentVariable {
183
+ env?: string;
184
+ }
269
185
  //#endregion
270
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/MessageNamingSettingsSchema.d.ts
271
- /**
272
- * This file was auto-generated by Fern from our API Definition.
273
- */
274
- type MessageNamingSettingsSchema = "v1" | "v2";
275
- declare const MessageNamingSettingsSchema: {
276
- readonly V1: "v1";
277
- readonly V2: "v2";
186
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/availability/types/AvailabilitySchema.d.ts
187
+ interface AvailabilitySchema {
188
+ status: AvailabilityStatusSchema;
189
+ message?: string;
190
+ }
191
+ //#endregion
192
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/availability/types/AvailabilityStatusSchema.d.ts
193
+ declare const AvailabilityStatusSchema: {
194
+ readonly InDevelopment: "in-development";
195
+ readonly PreRelease: "pre-release";
196
+ readonly Deprecated: "deprecated";
197
+ readonly GenerallyAvailable: "generally-available";
278
198
  };
199
+ type AvailabilityStatusSchema = (typeof AvailabilityStatusSchema)[keyof typeof AvailabilityStatusSchema];
279
200
  //#endregion
280
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionWithOverridesSchema.d.ts
281
- interface ApiDefinitionWithOverridesSchema {
282
- path: ApiDefinitionPathSchema;
283
- /** The URL of the API definition origin, from which the file should be polled. */
284
- origin?: string;
285
- /** Path to the OpenAPI or AsyncAPI overrides */
286
- overrides?: string;
287
- /** Audiences that you would like to filter to */
201
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/availability/types/AvailabilityUnionSchema.d.ts
202
+ type AvailabilityUnionSchema = AvailabilityStatusSchema | AvailabilitySchema;
203
+ //#endregion
204
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/commons/types/WithAudiences.d.ts
205
+ interface WithAudiences {
288
206
  audiences?: string[];
289
- settings?: ApiDefinitionSettingsSchema;
290
207
  }
291
208
  //#endregion
292
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ProtobufDefinitionSchema.d.ts
293
- /**
294
- * This file was auto-generated by Fern from our API Definition.
295
- */
296
- interface ProtobufDefinitionSchema {
297
- /** The path to the target `.proto` file that defines the API (e.g. `proto/user/v1/user.proto`). */
298
- target?: string;
299
- /** The path to the `.proto` directory root (e.g. `proto`). */
300
- root: string;
301
- /** Path to the overrides configuration */
302
- overrides?: string;
303
- /** Whether to compile the `.proto` files locally. By default, we generate remotely. */
304
- "local-generation"?: boolean;
305
- /** Whether to convert to OpenAPI before generating */
306
- "from-openapi"?: boolean;
307
- /** Dependencies to use for generation. */
308
- dependencies?: string[];
209
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/commons/types/WithAvailability.d.ts
210
+ interface WithAvailability {
211
+ availability?: AvailabilityUnionSchema;
309
212
  }
310
213
  //#endregion
311
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ProtobufApiDefinitionSchema.d.ts
312
- interface ProtobufApiDefinitionSchema {
313
- proto: ProtobufDefinitionSchema;
214
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/commons/types/WithDocsSchema.d.ts
215
+ interface WithDocsSchema {
216
+ docs?: string;
314
217
  }
315
218
  //#endregion
316
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionList.d.ts
317
- type ApiDefinitionList = ApiDefinitionSchema[];
219
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/commons/types/WithName.d.ts
220
+ interface WithName {
221
+ name?: string;
222
+ }
318
223
  //#endregion
319
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionSchema.d.ts
320
- type ApiDefinitionSchema = ApiDefinitionPathSchema | ApiDefinitionWithOverridesSchema | ProtobufApiDefinitionSchema;
224
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/encoding/types/EncodingSchema.d.ts
225
+ interface EncodingSchema {
226
+ proto?: ProtobufTypeSchema;
227
+ }
228
+ //#endregion
229
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/encoding/types/ProtobufTypeSchema.d.ts
230
+ interface ProtobufTypeSchema {
231
+ /** The name of the Protobuf type (e.g. google.protobuf.Struct). */
232
+ type: string;
233
+ }
234
+ //#endregion
235
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/EnvironmentSchema.d.ts
236
+ type EnvironmentSchema = string | SingleBaseUrlEnvironmentSchema | MultipleBaseUrlsEnvironmentSchema;
237
+ //#endregion
238
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/MultipleBaseUrlsEnvironmentSchema.d.ts
239
+ interface MultipleBaseUrlsEnvironmentSchema extends WithAudiences, WithDocsSchema {
240
+ urls: Record<string, string>;
241
+ /** URL templates with variable placeholders for each base URL (e.g., "https://api.{region}.example.com") */
242
+ "url-templates"?: Record<string, string>;
243
+ /** Default URLs to use when no variables are provided (from x-fern-default-url extension) */
244
+ "default-urls"?: Record<string, string>;
245
+ /** Server variables for URL templating, keyed by base URL ID */
246
+ variables?: Record<string, ServerVariableSchema[]>;
247
+ }
248
+ //#endregion
249
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/ServerVariableSchema.d.ts
250
+ interface ServerVariableSchema {
251
+ /** The variable name as it appears in the URL template */
252
+ id: string;
253
+ /** The default value for this variable */
254
+ default?: string;
255
+ /** Allowed values for this variable (from enum) */
256
+ values?: string[];
257
+ }
258
+ //#endregion
259
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/SingleBaseUrlEnvironmentSchema.d.ts
260
+ interface SingleBaseUrlEnvironmentSchema extends WithAudiences, WithDocsSchema {
261
+ url: string;
262
+ /** A separate default URL to use when no variables are provided (from x-fern-default-url extension) */
263
+ "default-url"?: string;
264
+ /** The original URL template with variable placeholders (e.g., "https://api.{region}.example.com") */
265
+ "url-template"?: string;
266
+ /** Server variables for URL templating */
267
+ variables?: ServerVariableSchema[];
268
+ }
269
+ //#endregion
270
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/WithEnvironmentsSchema.d.ts
271
+ interface WithEnvironmentsSchema {
272
+ "default-url"?: string;
273
+ "default-environment"?: string;
274
+ environments?: Record<string, EnvironmentSchema>;
275
+ }
276
+ //#endregion
277
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/file/types/WithHeadersSchema.d.ts
278
+ interface WithHeadersSchema {
279
+ /** Global Headers for the entire API */
280
+ headers?: Record<string, HttpHeaderSchema>;
281
+ }
282
+ //#endregion
283
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/service/types/HttpHeaderSchema.d.ts
284
+ type HttpHeaderSchema = TypeReferenceDeclarationWithEnvOverride;
285
+ //#endregion
286
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/service/types/TypeReferenceDeclarationWithEnvOverride.d.ts
287
+ type TypeReferenceDeclarationWithEnvOverride = string | TypeReferenceDeclarationWithEnvOverrideSchema;
288
+ //#endregion
289
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/service/types/TypeReferenceDeclarationWithEnvOverrideSchema.d.ts
290
+ interface TypeReferenceDeclarationWithEnvOverrideSchema extends TypeReferenceDeclarationWithName {
291
+ env?: string;
292
+ }
293
+ //#endregion
294
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/types/types/BaseTypeReferenceSchema.d.ts
295
+ interface BaseTypeReferenceSchema extends WithDocsSchema, WithAvailability {
296
+ default?: unknown;
297
+ encoding?: EncodingSchema;
298
+ validation?: ValidationSchema;
299
+ }
300
+ //#endregion
301
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/types/types/TypeReferenceDeclarationWithName.d.ts
302
+ interface TypeReferenceDeclarationWithName extends BaseTypeReferenceSchema, WithName, WithAudiences {
303
+ type: string;
304
+ }
305
+ //#endregion
306
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/validation/types/ListValidationSchema.d.ts
307
+ interface ListValidationSchema {
308
+ minItems?: number;
309
+ maxItems?: number;
310
+ }
311
+ //#endregion
312
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/validation/types/MapValidationSchema.d.ts
313
+ interface MapValidationSchema {
314
+ minProperties?: number;
315
+ maxProperties?: number;
316
+ }
317
+ //#endregion
318
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/validation/types/NumberValidationSchema.d.ts
319
+ interface NumberValidationSchema {
320
+ min?: number;
321
+ max?: number;
322
+ exclusiveMin?: boolean;
323
+ exclusiveMax?: boolean;
324
+ multipleOf?: number;
325
+ }
326
+ //#endregion
327
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/validation/types/StringValidationSchema.d.ts
328
+ interface StringValidationSchema {
329
+ minLength?: number;
330
+ maxLength?: number;
331
+ pattern?: string;
332
+ format?: string;
333
+ }
334
+ //#endregion
335
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/validation/types/ValidationSchema.d.ts
336
+ type ValidationSchema = StringValidationSchema | NumberValidationSchema | ListValidationSchema | MapValidationSchema;
337
+ //#endregion
338
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiConfigurationSchema.d.ts
339
+ type ApiConfigurationSchema = ApiConfigurationSchemaInternal | NamespacedApiConfigurationSchema | ApiConfigurationV2Schema;
321
340
  //#endregion
322
341
  //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiConfigurationSchemaInternal.d.ts
323
342
  type ApiConfigurationSchemaInternal = ApiDefinitionPathSchema | ApiDefinitionWithOverridesSchema | ApiDefinitionList | ProtobufApiDefinitionSchema;
@@ -342,31 +361,131 @@ interface ApiConfigurationV2SettingsSchema extends OpenApiSettingsSchema, AsyncA
342
361
  //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiConfigurationV2SpecsSchema.d.ts
343
362
  type ApiConfigurationV2SpecsSchema = SpecSchema[] | ConjureSchema;
344
363
  //#endregion
345
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/BaseApiSettingsSchema.d.ts
346
- interface BaseApiSettingsSchema {
347
- /** Preserves nullable schemas in API definition settings. Defaults to true, where nullable schemas are treated as optional. */
348
- "respect-nullable-schemas"?: boolean;
349
- /** Whether to use the titles of the schemas within an OpenAPI definition as the names of the types within Fern. Defaults to false. */
350
- "title-as-schema-name"?: boolean;
351
- "optional-additional-properties"?: boolean;
352
- /** Whether to coerce single value enums to literals. Defaults to true. */
353
- "coerce-enums-to-literals"?: boolean;
354
- "idiomatic-request-names"?: boolean;
355
- /**
356
- * If true, the converter will convert nullable schemas to optional nullable.
357
- * If false, the converter will convert nullable schemas to required nullable.
358
- * Defaults to true.
359
- */
360
- "wrap-references-to-nullable-in-optional"?: boolean;
361
- /**
362
- * If true, the converter will coerce nullable schemas to optional.
363
- * If false, the converter will keep nullable schemas as nullable.
364
- * Defaults to true.
365
- */
366
- "coerce-optional-schemas-to-nullable"?: boolean;
367
- /**
368
- * If true, group servers by host into unified environments regardless of protocol.
369
- * This allows APIs with multiple protocols (REST, WebSocket, etc.) to share environment configuration.
364
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionList.d.ts
365
+ type ApiDefinitionList = ApiDefinitionSchema[];
366
+ //#endregion
367
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionPathSchema.d.ts
368
+ /**
369
+ * Path to the OpenAPI, AsyncAPI or Fern Definition
370
+ */
371
+ type ApiDefinitionPathSchema = string;
372
+ //#endregion
373
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionSchema.d.ts
374
+ type ApiDefinitionSchema = ApiDefinitionPathSchema | ApiDefinitionWithOverridesSchema | ProtobufApiDefinitionSchema;
375
+ //#endregion
376
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionSettingsSchema.d.ts
377
+ /**
378
+ * Deprecated, use the `api.specs` key instead
379
+ */
380
+ interface ApiDefinitionSettingsSchema {
381
+ /**
382
+ * Whether to use the titles of the schemas within an OpenAPI definition as the names of the types within Fern. Defaults to false.
383
+ * Deprecated, use the `api.specs.[].settings.title-as-schema-name` key instead.
384
+ */
385
+ "use-title"?: boolean;
386
+ /**
387
+ * What version of union generation to use, this will grow over time. Defaults to v0.
388
+ * Deprecated, use the `api.specs.[].settings.prefer-undiscriminated-unions-with-literals` key instead.
389
+ */
390
+ unions?: UnionSettingsSchema;
391
+ /** What version of message naming to use for AsyncAPI messages, this will grow over time. Defaults to v1. */
392
+ "message-naming"?: MessageNamingSettingsSchema;
393
+ /** Preserves nullable schemas in API definition settings. Defaults to true, where nullable schemas are treated as optional. */
394
+ "respect-nullable-schemas"?: boolean;
395
+ /** Whether to only include schemas referenced by endpoints in the generated SDK (i.e. a form of tree-shaking). Defaults to false. */
396
+ "only-include-referenced-schemas"?: boolean;
397
+ /** Whether to include path parameters within the generated in-lined request. Defaults to true. */
398
+ "inline-path-parameters"?: boolean;
399
+ /** Whether to use idiomatic request names for endpoints (e.g. ListUsersRequest instead of UsersListRequest). Defaults to true. */
400
+ "idiomatic-request-names"?: boolean;
401
+ /**
402
+ * If true, the converter will wrap references to nullable schemas in optional.
403
+ * If false, the converter will wrap references to nullable schemas in nullable.
404
+ * Defaults to true.
405
+ */
406
+ "wrap-references-to-nullable-in-optional"?: boolean;
407
+ /**
408
+ * If true, the converter will coerce nullable schemas to optional.
409
+ * If false, the converter will keep nullable schemas as nullable.
410
+ * Defaults to true.
411
+ */
412
+ "coerce-optional-schemas-to-nullable"?: boolean;
413
+ /**
414
+ * If true, group servers by host into unified environments regardless of protocol.
415
+ * This allows APIs with multiple protocols (REST, WebSocket, etc.) to share environment configuration.
416
+ * When enabled, environment URL IDs are generated with collision resolution:
417
+ * - Use server name alone if no collision
418
+ * - Add path segment if collision (e.g., "prod: https://api.com/foo" -> "foo")
419
+ * - Add protocol if still collision (e.g., "prod: wss://api.com/foo" -> "foo_wss", only for non-HTTPS protocols)
420
+ */
421
+ "group-environments-by-host"?: boolean;
422
+ /**
423
+ * If `always`, remove discriminant properties from schemas when generating types, unless the schema is also used outside of a discriminated union.
424
+ * If `never`, keep discriminant properties in schemas when generating types.
425
+ * Defaults to `always`.
426
+ */
427
+ "remove-discriminants-from-schemas"?: RemoveDiscriminantsFromSchemas;
428
+ /**
429
+ * Controls the order of path parameters in generated method signatures.
430
+ * - `url-order`: Use the order path parameters appear in the URL path (e.g., /users/{userId}/posts/{postId})
431
+ * - `spec-order`: Use the order path parameters are defined in the spec
432
+ * Defaults to `url-order`.
433
+ */
434
+ "path-parameter-order"?: PathParameterOrder;
435
+ }
436
+ //#endregion
437
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ApiDefinitionWithOverridesSchema.d.ts
438
+ interface ApiDefinitionWithOverridesSchema {
439
+ path: ApiDefinitionPathSchema;
440
+ /** The URL of the API definition origin, from which the file should be polled. */
441
+ origin?: string;
442
+ /** Path to the OpenAPI or AsyncAPI overrides */
443
+ overrides?: string;
444
+ /** Audiences that you would like to filter to */
445
+ audiences?: string[];
446
+ settings?: ApiDefinitionSettingsSchema;
447
+ }
448
+ //#endregion
449
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/AsyncApiSettingsSchema.d.ts
450
+ interface AsyncApiSettingsSchema extends BaseApiSettingsSchema {
451
+ /** What version of message naming to use for AsyncAPI messages, this will grow over time. Defaults to v1. */
452
+ "message-naming"?: MessageNamingSettingsSchema;
453
+ }
454
+ //#endregion
455
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/AsyncApiSpecSchema.d.ts
456
+ interface AsyncApiSpecSchema {
457
+ asyncapi: string;
458
+ origin?: string;
459
+ overrides?: string;
460
+ namespace?: string;
461
+ settings?: AsyncApiSettingsSchema;
462
+ }
463
+ //#endregion
464
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/BaseApiSettingsSchema.d.ts
465
+ interface BaseApiSettingsSchema {
466
+ /** Preserves nullable schemas in API definition settings. Defaults to true, where nullable schemas are treated as optional. */
467
+ "respect-nullable-schemas"?: boolean;
468
+ /** Whether to use the titles of the schemas within an OpenAPI definition as the names of the types within Fern. Defaults to false. */
469
+ "title-as-schema-name"?: boolean;
470
+ "optional-additional-properties"?: boolean;
471
+ /** Whether to coerce single value enums to literals. Defaults to true. */
472
+ "coerce-enums-to-literals"?: boolean;
473
+ "idiomatic-request-names"?: boolean;
474
+ /**
475
+ * If true, the converter will convert nullable schemas to optional nullable.
476
+ * If false, the converter will convert nullable schemas to required nullable.
477
+ * Defaults to true.
478
+ */
479
+ "wrap-references-to-nullable-in-optional"?: boolean;
480
+ /**
481
+ * If true, the converter will coerce nullable schemas to optional.
482
+ * If false, the converter will keep nullable schemas as nullable.
483
+ * Defaults to true.
484
+ */
485
+ "coerce-optional-schemas-to-nullable"?: boolean;
486
+ /**
487
+ * If true, group servers by host into unified environments regardless of protocol.
488
+ * This allows APIs with multiple protocols (REST, WebSocket, etc.) to share environment configuration.
370
489
  * When enabled, environment URL IDs are generated with collision resolution:
371
490
  * - Use server name alone if no collision
372
491
  * - Add path segment if collision (e.g., "prod: https://api.com/foo" -> "foo")
@@ -386,6 +505,141 @@ interface BaseApiSettingsSchema {
386
505
  * Defaults to `url-order`.
387
506
  */
388
507
  "path-parameter-order"?: PathParameterOrder;
508
+ /**
509
+ * If true, resolve schema name collisions by appending numbers (e.g., Schema2, Schema3) and emit warnings.
510
+ * If false, throw hard errors when schema collisions are detected.
511
+ * Defaults to false.
512
+ */
513
+ "resolve-schema-collisions"?: boolean;
514
+ }
515
+ //#endregion
516
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ConjureSchema.d.ts
517
+ interface ConjureSchema {
518
+ conjure: string;
519
+ }
520
+ //#endregion
521
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/DefaultIntegerFormat.d.ts
522
+ declare const DefaultIntegerFormat: {
523
+ readonly Int32: "int32";
524
+ readonly Int64: "int64";
525
+ readonly Uint32: "uint32";
526
+ readonly Uint64: "uint64";
527
+ };
528
+ type DefaultIntegerFormat = (typeof DefaultIntegerFormat)[keyof typeof DefaultIntegerFormat];
529
+ //#endregion
530
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ExampleStyle.d.ts
531
+ declare const ExampleStyle: {
532
+ readonly Minimal: "minimal";
533
+ readonly Comprehensive: "comprehensive";
534
+ };
535
+ type ExampleStyle = (typeof ExampleStyle)[keyof typeof ExampleStyle];
536
+ //#endregion
537
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/FormParameterEncoding.d.ts
538
+ declare const FormParameterEncoding: {
539
+ readonly Form: "form";
540
+ readonly Json: "json";
541
+ };
542
+ type FormParameterEncoding = (typeof FormParameterEncoding)[keyof typeof FormParameterEncoding];
543
+ //#endregion
544
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/GeneratorsConfigurationSchema.d.ts
545
+ interface GeneratorsConfigurationSchema {
546
+ "auth-schemes"?: Record<string, AuthSchemeDeclarationSchema>;
547
+ api?: ApiConfigurationSchema;
548
+ whitelabel?: WhitelabelConfigurationSchema;
549
+ metadata?: OutputMetadataSchema;
550
+ readme?: ReadmeSchema;
551
+ "default-group"?: string;
552
+ /**
553
+ * Aliases that map to multiple groups. When running `fern generate <alias>`,
554
+ * all groups in the alias will be run. For example:
555
+ * ```yaml
556
+ * aliases:
557
+ * all: ["php-sdk", "ts-sdk", "go-sdk"]
558
+ * ```
559
+ * Then `fern generate all` will run all three groups.
560
+ */
561
+ aliases?: Record<string, string[]>;
562
+ groups?: Record<string, GeneratorGroupSchema>;
563
+ reviewers?: ReviewersSchema;
564
+ /**
565
+ * Configuration for SDK customization replay.
566
+ * Automatically preserves user customizations across SDK regenerations.
567
+ */
568
+ replay?: ReplayConfigSchema;
569
+ ai?: AiServicesSchema;
570
+ /**
571
+ * If true, automatically release SDKs when changes are detected.
572
+ * Can be overridden at the individual generator level.
573
+ */
574
+ autorelease?: boolean;
575
+ /** Deprecated, use the `api` key instead */
576
+ openapi?: GeneratorsOpenApiSchema;
577
+ /** Deprecated, use the `api` key instead */
578
+ "openapi-overrides"?: string;
579
+ /** Deprecated, use the `api` key instead */
580
+ "spec-origin"?: string;
581
+ /** Deprecated, use the `api` key instead */
582
+ "async-api"?: string;
583
+ /** Deprecated, use the `api` key instead */
584
+ "api-settings"?: ApiDefinitionSettingsSchema;
585
+ }
586
+ //#endregion
587
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/GeneratorsOpenApiObjectSchema.d.ts
588
+ interface GeneratorsOpenApiObjectSchema {
589
+ path: string;
590
+ origin?: string;
591
+ overrides?: string;
592
+ "disable-examples"?: boolean;
593
+ settings: OpenApiSettingsSchema;
594
+ }
595
+ //#endregion
596
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/GeneratorsOpenApiSchema.d.ts
597
+ type GeneratorsOpenApiSchema = GeneratorsOpenApiObjectSchema | string;
598
+ //#endregion
599
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/GraphQlSpecSchema.d.ts
600
+ interface GraphQlSpecSchema {
601
+ graphql: string;
602
+ origin?: string;
603
+ overrides?: string;
604
+ name?: string;
605
+ }
606
+ //#endregion
607
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/Language.d.ts
608
+ declare const Language: {
609
+ readonly Java: "java";
610
+ readonly Python: "python";
611
+ readonly Go: "go";
612
+ readonly Ruby: "ruby";
613
+ readonly Csharp: "csharp";
614
+ readonly Typescript: "typescript";
615
+ readonly Php: "php";
616
+ readonly Rust: "rust";
617
+ readonly Swift: "swift";
618
+ };
619
+ type Language = (typeof Language)[keyof typeof Language];
620
+ //#endregion
621
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/MessageNamingSettingsSchema.d.ts
622
+ declare const MessageNamingSettingsSchema: {
623
+ readonly V1: "v1";
624
+ readonly V2: "v2";
625
+ };
626
+ type MessageNamingSettingsSchema = (typeof MessageNamingSettingsSchema)[keyof typeof MessageNamingSettingsSchema];
627
+ //#endregion
628
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/NamespacedApiConfigurationSchema.d.ts
629
+ interface NamespacedApiConfigurationSchema {
630
+ namespaces: Record<string, ApiConfigurationSchemaInternal>;
631
+ }
632
+ //#endregion
633
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OpenApiExampleGenerationSchema.d.ts
634
+ interface OpenApiExampleGenerationSchema {
635
+ request?: RequestOrResponseExampleGenerationSchema;
636
+ response?: RequestOrResponseExampleGenerationSchema;
637
+ }
638
+ //#endregion
639
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OpenApiFilterSchema.d.ts
640
+ interface OpenApiFilterSchema {
641
+ /** Endpoints to include in the generated SDK (e.g. "POST /users"). */
642
+ endpoints?: string[];
389
643
  }
390
644
  //#endregion
391
645
  //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OpenApiSettingsSchema.d.ts
@@ -447,749 +701,410 @@ interface OpenApiSettingsSchema extends BaseApiSettingsSchema {
447
701
  "default-integer-format"?: DefaultIntegerFormat;
448
702
  }
449
703
  //#endregion
450
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ResolveAliases.d.ts
451
- type ResolveAliases = boolean | ResolveAliasesSchema;
452
- //#endregion
453
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ResolveAliasesSchema.d.ts
454
- /**
455
- * This file was auto-generated by Fern from our API Definition.
456
- */
457
- interface ResolveAliasesSchema {
458
- /** Names of alias types to exclude from resolving. */
459
- except?: string[];
460
- }
461
- //#endregion
462
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/FormParameterEncoding.d.ts
463
- /**
464
- * This file was auto-generated by Fern from our API Definition.
465
- */
466
- type FormParameterEncoding = "form" | "json";
467
- declare const FormParameterEncoding: {
468
- readonly Form: "form";
469
- readonly Json: "json";
470
- };
471
- //#endregion
472
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/DefaultIntegerFormat.d.ts
473
- /**
474
- * This file was auto-generated by Fern from our API Definition.
475
- */
476
- type DefaultIntegerFormat = "int32" | "int64" | "uint32" | "uint64";
477
- declare const DefaultIntegerFormat: {
478
- readonly Int32: "int32";
479
- readonly Int64: "int64";
480
- readonly Uint32: "uint32";
481
- readonly Uint64: "uint64";
482
- };
483
- //#endregion
484
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OpenApiExampleGenerationSchema.d.ts
485
- interface OpenApiExampleGenerationSchema {
486
- request?: RequestOrResponseExampleGenerationSchema;
487
- response?: RequestOrResponseExampleGenerationSchema;
488
- }
489
- //#endregion
490
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/RequestOrResponseExampleGenerationSchema.d.ts
491
- /**
492
- * This file was auto-generated by Fern from our API Definition.
493
- */
494
- interface RequestOrResponseExampleGenerationSchema {
495
- /** Controls the maximum depth for which optional properties will have examples generated. A depth of 0 means no optional properties will have examples. */
496
- "max-depth"?: number;
497
- }
498
- //#endregion
499
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OpenApiFilterSchema.d.ts
500
- /**
501
- * This file was auto-generated by Fern from our API Definition.
502
- */
503
- interface OpenApiFilterSchema {
504
- /** Endpoints to include in the generated SDK (e.g. "POST /users"). */
505
- endpoints?: string[];
506
- }
507
- //#endregion
508
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OpenApiSpecSchema.d.ts
509
- interface OpenApiSpecSchema {
510
- openapi: string;
511
- origin?: string;
512
- overrides?: string;
513
- namespace?: string;
514
- settings?: OpenApiSettingsSchema;
515
- }
704
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OpenApiSpecSchema.d.ts
705
+ interface OpenApiSpecSchema {
706
+ openapi: string;
707
+ origin?: string;
708
+ overrides?: string;
709
+ overlays?: string;
710
+ namespace?: string;
711
+ settings?: OpenApiSettingsSchema;
712
+ }
516
713
  //#endregion
517
714
  //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OpenRpcSpecSchema.d.ts
518
- /**
519
- * This file was auto-generated by Fern from our API Definition.
520
- */
521
715
  interface OpenRpcSpecSchema {
522
716
  openrpc: string;
523
717
  overrides?: string;
524
718
  namespace?: string;
525
719
  }
526
720
  //#endregion
527
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/AsyncApiSettingsSchema.d.ts
528
- interface AsyncApiSettingsSchema extends BaseApiSettingsSchema {
529
- /** What version of message naming to use for AsyncAPI messages, this will grow over time. Defaults to v1. */
530
- "message-naming"?: MessageNamingSettingsSchema;
531
- }
532
- //#endregion
533
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/AsyncApiSpecSchema.d.ts
534
- interface AsyncApiSpecSchema {
535
- asyncapi: string;
536
- origin?: string;
537
- overrides?: string;
538
- namespace?: string;
539
- settings?: AsyncApiSettingsSchema;
540
- }
541
- //#endregion
542
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ConjureSchema.d.ts
543
- /**
544
- * This file was auto-generated by Fern from our API Definition.
545
- */
546
- interface ConjureSchema {
547
- conjure: string;
548
- }
549
- //#endregion
550
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/SpecSchema.d.ts
551
- type SpecSchema = OpenApiSpecSchema | AsyncApiSpecSchema | ProtobufSpecSchema | OpenRpcSpecSchema;
552
- //#endregion
553
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ProtobufSpecSchema.d.ts
554
- interface ProtobufSpecSchema {
555
- proto: ProtobufDefinitionSchema;
556
- }
557
- //#endregion
558
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/Language.d.ts
559
- /**
560
- * This file was auto-generated by Fern from our API Definition.
561
- */
562
- type Language = "java" | "python" | "go" | "ruby" | "csharp" | "typescript" | "php" | "rust" | "swift";
563
- declare const Language: {
564
- readonly Java: "java";
565
- readonly Python: "python";
566
- readonly Go: "go";
567
- readonly Ruby: "ruby";
568
- readonly Csharp: "csharp";
569
- readonly Typescript: "typescript";
570
- readonly Php: "php";
571
- readonly Rust: "rust";
572
- readonly Swift: "swift";
573
- };
574
- //#endregion
575
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorGroupSchema.d.ts
576
- interface GeneratorGroupSchema {
577
- audiences?: string[];
578
- generators: GeneratorInvocationSchema[];
579
- metadata?: OutputMetadataSchema;
580
- reviewers?: ReviewersSchema;
581
- }
582
- //#endregion
583
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorInvocationSchema.d.ts
584
- interface GeneratorInvocationSchema {
721
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OutputMetadataAuthor.d.ts
722
+ interface OutputMetadataAuthor {
585
723
  name: string;
586
- version: string;
587
- output?: GeneratorOutputSchema;
588
- github?: GithubConfigurationSchema;
589
- config?: unknown;
590
- metadata?: GeneratorPublishMetadataSchema;
591
- /** Overrides the keywords that require safe name variants. */
592
- keywords?: string[];
593
- /** Configures snippets for a particular generator. */
594
- snippets?: GeneratorSnippetsSchema;
595
- /** Overrides the version of the IR used by the generator. */
596
- "ir-version"?: string;
597
- /** Feature flag used to enable better IR naming. */
598
- "smart-casing"?: boolean;
599
- /** Override API import settings (this is applied across all specs) */
600
- api?: GeneratorApiSettingsSchema;
601
- /** Temporary way to unblock example serialization. */
602
- "disable-examples"?: boolean;
603
- /** Deprecated, use `metadata` on the output block instead. */
604
- "publish-metadata"?: GeneratorPublishMetadataSchema;
605
- /**
606
- * If true, automatically release this SDK when changes are detected.
607
- * Overrides the top-level autorelease setting if specified.
608
- */
609
- autorelease?: boolean;
610
- }
611
- //#endregion
612
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorApiSettingsSchema.d.ts
613
- /**
614
- * Override API configuration settings for a specific generator.
615
- * When specs is provided, it completely replaces the top-level api.specs configuration for this generator.
616
- */
617
- interface GeneratorApiSettingsSchema {
618
- auth?: ApiAuthSchema;
619
- "auth-schemes"?: Record<string, AuthSchemeDeclarationSchema>;
620
- settings?: ApiConfigurationV2SettingsSchema;
621
- /**
622
- * Override the specs configuration for this generator.
623
- * When provided, this completely replaces the top-level api.specs configuration.
624
- */
625
- specs?: ApiConfigurationV2SpecsSchema;
626
- }
627
- //#endregion
628
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorOutputSchema.d.ts
629
- type GeneratorOutputSchema = GeneratorOutputSchema.Npm | GeneratorOutputSchema.Maven | GeneratorOutputSchema.Pypi | GeneratorOutputSchema.Postman | GeneratorOutputSchema.LocalFileSystem | GeneratorOutputSchema.Nuget | GeneratorOutputSchema.Rubygems | GeneratorOutputSchema.Crates;
630
- declare namespace GeneratorOutputSchema {
631
- interface Npm extends NpmOutputLocationSchema {
632
- location: "npm";
633
- }
634
- interface Maven extends MavenOutputLocationSchema {
635
- location: "maven";
636
- }
637
- interface Pypi extends PypiOutputLocationSchema {
638
- location: "pypi";
639
- }
640
- interface Postman extends PostmanOutputLocationSchema {
641
- location: "postman";
642
- }
643
- interface LocalFileSystem extends LocalFileSystemOutputLocationSchema {
644
- location: "local-file-system";
645
- }
646
- interface Nuget extends NugetOutputLocationSchema {
647
- location: "nuget";
648
- }
649
- interface Rubygems extends RubyGemsOutputLocationSchema {
650
- location: "rubygems";
651
- }
652
- interface Crates extends CratesOutputLocationSchema {
653
- location: "crates";
654
- }
655
- }
656
- //#endregion
657
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubConfigurationSchema.d.ts
658
- type GithubConfigurationSchema = GithubSelfhostedSchema | GithubCommitAndReleaseSchema | GithubPullRequestSchema | GithubPushSchema;
659
- //#endregion
660
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubSelfhostedSchema.d.ts
661
- interface GithubSelfhostedSchema {
662
- uri: string;
663
- token: string;
664
- mode?: GithubSelfhostedMode;
665
- branch?: string;
666
- license?: GithubLicenseSchema;
667
- }
668
- //#endregion
669
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubSelfhostedMode.d.ts
670
- /**
671
- * This file was auto-generated by Fern from our API Definition.
672
- */
673
- type GithubSelfhostedMode = "pull-request" | "push";
674
- declare const GithubSelfhostedMode: {
675
- readonly PullRequest: "pull-request";
676
- readonly Push: "push";
677
- };
678
- //#endregion
679
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorSnippetsSchema.d.ts
680
- /**
681
- * This file was auto-generated by Fern from our API Definition.
682
- */
683
- interface GeneratorSnippetsSchema {
684
- /** The path to the generated snippets file. */
685
- path: string;
686
- }
687
- //#endregion
688
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorPublishMetadataSchema.d.ts
689
- interface GeneratorPublishMetadataSchema {
690
- "package-description"?: string;
691
- email?: string;
692
- "reference-url"?: string;
693
- author?: string;
694
- license?: GithubLicenseSchema;
695
- }
696
- //#endregion
697
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubCommitAndReleaseSchema.d.ts
698
- interface GithubCommitAndReleaseSchema {
699
- repository: string;
700
- license?: GithubLicenseSchema;
701
- mode?: GithubCommitAndReleaseMode;
702
- }
703
- //#endregion
704
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubCommitAndReleaseMode.d.ts
705
- /**
706
- * This file was auto-generated by Fern from our API Definition.
707
- */
708
- type GithubCommitAndReleaseMode = "commit" | "release";
709
- declare const GithubCommitAndReleaseMode: {
710
- readonly Commit: "commit";
711
- readonly Release: "release";
712
- };
713
- //#endregion
714
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubPullRequestSchema.d.ts
715
- interface GithubPullRequestSchema {
716
- repository: string;
717
- branch?: string;
718
- license?: GithubLicenseSchema;
719
- mode: "pull-request";
720
- reviewers?: ReviewersSchema;
721
- }
722
- //#endregion
723
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubPushSchema.d.ts
724
- interface GithubPushSchema {
725
- repository: string;
726
- license?: GithubLicenseSchema;
727
- mode: "push";
728
- branch?: string;
729
- }
730
- //#endregion
731
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/NpmOutputLocationSchema.d.ts
732
- /**
733
- * This file was auto-generated by Fern from our API Definition.
734
- */
735
- interface NpmOutputLocationSchema {
736
- url?: string;
737
- "package-name": string;
738
- token?: string;
739
- }
740
- //#endregion
741
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/MavenOutputLocationSchema.d.ts
742
- interface MavenOutputLocationSchema {
743
- url?: string;
744
- coordinate: string;
745
- username?: string;
746
- password?: string;
747
- signature?: MavenOutputSignatureSchema;
748
- }
749
- //#endregion
750
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/MavenOutputSignatureSchema.d.ts
751
- /**
752
- * This file was auto-generated by Fern from our API Definition.
753
- */
754
- interface MavenOutputSignatureSchema {
755
- keyId: string;
756
- password: string;
757
- secretKey: string;
758
- }
759
- //#endregion
760
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/PypiOutputLocationSchema.d.ts
761
- interface PypiOutputLocationSchema {
762
- url?: string;
763
- "package-name": string;
764
- token?: string;
765
- username?: string;
766
- password?: string;
767
- metadata?: PypiOutputMetadataSchema;
768
- }
769
- //#endregion
770
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/PypiOutputMetadataSchema.d.ts
771
- interface PypiOutputMetadataSchema extends OutputMetadataSchema {
772
- keywords?: string[];
773
- "documentation-link"?: string;
774
- "homepage-link"?: string;
775
- }
776
- //#endregion
777
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/PostmanOutputLocationSchema.d.ts
778
- /**
779
- * This file was auto-generated by Fern from our API Definition.
780
- */
781
- interface PostmanOutputLocationSchema {
782
- "api-key": string;
783
- "workspace-id": string;
784
- "collection-id"?: string;
785
- }
786
- //#endregion
787
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/LocalFileSystemOutputLocationSchema.d.ts
788
- /**
789
- * This file was auto-generated by Fern from our API Definition.
790
- */
791
- interface LocalFileSystemOutputLocationSchema {
792
- path: string;
793
- }
794
- //#endregion
795
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/NugetOutputLocationSchema.d.ts
796
- /**
797
- * This file was auto-generated by Fern from our API Definition.
798
- */
799
- interface NugetOutputLocationSchema {
800
- url?: string;
801
- "package-name": string;
802
- "api-key"?: string;
803
- }
804
- //#endregion
805
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/RubyGemsOutputLocationSchema.d.ts
806
- /**
807
- * This file was auto-generated by Fern from our API Definition.
808
- */
809
- /**
810
- * It is worth noting that RubyGems API keys need to have the "Push rubygem" permission.
811
- * Ideally it is also permissioned with index and yank rubygem permissions.
812
- * Additionally if the creator of the API key has MFA enabled, they must be sure to update their MFA
813
- * settings to not require MFA for API key usage ("UI and gem signin").
814
- */
815
- interface RubyGemsOutputLocationSchema {
816
- url?: string;
817
- "package-name": string;
818
- "api-key"?: string;
724
+ email: string;
819
725
  }
820
726
  //#endregion
821
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/CratesOutputLocationSchema.d.ts
822
- /**
823
- * This file was auto-generated by Fern from our API Definition.
824
- */
825
- /**
826
- * Configuration for publishing Rust crates to crates.io or a custom registry.
827
- * API tokens can be created at https://crates.io/settings/tokens with appropriate permissions.
828
- */
829
- interface CratesOutputLocationSchema {
830
- url?: string;
831
- "package-name": string;
832
- token?: string;
727
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/OutputMetadataSchema.d.ts
728
+ interface OutputMetadataSchema {
729
+ description?: string;
730
+ authors?: OutputMetadataAuthor[];
833
731
  }
834
732
  //#endregion
835
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/license/types/GithubLicenseSchema.d.ts
836
- type GithubLicenseSchema = GithubLicenseType | GithubLicenseCustomSchema;
837
- //#endregion
838
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/license/types/GithubLicenseType.d.ts
839
- /**
840
- * This file was auto-generated by Fern from our API Definition.
841
- */
842
- type GithubLicenseType = "MIT" | "Apache-2.0";
843
- declare const GithubLicenseType: {
844
- readonly Mit: "MIT";
845
- readonly Apache: "Apache-2.0";
733
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/PathParameterOrder.d.ts
734
+ /** Controls the order of path parameters in generated method signatures. */
735
+ declare const PathParameterOrder: {
736
+ readonly UrlOrder: "url-order";
737
+ readonly SpecOrder: "spec-order";
846
738
  };
739
+ type PathParameterOrder = (typeof PathParameterOrder)[keyof typeof PathParameterOrder];
847
740
  //#endregion
848
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/license/types/GithubLicenseCustomSchema.d.ts
849
- /**
850
- * This file was auto-generated by Fern from our API Definition.
851
- */
852
- interface GithubLicenseCustomSchema {
853
- custom: string;
854
- }
855
- //#endregion
856
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/reviewers/types/ReviewersSchema.d.ts
857
- interface ReviewersSchema {
858
- teams?: ReviewerSchema[];
859
- users?: ReviewerSchema[];
741
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ProtobufApiDefinitionSchema.d.ts
742
+ interface ProtobufApiDefinitionSchema {
743
+ proto: ProtobufDefinitionSchema;
860
744
  }
861
745
  //#endregion
862
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/reviewers/types/ReviewerSchema.d.ts
863
- /**
864
- * This file was auto-generated by Fern from our API Definition.
865
- */
866
- interface ReviewerSchema {
867
- name: string;
746
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ProtobufDefinitionSchema.d.ts
747
+ interface ProtobufDefinitionSchema {
748
+ /** The path to the target `.proto` file that defines the API (e.g. `proto/user/v1/user.proto`). */
749
+ target?: string;
750
+ /** The path to the `.proto` directory root (e.g. `proto`). */
751
+ root: string;
752
+ /** Path to the overrides configuration */
753
+ overrides?: string;
754
+ /** Whether to compile the `.proto` files locally. By default, we generate remotely. */
755
+ "local-generation"?: boolean;
756
+ /** Whether to convert to OpenAPI before generating */
757
+ "from-openapi"?: boolean;
758
+ /** Dependencies to use for generation. */
759
+ dependencies?: string[];
868
760
  }
869
761
  //#endregion
870
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AuthScope.d.ts
871
- /**
872
- * This file was auto-generated by Fern from our API Definition.
873
- */
874
- type AuthScope = string;
875
- //#endregion
876
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/ApiAuthSchema.d.ts
877
- type ApiAuthSchema = string | AuthSchemeReferenceSchema | AnyAuthSchemesSchema | EndpointSecuritySchema;
878
- //#endregion
879
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AuthSchemeReferenceSchema.d.ts
880
- interface AuthSchemeReferenceSchema extends WithDocsSchema {
881
- scheme: string;
762
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ProtobufSpecSchema.d.ts
763
+ interface ProtobufSpecSchema {
764
+ proto: ProtobufDefinitionSchema;
882
765
  }
883
766
  //#endregion
884
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AnyAuthSchemesSchema.d.ts
885
- interface AnyAuthSchemesSchema extends WithDocsSchema {
886
- any: AnyAuthItem[];
767
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ReadmeCustomSectionSchema.d.ts
768
+ interface ReadmeCustomSectionSchema {
769
+ title: string;
770
+ language: Language;
771
+ content: string;
887
772
  }
888
773
  //#endregion
889
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/EndpointSecuritySchema.d.ts
890
- interface EndpointSecuritySchema extends WithDocsSchema {
891
- /** Indicates that authentication requirements are defined per-endpoint via the `security` field. */
892
- "endpoint-security": EndpointSecuritySchemaDetails;
774
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ReadmeEndpointObjectSchema.d.ts
775
+ interface ReadmeEndpointObjectSchema {
776
+ method: string;
777
+ path: string;
778
+ stream?: boolean;
893
779
  }
894
780
  //#endregion
895
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/EndpointSecuritySchemaDetails.d.ts
781
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ReadmeEndpointSchema.d.ts
782
+ type ReadmeEndpointSchema =
896
783
  /**
897
- * This file was auto-generated by Fern from our API Definition.
898
- */
899
- interface EndpointSecuritySchemaDetails {}
900
- //#endregion
901
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AnyAuthItem.d.ts
902
- type AnyAuthItem = string | AuthSchemeReferenceSchema;
903
- //#endregion
904
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AuthSchemeDeclarationSchema.d.ts
905
- type AuthSchemeDeclarationSchema = OAuthSchemeSchema | HeaderAuthSchemeSchema | BasicAuthSchemeSchema | BearerAuthSchemeSchema;
784
+ * Endpoint name in 'POST /users' format */
785
+ string | ReadmeEndpointObjectSchema;
906
786
  //#endregion
907
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/WithEnvironmentVariable.d.ts
908
- /**
909
- * This file was auto-generated by Fern from our API Definition.
910
- */
911
- interface WithEnvironmentVariable {
912
- env?: string;
787
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ReadmeSchema.d.ts
788
+ interface ReadmeSchema {
789
+ bannerLink?: string;
790
+ introduction?: string;
791
+ apiReferenceLink?: string;
792
+ apiName?: string;
793
+ disabledSections?: string[];
794
+ /** If set, use this endpoint's snippet as the default whenever possible */
795
+ defaultEndpoint?: ReadmeEndpointSchema;
796
+ /** Specifies a list of endpoints associated with the feature */
797
+ features?: Record<string, ReadmeEndpointSchema[]>;
798
+ /** Supply custom sections as markdown to be included in the readme */
799
+ customSections?: ReadmeCustomSectionSchema[];
800
+ /** Controls whether usage examples show only required parameters (minimal) or all parameters (comprehensive). Defaults to comprehensive. */
801
+ exampleStyle?: ExampleStyle;
913
802
  }
914
803
  //#endregion
915
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/AuthVariable.d.ts
916
- interface AuthVariable extends WithEnvironmentVariable, WithName {}
804
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/RemoveDiscriminantsFromSchemas.d.ts
805
+ /** Whether to remove discriminant properties from schemas when generating types, unless the schema is also used outside of a discriminated union. */
806
+ declare const RemoveDiscriminantsFromSchemas: {
807
+ readonly Always: "always";
808
+ readonly Never: "never";
809
+ };
810
+ type RemoveDiscriminantsFromSchemas = (typeof RemoveDiscriminantsFromSchemas)[keyof typeof RemoveDiscriminantsFromSchemas];
917
811
  //#endregion
918
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/HeaderAuthSchemeSchema.d.ts
919
- interface HeaderAuthSchemeSchema extends WithEnvironmentVariable, WithName, WithDocsSchema {
920
- header: string;
921
- /** Defaults to string */
922
- type?: string;
923
- prefix?: string;
812
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/RequestOrResponseExampleGenerationSchema.d.ts
813
+ interface RequestOrResponseExampleGenerationSchema {
814
+ /** Controls the maximum depth for which optional properties will have examples generated. A depth of 0 means no optional properties will have examples. */
815
+ "max-depth"?: number;
924
816
  }
925
817
  //#endregion
926
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/BasicAuthSchemeSchema.d.ts
927
- interface BasicAuthSchemeSchema extends WithDocsSchema {
928
- scheme: "basic";
929
- username?: AuthVariable;
930
- password?: AuthVariable;
818
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ResolveAliases.d.ts
819
+ type ResolveAliases = boolean | ResolveAliasesSchema;
820
+ //#endregion
821
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/ResolveAliasesSchema.d.ts
822
+ interface ResolveAliasesSchema {
823
+ /** Names of alias types to exclude from resolving. */
824
+ except?: string[];
931
825
  }
932
826
  //#endregion
933
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/BearerAuthSchemeSchema.d.ts
934
- type BearerAuthSchemeSchema = TokenBearerAuthSchema | InferredBearerAuthSchema;
827
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/SpecSchema.d.ts
828
+ type SpecSchema = OpenApiSpecSchema | AsyncApiSpecSchema | ProtobufSpecSchema | OpenRpcSpecSchema | GraphQlSpecSchema;
935
829
  //#endregion
936
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/TokenBearerAuthSchema.d.ts
937
- interface TokenBearerAuthSchema extends WithDocsSchema {
938
- scheme: "bearer";
939
- token?: AuthVariable;
940
- }
830
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/UnionSettingsSchema.d.ts
831
+ declare const UnionSettingsSchema: {
832
+ readonly V1: "v1";
833
+ };
834
+ type UnionSettingsSchema = (typeof UnionSettingsSchema)[keyof typeof UnionSettingsSchema];
941
835
  //#endregion
942
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/InferredBearerAuthSchema.d.ts
943
- interface InferredBearerAuthSchema extends WithDocsSchema {
944
- scheme: "bearer";
945
- "get-token": InferredGetTokenEndpointSchema;
836
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/WhitelabelConfigurationSchema.d.ts
837
+ interface WhitelabelConfigurationSchema {
838
+ github?: WhitelabelGithubConfigurationSchema;
946
839
  }
947
840
  //#endregion
948
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/InferredGetTokenEndpointSchema.d.ts
949
- type InferredGetTokenEndpointSchema = string | InferredGetTokenEndpointSchemaObject;
950
- //#endregion
951
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/InferredGetTokenEndpointSchemaObject.d.ts
952
- interface InferredGetTokenEndpointSchemaObject {
953
- /** The endpoint to get the access token, such as 'auth.get_token' */
954
- endpoint: string;
955
- /** The property name for the expiry time in the response. */
956
- "expiry-response-property"?: string;
957
- /** The headers that will be set on HTTP requests when the inferred auth scheme is applied to an endpoint. */
958
- "authenticated-request-headers"?: InferredAuthenticatedRequestHeader[];
841
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/generators/types/WhitelabelGithubConfigurationSchema.d.ts
842
+ interface WhitelabelGithubConfigurationSchema {
843
+ username: string;
844
+ email: string;
845
+ token: string;
959
846
  }
960
847
  //#endregion
961
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/InferredAuthenticatedRequestHeader.d.ts
848
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/CratesOutputLocationSchema.d.ts
962
849
  /**
963
- * This file was auto-generated by Fern from our API Definition.
850
+ * Configuration for publishing Rust crates to crates.io or a custom registry.
851
+ * API tokens can be created at https://crates.io/settings/tokens with appropriate permissions.
964
852
  */
853
+ interface CratesOutputLocationSchema {
854
+ url?: string;
855
+ "package-name": string;
856
+ token?: string;
857
+ }
858
+ //#endregion
859
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorApiSettingsSchema.d.ts
965
860
  /**
966
- * A header that will be set on HTTP requests when the inferred auth scheme is applied to an endpoint. These are not headers for the authorization endpoint.
861
+ * Override API configuration settings for a specific generator.
862
+ * When specs is provided, it completely replaces the top-level api.specs configuration for this generator.
967
863
  */
968
- interface InferredAuthenticatedRequestHeader {
969
- /** The property to retrieve the header value from the get token or refresh endpoint response. */
970
- "response-property": string;
971
- /** The header name to put the token in for any authenticated HTTP request. */
972
- "header-name": string;
973
- /** Commonly used for setting the `Authorization` scheme, but could be used for other things. */
974
- "value-prefix"?: string;
864
+ interface GeneratorApiSettingsSchema {
865
+ auth?: ApiAuthSchema;
866
+ "auth-schemes"?: Record<string, AuthSchemeDeclarationSchema>;
867
+ settings?: ApiConfigurationV2SettingsSchema;
868
+ /**
869
+ * Override the specs configuration for this generator.
870
+ * When provided, this completely replaces the top-level api.specs configuration.
871
+ */
872
+ specs?: ApiConfigurationV2SpecsSchema;
975
873
  }
976
874
  //#endregion
977
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthSchemeSchema.d.ts
978
- interface OAuthSchemeSchema extends WithDocsSchema {
979
- scheme: "oauth";
980
- type: "client-credentials";
981
- scopes?: AuthScope[];
982
- "client-id-env"?: string;
983
- "client-secret-env"?: string;
984
- /** Sets the token header value prefix. Defaults to 'Bearer' */
985
- "token-prefix"?: string;
986
- /** Sets the token header key name. Defaults to 'Authorization' */
987
- "token-header"?: string;
988
- "get-token": OAuthGetTokenEndpointSchema;
989
- "refresh-token"?: OAuthRefreshTokenEndpointSchema;
875
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorGroupSchema.d.ts
876
+ interface GeneratorGroupSchema {
877
+ audiences?: string[];
878
+ generators: GeneratorInvocationSchema[];
879
+ metadata?: OutputMetadataSchema;
880
+ reviewers?: ReviewersSchema;
990
881
  }
991
882
  //#endregion
992
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthGetTokenEndpointSchema.d.ts
993
- interface OAuthGetTokenEndpointSchema {
994
- /** The endpoint to get the access token, such as 'auth.get_token */
995
- endpoint: string;
996
- "request-properties"?: OAuthAccessTokenRequestPropertiesSchema;
997
- "response-properties"?: OAuthAccessTokenResponsePropertiesSchema;
883
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorInvocationSchema.d.ts
884
+ interface GeneratorInvocationSchema {
885
+ name: string;
886
+ version: string;
887
+ output?: GeneratorOutputSchema;
888
+ github?: GithubConfigurationSchema;
889
+ config?: unknown;
890
+ metadata?: GeneratorPublishMetadataSchema;
891
+ /** Overrides the keywords that require safe name variants. */
892
+ keywords?: string[];
893
+ /** Configures snippets for a particular generator. */
894
+ snippets?: GeneratorSnippetsSchema;
895
+ /** Overrides the version of the IR used by the generator. */
896
+ "ir-version"?: string;
897
+ /** Feature flag used to enable better IR naming. */
898
+ "smart-casing"?: boolean;
899
+ /** Override API import settings (this is applied across all specs) */
900
+ api?: GeneratorApiSettingsSchema;
901
+ /** Temporary way to unblock example serialization. */
902
+ "disable-examples"?: boolean;
903
+ /** Deprecated, use `metadata` on the output block instead. */
904
+ "publish-metadata"?: GeneratorPublishMetadataSchema;
905
+ /**
906
+ * If true, automatically release this SDK when changes are detected.
907
+ * Overrides the top-level autorelease setting if specified.
908
+ */
909
+ autorelease?: boolean;
998
910
  }
999
911
  //#endregion
1000
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthAccessTokenRequestPropertiesSchema.d.ts
1001
- /**
1002
- * This file was auto-generated by Fern from our API Definition.
1003
- */
1004
- interface OAuthAccessTokenRequestPropertiesSchema {
1005
- /** The property name for the client ID. */
1006
- "client-id"?: string;
1007
- /** The property name for the client secret. */
1008
- "client-secret"?: string;
1009
- /** The property name for the scopes. */
1010
- scopes?: string;
912
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorOutputSchema.d.ts
913
+ type GeneratorOutputSchema = GeneratorOutputSchema.Npm | GeneratorOutputSchema.Maven | GeneratorOutputSchema.Pypi | GeneratorOutputSchema.Postman | GeneratorOutputSchema.LocalFileSystem | GeneratorOutputSchema.Nuget | GeneratorOutputSchema.Rubygems | GeneratorOutputSchema.Crates;
914
+ declare namespace GeneratorOutputSchema {
915
+ interface Npm extends NpmOutputLocationSchema {
916
+ location: "npm";
917
+ }
918
+ interface Maven extends MavenOutputLocationSchema {
919
+ location: "maven";
920
+ }
921
+ interface Pypi extends PypiOutputLocationSchema {
922
+ location: "pypi";
923
+ }
924
+ interface Postman extends PostmanOutputLocationSchema {
925
+ location: "postman";
926
+ }
927
+ interface LocalFileSystem extends LocalFileSystemOutputLocationSchema {
928
+ location: "local-file-system";
929
+ }
930
+ interface Nuget extends NugetOutputLocationSchema {
931
+ location: "nuget";
932
+ }
933
+ interface Rubygems extends RubyGemsOutputLocationSchema {
934
+ location: "rubygems";
935
+ }
936
+ interface Crates extends CratesOutputLocationSchema {
937
+ location: "crates";
938
+ }
1011
939
  }
1012
940
  //#endregion
1013
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthAccessTokenResponsePropertiesSchema.d.ts
1014
- /**
1015
- * This file was auto-generated by Fern from our API Definition.
1016
- */
1017
- interface OAuthAccessTokenResponsePropertiesSchema {
1018
- /** The property name for the access token. */
1019
- "access-token"?: string;
1020
- /** The property name for the expires in property. */
1021
- "expires-in"?: string;
1022
- /** The property name for the refresh token */
1023
- "refresh-token"?: string;
941
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorPublishMetadataSchema.d.ts
942
+ interface GeneratorPublishMetadataSchema {
943
+ "package-description"?: string;
944
+ email?: string;
945
+ "reference-url"?: string;
946
+ author?: string;
947
+ license?: GithubLicenseSchema;
1024
948
  }
1025
949
  //#endregion
1026
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthRefreshTokenEndpointSchema.d.ts
1027
- interface OAuthRefreshTokenEndpointSchema {
1028
- /** The endpoint to refresh the access token, such as 'auth.refresh_token */
1029
- endpoint: string;
1030
- "request-properties"?: OAuthRefreshTokenRequestPropertiesSchema;
1031
- "response-properties"?: OAuthRefreshTokenResponsePropertiesSchema;
950
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GeneratorSnippetsSchema.d.ts
951
+ interface GeneratorSnippetsSchema {
952
+ /** The path to the generated snippets file. */
953
+ path: string;
1032
954
  }
1033
955
  //#endregion
1034
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthRefreshTokenRequestPropertiesSchema.d.ts
1035
- /**
1036
- * This file was auto-generated by Fern from our API Definition.
1037
- */
1038
- interface OAuthRefreshTokenRequestPropertiesSchema {
1039
- /** The property name for the refresh token. */
1040
- "refresh-token": string;
1041
- }
956
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubCommitAndReleaseMode.d.ts
957
+ declare const GithubCommitAndReleaseMode: {
958
+ readonly Commit: "commit";
959
+ readonly Release: "release";
960
+ };
961
+ type GithubCommitAndReleaseMode = (typeof GithubCommitAndReleaseMode)[keyof typeof GithubCommitAndReleaseMode];
1042
962
  //#endregion
1043
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/auth/types/OAuthRefreshTokenResponsePropertiesSchema.d.ts
1044
- /**
1045
- * This file was auto-generated by Fern from our API Definition.
1046
- */
1047
- interface OAuthRefreshTokenResponsePropertiesSchema {
1048
- /** The property name for the access token. */
1049
- "access-token"?: string;
1050
- /** The property name for the expires in property. */
1051
- "expires-in"?: string;
1052
- /** The property name for the refresh token. */
1053
- "refresh-token"?: string;
963
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubCommitAndReleaseSchema.d.ts
964
+ interface GithubCommitAndReleaseSchema {
965
+ repository: string;
966
+ license?: GithubLicenseSchema;
967
+ mode?: GithubCommitAndReleaseMode;
1054
968
  }
1055
969
  //#endregion
1056
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/availability/types/AvailabilityUnionSchema.d.ts
1057
- type AvailabilityUnionSchema = AvailabilityStatusSchema | AvailabilitySchema;
970
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubConfigurationSchema.d.ts
971
+ type GithubConfigurationSchema = GithubSelfhostedSchema | GithubCommitAndReleaseSchema | GithubPullRequestSchema | GithubPushSchema;
1058
972
  //#endregion
1059
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/availability/types/AvailabilitySchema.d.ts
1060
- interface AvailabilitySchema {
1061
- status: AvailabilityStatusSchema;
1062
- message?: string;
973
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubPullRequestSchema.d.ts
974
+ interface GithubPullRequestSchema {
975
+ repository: string;
976
+ branch?: string;
977
+ license?: GithubLicenseSchema;
978
+ mode: "pull-request";
979
+ reviewers?: ReviewersSchema;
1063
980
  }
1064
981
  //#endregion
1065
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/availability/types/AvailabilityStatusSchema.d.ts
1066
- /**
1067
- * This file was auto-generated by Fern from our API Definition.
1068
- */
1069
- type AvailabilityStatusSchema = "in-development" | "pre-release" | "deprecated" | "generally-available";
1070
- declare const AvailabilityStatusSchema: {
1071
- readonly InDevelopment: "in-development";
1072
- readonly PreRelease: "pre-release";
1073
- readonly Deprecated: "deprecated";
1074
- readonly GenerallyAvailable: "generally-available";
982
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubPushSchema.d.ts
983
+ interface GithubPushSchema {
984
+ repository: string;
985
+ license?: GithubLicenseSchema;
986
+ mode: "push";
987
+ branch?: string;
988
+ }
989
+ //#endregion
990
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubSelfhostedMode.d.ts
991
+ declare const GithubSelfhostedMode: {
992
+ readonly PullRequest: "pull-request";
993
+ readonly Push: "push";
1075
994
  };
995
+ type GithubSelfhostedMode = (typeof GithubSelfhostedMode)[keyof typeof GithubSelfhostedMode];
1076
996
  //#endregion
1077
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/commons/types/WithDocsSchema.d.ts
1078
- /**
1079
- * This file was auto-generated by Fern from our API Definition.
1080
- */
1081
- interface WithDocsSchema {
1082
- docs?: string;
997
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/GithubSelfhostedSchema.d.ts
998
+ interface GithubSelfhostedSchema {
999
+ uri: string;
1000
+ token: string;
1001
+ mode?: GithubSelfhostedMode;
1002
+ branch?: string;
1003
+ license?: GithubLicenseSchema;
1083
1004
  }
1084
1005
  //#endregion
1085
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/commons/types/WithName.d.ts
1086
- /**
1087
- * This file was auto-generated by Fern from our API Definition.
1088
- */
1089
- interface WithName {
1090
- name?: string;
1006
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/LocalFileSystemOutputLocationSchema.d.ts
1007
+ interface LocalFileSystemOutputLocationSchema {
1008
+ path: string;
1091
1009
  }
1092
1010
  //#endregion
1093
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/commons/types/WithAvailability.d.ts
1094
- interface WithAvailability {
1095
- availability?: AvailabilityUnionSchema;
1011
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/MavenOutputLocationSchema.d.ts
1012
+ interface MavenOutputLocationSchema {
1013
+ url?: string;
1014
+ coordinate: string;
1015
+ username?: string;
1016
+ password?: string;
1017
+ signature?: MavenOutputSignatureSchema;
1096
1018
  }
1097
1019
  //#endregion
1098
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/commons/types/WithAudiences.d.ts
1099
- /**
1100
- * This file was auto-generated by Fern from our API Definition.
1101
- */
1102
- interface WithAudiences {
1103
- audiences?: string[];
1020
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/MavenOutputSignatureSchema.d.ts
1021
+ interface MavenOutputSignatureSchema {
1022
+ keyId: string;
1023
+ password: string;
1024
+ secretKey: string;
1104
1025
  }
1105
1026
  //#endregion
1106
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/encoding/types/EncodingSchema.d.ts
1107
- interface EncodingSchema {
1108
- proto?: ProtobufTypeSchema;
1027
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/NpmOutputLocationSchema.d.ts
1028
+ interface NpmOutputLocationSchema {
1029
+ url?: string;
1030
+ "package-name": string;
1031
+ token?: string;
1109
1032
  }
1110
1033
  //#endregion
1111
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/encoding/types/ProtobufTypeSchema.d.ts
1112
- /**
1113
- * This file was auto-generated by Fern from our API Definition.
1114
- */
1115
- interface ProtobufTypeSchema {
1116
- /** The name of the Protobuf type (e.g. google.protobuf.Struct). */
1117
- type: string;
1034
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/NugetOutputLocationSchema.d.ts
1035
+ interface NugetOutputLocationSchema {
1036
+ url?: string;
1037
+ "package-name": string;
1038
+ "api-key"?: string;
1118
1039
  }
1119
1040
  //#endregion
1120
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/WithEnvironmentsSchema.d.ts
1121
- interface WithEnvironmentsSchema {
1122
- "default-url"?: string;
1123
- "default-environment"?: string;
1124
- environments?: Record<string, EnvironmentSchema>;
1041
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/PostmanOutputLocationSchema.d.ts
1042
+ interface PostmanOutputLocationSchema {
1043
+ "api-key": string;
1044
+ "workspace-id": string;
1045
+ "collection-id"?: string;
1125
1046
  }
1126
1047
  //#endregion
1127
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/EnvironmentSchema.d.ts
1128
- type EnvironmentSchema = string | SingleBaseUrlEnvironmentSchema | MultipleBaseUrlsEnvironmentSchema;
1129
- //#endregion
1130
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/SingleBaseUrlEnvironmentSchema.d.ts
1131
- interface SingleBaseUrlEnvironmentSchema extends WithAudiences, WithDocsSchema {
1132
- url: string;
1048
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/PypiOutputLocationSchema.d.ts
1049
+ interface PypiOutputLocationSchema {
1050
+ url?: string;
1051
+ "package-name": string;
1052
+ token?: string;
1053
+ username?: string;
1054
+ password?: string;
1055
+ metadata?: PypiOutputMetadataSchema;
1133
1056
  }
1134
1057
  //#endregion
1135
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/environments/types/MultipleBaseUrlsEnvironmentSchema.d.ts
1136
- interface MultipleBaseUrlsEnvironmentSchema extends WithAudiences, WithDocsSchema {
1137
- urls: Record<string, string>;
1058
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/PypiOutputMetadataSchema.d.ts
1059
+ interface PypiOutputMetadataSchema extends OutputMetadataSchema {
1060
+ keywords?: string[];
1061
+ "documentation-link"?: string;
1062
+ "homepage-link"?: string;
1138
1063
  }
1139
1064
  //#endregion
1140
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/file/types/WithHeadersSchema.d.ts
1141
- interface WithHeadersSchema {
1142
- /** Global Headers for the entire API */
1143
- headers?: Record<string, HttpHeaderSchema>;
1065
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/group/types/RubyGemsOutputLocationSchema.d.ts
1066
+ /**
1067
+ * It is worth noting that RubyGems API keys need to have the "Push rubygem" permission.
1068
+ * Ideally it is also permissioned with index and yank rubygem permissions.
1069
+ * Additionally if the creator of the API key has MFA enabled, they must be sure to update their MFA
1070
+ * settings to not require MFA for API key usage ("UI and gem signin").
1071
+ */
1072
+ interface RubyGemsOutputLocationSchema {
1073
+ url?: string;
1074
+ "package-name": string;
1075
+ "api-key"?: string;
1144
1076
  }
1145
1077
  //#endregion
1146
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/service/types/TypeReferenceDeclarationWithEnvOverride.d.ts
1147
- type TypeReferenceDeclarationWithEnvOverride = string | TypeReferenceDeclarationWithEnvOverrideSchema;
1148
- //#endregion
1149
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/service/types/TypeReferenceDeclarationWithEnvOverrideSchema.d.ts
1150
- interface TypeReferenceDeclarationWithEnvOverrideSchema extends TypeReferenceDeclarationWithName {
1151
- env?: string;
1078
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/license/types/GithubLicenseCustomSchema.d.ts
1079
+ interface GithubLicenseCustomSchema {
1080
+ custom: string;
1152
1081
  }
1153
1082
  //#endregion
1154
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/service/types/HttpHeaderSchema.d.ts
1155
- type HttpHeaderSchema = TypeReferenceDeclarationWithEnvOverride;
1083
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/license/types/GithubLicenseSchema.d.ts
1084
+ type GithubLicenseSchema = GithubLicenseType | GithubLicenseCustomSchema;
1156
1085
  //#endregion
1157
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/types/types/BaseTypeReferenceSchema.d.ts
1158
- interface BaseTypeReferenceSchema extends WithDocsSchema, WithAvailability {
1159
- default?: unknown;
1160
- encoding?: EncodingSchema;
1161
- validation?: ValidationSchema;
1162
- }
1086
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/license/types/GithubLicenseType.d.ts
1087
+ declare const GithubLicenseType: {
1088
+ readonly Mit: "MIT";
1089
+ readonly Apache: "Apache-2.0";
1090
+ };
1091
+ type GithubLicenseType = (typeof GithubLicenseType)[keyof typeof GithubLicenseType];
1163
1092
  //#endregion
1164
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/types/types/TypeReferenceDeclarationWithName.d.ts
1165
- interface TypeReferenceDeclarationWithName extends BaseTypeReferenceSchema, WithName, WithAudiences {
1166
- type: string;
1093
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/replay/types/ReplayConfigSchema.d.ts
1094
+ interface ReplayConfigSchema {
1095
+ /** Whether to enable replay for this SDK */
1096
+ enabled: boolean;
1167
1097
  }
1168
1098
  //#endregion
1169
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/validation/types/ValidationSchema.d.ts
1170
- type ValidationSchema = StringValidationSchema | NumberValidationSchema;
1171
- //#endregion
1172
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/validation/types/StringValidationSchema.d.ts
1173
- /**
1174
- * This file was auto-generated by Fern from our API Definition.
1175
- */
1176
- interface StringValidationSchema {
1177
- minLength?: number;
1178
- maxLength?: number;
1179
- pattern?: string;
1180
- format?: string;
1099
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/reviewers/types/ReviewerSchema.d.ts
1100
+ interface ReviewerSchema {
1101
+ name: string;
1181
1102
  }
1182
1103
  //#endregion
1183
- //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/fernDefinition/resources/validation/types/NumberValidationSchema.d.ts
1184
- /**
1185
- * This file was auto-generated by Fern from our API Definition.
1186
- */
1187
- interface NumberValidationSchema {
1188
- min?: number;
1189
- max?: number;
1190
- exclusiveMin?: boolean;
1191
- exclusiveMax?: boolean;
1192
- multipleOf?: number;
1104
+ //#region ../cli/configuration/lib/generators-yml/schemas/api/resources/reviewers/types/ReviewersSchema.d.ts
1105
+ interface ReviewersSchema {
1106
+ teams?: ReviewerSchema[];
1107
+ users?: ReviewerSchema[];
1193
1108
  }
1194
1109
  //#endregion
1195
1110
  //#region ../cli/logger/lib/LogLevel.d.ts