···11-export type {
22- CodeSampleObject,
33- EnumExtensions,
44- LinguistLanguages,
55- OpenAPIExtensions,
66-} from './extensions/openapi';
11+export type { CodeSampleObject, LinguistLanguages } from './extensions/code-samples';
22+export type { EnumExtensions } from './extensions/enum';
33+export type { SpecExtensions } from './extensions/spec';
74export type * as JSONSchemaDraft4 from './json-schema/draft-4';
85export type * as JSONSchemaDraft2020_12 from './json-schema/draft-2020-12';
96export * as JSONSchema from './json-schema/union';
···11import type { AnyString, MaybeArray } from '@hey-api/types';
2233-import type { EnumExtensions, OpenAPIExtensions } from '../../extensions/openapi';
44-import type { OpenAPIV3_1SchemaExtensions } from '../../openapi/v3-1/extensions';
55-63// TODO: left out some keywords related to structuring a complex schema and declaring a dialect
77-export interface Document
88- extends
99- ArrayKeywords,
1010- NumberKeywords,
1111- ObjectKeywords,
1212- StringKeywords,
1313- EnumExtensions,
1414- OpenAPIV3_1SchemaExtensions,
1515- OpenAPIExtensions {
44+export interface Document extends ArrayKeywords, NumberKeywords, ObjectKeywords, StringKeywords {
165 /**
176 * The `$comment` {@link https://json-schema.org/learn/glossary#keyword keyword} is strictly intended for adding comments to a schema. Its value must always be a string. Unlike the annotations `title`, `description`, and `examples`, JSON schema {@link https://json-schema.org/learn/glossary#implementation implementations} aren't allowed to attach any meaning or behavior to it whatsoever, and may even strip them at any time. Therefore, they are useful for leaving notes to future editors of a JSON schema, but should not be used to communicate to users of the schema.
187 */
···11import type { AnyString } from '@hey-api/types';
2233-import type { EnumExtensions } from '../../extensions/openapi';
44-55-export interface Document extends EnumExtensions {
33+export interface Document {
64 /**
75 * A schema can reference another schema using the `$ref` keyword. The value of `$ref` is a URI-reference that is resolved against the schema's {@link https://json-schema.org/understanding-json-schema/structuring#base-uri Base URI}. When evaluating a `$ref`, an implementation uses the resolved identifier to retrieve the referenced schema and applies that schema to the {@link https://json-schema.org/learn/glossary#instance instance}.
86 *
+4-2
packages/spec-types/src/openapi/v2/spec.ts
···11-import type { CodeSampleObject, EnumExtensions } from '../../extensions/openapi';
11+import type { CodeSampleObject } from '../../extensions/code-samples';
22+import type { EnumExtensions } from '../../extensions/enum';
23import type { Document as JSONSchemaDraft4 } from '../../json-schema/draft-4/spec';
34import type { OpenAPIV2NullableExtensions } from './extensions';
45···13061307 * - packSize
13071308 * ```
13081309 */
13091309-export interface SchemaObject extends JSONSchemaDraft4, OpenAPIV2NullableExtensions {
13101310+export interface SchemaObject
13111311+ extends JSONSchemaDraft4, EnumExtensions, OpenAPIV2NullableExtensions {
13101312 /**
13111313 * Allows extensions to the Swagger Schema. The field name MUST begin with `x-`, for example, `x-internal-id`. The value can be `null`, a primitive, an array or an object. See {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#specification-extensions Vendor Extensions} for further details.
13121314 */
+34-28
packages/spec-types/src/openapi/v3-1/spec.ts
···11-import type { CodeSampleObject, OpenAPIExtensions } from '../../extensions/openapi';
11+import type { CodeSampleObject } from '../../extensions/code-samples';
22+import type { EnumExtensions } from '../../extensions/enum';
33+import type { SpecExtensions } from '../../extensions/spec';
24import type { Document as JSONSchemaDraft2020_12 } from '../../json-schema/draft-2020-12';
55+import type { OpenAPIV3_1SchemaExtensions } from './extensions';
3647/**
58 * This is the root object of the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#openapi-document OpenAPI document}.
69 *
710 * This object MAY be extended with {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#specification-extensions Specification Extensions}.
811 */
99-export interface Document extends OpenAPIExtensions {
1212+export interface Document extends SpecExtensions {
1013 /**
1114 * An element to hold various schemas for the document.
1215 */
···130133 * description: callback successfully processed
131134 * ```
132135 */
133133-export interface CallbackObject extends OpenAPIExtensions {
136136+export interface CallbackObject extends SpecExtensions {
134137 /**
135138 * A Path Item Object, or a reference to one, used to define a callback request and expected responses. A {@link https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/callback-example.yaml complete example} is available.
136139 */
···226229 * read:pets: read your pets
227230 * ```
228231 */
229229-export interface ComponentsObject extends OpenAPIExtensions {
232232+export interface ComponentsObject extends SpecExtensions {
230233 /**
231234 * An object to hold reusable {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#callback-object Callback Objects}.
232235 */
···281284 * email: support@example.com
282285 * ```
283286 */
284284-export interface ContactObject extends OpenAPIExtensions {
287287+export interface ContactObject extends SpecExtensions {
285288 /**
286289 * The email address of the contact person/organization. This MUST be in the form of an email address.
287290 */
···422425 *
423426 * will map to `Dog` because of the definition in the `mapping` element.
424427 */
425425-export interface DiscriminatorObject extends OpenAPIExtensions {
428428+export interface DiscriminatorObject extends SpecExtensions {
426429 /**
427430 * An object to hold mappings between payload values and schema names or references.
428431 */
···474477 * type: integer
475478 * ```
476479 */
477477-export interface EncodingObject extends OpenAPIExtensions {
480480+export interface EncodingObject extends SpecExtensions {
478481 /**
479482 * Determines whether the parameter value SHOULD allow reserved characters, as defined by {@link https://tools.ietf.org/html/rfc3986#section-2.2 RFC3986} `:/?#[]@!$&'()*+,;=` to be included without percent-encoding. The default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded` or `multipart/form-data`. If a value is explicitly defined, then the value of {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#encodingContentType `contentType`} (implicit or explicit) SHALL be ignored.
480483 */
···570573 * $ref: '#/components/examples/confirmation-success'
571574 * ```
572575 */
573573-export interface ExampleObject extends OpenAPIExtensions {
576576+export interface ExampleObject extends SpecExtensions {
574577 /**
575578 * Long description for the example. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
576579 */
···600603 * url: https://example.com
601604 * ```
602605 */
603603-export interface ExternalDocumentationObject extends OpenAPIExtensions {
606606+export interface ExternalDocumentationObject extends SpecExtensions {
604607 /**
605608 * A description of the target documentation. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
606609 */
···648651 * version: 1.0.1
649652 * ```
650653 */
651651-export interface InfoObject extends OpenAPIExtensions {
654654+export interface InfoObject extends SpecExtensions {
652655 /**
653656 * The contact information for the exposed API.
654657 */
···690693 * identifier: Apache-2.0
691694 * ```
692695 */
693693-export interface LicenseObject extends OpenAPIExtensions {
696696+export interface LicenseObject extends SpecExtensions {
694697 /**
695698 * An {@link https://spdx.org/licenses/ SPDX} license expression for the API. The `identifier` field is mutually exclusive of the `url` field.
696699 */
···852855 *
853856 * Runtime expressions preserve the type of the referenced value. Expressions can be embedded into string values by surrounding the expression with `{}` curly braces.
854857 */
855855-export interface LinkObject extends OpenAPIExtensions {
858858+export interface LinkObject extends SpecExtensions {
856859 /**
857860 * A description of the link. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
858861 */
···912915 * $ref: "#/components/examples/frog-example"
913916 * ```
914917 */
915915-export interface MediaTypeObject extends OpenAPIExtensions {
918918+export interface MediaTypeObject extends SpecExtensions {
916919 /**
917920 * A map between a property name and its encoding information. The key, being the property name, MUST exist in the schema as a property. The encoding object SHALL only apply to `requestBody` objects when the media type is `multipart` or `application/x-www-form-urlencoded`.
918921 */
···954957 * read:pets: read your pets
955958 * ```
956959 */
957957-export interface OAuthFlowObject extends OpenAPIExtensions {
960960+export interface OAuthFlowObject extends SpecExtensions {
958961 /**
959962 * **REQUIRED (`"implicit"`, `"authorizationCode"`)**. The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.
960963 */
···978981 *
979982 * This object MAY be extended with {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#specification-extensions Specification Extensions}.
980983 */
981981-export interface OAuthFlowsObject extends OpenAPIExtensions {
984984+export interface OAuthFlowsObject extends SpecExtensions {
982985 /**
983986 * Configuration for the OAuth Authorization Code flow. Previously called `accessCode` in OpenAPI 2.0.
984987 */
···10461049 * - read:pets
10471050 * ```
10481051 */
10491049-export interface OperationObject extends OpenAPIExtensions {
10521052+export interface OperationObject extends SpecExtensions {
10501053 /**
10511054 * A map of possible out-of band callbacks related to the parent operation. The key is a unique identifier for the Callback Object. Each value in the map is a {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#callback-object Callback Object} that describes a request that may be initiated by the API provider and the expected responses.
10521055 */
···11981201 * type: number
11991202 * ```
12001203 */
12011201-export interface ParameterObject extends OpenAPIExtensions {
12041204+export interface ParameterObject extends SpecExtensions {
12021205 /**
12031206 * Sets the ability to pass empty-valued parameters. This is valid only for `query` parameters and allows sending a parameter with an empty value. Default value is `false`. If {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameterStyle `style`} is used, and if behavior is `n/a` (cannot be serialized), the value of `allowEmptyValue` SHALL be ignored. Use of this property is NOT RECOMMENDED, as it is likely to be removed in a later revision.
12041207 */
···13011304 * style: simple
13021305 * ```
13031306 */
13041304-export interface PathItemObject extends OpenAPIExtensions {
13071307+export interface PathItemObject extends SpecExtensions {
13051308 /**
13061309 * Allows for a referenced definition of this path item. The referenced structure MUST be in the form of a {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#path-item-object Path Item Object}. In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined. See the rules for resolving {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#relative-references-in-uris Relative References}.
13071310 */
···14011404 * $ref: '#/components/schemas/pet'
14021405 * ```
14031406 */
14041404-export interface PathsObject extends OpenAPIExtensions {
14071407+export interface PathsObject extends SpecExtensions {
14051408 /**
14061409 * A relative path to an individual endpoint. The field name MUST begin with a forward slash (`/`). The path is **appended** (no relative URL resolution) to the expanded URL from the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#server-object `Server Object`}'s `url` field in order to construct the full URL. {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#path-templating Path templating} is allowed. When matching URLs, concrete (non-templated) paths would be matched before their templated counterparts. Templated paths with the same hierarchy but different templated names MUST NOT exist as they are identical. In case of ambiguous matching, it's up to the tooling to decide which one to use.
14071410 */
···15061509 * type: string
15071510 * ```
15081511 */
15091509-export interface RequestBodyObject extends OpenAPIExtensions {
15121512+export interface RequestBodyObject extends SpecExtensions {
15101513 /**
15111514 * **REQUIRED**. The content of the request body. The key is a media type or {@link https://tools.ietf.org/html/rfc7231#appendix-D media type range} and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
15121515 */
···15821585 * description: object created
15831586 * ```
15841587 */
15851585-export interface ResponseObject extends OpenAPIExtensions {
15881588+export interface ResponseObject extends SpecExtensions {
15861589 /**
15871590 * A map containing descriptions of potential response payloads. The key is a media type or {@link https://datatracker.ietf.org/doc/html/rfc7231#appendix-D media type range} and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
15881591 */
···16301633 * $ref: '#/components/schemas/ErrorModel'
16311634 * ```
16321635 */
16331633-export interface ResponsesObject extends OpenAPIExtensions {
16361636+export interface ResponsesObject extends SpecExtensions {
16341637 /**
16351638 * Any {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#http-status-codes HTTP status code} can be used as the property name, but only one property per code, to describe the expected response for that HTTP status code. This field MUST be enclosed in quotation marks (for example, "200") for compatibility between JSON and YAML. To define a range of response codes, this field MAY contain the uppercase wildcard character `X`. For example, `2XX` represents all response codes between `[200-299]`. Only the following range definitions are allowed: `1XX`, `2XX`, `3XX`, `4XX`, and `5XX`. If a response is defined using an explicit code, the explicit code definition takes precedence over the range definition for that code.
16361639 */
···16651668 *
16661669 * This object MAY be extended with {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#specification-extensions Specification Extensions}, though as noted, additional properties MAY omit the `x-` prefix within this object.
16671670 */
16681668-export type SchemaObject = JSONSchemaDraft2020_12 & OpenAPIExtensions;
16711671+export type SchemaObject = JSONSchemaDraft2020_12 &
16721672+ OpenAPIV3_1SchemaExtensions &
16731673+ SpecExtensions &
16741674+ EnumExtensions;
1669167516701676/**
16711677 * Lists the required security schemes to execute this operation. The name used for each property MUST correspond to a security scheme declared in the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#componentsSecuritySchemes Security Schemes} under the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#components-object Components Object}.
···17521758 * read:pets: read your pets
17531759 * ```
17541760 */
17551755-export type SecuritySchemeObject = OpenAPIExtensions & {
17611761+export type SecuritySchemeObject = SpecExtensions & {
17561762 /**
17571763 * A description for security scheme. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
17581764 */
···18251831 * description: Development server
18261832 * ```
18271833 */
18281828-export interface ServerObject extends OpenAPIExtensions {
18341834+export interface ServerObject extends SpecExtensions {
18291835 /**
18301836 * An optional string describing the host designated by the URL. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
18311837 */
···18451851 *
18461852 * This object MAY be extended with {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#specification-extensions Specification Extensions}.
18471853 */
18481848-export interface ServerVariableObject extends OpenAPIExtensions {
18541854+export interface ServerVariableObject extends SpecExtensions {
18491855 /**
18501856 * **REQUIRED**. The default value to use for substitution, which SHALL be sent if an alternate value is _not_ supplied. Note this behavior is different than the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schema-object Schema Object's} treatment of default values, because in those cases parameter values are optional. If the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#serverVariableEnum `enum`} is defined, the value MUST exist in the enum's values.
18511857 */
···18711877 * description: Pets operations
18721878 * ```
18731879 */
18741874-export interface TagObject extends OpenAPIExtensions {
18801880+export interface TagObject extends SpecExtensions {
18751881 /**
18761882 * A description for the tag. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
18771883 */
···20782084 * </aliens>
20792085 * ```
20802086 */
20812081-export interface XMLObject extends OpenAPIExtensions {
20872087+export interface XMLObject extends SpecExtensions {
20822088 /**
20832089 * Declares whether the property definition translates to an attribute instead of an element. Default value is `false`.
20842090 */
+29-27
packages/spec-types/src/openapi/v3/spec.ts
···11-import type { CodeSampleObject, EnumExtensions, OpenAPIExtensions } from '../../extensions/openapi';
11+import type { CodeSampleObject } from '../../extensions/code-samples';
22+import type { EnumExtensions } from '../../extensions/enum';
33+import type { SpecExtensions } from '../../extensions/spec';
2435/**
46 * This is the root object of the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#openapi-description OpenAPI Description}.
57 *
68 * This object MAY be extended with {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#specification-extensions Specification Extensions}.
79 */
88-export interface Document extends OpenAPIExtensions {
1010+export interface Document extends SpecExtensions {
911 /**
1012 * An element to hold various Objects for the OpenAPI Description.
1113 */
···4749 *
4850 * TODO: examples
4951 */
5050-export interface CallbackObject extends OpenAPIExtensions {
5252+export interface CallbackObject extends SpecExtensions {
5153 /**
5254 * A Path Item Object used to define a callback request and expected responses. A {@link https://learn.openapis.org/examples/v3.0/callback-example.html complete example} is available.
5355 */
···6365 *
6466 * TODO: examples
6567 */
6666-export interface ComponentsObject extends OpenAPIExtensions {
6868+export interface ComponentsObject extends SpecExtensions {
6769 /**
6870 * An object to hold reusable {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#callback-object Callback Objects}.
6971 */
···113115 * email: support@example.com
114116 * ```
115117 */
116116-export interface ContactObject extends OpenAPIExtensions {
118118+export interface ContactObject extends SpecExtensions {
117119 /**
118120 * The email address of the contact person/organization. This MUST be in the form of an email address.
119121 */
···160162 * TODO: default values examples
161163 * TODO: examples
162164 */
163163-export interface EncodingObject extends OpenAPIExtensions {
165165+export interface EncodingObject extends SpecExtensions {
164166 /**
165167 * When this is true, parameter values are serialized using reserved expansion, as defined by {@link https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3 RFC6570}, which allows {@link https://datatracker.ietf.org/doc/html/rfc3986#section-2.2 RFC3986's reserved character set}, as well as percent-encoded triples, to pass through unchanged, while still percent-encoding all other disallowed characters (including `%` outside of percent-encoded triples). Applications are still responsible for percent-encoding reserved characters that are {@link https://datatracker.ietf.org/doc/html/rfc3986#section-3.4 not allowed in the query string} (`[`, `]`, `#`), or have a special meaning in `application/x-www-form-urlencoded` (`-`, `&`, `+`); see Appendices {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#appendix-c-using-rfc6570-based-serialization C} and {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#appendix-e-percent-encoding-and-form-media-types E} for details. The default value is `false`. This field SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.
166168 */
···201203 *
202204 * TODO: examples
203205 */
204204-export interface ExampleObject extends OpenAPIExtensions {
206206+export interface ExampleObject extends SpecExtensions {
205207 /**
206208 * Long description for the example. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
207209 */
···232234 * url: https://example.com
233235 * ```
234236 */
235235-export interface ExternalDocumentationObject extends OpenAPIExtensions {
237237+export interface ExternalDocumentationObject extends SpecExtensions {
236238 /**
237239 * A description of the target documentation. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
238240 */
···276278 * version: 1.0.1
277279 * ```
278280 */
279279-export interface InfoObject extends OpenAPIExtensions {
281281+export interface InfoObject extends SpecExtensions {
280282 /**
281283 * The contact information for the exposed API.
282284 */
···313315 * url: https://www.apache.org/licenses/LICENSE-2.0.html
314316 * ```
315317 */
316316-export interface LicenseObject extends OpenAPIExtensions {
318318+export interface LicenseObject extends SpecExtensions {
317319 /**
318320 * **REQUIRED**. The license name used for the API.
319321 */
···339341 *
340342 * TODO: examples
341343 */
342342-export interface LinkObject extends OpenAPIExtensions {
344344+export interface LinkObject extends SpecExtensions {
343345 /**
344346 * A description of the link. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
345347 */
···375377 *
376378 * TODO: examples
377379 */
378378-export interface MediaTypeObject extends OpenAPIExtensions {
380380+export interface MediaTypeObject extends SpecExtensions {
379381 /**
380382 * A map between a property name and its encoding information. The key, being the property name, MUST exist in the schema as a property. The `encoding` field SHALL only apply to {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#request-body-object Request Body Objects}, and only when the media type is `multipart` or `application/x-www-form-urlencoded`. If no Encoding Object is provided for a property, the behavior is determined by the default values documented for the Encoding Object.
381383 */
···401403 *
402404 * TODO: examples
403405 */
404404-export interface OAuthFlowObject extends OpenAPIExtensions {
406406+export interface OAuthFlowObject extends SpecExtensions {
405407 /**
406408 * **REQUIRED (`"implicit"`, `"authorizationCode"`)**. The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.
407409 */
···425427 *
426428 * This object MAY be extended with {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#specification-extensions Specification Extensions}.
427429 */
428428-export interface OAuthFlowsObject extends OpenAPIExtensions {
430430+export interface OAuthFlowsObject extends SpecExtensions {
429431 /**
430432 * Configuration for the OAuth Authorization Code flow. Previously called `accessCode` in OpenAPI 2.0.
431433 */
···451453 *
452454 * TODO: examples
453455 */
454454-export interface OperationObject extends OpenAPIExtensions {
456456+export interface OperationObject extends SpecExtensions {
455457 /**
456458 * A map of possible out-of band callbacks related to the parent operation. The key is a unique identifier for the Callback Object. Each value in the map is a {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#callback-object Callback Object} that describes a request that may be initiated by the API provider and the expected responses.
457459 */
···550552 *
551553 * TODO: examples
552554 */
553553-export interface ParameterObject extends OpenAPIExtensions {
555555+export interface ParameterObject extends SpecExtensions {
554556 /**
555557 * If `true`, clients MAY pass a zero-length string value in place of parameters that would otherwise be omitted entirely, which the server SHOULD interpret as the parameter being unused. Default value is `false`. If {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#parameter-style `style`} is used, and if {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#style-examples behavior is _n/a_ (cannot be serialized)}, the value of `allowEmptyValue` SHALL be ignored. Interactions between this field and the parameter's {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#schema-object Schema Object} are implementation-defined. This field is valid only for `query` parameters. Use of this field is NOT RECOMMENDED, and it is likely to be removed in a later revision.
556558 */
···622624 *
623625 * TODO: examples
624626 */
625625-export interface PathItemObject extends OpenAPIExtensions {
627627+export interface PathItemObject extends SpecExtensions {
626628 /**
627629 * Allows for a referenced definition of this path item. The value MUST be in the form of a URL, and the referenced structure MUST be in the form of a {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#path-item-object Path Item Object}. In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined. See the rules for resolving {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#relative-references-in-urls Relative References}.
628630 */
···684686 *
685687 * TODO: examples
686688 */
687687-export interface PathsObject extends OpenAPIExtensions {
689689+export interface PathsObject extends SpecExtensions {
688690 /**
689691 * A relative path to an individual endpoint. The field name MUST begin with a forward slash (`/`). The path is **appended** (no relative URL resolution) to the expanded URL from the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#server-object Server Object}'s `url` field in order to construct the full URL. {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#path-templating Path templating} is allowed. When matching URLs, concrete (non-templated) paths would be matched before their templated counterparts. Templated paths with the same hierarchy but different templated names MUST NOT exist as they are identical. In case of ambiguous matching, it's up to the tooling to decide which one to use.
690692 */
···732734 *
733735 * TODO: examples
734736 */
735735-export interface RequestBodyObject extends OpenAPIExtensions {
737737+export interface RequestBodyObject extends SpecExtensions {
736738 /**
737739 * **REQUIRED**. The content of the request body. The key is a media type or {@link https://tools.ietf.org/html/rfc7231#appendix-D media type range} and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. `"text/plain"` overrides `"text/*"`
738740 */
···754756 *
755757 * TODO: examples
756758 */
757757-export interface ResponseObject extends OpenAPIExtensions {
759759+export interface ResponseObject extends SpecExtensions {
758760 /**
759761 * A map containing descriptions of potential response payloads. The key is a media type or {@link https://tools.ietf.org/html/rfc7231#appendix-D media type range} and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. `"text/plain"` overrides `"text/*"`
760762 */
···786788 *
787789 * TODO: examples
788790 */
789789-export interface ResponsesObject extends OpenAPIExtensions {
791791+export interface ResponsesObject extends SpecExtensions {
790792 /**
791793 * Any {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#http-status-codes HTTP status code} can be used as the property name, but only one property per code, to describe the expected response for that HTTP status code. A {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#reference-object Reference Object} can link to a response that is defined in the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#components-responses OpenAPI Object's `components.responses`} section. This field MUST be enclosed in quotation marks (for example, "200") for compatibility between JSON and YAML. To define a range of response codes, this field MAY contain the uppercase wildcard character `X`. For example, `2XX` represents all response codes between `200` and `299`. Only the following range definitions are allowed: `1XX`, `2XX`, `3XX`, `4XX`, and `5XX`. If a response is defined using an explicit code, the explicit code definition takes precedence over the range definition for that code.
792794 */
···848850 *
849851 * TODO: content, examples
850852 */
851851-export interface SchemaObject extends EnumExtensions, OpenAPIExtensions {
853853+export interface SchemaObject extends EnumExtensions, SpecExtensions {
852854 /**
853855 * The value of "additionalProperties" MUST be a boolean or a schema.
854856 *
···11011103 *
11021104 * TODO: examples
11031105 */
11041104-export type SecuritySchemeObject = OpenAPIExtensions & {
11061106+export type SecuritySchemeObject = SpecExtensions & {
11051107 /**
11061108 * A description for security scheme. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
11071109 */
···11641166 *
11651167 * TODO: examples
11661168 */
11671167-export interface ServerObject extends OpenAPIExtensions {
11691169+export interface ServerObject extends SpecExtensions {
11681170 /**
11691171 * An optional string describing the host designated by the URL. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
11701172 */
···11841186 *
11851187 * This object MAY be extended with {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#specification-extensions Specification Extensions}.
11861188 */
11871187-export interface ServerVariableObject extends OpenAPIExtensions {
11891189+export interface ServerVariableObject extends SpecExtensions {
11881190 /**
11891191 * **REQUIRED**. The default value to use for substitution, which SHALL be sent if an alternate value is _not_ supplied. If the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#server-variable-enum `enum`} is defined, the value SHOULD exist in the enum's values. Note that this behavior is different from the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#schema-object Schema Object}'s `default` keyword, which documents the receiver's behavior rather than inserting the value into the data.
11901192 */
···12111213 * description: Pets operations
12121214 * ```
12131215 */
12141214-export interface TagObject extends OpenAPIExtensions {
12161216+export interface TagObject extends SpecExtensions {
12151217 /**
12161218 * A description for the tag. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
12171219 */
···12401242 *
12411243 * TODO: examples
12421244 */
12431243-export interface XMLObject extends OpenAPIExtensions {
12451245+export interface XMLObject extends SpecExtensions {
12441246 /**
12451247 * Declares whether the property definition translates to an attribute instead of an element. Default value is `false`.
12461248 */