diff --git a/packages/apidom-ls/src/config/codes.ts b/packages/apidom-ls/src/config/codes.ts
index 9ad69a3f68..fb6fbecada 100644
--- a/packages/apidom-ls/src/config/codes.ts
+++ b/packages/apidom-ls/src/config/codes.ts
@@ -848,6 +848,7 @@ enum ApilintCodes {
OPENAPI3_0_OPENAPI_VALUE_PATTERN_3_0_1,
OPENAPI3_0_OPENAPI_VALUE_PATTERN_3_0_2,
OPENAPI3_0_OPENAPI_VALUE_PATTERN_3_0_3,
+ OPENAPI3_0_OPENAPI_VALUE_PATTERN_3_0_4,
OPENAPI3_0_OPEN_API = 5010000,
OPENAPI3_0_OPEN_API_FIELD_INFO_TYPE = 5010100,
diff --git a/packages/apidom-ls/src/config/openapi/callback/documentation.ts b/packages/apidom-ls/src/config/openapi/callback/documentation.ts
index 511770540f..c0b154d585 100644
--- a/packages/apidom-ls/src/config/openapi/callback/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/callback/documentation.ts
@@ -2,7 +2,7 @@ import { OpenAPI30, OpenAPI31 } from '../target-specs.ts';
const documentation = [
{
- docs: "#### [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject)\n\nA map of possible out-of band callbacks related to the parent operation.\nEach value in the map is a [Path Item Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemObject) that describes a set of requests that may be initiated by the API provider and the expected responses.\nThe key value used to identify the path item object is an expression, evaluated at runtime, that identifies a URL to use for the callback operation.\n\n##### Patterned Fields\nField Pattern | Type | Description\n---|:---:|---\n{expression} | [Path Item Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemObject) | A Path Item Object used to define a callback request and expected responses. A [complete example](https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/callback-example.yaml) is available.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Key Expression\n\nThe key that identifies the [Path Item Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemObject) is a [runtime expression](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression) that can be evaluated in the context of a runtime HTTP request/response to identify the URL to be used for the callback request.\nA simple example might be `$request.body#/url`.\nHowever, using a [runtime expression](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression) the complete HTTP message can be accessed.\nThis includes accessing any part of a body that a JSON Pointer [RFC6901](https://tools.ietf.org/html/rfc6901) can reference.\n\nFor example, given the following HTTP request:\n\n```http\nPOST /subscribe/myevent?queryUrl=http://clientdomain.com/stillrunning HTTP/1.1\nHost: example.org\nContent-Type: application/json\nContent-Length: 187\n\n{\n \"failedUrl\" : \"http://clientdomain.com/failed\",\n \"successUrls\" : [\n \"http://clientdomain.com/fast\",\n \"http://clientdomain.com/medium\",\n \"http://clientdomain.com/slow\"\n ]\n}\n\n201 Created\nLocation: http://example.org/subscription/1\n```\n\nThe following examples show how the various expressions evaluate, assuming the callback operation has a path parameter named `eventType` and a query parameter named `queryUrl`.\n\nExpression | Value\n---|:---\n$url | http://example.org/subscribe/myevent?queryUrl=http://clientdomain.com/stillrunning\n$method | POST\n$request.path.eventType | myevent\n$request.query.queryUrl | http://clientdomain.com/stillrunning\n$request.header.content-Type | application/json\n$request.body#/failedUrl | http://clientdomain.com/failed\n$request.body#/successUrls/2 | http://clientdomain.com/medium\n$response.header.Location | http://example.org/subscription/1\n\n\n##### Callback Object Examples\n\nThe following example uses the user provided `queryUrl` query string parameter to define the callback URL. This is an example of how to use a callback object to describe a WebHook callback that goes with the subscription operation to enable registering for the WebHook.\n\n\n\\\nYAML\n```yaml\nmyCallback:\n '{$request.query.queryUrl}':\n post:\n requestBody:\n description: Callback payload\n content:\n 'application/json':\n schema:\n $ref: '#/components/schemas/SomePayload'\n responses:\n '200':\n description: callback successfully processed\n```\n\nThe following example shows a callback where the server is hard-coded, but the query string parameters are populated from the `id` and `email` property in the request body.\n\n```yaml\ntransactionCallback:\n 'http://notificationServer.com?transactionId={$request.body#/id}&email={$request.body#/email}':\n post:\n requestBody:\n description: Callback payload\n content:\n 'application/json':\n schema:\n $ref: '#/components/schemas/SomePayload'\n responses:\n '200':\n description: callback successfully processed\n```",
+ docs: "#### [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object)\n\nA map of possible out-of band callbacks related to the parent operation.\nEach value in the map is a [Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object) that describes a set of requests that may be initiated by the API provider and the expected responses.\nThe key value used to identify the path item object is an expression, evaluated at runtime, that identifies a URL to use for the callback operation.\n\n##### Patterned Fields\nField Pattern | Type | Description\n---|:---:|---\n{expression} | [Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object) | A Path Item Object used to define a callback request and expected responses. A [complete example](https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/callback-example.yaml) is available.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Key Expression\n\nThe key that identifies the [Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object) is a [runtime expression](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions) that can be evaluated in the context of a runtime HTTP request/response to identify the URL to be used for the callback request.\nA simple example might be `$request.body#/url`.\nHowever, using a [runtime expression](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions) the complete HTTP message can be accessed.\nThis includes accessing any part of a body that a JSON Pointer [RFC6901](https://tools.ietf.org/html/rfc6901) can reference.\n\nFor example, given the following HTTP request:\n\n```http\nPOST /subscribe/myevent?queryUrl=http://clientdomain.com/stillrunning HTTP/1.1\nHost: example.org\nContent-Type: application/json\nContent-Length: 187\n\n{\n \"failedUrl\" : \"http://clientdomain.com/failed\",\n \"successUrls\" : [\n \"http://clientdomain.com/fast\",\n \"http://clientdomain.com/medium\",\n \"http://clientdomain.com/slow\"\n ]\n}\n\n201 Created\nLocation: http://example.org/subscription/1\n```\n\nThe following examples show how the various expressions evaluate, assuming the callback operation has a path parameter named `eventType` and a query parameter named `queryUrl`.\n\nExpression | Value\n---|:---\n$url | http://example.org/subscribe/myevent?queryUrl=http://clientdomain.com/stillrunning\n$method | POST\n$request.path.eventType | myevent\n$request.query.queryUrl | http://clientdomain.com/stillrunning\n$request.header.content-Type | application/json\n$request.body#/failedUrl | http://clientdomain.com/failed\n$request.body#/successUrls/2 | http://clientdomain.com/medium\n$response.header.Location | http://example.org/subscription/1\n\n\n##### Callback Object Examples\n\nThe following example uses the user provided `queryUrl` query string parameter to define the callback URL. This is an example of how to use a callback object to describe a WebHook callback that goes with the subscription operation to enable registering for the WebHook.\n\n\n\\\nYAML\n```yaml\nmyCallback:\n '{$request.query.queryUrl}':\n post:\n requestBody:\n description: Callback payload\n content:\n 'application/json':\n schema:\n $ref: '#/components/schemas/SomePayload'\n responses:\n '200':\n description: callback successfully processed\n```\n\nThe following example shows a callback where the server is hard-coded, but the query string parameters are populated from the `id` and `email` property in the request body.\n\n```yaml\ntransactionCallback:\n 'http://notificationServer.com?transactionId={$request.body#/id}&email={$request.body#/email}':\n post:\n requestBody:\n description: Callback payload\n content:\n 'application/json':\n schema:\n $ref: '#/components/schemas/SomePayload'\n responses:\n '200':\n description: callback successfully processed\n```",
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/components/completion.ts b/packages/apidom-ls/src/config/openapi/components/completion.ts
index c74ae78677..6ce307f33d 100644
--- a/packages/apidom-ls/src/config/openapi/components/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/components/completion.ts
@@ -16,7 +16,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Schema Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject).',
+ 'Map[`string`, [Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Schema Objects](https://spec.openapis.org/oas/v3.0.4.html#schema-object).',
},
targetSpecs: OpenAPI30,
},
@@ -44,7 +44,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Response Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject).',
+ 'Map[`string`, [Response Object](https://spec.openapis.org/oas/v3.0.4.html#response-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Response Objects](https://spec.openapis.org/oas/v3.0.4.html#response-object).',
},
targetSpecs: OpenAPI30,
},
@@ -72,7 +72,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Parameter Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject).',
+ 'Map[`string`, [Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Parameter Objects](https://spec.openapis.org/oas/v3.0.4.html#parameter-object).',
},
targetSpecs: OpenAPI30,
},
@@ -100,7 +100,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Example Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject).',
+ 'Map[`string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Example Objects](https://spec.openapis.org/oas/v3.0.4.html#example-object).',
},
targetSpecs: OpenAPI30,
},
@@ -128,7 +128,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Request Body Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Request Body Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject).',
+ 'Map[`string`, [Request Body Object](https://spec.openapis.org/oas/v3.0.4.html#request-body-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Request Body Objects](https://spec.openapis.org/oas/v3.0.4.html#request-body-object).',
},
targetSpecs: OpenAPI30,
},
@@ -156,7 +156,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Header Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject).',
+ 'Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Header Objects](https://spec.openapis.org/oas/v3.0.4.html#header-object).',
},
targetSpecs: OpenAPI30,
},
@@ -184,7 +184,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Security Scheme Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securitySchemeObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Security Scheme Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securitySchemeObject).',
+ 'Map[`string`, [Security Scheme Object](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Security Scheme Objects](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object).',
},
targetSpecs: OpenAPI30,
},
@@ -212,7 +212,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Link Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Link Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject).',
+ 'Map[`string`, [Link Object](https://spec.openapis.org/oas/v3.0.4.html#link-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Link Objects](https://spec.openapis.org/oas/v3.0.4.html#link-object).',
},
targetSpecs: OpenAPI30,
},
@@ -226,7 +226,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Link Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Link Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject).',
+ 'Map[`string`, [Link Object](https://spec.openapis.org/oas/v3.0.4.html#link-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Link Objects](https://spec.openapis.org/oas/v3.0.4.html#link-object).',
},
targetSpecs: OpenAPI31,
},
@@ -240,7 +240,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Callback Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject).',
+ 'Map[`string`, [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Callback Objects](https://spec.openapis.org/oas/v3.0.4.html#callback-object).',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/components/documentation.ts b/packages/apidom-ls/src/config/openapi/components/documentation.ts
index 9db46676ef..6dfae5e387 100644
--- a/packages/apidom-ls/src/config/openapi/components/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/components/documentation.ts
@@ -3,7 +3,7 @@ import { OpenAPI30, OpenAPI31 } from '../target-specs.ts';
const documentation = [
{
target: 'schemas',
- docs: 'Map[`string`, [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Schema Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject).',
+ docs: 'Map[`string`, [Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Schema Objects](https://spec.openapis.org/oas/v3.0.4.html#schema-object).',
targetSpecs: OpenAPI30,
},
{
@@ -13,7 +13,7 @@ const documentation = [
},
{
target: 'responses',
- docs: 'Map[`string`, [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Response Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject).',
+ docs: 'Map[`string`, [Response Object](https://spec.openapis.org/oas/v3.0.4.html#response-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Response Objects](https://spec.openapis.org/oas/v3.0.4.html#response-object).',
targetSpecs: OpenAPI30,
},
{
@@ -23,7 +23,7 @@ const documentation = [
},
{
target: 'parameters',
- docs: 'Map[`string`, [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Parameter Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject).',
+ docs: 'Map[`string`, [Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Parameter Objects](https://spec.openapis.org/oas/v3.0.4.html#parameter-object).',
targetSpecs: OpenAPI30,
},
{
@@ -33,7 +33,7 @@ const documentation = [
},
{
target: 'examples',
- docs: 'Map[`string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Example Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject).',
+ docs: 'Map[`string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Example Objects](https://spec.openapis.org/oas/v3.0.4.html#example-object).',
targetSpecs: OpenAPI30,
},
{
@@ -43,7 +43,7 @@ const documentation = [
},
{
target: 'requestBodies',
- docs: 'Map[`string`, [Request Body Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Request Body Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject).',
+ docs: 'Map[`string`, [Request Body Object](https://spec.openapis.org/oas/v3.0.4.html#request-body-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Request Body Objects](https://spec.openapis.org/oas/v3.0.4.html#request-body-object).',
targetSpecs: OpenAPI30,
},
{
@@ -53,7 +53,7 @@ const documentation = [
},
{
target: 'headers',
- docs: 'Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Header Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject).',
+ docs: 'Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Header Objects](https://spec.openapis.org/oas/v3.0.4.html#header-object).',
targetSpecs: OpenAPI30,
},
{
@@ -63,7 +63,7 @@ const documentation = [
},
{
target: 'securitySchemes',
- docs: 'Map[`string`, [Security Scheme Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securitySchemeObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Security Scheme Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securitySchemeObject).',
+ docs: 'Map[`string`, [Security Scheme Object](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Security Scheme Objects](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object).',
targetSpecs: OpenAPI30,
},
{
@@ -73,7 +73,7 @@ const documentation = [
},
{
target: 'links',
- docs: 'Map[`string`, [Link Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Link Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject).',
+ docs: 'Map[`string`, [Link Object](https://spec.openapis.org/oas/v3.0.4.html#link-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Link Objects](https://spec.openapis.org/oas/v3.0.4.html#link-object).',
targetSpecs: OpenAPI30,
},
{
@@ -83,7 +83,7 @@ const documentation = [
},
{
target: 'callbacks',
- docs: 'Map[`string`, [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nAn object to hold reusable [Callback Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject).',
+ docs: 'Map[`string`, [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nAn object to hold reusable [Callback Objects](https://spec.openapis.org/oas/v3.0.4.html#callback-object).',
targetSpecs: OpenAPI30,
},
{
@@ -97,7 +97,7 @@ const documentation = [
targetSpecs: OpenAPI31,
},
{
- docs: '#### [Components Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md)\n\nHolds a set of reusable objects for different aspects of the OAS.\nAll objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.\n\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---|---\nschemas | Map[`string`, [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Schema Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject).\nresponses | Map[`string`, [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Response Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject).\nparameters | Map[`string`, [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Parameter Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject).\nexamples | Map[`string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Example Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject).\nrequestBodies | Map[`string`, [Request Body Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Request Body Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject).\nheaders | Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Header Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject).\nsecuritySchemes| Map[`string`, [Security Scheme Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securitySchemeObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Security Scheme Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securitySchemeObject).\nlinks | Map[`string`, [Link Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Link Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject).\ncallbacks | Map[`string`, [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | An object to hold reusable [Callback Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject).\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\nAll the fixed fields declared above are objects that MUST use keys that match the regular expression: `^[a-zA-Z0-9\\.\\-_]+$`.\n\nField Name Examples:\n\n```\nUser\nUser_1\nUser_Name\nuser-name\nmy.org.User\n```\n\n##### Components Object Example\n\n\n\\\nJSON\n```json\n"components": {\n "schemas": {\n "GeneralError": {\n "type": "object",\n "properties": {\n "code": {\n "type": "integer",\n "format": "int32"\n },\n "message": {\n "type": "string"\n }\n }\n },\n "Category": {\n "type": "object",\n "properties": {\n "id": {\n "type": "integer",\n "format": "int64"\n },\n "name": {\n "type": "string"\n }\n }\n },\n "Tag": {\n "type": "object",\n "properties": {\n "id": {\n "type": "integer",\n "format": "int64"\n },\n "name": {\n "type": "string"\n }\n }\n }\n },\n "parameters": {\n "skipParam": {\n "name": "skip",\n "in": "query",\n "description": "number of items to skip",\n "required": true,\n "schema": {\n "type": "integer",\n "format": "int32"\n }\n },\n "limitParam": {\n "name": "limit",\n "in": "query",\n "description": "max records to return",\n "required": true,\n "schema" : {\n "type": "integer",\n "format": "int32"\n }\n }\n },\n "responses": {\n "NotFound": {\n "description": "Entity not found."\n },\n "IllegalInput": {\n "description": "Illegal input for operation."\n },\n "GeneralError": {\n "description": "General Error",\n "content": {\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/GeneralError"\n }\n }\n }\n }\n },\n "securitySchemes": {\n "api_key": {\n "type": "apiKey",\n "name": "api_key",\n "in": "header"\n },\n "petstore_auth": {\n "type": "oauth2",\n "flows": {\n "implicit": {\n "authorizationUrl": "http://example.org/api/oauth/dialog",\n "scopes": {\n "write:pets": "modify pets in your account",\n "read:pets": "read your pets"\n }\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ncomponents:\n schemas:\n GeneralError:\n type: object\n properties:\n code:\n type: integer\n format: int32\n message:\n type: string\n Category:\n type: object\n properties:\n id:\n type: integer\n format: int64\n name:\n type: string\n Tag:\n type: object\n properties:\n id:\n type: integer\n format: int64\n name:\n type: string\n parameters:\n skipParam:\n name: skip\n in: query\n description: number of items to skip\n required: true\n schema:\n type: integer\n format: int32\n limitParam:\n name: limit\n in: query\n description: max records to return\n required: true\n schema:\n type: integer\n format: int32\n responses:\n NotFound:\n description: Entity not found.\n IllegalInput:\n description: Illegal input for operation.\n GeneralError:\n description: General Error\n content:\n application/json:\n schema:\n $ref: \'#/components/schemas/GeneralError\'\n securitySchemes:\n api_key:\n type: apiKey\n name: api_key\n in: header\n petstore_auth:\n type: oauth2\n flows:\n implicit:\n authorizationUrl: http://example.org/api/oauth/dialog\n scopes:\n write:pets: modify pets in your account\n read:pets: read your pets\n```',
+ docs: '#### [Components Object](https://spec.openapis.org/oas/v3.0.4.html)\n\nHolds a set of reusable objects for different aspects of the OAS.\nAll objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.\n\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---|---\nschemas | Map[`string`, [Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Schema Objects](https://spec.openapis.org/oas/v3.0.4.html#schema-object).\nresponses | Map[`string`, [Response Object](https://spec.openapis.org/oas/v3.0.4.html#response-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Response Objects](https://spec.openapis.org/oas/v3.0.4.html#response-object).\nparameters | Map[`string`, [Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Parameter Objects](https://spec.openapis.org/oas/v3.0.4.html#parameter-object).\nexamples | Map[`string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Example Objects](https://spec.openapis.org/oas/v3.0.4.html#example-object).\nrequestBodies | Map[`string`, [Request Body Object](https://spec.openapis.org/oas/v3.0.4.html#request-body-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Request Body Objects](https://spec.openapis.org/oas/v3.0.4.html#request-body-object).\nheaders | Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Header Objects](https://spec.openapis.org/oas/v3.0.4.html#header-object).\nsecuritySchemes| Map[`string`, [Security Scheme Object](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Security Scheme Objects](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object).\nlinks | Map[`string`, [Link Object](https://spec.openapis.org/oas/v3.0.4.html#link-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Link Objects](https://spec.openapis.org/oas/v3.0.4.html#link-object).\ncallbacks | Map[`string`, [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | An object to hold reusable [Callback Objects](https://spec.openapis.org/oas/v3.0.4.html#callback-object).\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\nAll the fixed fields declared above are objects that MUST use keys that match the regular expression: `^[a-zA-Z0-9\\.\\-_]+$`.\n\nField Name Examples:\n\n```\nUser\nUser_1\nUser_Name\nuser-name\nmy.org.User\n```\n\n##### Components Object Example\n\n\n\\\nJSON\n```json\n"components": {\n "schemas": {\n "GeneralError": {\n "type": "object",\n "properties": {\n "code": {\n "type": "integer",\n "format": "int32"\n },\n "message": {\n "type": "string"\n }\n }\n },\n "Category": {\n "type": "object",\n "properties": {\n "id": {\n "type": "integer",\n "format": "int64"\n },\n "name": {\n "type": "string"\n }\n }\n },\n "Tag": {\n "type": "object",\n "properties": {\n "id": {\n "type": "integer",\n "format": "int64"\n },\n "name": {\n "type": "string"\n }\n }\n }\n },\n "parameters": {\n "skipParam": {\n "name": "skip",\n "in": "query",\n "description": "number of items to skip",\n "required": true,\n "schema": {\n "type": "integer",\n "format": "int32"\n }\n },\n "limitParam": {\n "name": "limit",\n "in": "query",\n "description": "max records to return",\n "required": true,\n "schema" : {\n "type": "integer",\n "format": "int32"\n }\n }\n },\n "responses": {\n "NotFound": {\n "description": "Entity not found."\n },\n "IllegalInput": {\n "description": "Illegal input for operation."\n },\n "GeneralError": {\n "description": "General Error",\n "content": {\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/GeneralError"\n }\n }\n }\n }\n },\n "securitySchemes": {\n "api_key": {\n "type": "apiKey",\n "name": "api_key",\n "in": "header"\n },\n "petstore_auth": {\n "type": "oauth2",\n "flows": {\n "implicit": {\n "authorizationUrl": "http://example.org/api/oauth/dialog",\n "scopes": {\n "write:pets": "modify pets in your account",\n "read:pets": "read your pets"\n }\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ncomponents:\n schemas:\n GeneralError:\n type: object\n properties:\n code:\n type: integer\n format: int32\n message:\n type: string\n Category:\n type: object\n properties:\n id:\n type: integer\n format: int64\n name:\n type: string\n Tag:\n type: object\n properties:\n id:\n type: integer\n format: int64\n name:\n type: string\n parameters:\n skipParam:\n name: skip\n in: query\n description: number of items to skip\n required: true\n schema:\n type: integer\n format: int32\n limitParam:\n name: limit\n in: query\n description: max records to return\n required: true\n schema:\n type: integer\n format: int32\n responses:\n NotFound:\n description: Entity not found.\n IllegalInput:\n description: Illegal input for operation.\n GeneralError:\n description: General Error\n content:\n application/json:\n schema:\n $ref: \'#/components/schemas/GeneralError\'\n securitySchemes:\n api_key:\n type: apiKey\n name: api_key\n in: header\n petstore_auth:\n type: oauth2\n flows:\n implicit:\n authorizationUrl: http://example.org/api/oauth/dialog\n scopes:\n write:pets: modify pets in your account\n read:pets: read your pets\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/contact/documentation.ts b/packages/apidom-ls/src/config/openapi/contact/documentation.ts
index 217ed528bb..d40a39cd7b 100644
--- a/packages/apidom-ls/src/config/openapi/contact/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/contact/documentation.ts
@@ -31,7 +31,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Contact Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#contactObject)\n\nContact information for the exposed API.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nname | `string` | The identifying name of the contact person/organization.\nurl | `string` | The URL pointing to the contact information. MUST be in the format of a URL.\nemail | `string` | The email address of the contact person/organization. MUST be in the format of an email address.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Contact Object Example\n\n\n\\\nJSON\n```json\n{\n "name": "API Support",\n "url": "http://www.example.com/support",\n "email": "support@example.com"\n}\n```\n\n\n\\\nYAML\n```yaml\nname: API Support\nurl: http://www.example.com/support\nemail: support@example.com\n```',
+ docs: '#### [Contact Object](https://spec.openapis.org/oas/v3.0.4.html#contact-object)\n\nContact information for the exposed API.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nname | `string` | The identifying name of the contact person/organization.\nurl | `string` | The URL pointing to the contact information. MUST be in the format of a URL.\nemail | `string` | The email address of the contact person/organization. MUST be in the format of an email address.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Contact Object Example\n\n\n\\\nJSON\n```json\n{\n "name": "API Support",\n "url": "http://www.example.com/support",\n "email": "support@example.com"\n}\n```\n\n\n\\\nYAML\n```yaml\nname: API Support\nurl: http://www.example.com/support\nemail: support@example.com\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/discriminator/documentation.ts b/packages/apidom-ls/src/config/openapi/discriminator/documentation.ts
index 43269d6c53..f5048b0fd0 100644
--- a/packages/apidom-ls/src/config/openapi/discriminator/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/discriminator/documentation.ts
@@ -20,7 +20,7 @@ const documentation = [
* source documentation.
*/
{
- docs: '#### [Discriminator Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#discriminatorObject)\n\nWhen request bodies or response payloads may be one of a number of different schemas, a `discriminator` object can be used to aid in serialization, deserialization, and validation. The discriminator is a specific object in a schema which is used to inform the consumer of the specification of an alternative schema based on the value associated with it.\n\nWhen using the discriminator, _inline_ schemas will not be considered.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\npropertyName | `string` | **REQUIRED**. The name of the property in the payload that will hold the discriminator value.\nmapping | Map[`string`, `string`] | An object to hold mappings between payload values and schema names or references.\n\nThe discriminator object is legal only when using one of the composite keywords `oneOf`, `anyOf`, `allOf`.\n\n##### [Composition and Inheritance (Polymorphism)](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#composition-and-inheritance-polymorphism)\n\nThe OpenAPI Specification allows combining and extending model definitions using the `allOf` property of JSON Schema, in effect offering model composition.\n`allOf` takes an array of object definitions that are validated *independently* but together compose a single object.\n\n\\\nWhile composition offers model extensibility, it does not imply a hierarchy between the models.\nTo support polymorphism, the OpenAPI Specification adds the `discriminator` field.\nWhen used, the `discriminator` will be the name of the property that decides which schema definition validates the structure of the model.\nAs such, the `discriminator` field MUST be a required field.\nThere are two ways to define the value of a discriminator for an inheriting instance.\n- Use the schema name.\n- Override the schema name by overriding the property with a new value. If a new value exists, this takes precedence over the schema name.\nAs such, inline schema definitions, which do not have a given id, *cannot* be used in polymorphism.\n\n#### Additional documentation topics\n\nFurther explanations of usage can be found in the source documentation for the [Discriminator Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#discriminatorObject)',
+ docs: '#### [Discriminator Object](https://spec.openapis.org/oas/v3.0.4.html#discriminator-object)\n\nWhen request bodies or response payloads may be one of a number of different schemas, a `discriminator` object can be used to aid in serialization, deserialization, and validation. The discriminator is a specific object in a schema which is used to inform the consumer of the specification of an alternative schema based on the value associated with it.\n\nWhen using the discriminator, _inline_ schemas will not be considered.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\npropertyName | `string` | **REQUIRED**. The name of the property in the payload that will hold the discriminator value.\nmapping | Map[`string`, `string`] | An object to hold mappings between payload values and schema names or references.\n\nThe discriminator object is legal only when using one of the composite keywords `oneOf`, `anyOf`, `allOf`.\n\n##### [Composition and Inheritance (Polymorphism)](https://spec.openapis.org/oas/v3.0.4.html#composition-and-inheritance-polymorphism)\n\nThe OpenAPI Specification allows combining and extending model definitions using the `allOf` property of JSON Schema, in effect offering model composition.\n`allOf` takes an array of object definitions that are validated *independently* but together compose a single object.\n\n\\\nWhile composition offers model extensibility, it does not imply a hierarchy between the models.\nTo support polymorphism, the OpenAPI Specification adds the `discriminator` field.\nWhen used, the `discriminator` will be the name of the property that decides which schema definition validates the structure of the model.\nAs such, the `discriminator` field MUST be a required field.\nThere are two ways to define the value of a discriminator for an inheriting instance.\n- Use the schema name.\n- Override the schema name by overriding the property with a new value. If a new value exists, this takes precedence over the schema name.\nAs such, inline schema definitions, which do not have a given id, *cannot* be used in polymorphism.\n\n#### Additional documentation topics\n\nFurther explanations of usage can be found in the source documentation for the [Discriminator Object](https://spec.openapis.org/oas/v3.0.4.html#discriminator-object)',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/encoding/completion.ts b/packages/apidom-ls/src/config/openapi/encoding/completion.ts
index 3c58db807f..19d757b5e9 100644
--- a/packages/apidom-ls/src/config/openapi/encoding/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/encoding/completion.ts
@@ -44,7 +44,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nA map allowing additional information to be provided as headers, for example `Content-Disposition`. `Content-Type` is described separately and SHALL be ignored in this section. This property SHALL be ignored if the request body media type is not a `multipart`.',
+ 'Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nA map allowing additional information to be provided as headers, for example `Content-Disposition`. `Content-Type` is described separately and SHALL be ignored in this section. This property SHALL be ignored if the request body media type is not a `multipart`.',
},
targetSpecs: OpenAPI30,
},
@@ -72,7 +72,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Describes how a specific property value will be serialized depending on its type. See [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) for details on the [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) property. The behavior follows the same values as `query` parameters, including default values. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.',
+ 'Describes how a specific property value will be serialized depending on its type. See [Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) for details on the [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-style) property. The behavior follows the same values as `query` parameters, including default values. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.',
},
targetSpecs: OpenAPI30,
},
@@ -100,7 +100,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'When this is true, property values of type `array` or `object` generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#encodingStyle) is `form`, the default value is `true`. For all other styles, the default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.',
+ 'When this is true, property values of type `array` or `object` generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When [`style`](https://spec.openapis.org/oas/v3.0.4.html#encoding-style) is `form`, the default value is `true`. For all other styles, the default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/encoding/documentation.ts b/packages/apidom-ls/src/config/openapi/encoding/documentation.ts
index 00888fc6c7..6da035a718 100644
--- a/packages/apidom-ls/src/config/openapi/encoding/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/encoding/documentation.ts
@@ -13,7 +13,7 @@ const documentation = [
},
{
target: 'headers',
- docs: 'Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nA map allowing additional information to be provided as headers, for example `Content-Disposition`. `Content-Type` is described separately and SHALL be ignored in this section. This property SHALL be ignored if the request body media type is not a `multipart`.',
+ docs: 'Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nA map allowing additional information to be provided as headers, for example `Content-Disposition`. `Content-Type` is described separately and SHALL be ignored in this section. This property SHALL be ignored if the request body media type is not a `multipart`.',
targetSpecs: OpenAPI30,
},
{
@@ -23,7 +23,7 @@ const documentation = [
},
{
target: 'style',
- docs: 'Describes how a specific property value will be serialized depending on its type. See [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) for details on the [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) property. The behavior follows the same values as `query` parameters, including default values. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.',
+ docs: 'Describes how a specific property value will be serialized depending on its type. See [Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) for details on the [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-style) property. The behavior follows the same values as `query` parameters, including default values. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.',
targetSpecs: OpenAPI30,
},
{
@@ -33,7 +33,7 @@ const documentation = [
},
{
target: 'explode',
- docs: 'When this is true, property values of type `array` or `object` generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#encodingStyle) is `form`, the default value is `true`. For all other styles, the default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.',
+ docs: 'When this is true, property values of type `array` or `object` generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When [`style`](https://spec.openapis.org/oas/v3.0.4.html#encoding-style) is `form`, the default value is `true`. For all other styles, the default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.',
targetSpecs: OpenAPI30,
},
{
@@ -52,7 +52,7 @@ const documentation = [
targetSpecs: OpenAPI31,
},
{
- docs: "#### [Encoding Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#encoding-object)\n\nA single encoding definition applied to a single schema property.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\ncontentType | `string` | The Content-Type for encoding a specific property. Default value depends on the property type: for `string` with `format` being `binary` – `application/octet-stream`; for other primitive types – `text/plain`; for `object` - `application/json`; for `array` – the default is defined based on the inner type. The value can be a specific media type (e.g. `application/json`), a wildcard media type (e.g. `image/*`), or a comma-separated list of the two types.\nheaders | Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | A map allowing additional information to be provided as headers, for example `Content-Disposition`. `Content-Type` is described separately and SHALL be ignored in this section. This property SHALL be ignored if the request body media type is not a `multipart`.\nstyle | `string` | Describes how a specific property value will be serialized depending on its type. See [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) for details on the [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) property. The behavior follows the same values as `query` parameters, including default values. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.\nexplode | `boolean` | When this is true, property values of type `array` or `object` generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#encodingStyle) is `form`, the default value is `true`. For all other styles, the default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.\nallowReserved | `boolean` | Determines whether the parameter value SHOULD allow reserved characters, as defined by [RFC3986](https://tools.ietf.org/html/rfc3986#section-2.2) `:/?#[]@!$&'()*+,;=` 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`.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Encoding Object Example\n\n\n\\\nYAML\n```yaml\nrequestBody:\n content:\n multipart/mixed:\n schema:\n type: object\n properties:\n id:\n # default is text/plain\n type: string\n format: uuid\n address:\n # default is application/json\n type: object\n properties: {}\n historyMetadata:\n # need to declare XML format!\n description: metadata in XML format\n type: object\n properties: {}\n profileImage:\n # default is application/octet-stream, need to declare an image type only!\n type: string\n format: binary\n encoding:\n historyMetadata:\n # require XML Content-Type in utf-8 encoding\n contentType: application/xml; charset=utf-8\n profileImage:\n # only accept png/jpeg\n contentType: image/png, image/jpeg\n headers:\n X-Rate-Limit-Limit:\n description: The number of allowed requests in the current period\n schema:\n type: integer\n```",
+ docs: "#### [Encoding Object](https://spec.openapis.org/oas/v3.0.4.html#encoding-object)\n\nA single encoding definition applied to a single schema property.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\ncontentType | `string` | The Content-Type for encoding a specific property. Default value depends on the property type: for `string` with `format` being `binary` – `application/octet-stream`; for other primitive types – `text/plain`; for `object` - `application/json`; for `array` – the default is defined based on the inner type. The value can be a specific media type (e.g. `application/json`), a wildcard media type (e.g. `image/*`), or a comma-separated list of the two types.\nheaders | Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | A map allowing additional information to be provided as headers, for example `Content-Disposition`. `Content-Type` is described separately and SHALL be ignored in this section. This property SHALL be ignored if the request body media type is not a `multipart`.\nstyle | `string` | Describes how a specific property value will be serialized depending on its type. See [Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) for details on the [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-style) property. The behavior follows the same values as `query` parameters, including default values. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.\nexplode | `boolean` | When this is true, property values of type `array` or `object` generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When [`style`](https://spec.openapis.org/oas/v3.0.4.html#encoding-style) is `form`, the default value is `true`. For all other styles, the default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded`.\nallowReserved | `boolean` | Determines whether the parameter value SHOULD allow reserved characters, as defined by [RFC3986](https://tools.ietf.org/html/rfc3986#section-2.2) `:/?#[]@!$&'()*+,;=` 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`.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Encoding Object Example\n\n\n\\\nYAML\n```yaml\nrequestBody:\n content:\n multipart/mixed:\n schema:\n type: object\n properties:\n id:\n # default is text/plain\n type: string\n format: uuid\n address:\n # default is application/json\n type: object\n properties: {}\n historyMetadata:\n # need to declare XML format!\n description: metadata in XML format\n type: object\n properties: {}\n profileImage:\n # default is application/octet-stream, need to declare an image type only!\n type: string\n format: binary\n encoding:\n historyMetadata:\n # require XML Content-Type in utf-8 encoding\n contentType: application/xml; charset=utf-8\n profileImage:\n # only accept png/jpeg\n contentType: image/png, image/jpeg\n headers:\n X-Rate-Limit-Limit:\n description: The number of allowed requests in the current period\n schema:\n type: integer\n```",
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/example/documentation.ts b/packages/apidom-ls/src/config/openapi/example/documentation.ts
index adef1dfcf1..30947f4221 100644
--- a/packages/apidom-ls/src/config/openapi/example/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/example/documentation.ts
@@ -31,7 +31,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: "#### [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject)\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nsummary | `string` | Short description for the example.\ndescription | `string` | Long description for the example. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nvalue | Any | Embedded literal example. The `value` field and `externalValue` field are mutually exclusive. To represent examples of media types that cannot naturally represented in JSON or YAML, use a string value to contain the example, escaping where necessary.\nexternalValue | `string` | A URL that points to the literal example. This provides the capability to reference examples that cannot easily be included in JSON or YAML documents. The `value` field and `externalValue` field are mutually exclusive.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\nIn all cases, the example value is expected to be compatible with the type schema\nof its associated value. Tooling implementations MAY choose to\nvalidate compatibility automatically, and reject the example value(s) if incompatible.\n\n##### Example Object Examples\n\nIn a request body:\n\n\n\\\nYAML\n```yaml\nrequestBody:\n content:\n 'application/json':\n schema:\n $ref: '#/components/schemas/Address'\n examples:\n foo:\n summary: A foo example\n value: {\"foo\": \"bar\"}\n bar:\n summary: A bar example\n value: {\"bar\": \"baz\"}\n 'application/xml':\n examples:\n xmlExample:\n summary: This is an example in XML\n externalValue: 'http://example.org/examples/address-example.xml'\n 'text/plain':\n examples:\n textExample:\n summary: This is a text example\n externalValue: 'http://foo.bar/examples/address-example.txt'\n```\n\nIn a parameter:\n\n```yaml\nparameters:\n - name: 'zipCode'\n in: 'query'\n schema:\n type: 'string'\n format: 'zip-code'\n examples:\n zip-example:\n $ref: '#/components/examples/zip-example'\n```\n\nIn a response:\n\n```yaml\nresponses:\n '200':\n description: your car appointment has been booked\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/SuccessResponse'\n examples:\n confirmation-success:\n $ref: '#/components/examples/confirmation-success'\n```",
+ docs: "#### [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object)\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nsummary | `string` | Short description for the example.\ndescription | `string` | Long description for the example. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nvalue | Any | Embedded literal example. The `value` field and `externalValue` field are mutually exclusive. To represent examples of media types that cannot naturally represented in JSON or YAML, use a string value to contain the example, escaping where necessary.\nexternalValue | `string` | A URL that points to the literal example. This provides the capability to reference examples that cannot easily be included in JSON or YAML documents. The `value` field and `externalValue` field are mutually exclusive.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\nIn all cases, the example value is expected to be compatible with the type schema\nof its associated value. Tooling implementations MAY choose to\nvalidate compatibility automatically, and reject the example value(s) if incompatible.\n\n##### Example Object Examples\n\nIn a request body:\n\n\n\\\nYAML\n```yaml\nrequestBody:\n content:\n 'application/json':\n schema:\n $ref: '#/components/schemas/Address'\n examples:\n foo:\n summary: A foo example\n value: {\"foo\": \"bar\"}\n bar:\n summary: A bar example\n value: {\"bar\": \"baz\"}\n 'application/xml':\n examples:\n xmlExample:\n summary: This is an example in XML\n externalValue: 'http://example.org/examples/address-example.xml'\n 'text/plain':\n examples:\n textExample:\n summary: This is a text example\n externalValue: 'http://foo.bar/examples/address-example.txt'\n```\n\nIn a parameter:\n\n```yaml\nparameters:\n - name: 'zipCode'\n in: 'query'\n schema:\n type: 'string'\n format: 'zip-code'\n examples:\n zip-example:\n $ref: '#/components/examples/zip-example'\n```\n\nIn a response:\n\n```yaml\nresponses:\n '200':\n description: your car appointment has been booked\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/SuccessResponse'\n examples:\n confirmation-success:\n $ref: '#/components/examples/confirmation-success'\n```",
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/external-documentation/documentation.ts b/packages/apidom-ls/src/config/openapi/external-documentation/documentation.ts
index 3e7b798752..f0387eecc8 100644
--- a/packages/apidom-ls/src/config/openapi/external-documentation/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/external-documentation/documentation.ts
@@ -26,7 +26,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [External Documentation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#externalDocumentationObject)\n\nAllows referencing an external resource for extended documentation.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\ndescription | `string` | A short description of the target documentation. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nurl | `string` | **REQUIRED**. The URL for the target documentation. Value MUST be in the format of a URL.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### External Documentation Object Example\n\n\n\\\nJSON\n```json\n{\n "description": "Find more info here",\n "url": "https://example.com"\n}\n```\n\n\n\\\nYAML\n```yaml\ndescription: Find more info here\nurl: https://example.com\n```',
+ docs: '#### [External Documentation Object](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object)\n\nAllows referencing an external resource for extended documentation.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\ndescription | `string` | A short description of the target documentation. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nurl | `string` | **REQUIRED**. The URL for the target documentation. Value MUST be in the format of a URL.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### External Documentation Object Example\n\n\n\\\nJSON\n```json\n{\n "description": "Find more info here",\n "url": "https://example.com"\n}\n```\n\n\n\\\nYAML\n```yaml\ndescription: Find more info here\nurl: https://example.com\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/header/completion.ts b/packages/apidom-ls/src/config/openapi/header/completion.ts
index 862b5c5b8d..22baf2f42c 100644
--- a/packages/apidom-ls/src/config/openapi/header/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/header/completion.ts
@@ -376,7 +376,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)\n\\\n\\\nThe schema defining the type used for the header.',
+ '[Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)\n\\\n\\\nThe schema defining the type used for the header.',
},
targetSpecs: OpenAPI30,
},
@@ -418,7 +418,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- "Map[`string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nExamples of the header's potential value. Each example SHOULD contain a value in the correct format as specified in the header encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL *override* the example provided by the schema.",
+ "Map[`string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nExamples of the header's potential value. Each example SHOULD contain a value in the correct format as specified in the header encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL *override* the example provided by the schema.",
},
targetSpecs: OpenAPI30,
},
@@ -446,7 +446,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[string, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)]\n\\\n\\\nA map containing the representations for the header. The key is the media type and the value describes it. The map MUST only contain one entry.',
+ 'Map[string, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)]\n\\\n\\\nA map containing the representations for the header. The key is the media type and the value describes it. The map MUST only contain one entry.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/header/documentation.ts b/packages/apidom-ls/src/config/openapi/header/documentation.ts
index 68a875fb42..7b396c460e 100644
--- a/packages/apidom-ls/src/config/openapi/header/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/header/documentation.ts
@@ -137,7 +137,7 @@ const documentation = [
},
{
target: 'schema',
- docs: '[Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)\n\\\n\\\nThe schema defining the type used for the header.',
+ docs: '[Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)\n\\\n\\\nThe schema defining the type used for the header.',
targetSpecs: OpenAPI30,
},
{
@@ -147,7 +147,7 @@ const documentation = [
},
{
target: 'examples',
- docs: "Map[`string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nExamples of the header's potential value. Each example SHOULD contain a value in the correct format as specified in the header encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL *override* the example provided by the schema.",
+ docs: "Map[`string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nExamples of the header's potential value. Each example SHOULD contain a value in the correct format as specified in the header encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL *override* the example provided by the schema.",
targetSpecs: OpenAPI30,
},
{
@@ -157,7 +157,7 @@ const documentation = [
},
{
target: 'content',
- docs: 'Map[string, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)]\n\\\n\\\nA map containing the representations for the header. The key is the media type and the value describes it. The map MUST only contain one entry.',
+ docs: 'Map[string, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)]\n\\\n\\\nA map containing the representations for the header. The key is the media type and the value describes it. The map MUST only contain one entry.',
targetSpecs: OpenAPI30,
},
{
@@ -170,7 +170,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject)\n\nThe Header Object follows the structure of the [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) with the following changes:\n\n1. `name` MUST NOT be specified, it is given in the corresponding `headers` map.\n1. `in` MUST NOT be specified, it is implicitly in `header`.\n1. All traits that are affected by the location MUST be applicable to a location of `header` (for example, [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle)).\n\n##### Header Object Example\n\nA simple header of type `integer`:\n\n\n\\\nJSON\n```json\n{\n "description": "The number of allowed requests in the current period",\n "schema": {\n "type": "integer"\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ndescription: The number of allowed requests in the current period\nschema:\n type: integer\n```',
+ docs: '#### [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object)\n\nThe Header Object follows the structure of the [Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) with the following changes:\n\n1. `name` MUST NOT be specified, it is given in the corresponding `headers` map.\n1. `in` MUST NOT be specified, it is implicitly in `header`.\n1. All traits that are affected by the location MUST be applicable to a location of `header` (for example, [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-style)).\n\n##### Header Object Example\n\nA simple header of type `integer`:\n\n\n\\\nJSON\n```json\n{\n "description": "The number of allowed requests in the current period",\n "schema": {\n "type": "integer"\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ndescription: The number of allowed requests in the current period\nschema:\n type: integer\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/info/completion.ts b/packages/apidom-ls/src/config/openapi/info/completion.ts
index 80ac18ff12..22a2cd1467 100644
--- a/packages/apidom-ls/src/config/openapi/info/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/info/completion.ts
@@ -123,7 +123,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Contact Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#contactObject)\n\\\n\\\nThe contact information for the exposed API.',
+ '[Contact Object](https://spec.openapis.org/oas/v3.0.4.html#contact-object)\n\\\n\\\nThe contact information for the exposed API.',
},
targetSpecs: OpenAPI30,
},
@@ -165,7 +165,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[License Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#licenseObject)\n\\\n\\\nThe license information for the exposed API.',
+ '[License Object](https://spec.openapis.org/oas/v3.0.4.html#license-object)\n\\\n\\\nThe license information for the exposed API.',
},
targetSpecs: OpenAPI30,
},
@@ -207,7 +207,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '**REQUIRED**. The version of the OpenAPI document (which is distinct from the [OpenAPI Specification version](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasVersion) or the API implementation version).',
+ '**REQUIRED**. The version of the OpenAPI document (which is distinct from the [OpenAPI Specification version](https://spec.openapis.org/oas/v3.0.4.html#oas-version) or the API implementation version).',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/info/documentation.ts b/packages/apidom-ls/src/config/openapi/info/documentation.ts
index 6d79078028..d8fccfb0f4 100644
--- a/packages/apidom-ls/src/config/openapi/info/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/info/documentation.ts
@@ -54,7 +54,7 @@ const documentation = [
},
{
target: 'version',
- docs: '**REQUIRED**. The version of the OpenAPI document (which is distinct from the [OpenAPI Specification version](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasVersion) or the API implementation version).',
+ docs: '**REQUIRED**. The version of the OpenAPI document (which is distinct from the [OpenAPI Specification version](https://spec.openapis.org/oas/v3.0.4.html#oas-version) or the API implementation version).',
targetSpecs: OpenAPI30,
},
{
@@ -67,7 +67,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Info Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#infoObject)\n\nThe object provides metadata about the API.\nThe metadata MAY be used by the clients if needed, and MAY be presented in editing or documentation generation tools for convenience.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\ntitle | `string` | **REQUIRED**. The title of the API.\ndescription | `string` | A short description of the API. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\ntermsOfService | `string` | A URL to the Terms of Service for the API. MUST be in the format of a URL.\ncontact | [Contact Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#contactObject) | The contact information for the exposed API.\nlicense | [License Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#licenseObject) | The license information for the exposed API.\nversion | `string` | **REQUIRED**. The version of the OpenAPI document (which is distinct from the [OpenAPI Specification version](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasVersion) or the API implementation version).\n\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Info Object Example\n\n\n\\\nJSON\n```json\n{\n "title": "Sample Pet Store App",\n "description": "This is a sample server for a pet store.",\n "termsOfService": "http://example.com/terms/",\n "contact": {\n "name": "API Support",\n "url": "http://www.example.com/support",\n "email": "support@example.com"\n },\n "license": {\n "name": "Apache 2.0",\n "url": "https://www.apache.org/licenses/LICENSE-2.0.html"\n },\n "version": "1.0.1"\n}\n```\n\n\n\\\nYAML\n```yaml\ntitle: Sample Pet Store App\ndescription: This is a sample server for a pet store.\ntermsOfService: http://example.com/terms/\ncontact:\n name: API Support\n url: http://www.example.com/support\n email: support@example.com\nlicense:\n name: Apache 2.0\n url: https://www.apache.org/licenses/LICENSE-2.0.html\nversion: 1.0.1\n```',
+ docs: '#### [Info Object](https://spec.openapis.org/oas/v3.0.4.html#info-object)\n\nThe object provides metadata about the API.\nThe metadata MAY be used by the clients if needed, and MAY be presented in editing or documentation generation tools for convenience.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\ntitle | `string` | **REQUIRED**. The title of the API.\ndescription | `string` | A short description of the API. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\ntermsOfService | `string` | A URL to the Terms of Service for the API. MUST be in the format of a URL.\ncontact | [Contact Object](https://spec.openapis.org/oas/v3.0.4.html#contact-object) | The contact information for the exposed API.\nlicense | [License Object](https://spec.openapis.org/oas/v3.0.4.html#license-object) | The license information for the exposed API.\nversion | `string` | **REQUIRED**. The version of the OpenAPI document (which is distinct from the [OpenAPI Specification version](https://spec.openapis.org/oas/v3.0.4.html#oas-version) or the API implementation version).\n\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Info Object Example\n\n\n\\\nJSON\n```json\n{\n "title": "Sample Pet Store App",\n "description": "This is a sample server for a pet store.",\n "termsOfService": "http://example.com/terms/",\n "contact": {\n "name": "API Support",\n "url": "http://www.example.com/support",\n "email": "support@example.com"\n },\n "license": {\n "name": "Apache 2.0",\n "url": "https://www.apache.org/licenses/LICENSE-2.0.html"\n },\n "version": "1.0.1"\n}\n```\n\n\n\\\nYAML\n```yaml\ntitle: Sample Pet Store App\ndescription: This is a sample server for a pet store.\ntermsOfService: http://example.com/terms/\ncontact:\n name: API Support\n url: http://www.example.com/support\n email: support@example.com\nlicense:\n name: Apache 2.0\n url: https://www.apache.org/licenses/LICENSE-2.0.html\nversion: 1.0.1\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/license/documentation.ts b/packages/apidom-ls/src/config/openapi/license/documentation.ts
index 13a637188c..5cc5c3c55a 100644
--- a/packages/apidom-ls/src/config/openapi/license/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/license/documentation.ts
@@ -31,7 +31,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [License Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#licenseObject)\n\nLicense information for the exposed API.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nname | `string` | **REQUIRED**. The license name used for the API.\nurl | `string` | A URL to the license used for the API. MUST be in the format of a URL.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### License Object Example\n\n\n\\\nJSON\n```json\n{\n "name": "Apache 2.0",\n "url": "https://www.apache.org/licenses/LICENSE-2.0.html"\n}\n```\n\n\n\\\nYAML\n```yaml\nname: Apache 2.0\nurl: https://www.apache.org/licenses/LICENSE-2.0.html\n```',
+ docs: '#### [License Object](https://spec.openapis.org/oas/v3.0.4.html#license-object)\n\nLicense information for the exposed API.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nname | `string` | **REQUIRED**. The license name used for the API.\nurl | `string` | A URL to the license used for the API. MUST be in the format of a URL.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### License Object Example\n\n\n\\\nJSON\n```json\n{\n "name": "Apache 2.0",\n "url": "https://www.apache.org/licenses/LICENSE-2.0.html"\n}\n```\n\n\n\\\nYAML\n```yaml\nname: Apache 2.0\nurl: https://www.apache.org/licenses/LICENSE-2.0.html\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/link/completion.ts b/packages/apidom-ls/src/config/openapi/link/completion.ts
index b3d3662736..d7ea5437cc 100644
--- a/packages/apidom-ls/src/config/openapi/link/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/link/completion.ts
@@ -29,7 +29,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'A relative or absolute URI reference to an OAS operation. This field is mutually exclusive of the `operationId` field, and MUST point to an [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject). Relative `operationRef` values MAY be used to locate an existing [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) in the OpenAPI definition.',
+ 'A relative or absolute URI reference to an OAS operation. This field is mutually exclusive of the `operationId` field, and MUST point to an [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object). Relative `operationRef` values MAY be used to locate an existing [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) in the OpenAPI definition.',
},
targetSpecs: OpenAPI30,
},
@@ -71,7 +71,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, Any | [`{expression}`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression)]\n\\\n\\\nA map representing parameters to pass to an operation as specified with `operationId` or identified via `operationRef`. The key is the parameter name to be used, whereas the value can be a constant or an expression to be evaluated and passed to the linked operation. The parameter name can be qualified using the [parameter location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) `[{in}.]{name}` for operations that use the same parameter name in different locations (e.g. path.id).',
+ 'Map[`string`, Any | [`{expression}`](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions)]\n\\\n\\\nA map representing parameters to pass to an operation as specified with `operationId` or identified via `operationRef`. The key is the parameter name to be used, whereas the value can be a constant or an expression to be evaluated and passed to the linked operation. The parameter name can be qualified using the [parameter location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) `[{in}.]{name}` for operations that use the same parameter name in different locations (e.g. path.id).',
},
targetSpecs: OpenAPI30,
},
@@ -99,7 +99,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Any | [`{expression}`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression)\n\\\n\\\nA literal value or [`{expression}`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression) to use as a request body when calling the target operation.',
+ 'Any | [`{expression}`](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions)\n\\\n\\\nA literal value or [`{expression}`](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions) to use as a request body when calling the target operation.',
},
targetSpecs: OpenAPI30,
},
@@ -141,7 +141,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)\n\\\n\\\nA server object to be used by the target operation.',
+ '[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)\n\\\n\\\nA server object to be used by the target operation.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/link/documentation.ts b/packages/apidom-ls/src/config/openapi/link/documentation.ts
index f80bf2c511..d657412084 100644
--- a/packages/apidom-ls/src/config/openapi/link/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/link/documentation.ts
@@ -13,7 +13,7 @@ import { OpenAPI30, OpenAPI31, OpenAPI3 } from '../target-specs.ts';
const documentation = [
{
target: 'operationRef',
- docs: 'A relative or absolute URI reference to an OAS operation. This field is mutually exclusive of the `operationId` field, and MUST point to an [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject). Relative `operationRef` values MAY be used to locate an existing [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) in the OpenAPI definition.',
+ docs: 'A relative or absolute URI reference to an OAS operation. This field is mutually exclusive of the `operationId` field, and MUST point to an [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object). Relative `operationRef` values MAY be used to locate an existing [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) in the OpenAPI definition.',
targetSpecs: OpenAPI30,
},
{
@@ -28,7 +28,7 @@ const documentation = [
},
{
target: 'parameters',
- docs: 'Map[`string`, Any | [`{expression}`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression)]\n\\\n\\\nA map representing parameters to pass to an operation as specified with `operationId` or identified via `operationRef`. The key is the parameter name to be used, whereas the value can be a constant or an expression to be evaluated and passed to the linked operation. The parameter name can be qualified using the [parameter location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) `[{in}.]{name}` for operations that use the same parameter name in different locations (e.g. path.id).',
+ docs: 'Map[`string`, Any | [`{expression}`](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions)]\n\\\n\\\nA map representing parameters to pass to an operation as specified with `operationId` or identified via `operationRef`. The key is the parameter name to be used, whereas the value can be a constant or an expression to be evaluated and passed to the linked operation. The parameter name can be qualified using the [parameter location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) `[{in}.]{name}` for operations that use the same parameter name in different locations (e.g. path.id).',
targetSpecs: OpenAPI30,
},
{
@@ -38,7 +38,7 @@ const documentation = [
},
{
target: 'requestBody',
- docs: 'Any | [`{expression}`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression)\n\\\n\\\nA literal value or [`{expression}`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression) to use as a request body when calling the target operation.',
+ docs: 'Any | [`{expression}`](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions)\n\\\n\\\nA literal value or [`{expression}`](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions) to use as a request body when calling the target operation.',
targetSpecs: OpenAPI30,
},
{
@@ -52,7 +52,7 @@ const documentation = [
targetSpecs: OpenAPI3,
},
{
- docs: "#### [Link Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md)\n\nThe `Link object` represents a possible design-time link for a response.\nThe presence of a link does not guarantee the caller's ability to successfully invoke it, rather it provides a known relationship and traversal mechanism between responses and other operations.\n\nUnlike _dynamic_ links (i.e. links provided **in** the response payload), the OAS linking mechanism does not require link information in the runtime response.\n\nFor computing links, and providing instructions to execute them, a [runtime expression](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression) is used for accessing values in an operation and using them as parameters while invoking the linked operation.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\noperationRef | `string` | A relative or absolute URI reference to an OAS operation. This field is mutually exclusive of the `operationId` field, and MUST point to an [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject). Relative `operationRef` values MAY be used to locate an existing [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) in the OpenAPI definition.\noperationId | `string` | The name of an _existing_, resolvable OAS operation, as defined with a unique `operationId`. This field is mutually exclusive of the `operationRef` field.\nparameters | Map[`string`, Any \\| [{expression}](#runtimeExpression)] | A map representing parameters to pass to an operation as specified with `operationId` or identified via `operationRef`. The key is the parameter name to be used, whereas the value can be a constant or an expression to be evaluated and passed to the linked operation. The parameter name can be qualified using the [parameter location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) `[{in}.]{name}` for operations that use the same parameter name in different locations (e.g. path.id).\nrequestBody | Any \\| [{expression}](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression) | A literal value or [{expression}](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#runtimeExpression) to use as a request body when calling the target operation.\ndescription | `string` | A description of the link. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nserver | [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject) | A server object to be used by the target operation.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\nA linked operation MUST be identified using either an `operationRef` or `operationId`.\nIn the case of an `operationId`, it MUST be unique and resolved in the scope of the OAS document.\nBecause of the potential for name clashes, the `operationRef` syntax is preferred\nfor specifications with external references.\n\n##### Examples\n\nComputing a link from a request operation where the `$request.path.id` is used to pass a request parameter to the linked operation.\n\n\n\\\nYAML\n```yaml\npaths:\n /users/{id}:\n parameters:\n - name: id\n in: path\n required: true\n description: the user identifier, as userId\n schema:\n type: string\n get:\n responses:\n '200':\n description: the user being returned\n content:\n application/json:\n schema:\n type: object\n properties:\n uuid: # the unique user id\n type: string\n format: uuid\n links:\n address:\n # the target link operationId\n operationId: getUserAddress\n parameters:\n # get the `id` field from the request path parameter named `id`\n userId: $request.path.id\n # the path item of the linked operation\n /users/{userid}/address:\n parameters:\n - name: userid\n in: path\n required: true\n description: the user identifier, as userId\n schema:\n type: string\n # linked operation\n get:\n operationId: getUserAddress\n responses:\n '200':\n description: the user's address\n```\n\nWhen a runtime expression fails to evaluate, no parameter value is passed to the target operation.\n\nValues from the response body can be used to drive a linked operation.\n\n```yaml\nlinks:\n address:\n operationId: getUserAddressByUUID\n parameters:\n # get the `uuid` field from the `uuid` field in the response body\n userUuid: $response.body#/uuid\n```\n\nClients follow all links at their discretion.\nNeither permissions, nor the capability to make a successful call to that link, is guaranteed\nsolely by the existence of a relationship.",
+ docs: "#### [Link Object](https://spec.openapis.org/oas/v3.0.4.html)\n\nThe `Link object` represents a possible design-time link for a response.\nThe presence of a link does not guarantee the caller's ability to successfully invoke it, rather it provides a known relationship and traversal mechanism between responses and other operations.\n\nUnlike _dynamic_ links (i.e. links provided **in** the response payload), the OAS linking mechanism does not require link information in the runtime response.\n\nFor computing links, and providing instructions to execute them, a [runtime expression](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions) is used for accessing values in an operation and using them as parameters while invoking the linked operation.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\noperationRef | `string` | A relative or absolute URI reference to an OAS operation. This field is mutually exclusive of the `operationId` field, and MUST point to an [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object). Relative `operationRef` values MAY be used to locate an existing [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) in the OpenAPI definition.\noperationId | `string` | The name of an _existing_, resolvable OAS operation, as defined with a unique `operationId`. This field is mutually exclusive of the `operationRef` field.\nparameters | Map[`string`, Any \\| [{expression}](#runtimeExpression)] | A map representing parameters to pass to an operation as specified with `operationId` or identified via `operationRef`. The key is the parameter name to be used, whereas the value can be a constant or an expression to be evaluated and passed to the linked operation. The parameter name can be qualified using the [parameter location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) `[{in}.]{name}` for operations that use the same parameter name in different locations (e.g. path.id).\nrequestBody | Any \\| [{expression}](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions) | A literal value or [{expression}](https://spec.openapis.org/oas/v3.0.4.html#runtime-expressions) to use as a request body when calling the target operation.\ndescription | `string` | A description of the link. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nserver | [Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object) | A server object to be used by the target operation.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\nA linked operation MUST be identified using either an `operationRef` or `operationId`.\nIn the case of an `operationId`, it MUST be unique and resolved in the scope of the OAS document.\nBecause of the potential for name clashes, the `operationRef` syntax is preferred\nfor specifications with external references.\n\n##### Examples\n\nComputing a link from a request operation where the `$request.path.id` is used to pass a request parameter to the linked operation.\n\n\n\\\nYAML\n```yaml\npaths:\n /users/{id}:\n parameters:\n - name: id\n in: path\n required: true\n description: the user identifier, as userId\n schema:\n type: string\n get:\n responses:\n '200':\n description: the user being returned\n content:\n application/json:\n schema:\n type: object\n properties:\n uuid: # the unique user id\n type: string\n format: uuid\n links:\n address:\n # the target link operationId\n operationId: getUserAddress\n parameters:\n # get the `id` field from the request path parameter named `id`\n userId: $request.path.id\n # the path item of the linked operation\n /users/{userid}/address:\n parameters:\n - name: userid\n in: path\n required: true\n description: the user identifier, as userId\n schema:\n type: string\n # linked operation\n get:\n operationId: getUserAddress\n responses:\n '200':\n description: the user's address\n```\n\nWhen a runtime expression fails to evaluate, no parameter value is passed to the target operation.\n\nValues from the response body can be used to drive a linked operation.\n\n```yaml\nlinks:\n address:\n operationId: getUserAddressByUUID\n parameters:\n # get the `uuid` field from the `uuid` field in the response body\n userUuid: $response.body#/uuid\n```\n\nClients follow all links at their discretion.\nNeither permissions, nor the capability to make a successful call to that link, is guaranteed\nsolely by the existence of a relationship.",
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/media-type/completion.ts b/packages/apidom-ls/src/config/openapi/media-type/completion.ts
index aeae2fa1b6..9d4fd1aed1 100644
--- a/packages/apidom-ls/src/config/openapi/media-type/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/media-type/completion.ts
@@ -16,7 +16,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)\n\\\n\\\nThe schema defining the content of the request, response, or parameter.',
+ '[Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)\n\\\n\\\nThe schema defining the content of the request, response, or parameter.',
},
targetSpecs: OpenAPI30,
},
@@ -58,7 +58,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[ `string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nExamples of the media type. Each example object SHOULD match the media type and specified schema if present. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` which contains an example, the `examples` value SHALL _override_ the example provided by the schema.',
+ 'Map[ `string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nExamples of the media type. Each example object SHOULD match the media type and specified schema if present. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` which contains an example, the `examples` value SHALL _override_ the example provided by the schema.',
},
targetSpecs: OpenAPI30,
},
@@ -86,7 +86,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Encoding Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#encodingObject)]\n\\\n\\\nA 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`.',
+ 'Map[`string`, [Encoding Object](https://spec.openapis.org/oas/v3.0.4.html#encoding-object)]\n\\\n\\\nA 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`.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/media-type/documentation.ts b/packages/apidom-ls/src/config/openapi/media-type/documentation.ts
index 1c0eeea2b9..b48633c299 100644
--- a/packages/apidom-ls/src/config/openapi/media-type/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/media-type/documentation.ts
@@ -18,7 +18,7 @@ const documentation = [
},
{
target: 'examples',
- docs: 'Map[ `string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nExamples of the media type. Each example object SHOULD match the media type and specified schema if present. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` which contains an example, the `examples` value SHALL _override_ the example provided by the schema.',
+ docs: 'Map[ `string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nExamples of the media type. Each example object SHOULD match the media type and specified schema if present. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` which contains an example, the `examples` value SHALL _override_ the example provided by the schema.',
targetSpecs: OpenAPI30,
},
{
@@ -28,7 +28,7 @@ const documentation = [
},
{
target: 'encoding',
- docs: 'Map[`string`, [Encoding Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#encodingObject)]\n\\\n\\\nA 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`.',
+ docs: 'Map[`string`, [Encoding Object](https://spec.openapis.org/oas/v3.0.4.html#encoding-object)]\n\\\n\\\nA 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`.',
targetSpecs: OpenAPI30,
},
{
@@ -42,7 +42,7 @@ const documentation = [
* which adds external links back to the original documentation
*/
{
- docs: '#### [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)\n\nEach Media Type Object provides schema and examples for the media type identified by its key.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nschema | [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) | The schema defining the content of the request, response, or parameter.\nexample | Any | Example of the media type. The example object SHOULD be in the correct format as specified by the media type. The `example` field is mutually exclusive of the `examples` field. Furthermore, if referencing a `schema` which contains an example, the `example` value SHALL _override_ the example provided by the schema.\nexamples | Map[ `string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | Examples of the media type. Each example object SHOULD match the media type and specified schema if present. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` which contains an example, the `examples` value SHALL _override_ the example provided by the schema.\nencoding | Map[`string`, [Encoding Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#encodingObject)] | 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`.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Media Type Examples\n\n\n\\\nJSON\n```json\n{\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/Pet"\n },\n "examples": {\n "cat" : {\n "summary": "An example of a cat",\n "value":\n {\n "name": "Fluffy",\n "petType": "Cat",\n "color": "White",\n "gender": "male",\n "breed": "Persian"\n }\n },\n "dog": {\n "summary": "An example of a dog with a cat\'s name",\n "value" : {\n "name": "Puma",\n "petType": "Dog",\n "color": "Black",\n "gender": "Female",\n "breed": "Mixed"\n },\n "frog": {\n "$ref": "#/components/examples/frog-example"\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\napplication/json:\n schema:\n $ref: "#/components/schemas/Pet"\n examples:\n cat:\n summary: An example of a cat\n value:\n name: Fluffy\n petType: Cat\n color: White\n gender: male\n breed: Persian\n dog:\n summary: An example of a dog with a cat\'s name\n value:\n name: Puma\n petType: Dog\n color: Black\n gender: Female\n breed: Mixed\n frog:\n $ref: "#/components/examples/frog-example"\n```\n\n#### Additional documentation topics\n- [Considerations for File Uploads](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#considerations-for-file-uploads)\n\n- [Support for x-www-form-urlencoded Request Bodies](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#support-for-x-www-form-urlencoded-request-bodies)\n\n- [Special Considerations for multipart Content\n](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#special-considerations-for-multipart-content)',
+ docs: '#### [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)\n\nEach Media Type Object provides schema and examples for the media type identified by its key.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nschema | [Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) | The schema defining the content of the request, response, or parameter.\nexample | Any | Example of the media type. The example object SHOULD be in the correct format as specified by the media type. The `example` field is mutually exclusive of the `examples` field. Furthermore, if referencing a `schema` which contains an example, the `example` value SHALL _override_ the example provided by the schema.\nexamples | Map[ `string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | Examples of the media type. Each example object SHOULD match the media type and specified schema if present. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` which contains an example, the `examples` value SHALL _override_ the example provided by the schema.\nencoding | Map[`string`, [Encoding Object](https://spec.openapis.org/oas/v3.0.4.html#encoding-object)] | 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`.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Media Type Examples\n\n\n\\\nJSON\n```json\n{\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/Pet"\n },\n "examples": {\n "cat" : {\n "summary": "An example of a cat",\n "value":\n {\n "name": "Fluffy",\n "petType": "Cat",\n "color": "White",\n "gender": "male",\n "breed": "Persian"\n }\n },\n "dog": {\n "summary": "An example of a dog with a cat\'s name",\n "value" : {\n "name": "Puma",\n "petType": "Dog",\n "color": "Black",\n "gender": "Female",\n "breed": "Mixed"\n },\n "frog": {\n "$ref": "#/components/examples/frog-example"\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\napplication/json:\n schema:\n $ref: "#/components/schemas/Pet"\n examples:\n cat:\n summary: An example of a cat\n value:\n name: Fluffy\n petType: Cat\n color: White\n gender: male\n breed: Persian\n dog:\n summary: An example of a dog with a cat\'s name\n value:\n name: Puma\n petType: Dog\n color: Black\n gender: Female\n breed: Mixed\n frog:\n $ref: "#/components/examples/frog-example"\n```\n\n#### Additional documentation topics\n- [Considerations for File Uploads](https://spec.openapis.org/oas/v3.0.4.html#considerations-for-file-uploads)\n\n- [Support for x-www-form-urlencoded Request Bodies](https://spec.openapis.org/oas/v3.0.4.html#support-for-x-www-form-urlencoded-request-bodies)\n\n- [Special Considerations for multipart Content\n](https://spec.openapis.org/oas/v3.0.4.html#special-considerations-for-multipart-content)',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/oauth-flow/documentation.ts b/packages/apidom-ls/src/config/openapi/oauth-flow/documentation.ts
index 16322f8fb4..72a36bb4b7 100644
--- a/packages/apidom-ls/src/config/openapi/oauth-flow/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/oauth-flow/documentation.ts
@@ -37,7 +37,7 @@ const documentation = [
targetSpecs: OpenAPI3,
},
{
- docs: '#### [OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauth-flow-object)\n\nConfiguration details for a supported OAuth Flow\n\n##### Fixed Fields\nField Name | Type | Applies To | Description\n---|:---:|---|---\nauthorizationUrl | `string` | `oauth2` (`"implicit"`, `"authorizationCode"`) | **REQUIRED**. The authorization URL to be used for this flow. This MUST be in the form of a URL.\ntokenUrl | `string` | `oauth2` (`"password"`, `"clientCredentials"`, `"authorizationCode"`) | **REQUIRED**. The token URL to be used for this flow. This MUST be in the form of a URL.\nrefreshUrl | `string` | `oauth2` | The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL.\nscopes | Map[`string`, `string`] | `oauth2` | **REQUIRED**. The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### OAuth Flow Object Examples\n\n```JSON\n{\n "type": "oauth2",\n "flows": {\n "implicit": {\n "authorizationUrl": "https://example.com/api/oauth/dialog",\n "scopes": {\n "write:pets": "modify pets in your account",\n "read:pets": "read your pets"\n }\n },\n "authorizationCode": {\n "authorizationUrl": "https://example.com/api/oauth/dialog",\n "tokenUrl": "https://example.com/api/oauth/token",\n "scopes": {\n "write:pets": "modify pets in your account",\n "read:pets": "read your pets"\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ntype: oauth2\nflows:\n implicit:\n authorizationUrl: https://example.com/api/oauth/dialog\n scopes:\n write:pets: modify pets in your account\n read:pets: read your pets\n authorizationCode:\n authorizationUrl: https://example.com/api/oauth/dialog\n tokenUrl: https://example.com/api/oauth/token\n scopes:\n write:pets: modify pets in your account\n read:pets: read your pets\n```',
+ docs: '#### [OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object)\n\nConfiguration details for a supported OAuth Flow\n\n##### Fixed Fields\nField Name | Type | Applies To | Description\n---|:---:|---|---\nauthorizationUrl | `string` | `oauth2` (`"implicit"`, `"authorizationCode"`) | **REQUIRED**. The authorization URL to be used for this flow. This MUST be in the form of a URL.\ntokenUrl | `string` | `oauth2` (`"password"`, `"clientCredentials"`, `"authorizationCode"`) | **REQUIRED**. The token URL to be used for this flow. This MUST be in the form of a URL.\nrefreshUrl | `string` | `oauth2` | The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL.\nscopes | Map[`string`, `string`] | `oauth2` | **REQUIRED**. The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### OAuth Flow Object Examples\n\n```JSON\n{\n "type": "oauth2",\n "flows": {\n "implicit": {\n "authorizationUrl": "https://example.com/api/oauth/dialog",\n "scopes": {\n "write:pets": "modify pets in your account",\n "read:pets": "read your pets"\n }\n },\n "authorizationCode": {\n "authorizationUrl": "https://example.com/api/oauth/dialog",\n "tokenUrl": "https://example.com/api/oauth/token",\n "scopes": {\n "write:pets": "modify pets in your account",\n "read:pets": "read your pets"\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ntype: oauth2\nflows:\n implicit:\n authorizationUrl: https://example.com/api/oauth/dialog\n scopes:\n write:pets: modify pets in your account\n read:pets: read your pets\n authorizationCode:\n authorizationUrl: https://example.com/api/oauth/dialog\n tokenUrl: https://example.com/api/oauth/token\n scopes:\n write:pets: modify pets in your account\n read:pets: read your pets\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/oauth-flows/completion.ts b/packages/apidom-ls/src/config/openapi/oauth-flows/completion.ts
index c8481363c7..662df9e1e1 100644
--- a/packages/apidom-ls/src/config/openapi/oauth-flows/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/oauth-flows/completion.ts
@@ -16,7 +16,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowObject)\n\\\n\\\nConfiguration for the OAuth Implicit flow.',
+ '[OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object)\n\\\n\\\nConfiguration for the OAuth Implicit flow.',
},
targetSpecs: OpenAPI30,
},
@@ -44,7 +44,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowObject)\n\\\n\\\nConfiguration for the OAuth Resource Owner Password flow.',
+ '[OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object)\n\\\n\\\nConfiguration for the OAuth Resource Owner Password flow.',
},
targetSpecs: OpenAPI30,
},
@@ -72,7 +72,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowObject)\n\\\n\\\nConfiguration for the OAuth Client Credentials flow. Previously called `application` in OpenAPI 2.0.',
+ '[OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object)\n\\\n\\\nConfiguration for the OAuth Client Credentials flow. Previously called `application` in OpenAPI 2.0.',
},
targetSpecs: OpenAPI30,
},
@@ -100,7 +100,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowObject)\n\\\n\\\nConfiguration for the OAuth Authorization Code flow. Previously called accessCode in OpenAPI 2.0.',
+ '[OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object)\n\\\n\\\nConfiguration for the OAuth Authorization Code flow. Previously called accessCode in OpenAPI 2.0.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/oauth-flows/documentation.ts b/packages/apidom-ls/src/config/openapi/oauth-flows/documentation.ts
index 11cb0a7877..00325e6e81 100644
--- a/packages/apidom-ls/src/config/openapi/oauth-flows/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/oauth-flows/documentation.ts
@@ -15,7 +15,7 @@ import { OpenAPI30, OpenAPI31 } from '../target-specs.ts';
const documentation = [
{
- docs: '#### [OAuth Flows Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowsObject)\nAllows configuration of the supported OAuth Flows.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nimplicit | [OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowObject) | Configuration for the OAuth Implicit flow\npassword | [OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowObject) | Configuration for the OAuth Resource Owner Password flow\nclientCredentials | [OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowObject) | Configuration for the OAuth Client Credentials flow. Previously called `application` in OpenAPI 2.0.\nauthorizationCode | [OAuth Flow Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowObject) | Configuration for the OAuth Authorization Code flow. Previously called `accessCode` in OpenAPI 2.0.\n\n\\\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n',
+ docs: '#### [OAuth Flows Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flows-object)\nAllows configuration of the supported OAuth Flows.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nimplicit | [OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object) | Configuration for the OAuth Implicit flow\npassword | [OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object) | Configuration for the OAuth Resource Owner Password flow\nclientCredentials | [OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object) | Configuration for the OAuth Client Credentials flow. Previously called `application` in OpenAPI 2.0.\nauthorizationCode | [OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flow-object) | Configuration for the OAuth Authorization Code flow. Previously called `accessCode` in OpenAPI 2.0.\n\n\\\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/openapi/completion.ts b/packages/apidom-ls/src/config/openapi/openapi/completion.ts
index 5bb2bd374d..b0af73e1e7 100644
--- a/packages/apidom-ls/src/config/openapi/openapi/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/openapi/completion.ts
@@ -42,6 +42,15 @@ const completion: ApidomCompletionItem[] = [
insertTextFormat: 2,
targetSpecs: OpenAPI3,
},
+ {
+ label: '3.0.4',
+ insertText: '3.0.4',
+ kind: 12,
+ format: CompletionFormat.UNQUOTED,
+ type: CompletionType.VALUE,
+ insertTextFormat: 2,
+ targetSpecs: OpenAPI3,
+ },
{
label: '3.1.0',
insertText: '3.1.0',
diff --git a/packages/apidom-ls/src/config/openapi/openapi/lint/value--pattern-3-0-4.ts b/packages/apidom-ls/src/config/openapi/openapi/lint/value--pattern-3-0-4.ts
new file mode 100644
index 0000000000..168933e073
--- /dev/null
+++ b/packages/apidom-ls/src/config/openapi/openapi/lint/value--pattern-3-0-4.ts
@@ -0,0 +1,28 @@
+import { DiagnosticSeverity } from 'vscode-languageserver-types';
+
+import ApilintCodes from '../../../codes.ts';
+import { LinterMeta } from '../../../../apidom-language-types.ts';
+import { OpenAPI304 } from '../../target-specs.ts';
+
+// eslint-disable-next-line @typescript-eslint/naming-convention
+const valuePattern3_0_4Lint: LinterMeta = {
+ code: ApilintCodes.OPENAPI3_0_OPENAPI_VALUE_PATTERN_3_0_4,
+ source: 'apilint',
+ message: "'openapi' value must be 3.0.4",
+ severity: DiagnosticSeverity.Error,
+ linterFunction: 'apilintValueRegex',
+ linterParams: ['3\\.0\\.4'],
+ marker: 'value',
+ data: {
+ quickFix: [
+ {
+ message: "update to '3.0.4'",
+ action: 'updateValue',
+ functionParams: ['3.0.4'],
+ },
+ ],
+ },
+ targetSpecs: OpenAPI304,
+};
+
+export default valuePattern3_0_4Lint;
diff --git a/packages/apidom-ls/src/config/openapi/openapi3_0/completion.ts b/packages/apidom-ls/src/config/openapi/openapi3_0/completion.ts
index 9cce7adc80..24684dc9de 100644
--- a/packages/apidom-ls/src/config/openapi/openapi3_0/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/openapi3_0/completion.ts
@@ -16,7 +16,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '**REQUIRED**. This string MUST be the [semantic version number](https://semver.org/spec/v2.0.0.html) of the [OpenAPI Specification version](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#versions) that the OpenAPI document uses. The `openapi` field SHOULD be used by tooling specifications and clients to interpret the OpenAPI document. This is *not* related to the API [`info.version`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#infoVersion) string',
+ '**REQUIRED**. This string MUST be the [semantic version number](https://semver.org/spec/v2.0.0.html) of the [OpenAPI Specification version](https://spec.openapis.org/oas/v3.0.4.html#versions) that the OpenAPI document uses. The `openapi` field SHOULD be used by tooling specifications and clients to interpret the OpenAPI document. This is *not* related to the API [`info.version`](https://spec.openapis.org/oas/v3.0.4.html#info-version) string',
},
targetSpecs: OpenAPI30,
},
@@ -30,7 +30,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Info Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#infoObject)\n\\\n\\\n**REQUIRED**. Provides metadata about the API. The metadata MAY be used by tooling as required.',
+ '[Info Object](https://spec.openapis.org/oas/v3.0.4.html#info-object)\n\\\n\\\n**REQUIRED**. Provides metadata about the API. The metadata MAY be used by tooling as required.',
},
targetSpecs: OpenAPI30,
},
@@ -44,7 +44,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)]\n\\\n\\\nAn array of Server Objects, which provide connectivity information to a target server. If the `servers` property is not provided, or is an empty array, the default value would be a [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject) with a [url](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverUrl) value of `/`.',
+ '[[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)]\n\\\n\\\nAn array of Server Objects, which provide connectivity information to a target server. If the `servers` property is not provided, or is an empty array, the default value would be a [Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object) with a [url](https://spec.openapis.org/oas/v3.0.4.html#server-url) value of `/`.',
},
targetSpecs: OpenAPI30,
},
@@ -58,7 +58,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Paths Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsObject)\n\\\n\\\n**REQUIRED**. The available paths and operations for the API.',
+ '[Paths Object](https://spec.openapis.org/oas/v3.0.4.html#paths-object)\n\\\n\\\n**REQUIRED**. The available paths and operations for the API.',
},
targetSpecs: OpenAPI30,
},
@@ -72,7 +72,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Components Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsObject)\n\\\n\\\nAn element to hold various schemas for the specification.',
+ '[Components Object](https://spec.openapis.org/oas/v3.0.4.html#components-object)\n\\\n\\\nAn element to hold various schemas for the specification.',
},
targetSpecs: OpenAPI30,
},
@@ -86,7 +86,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[[Security Requirement Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securityRequirementObject)]\n\\\n\\\nA declaration of which security mechanisms can be used across the API. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. Individual operations can override this definition. To make security optional, an empty security requirement (`{}`) can be included in the array.',
+ '[[Security Requirement Object](https://spec.openapis.org/oas/v3.0.4.html#security-requirement-object)]\n\\\n\\\nA declaration of which security mechanisms can be used across the API. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. Individual operations can override this definition. To make security optional, an empty security requirement (`{}`) can be included in the array.',
},
targetSpecs: OpenAPI30,
},
@@ -100,7 +100,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- "[[Tag Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#tagObject)]\n\\\n\\\nA list of tags used by the specification with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.",
+ "[[Tag Object](https://spec.openapis.org/oas/v3.0.4.html#tag-object)]\n\\\n\\\nA list of tags used by the specification with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.",
},
targetSpecs: OpenAPI30,
},
@@ -114,7 +114,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[External Documentation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#externalDocumentationObject)\n\\\n\\\nAdditional external documentation.',
+ '[External Documentation Object](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object)\n\\\n\\\nAdditional external documentation.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/openapi3_0/documentation.ts b/packages/apidom-ls/src/config/openapi/openapi3_0/documentation.ts
index 800bee45f4..649978a418 100644
--- a/packages/apidom-ls/src/config/openapi/openapi3_0/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/openapi3_0/documentation.ts
@@ -16,26 +16,26 @@ import { OpenAPI30 } from '../target-specs.ts';
const documentation = [
{
target: 'openapi',
- docs: '**REQUIRED**. This string MUST be the [semantic version number](https://semver.org/spec/v2.0.0.html) of the [OpenAPI Specification version](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#versions) that the OpenAPI document uses. The `openapi` field SHOULD be used by tooling specifications and clients to interpret the OpenAPI document. This is *not* related to the API [`info.version`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#infoVersion) string',
+ docs: '**REQUIRED**. This string MUST be the [semantic version number](https://semver.org/spec/v2.0.0.html) of the [OpenAPI Specification version](https://spec.openapis.org/oas/v3.0.4.html#versions) that the OpenAPI document uses. The `openapi` field SHOULD be used by tooling specifications and clients to interpret the OpenAPI document. This is *not* related to the API [`info.version`](https://spec.openapis.org/oas/v3.0.4.html#info-version) string',
targetSpecs: OpenAPI30,
},
{
target: 'servers',
- docs: '[[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)]\n\\\n\\\nAn array of Server Objects, which provide connectivity information to a target server. If the `servers` property is not provided, or is an empty array, the default value would be a [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject) with a [url](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverUrl) value of `/`.',
+ docs: '[[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)]\n\\\n\\\nAn array of Server Objects, which provide connectivity information to a target server. If the `servers` property is not provided, or is an empty array, the default value would be a [Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object) with a [url](https://spec.openapis.org/oas/v3.0.4.html#server-url) value of `/`.',
targetSpecs: OpenAPI30,
},
{
target: 'security',
- docs: '[[Security Requirement Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securityRequirementObject)]\n\\\n\\\nA declaration of which security mechanisms can be used across the API. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. Individual operations can override this definition. To make security optional, an empty security requirement (`{}`) can be included in the array.',
+ docs: '[[Security Requirement Object](https://spec.openapis.org/oas/v3.0.4.html#security-requirement-object)]\n\\\n\\\nA declaration of which security mechanisms can be used across the API. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. Individual operations can override this definition. To make security optional, an empty security requirement (`{}`) can be included in the array.',
targetSpecs: OpenAPI30,
},
{
target: 'tags',
- docs: "[[Tag Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#tagObject)]\n\\\n\\\nA list of tags used by the specification with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.",
+ docs: "[[Tag Object](https://spec.openapis.org/oas/v3.0.4.html#tag-object)]\n\\\n\\\nA list of tags used by the specification with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.",
targetSpecs: OpenAPI30,
},
{
- docs: "#### [OpenAPI Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasObject)\n\nThis is the root document object of the [OpenAPI document](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasDocument).\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nopenapi | `string` | **REQUIRED**. This string MUST be the [semantic version number](https://semver.org/spec/v2.0.0.html) of the [OpenAPI Specification version](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#versions) that the OpenAPI document uses. The `openapi` field SHOULD be used by tooling specifications and clients to interpret the OpenAPI document. This is *not* related to the API [`info.version`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#infoVersion) string.\ninfo | [Info Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#infoObject) | **REQUIRED**. Provides metadata about the API. The metadata MAY be used by tooling as required.\nservers | [[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)] | An array of Server Objects, which provide connectivity information to a target server. If the `servers` property is not provided, or is an empty array, the default value would be a [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject) with a [url](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverUrl) value of `/`.\npaths | [Paths Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsObject) | **REQUIRED**. The available paths and operations for the API.\ncomponents | [Components Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsObject) | An element to hold various schemas for the specification.\nsecurity | [[Security Requirement Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securityRequirementObject)] | A declaration of which security mechanisms can be used across the API. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. Individual operations can override this definition. To make security optional, an empty security requirement (`{}`) can be included in the array.\ntags | [[Tag Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#tagObject)] | A list of tags used by the specification with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.\nexternalDocs | [External Documentation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#externalDocumentationObject) | Additional external documentation.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).",
+ docs: "#### [OpenAPI Object](https://spec.openapis.org/oas/v3.0.4.html#openapi-object)\n\nThis is the root object of the [OpenAPI description](https://spec.openapis.org/oas/v3.0.4.html#openapi-description).\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nopenapi | `string` | **REQUIRED**. This string MUST be the [semantic version number](https://semver.org/spec/v2.0.0.html) of the [OpenAPI Specification version](https://spec.openapis.org/oas/v3.0.4.html#versions) that the OpenAPI document uses. The `openapi` field SHOULD be used by tooling specifications and clients to interpret the OpenAPI document. This is *not* related to the API [`info.version`](https://spec.openapis.org/oas/v3.0.4.html#info-version) string.\ninfo | [Info Object](https://spec.openapis.org/oas/v3.0.4.html#info-object) | **REQUIRED**. Provides metadata about the API. The metadata MAY be used by tooling as required.\nservers | [[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)] | An array of Server Objects, which provide connectivity information to a target server. If the `servers` property is not provided, or is an empty array, the default value would be a [Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object) with a [url](https://spec.openapis.org/oas/v3.0.4.html#server-url) value of `/`.\npaths | [Paths Object](https://spec.openapis.org/oas/v3.0.4.html#paths-object) | **REQUIRED**. The available paths and operations for the API.\ncomponents | [Components Object](https://spec.openapis.org/oas/v3.0.4.html#components-object) | An element to hold various schemas for the specification.\nsecurity | [[Security Requirement Object](https://spec.openapis.org/oas/v3.0.4.html#security-requirement-object)] | A declaration of which security mechanisms can be used across the API. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. Individual operations can override this definition. To make security optional, an empty security requirement (`{}`) can be included in the array.\ntags | [[Tag Object](https://spec.openapis.org/oas/v3.0.4.html#tag-object)] | A list of tags used by the specification with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.\nexternalDocs | [External Documentation Object](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object) | Additional external documentation.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).",
targetSpecs: OpenAPI30,
},
];
diff --git a/packages/apidom-ls/src/config/openapi/operation/completion.ts b/packages/apidom-ls/src/config/openapi/operation/completion.ts
index 9af1a74a3c..eb085dda15 100644
--- a/packages/apidom-ls/src/config/openapi/operation/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/operation/completion.ts
@@ -99,7 +99,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[External Documentation](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#externalDocumentationObject)\n\\\n\\\nAdditional external documentation for this operation.',
+ '[External Documentation](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object)\n\\\n\\\nAdditional external documentation for this operation.',
},
targetSpecs: OpenAPI30,
},
@@ -197,7 +197,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- "[[Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nA list of parameters that are applicable for this operation. If a parameter is already defined at the [Path Item](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemParameters), the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterName) and [location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn). The list can use the [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) to link to parameters that are defined at the [OpenAPI Object's components/parameters](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsParameters).",
+ "[[Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nA list of parameters that are applicable for this operation. If a parameter is already defined at the [Path Item](https://spec.openapis.org/oas/v3.0.4.html#path-item-parameters), the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://spec.openapis.org/oas/v3.0.4.html#parameter-name) and [location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in). The list can use the [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) to link to parameters that are defined at the [OpenAPI Object's components/parameters](https://spec.openapis.org/oas/v3.0.4.html#components-parameters).",
},
targetSpecs: OpenAPI30,
},
@@ -225,7 +225,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Request Body Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)\n\\\n\\\nThe request body applicable for this operation. The `requestBody` is only supported in HTTP methods where the HTTP 1.1 specification [RFC7231](https://tools.ietf.org/html/rfc7231#section-4.3.1) has explicitly defined semantics for request bodies. In other cases where the HTTP spec is vague, `requestBody` SHALL be ignored by consumers.',
+ '[Request Body Object](https://spec.openapis.org/oas/v3.0.4.html#request-body-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)\n\\\n\\\nThe request body applicable for this operation. The `requestBody` is only supported in HTTP methods where the HTTP 1.1 specification [RFC7231](https://tools.ietf.org/html/rfc7231#section-4.3.1) has explicitly defined semantics for request bodies. In other cases where the HTTP spec is vague, `requestBody` SHALL be ignored by consumers.',
},
targetSpecs: OpenAPI30,
},
@@ -267,7 +267,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Responses Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responsesObject)\n\\\n\\\n**REQUIRED**. The list of possible responses as they are returned from executing this operation.',
+ '[Responses Object](https://spec.openapis.org/oas/v3.0.4.html#responses-object)\n\\\n\\\n**REQUIRED**. The list of possible responses as they are returned from executing this operation.',
},
targetSpecs: OpenAPI30,
},
@@ -309,7 +309,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]]\n\\\n\\\nA 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 [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) that describes a request that may be initiated by the API provider and the expected responses.',
+ 'Map[`string`, [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]]\n\\\n\\\nA 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 [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) that describes a request that may be initiated by the API provider and the expected responses.',
},
targetSpecs: OpenAPI30,
},
@@ -379,7 +379,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[[Security Requirement Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)]\n\\\n\\\nA declaration of which security mechanisms can be used for this operation. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. To make security optional, an empty security requirement (`{}`) can be included in the array. This definition overrides any declared top-level [`security`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasSecurity). To remove a top-level security declaration, an empty array can be used.',
+ '[[Security Requirement Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)]\n\\\n\\\nA declaration of which security mechanisms can be used for this operation. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. To make security optional, an empty security requirement (`{}`) can be included in the array. This definition overrides any declared top-level [`security`](https://spec.openapis.org/oas/v3.0.4.html#oas-security). To remove a top-level security declaration, an empty array can be used.',
},
targetSpecs: OpenAPI30,
},
@@ -407,7 +407,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)]\n\\\n\\\nAn alternative `server` array to service this operation. If an alternative `server` object is specified at the Path Item Object or Root level, it will be overridden by this value.',
+ '[[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)]\n\\\n\\\nAn alternative `server` array to service this operation. If an alternative `server` object is specified at the Path Item Object or Root level, it will be overridden by this value.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/operation/documentation.ts b/packages/apidom-ls/src/config/openapi/operation/documentation.ts
index 25a94efe92..7c43d8a671 100644
--- a/packages/apidom-ls/src/config/openapi/operation/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/operation/documentation.ts
@@ -64,7 +64,7 @@ const documentation = [
},
{
target: 'parameters',
- docs: "[[Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nA list of parameters that are applicable for this operation. If a parameter is already defined at the [Path Item](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemParameters), the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterName) and [location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn). The list can use the [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) to link to parameters that are defined at the [OpenAPI Object's components/parameters](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsParameters).",
+ docs: "[[Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nA list of parameters that are applicable for this operation. If a parameter is already defined at the [Path Item](https://spec.openapis.org/oas/v3.0.4.html#path-item-parameters), the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://spec.openapis.org/oas/v3.0.4.html#parameter-name) and [location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in). The list can use the [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) to link to parameters that are defined at the [OpenAPI Object's components/parameters](https://spec.openapis.org/oas/v3.0.4.html#components-parameters).",
targetSpecs: OpenAPI30,
},
{
@@ -74,7 +74,7 @@ const documentation = [
},
{
target: 'requestBody',
- docs: '[Request Body Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)\n\\\n\\\nThe request body applicable for this operation. The `requestBody` is only supported in HTTP methods where the HTTP 1.1 specification [RFC7231](https://tools.ietf.org/html/rfc7231#section-4.3.1) has explicitly defined semantics for request bodies. In other cases where the HTTP spec is vague, `requestBody` SHALL be ignored by consumers.',
+ docs: '[Request Body Object](https://spec.openapis.org/oas/v3.0.4.html#request-body-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)\n\\\n\\\nThe request body applicable for this operation. The `requestBody` is only supported in HTTP methods where the HTTP 1.1 specification [RFC7231](https://tools.ietf.org/html/rfc7231#section-4.3.1) has explicitly defined semantics for request bodies. In other cases where the HTTP spec is vague, `requestBody` SHALL be ignored by consumers.',
targetSpecs: OpenAPI30,
},
{
@@ -89,7 +89,7 @@ const documentation = [
},
{
target: 'responses',
- docs: '[Responses Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responsesObject)\n\\\n\\\n**REQUIRED**. The list of possible responses as they are returned from executing this operation.',
+ docs: '[Responses Object](https://spec.openapis.org/oas/v3.0.4.html#responses-object)\n\\\n\\\n**REQUIRED**. The list of possible responses as they are returned from executing this operation.',
targetSpecs: OpenAPI30,
},
{
@@ -99,7 +99,7 @@ const documentation = [
},
{
target: 'callbacks',
- docs: 'Map[`string`, [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]]\n\\\n\\\nA 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 [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) that describes a request that may be initiated by the API provider and the expected responses.',
+ docs: 'Map[`string`, [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]]\n\\\n\\\nA 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 [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) that describes a request that may be initiated by the API provider and the expected responses.',
targetSpecs: OpenAPI30,
},
{
@@ -124,7 +124,7 @@ const documentation = [
},
{
target: 'security',
- docs: '[[Security Requirement Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)]\n\\\n\\\nA declaration of which security mechanisms can be used for this operation. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. To make security optional, an empty security requirement (`{}`) can be included in the array. This definition overrides any declared top-level [`security`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasSecurity). To remove a top-level security declaration, an empty array can be used.',
+ docs: '[[Security Requirement Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)]\n\\\n\\\nA declaration of which security mechanisms can be used for this operation. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. To make security optional, an empty security requirement (`{}`) can be included in the array. This definition overrides any declared top-level [`security`](https://spec.openapis.org/oas/v3.0.4.html#oas-security). To remove a top-level security declaration, an empty array can be used.',
targetSpecs: OpenAPI30,
},
{
@@ -134,7 +134,7 @@ const documentation = [
},
{
target: 'servers',
- docs: '[[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)]\n\\\n\\\nAn alternative `server` array to service this operation. If an alternative `server` object is specified at the Path Item Object or Root level, it will be overridden by this value.',
+ docs: '[[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)]\n\\\n\\\nAn alternative `server` array to service this operation. If an alternative `server` object is specified at the Path Item Object or Root level, it will be overridden by this value.',
targetSpecs: OpenAPI30,
},
{
@@ -147,7 +147,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operation-object)\n\nDescribes a single API operation on a path.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\ntags | [`string`] | A list of tags for API documentation control. Tags can be used for logical grouping of operations by resources or any other qualifier.\nsummary | `string` | A short summary of what the operation does.\ndescription | `string` | A verbose explanation of the operation behavior. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nexternalDocs | [External Documentation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#externalDocumentationObject) | Additional external documentation for this operation.\noperationId | `string` | Unique string used to identify the operation. The id MUST be unique among all operations described in the API. The operationId value is **case-sensitive**. Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is RECOMMENDED to follow common programming naming conventions.\nparameters | [[Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | A list of parameters that are applicable for this operation. If a parameter is already defined at the [Path Item](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemParameters), the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterName) and [location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn). The list can use the [Reference Object](#referenceObject) to link to parameters that are defined at the [OpenAPI Object\'s components/parameters](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsParameters).\nrequestBody | [Request Body Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) | The request body applicable for this operation. The `requestBody` is only supported in HTTP methods where the HTTP 1.1 specification [RFC7231](https://tools.ietf.org/html/rfc7231#section-4.3.1) has explicitly defined semantics for request bodies. In other cases where the HTTP spec is vague, `requestBody` SHALL be ignored by consumers.\nresponses | [Responses Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responsesObject) | **REQUIRED**. The list of possible responses as they are returned from executing this operation.\ncallbacks | Map[`string`, [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | 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 [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callbackObject) that describes a request that may be initiated by the API provider and the expected responses.\ndeprecated | `boolean` | Declares this operation to be deprecated. Consumers SHOULD refrain from usage of the declared operation. Default value is `false`.\nsecurity | [[Security Requirement Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securityRequirementObject)] | A declaration of which security mechanisms can be used for this operation. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. To make security optional, an empty security requirement (`{}`) can be included in the array. This definition overrides any declared top-level [`security`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasSecurity). To remove a top-level security declaration, an empty array can be used.\nservers | [[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)] | An alternative `server` array to service this operation. If an alternative `server` object is specified at the Path Item Object or Root level, it will be overridden by this value.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Operation Object Example\n\n\n\\\nJSON\n```json\n{\n "tags": [\n "pet"\n ],\n "summary": "Updates a pet in the store with form data",\n "operationId": "updatePetWithForm",\n "parameters": [\n {\n "name": "petId",\n "in": "path",\n "description": "ID of pet that needs to be updated",\n "required": true,\n "schema": {\n "type": "string"\n }\n }\n ],\n "requestBody": {\n "content": {\n "application/x-www-form-urlencoded": {\n "schema": {\n "type": "object",\n "properties": {\n "name": {\n "description": "Updated name of the pet",\n "type": "string"\n },\n "status": {\n "description": "Updated status of the pet",\n "type": "string"\n }\n },\n "required": ["status"]\n }\n }\n }\n },\n "responses": {\n "200": {\n "description": "Pet updated.",\n "content": {\n "application/json": {},\n "application/xml": {}\n }\n },\n "405": {\n "description": "Method Not Allowed",\n "content": {\n "application/json": {},\n "application/xml": {}\n }\n }\n },\n "security": [\n {\n "petstore_auth": [\n "write:pets",\n "read:pets"\n ]\n }\n ]\n}\n```\n\n\n\\\nYAML\n```yaml\ntags:\n- pet\nsummary: Updates a pet in the store with form data\noperationId: updatePetWithForm\nparameters:\n- name: petId\n in: path\n description: ID of pet that needs to be updated\n required: true\n schema:\n type: string\nrequestBody:\n content:\n \'application/x-www-form-urlencoded\':\n schema:\n properties:\n name:\n description: Updated name of the pet\n type: string\n status:\n description: Updated status of the pet\n type: string\n required:\n - status\nresponses:\n \'200\':\n description: Pet updated.\n content:\n \'application/json\': {}\n \'application/xml\': {}\n \'405\':\n description: Method Not Allowed\n content:\n \'application/json\': {}\n \'application/xml\': {}\nsecurity:\n- petstore_auth:\n - write:pets\n - read:pets\n```',
+ docs: '#### [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\nDescribes a single API operation on a path.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\ntags | [`string`] | A list of tags for API documentation control. Tags can be used for logical grouping of operations by resources or any other qualifier.\nsummary | `string` | A short summary of what the operation does.\ndescription | `string` | A verbose explanation of the operation behavior. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nexternalDocs | [External Documentation Object](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object) | Additional external documentation for this operation.\noperationId | `string` | Unique string used to identify the operation. The id MUST be unique among all operations described in the API. The operationId value is **case-sensitive**. Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is RECOMMENDED to follow common programming naming conventions.\nparameters | [[Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | A list of parameters that are applicable for this operation. If a parameter is already defined at the [Path Item](https://spec.openapis.org/oas/v3.0.4.html#path-item-parameters), the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://spec.openapis.org/oas/v3.0.4.html#parameter-name) and [location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in). The list can use the [Reference Object](#referenceObject) to link to parameters that are defined at the [OpenAPI Object\'s components/parameters](https://spec.openapis.org/oas/v3.0.4.html#components-parameters).\nrequestBody | [Request Body Object](https://spec.openapis.org/oas/v3.0.4.html#request-body-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) | The request body applicable for this operation. The `requestBody` is only supported in HTTP methods where the HTTP 1.1 specification [RFC7231](https://tools.ietf.org/html/rfc7231#section-4.3.1) has explicitly defined semantics for request bodies. In other cases where the HTTP spec is vague, `requestBody` SHALL be ignored by consumers.\nresponses | [Responses Object](https://spec.openapis.org/oas/v3.0.4.html#responses-object) | **REQUIRED**. The list of possible responses as they are returned from executing this operation.\ncallbacks | Map[`string`, [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | 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 [Callback Object](https://spec.openapis.org/oas/v3.0.4.html#callback-object) that describes a request that may be initiated by the API provider and the expected responses.\ndeprecated | `boolean` | Declares this operation to be deprecated. Consumers SHOULD refrain from usage of the declared operation. Default value is `false`.\nsecurity | [[Security Requirement Object](https://spec.openapis.org/oas/v3.0.4.html#security-requirement-object)] | A declaration of which security mechanisms can be used for this operation. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. To make security optional, an empty security requirement (`{}`) can be included in the array. This definition overrides any declared top-level [`security`](https://spec.openapis.org/oas/v3.0.4.html#oas-security). To remove a top-level security declaration, an empty array can be used.\nservers | [[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)] | An alternative `server` array to service this operation. If an alternative `server` object is specified at the Path Item Object or Root level, it will be overridden by this value.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Operation Object Example\n\n\n\\\nJSON\n```json\n{\n "tags": [\n "pet"\n ],\n "summary": "Updates a pet in the store with form data",\n "operationId": "updatePetWithForm",\n "parameters": [\n {\n "name": "petId",\n "in": "path",\n "description": "ID of pet that needs to be updated",\n "required": true,\n "schema": {\n "type": "string"\n }\n }\n ],\n "requestBody": {\n "content": {\n "application/x-www-form-urlencoded": {\n "schema": {\n "type": "object",\n "properties": {\n "name": {\n "description": "Updated name of the pet",\n "type": "string"\n },\n "status": {\n "description": "Updated status of the pet",\n "type": "string"\n }\n },\n "required": ["status"]\n }\n }\n }\n },\n "responses": {\n "200": {\n "description": "Pet updated.",\n "content": {\n "application/json": {},\n "application/xml": {}\n }\n },\n "405": {\n "description": "Method Not Allowed",\n "content": {\n "application/json": {},\n "application/xml": {}\n }\n }\n },\n "security": [\n {\n "petstore_auth": [\n "write:pets",\n "read:pets"\n ]\n }\n ]\n}\n```\n\n\n\\\nYAML\n```yaml\ntags:\n- pet\nsummary: Updates a pet in the store with form data\noperationId: updatePetWithForm\nparameters:\n- name: petId\n in: path\n description: ID of pet that needs to be updated\n required: true\n schema:\n type: string\nrequestBody:\n content:\n \'application/x-www-form-urlencoded\':\n schema:\n properties:\n name:\n description: Updated name of the pet\n type: string\n status:\n description: Updated status of the pet\n type: string\n required:\n - status\nresponses:\n \'200\':\n description: Pet updated.\n content:\n \'application/json\': {}\n \'application/xml\': {}\n \'405\':\n description: Method Not Allowed\n content:\n \'application/json\': {}\n \'application/xml\': {}\nsecurity:\n- petstore_auth:\n - write:pets\n - read:pets\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/parameter/completion.ts b/packages/apidom-ls/src/config/openapi/parameter/completion.ts
index ee2ce7844e..9beb63780b 100644
--- a/packages/apidom-ls/src/config/openapi/parameter/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/parameter/completion.ts
@@ -43,7 +43,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '**REQUIRED**. The name of the parameter. Parameter names are *case sensitive*.\n\n * If [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"path"`, the `name` field MUST correspond to a template expression occurring within the [path](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsPath) field in the [Paths Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsObject). See [Path Templating](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathTemplating) for further information.\n\n * If [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"header"` and the `name` field is `"Accept"`, `"Content-Type"` or `"Authorization"`, the parameter definition SHALL be ignored.\n\n * For all other cases, the `name` corresponds to the parameter name used by the [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) property.',
+ '**REQUIRED**. The name of the parameter. Parameter names are *case sensitive*.\n\n * If [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"path"`, the `name` field MUST correspond to a template expression occurring within the [path](https://spec.openapis.org/oas/v3.0.4.html#paths-path) field in the [Paths Object](https://spec.openapis.org/oas/v3.0.4.html#paths-object). See [Path Templating](https://spec.openapis.org/oas/v3.0.4.html#path-templating) for further information.\n\n * If [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"header"` and the `name` field is `"Accept"`, `"Content-Type"` or `"Authorization"`, the parameter definition SHALL be ignored.\n\n * For all other cases, the `name` corresponds to the parameter name used by the [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) property.',
},
targetSpecs: OpenAPI30,
},
@@ -141,7 +141,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Determines whether this parameter is mandatory. If the [parameter location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"path"`, this property is **REQUIRED** and its value MUST be `true`. Otherwise, the property MAY be included and its default value is `false`.',
+ 'Determines whether this parameter is mandatory. If the [parameter location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"path"`, this property is **REQUIRED** and its value MUST be `true`. Otherwise, the property MAY be included and its default value is `false`.',
},
targetSpecs: OpenAPI30,
},
@@ -197,7 +197,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '`boolean`\n\\\n\\\nSets 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 [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) 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.',
+ '`boolean`\n\\\n\\\nSets 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 [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-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.',
},
targetSpecs: OpenAPI30,
},
@@ -448,7 +448,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'When this is true, parameter values of type `array` or `object` generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) is `form`, the default value is `true`. For all other styles, the default value is `false`.',
+ 'When this is true, parameter values of type `array` or `object` generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-style) is `form`, the default value is `true`. For all other styles, the default value is `false`.',
},
targetSpecs: OpenAPI30,
},
@@ -504,7 +504,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)\n\\\n\\\nThe schema defining the type used for the parameter.',
+ '[Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)\n\\\n\\\nThe schema defining the type used for the parameter.',
},
targetSpecs: OpenAPI30,
},
@@ -574,7 +574,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- "Map[`string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nExamples of the parameter's potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL *override* the example provided by the schema",
+ "Map[`string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nExamples of the parameter's potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL *override* the example provided by the schema",
},
targetSpecs: OpenAPI30,
},
@@ -602,7 +602,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)]\n\\\n\\\nA map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.',
+ 'Map[`string`, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)]\n\\\n\\\nA map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/parameter/documentation.ts b/packages/apidom-ls/src/config/openapi/parameter/documentation.ts
index 8520f429ff..bec97eabb9 100644
--- a/packages/apidom-ls/src/config/openapi/parameter/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/parameter/documentation.ts
@@ -23,7 +23,7 @@ const documentation = [
},
{
target: 'name',
- docs: '**REQUIRED**. The name of the parameter. Parameter names are *case sensitive*.\n\n * If [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"path"`, the `name` field MUST correspond to a template expression occurring within the [path](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsPath) field in the [Paths Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsObject). See [Path Templating](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathTemplating) for further information.\n\n * If [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"header"` and the `name` field is `"Accept"`, `"Content-Type"` or `"Authorization"`, the parameter definition SHALL be ignored.\n\n * For all other cases, the `name` corresponds to the parameter name used by the [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) property.',
+ docs: '**REQUIRED**. The name of the parameter. Parameter names are *case sensitive*.\n\n * If [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"path"`, the `name` field MUST correspond to a template expression occurring within the [path](https://spec.openapis.org/oas/v3.0.4.html#paths-path) field in the [Paths Object](https://spec.openapis.org/oas/v3.0.4.html#paths-object). See [Path Templating](https://spec.openapis.org/oas/v3.0.4.html#path-templating) for further information.\n\n * If [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"header"` and the `name` field is `"Accept"`, `"Content-Type"` or `"Authorization"`, the parameter definition SHALL be ignored.\n\n * For all other cases, the `name` corresponds to the parameter name used by the [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) property.',
targetSpecs: OpenAPI30,
},
{
@@ -58,7 +58,7 @@ const documentation = [
},
{
target: 'required',
- docs: 'Determines whether this parameter is mandatory. If the [parameter location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"path"`, this property is **REQUIRED** and its value MUST be `true`. Otherwise, the property MAY be included and its default value is `false`.',
+ docs: 'Determines whether this parameter is mandatory. If the [parameter location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"path"`, this property is **REQUIRED** and its value MUST be `true`. Otherwise, the property MAY be included and its default value is `false`.',
targetSpecs: OpenAPI30,
},
{
@@ -93,7 +93,7 @@ const documentation = [
},
{
target: 'allowEmptyValue',
- docs: '`boolean`\n\\\n\\\nSets 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 [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) 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.',
+ docs: '`boolean`\n\\\n\\\nSets 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 [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-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.',
targetSpecs: OpenAPI30,
},
{
@@ -183,7 +183,7 @@ const documentation = [
},
{
target: 'explode',
- docs: 'When this is true, parameter values of type `array` or `object` generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) is `form`, the default value is `true`. For all other styles, the default value is `false`.',
+ docs: 'When this is true, parameter values of type `array` or `object` generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-style) is `form`, the default value is `true`. For all other styles, the default value is `false`.',
targetSpecs: OpenAPI30,
},
{
@@ -203,7 +203,7 @@ const documentation = [
},
{
target: 'examples',
- docs: "Map[`string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nExamples of the parameter's potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL *override* the example provided by the schema",
+ docs: "Map[`string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nExamples of the parameter's potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL *override* the example provided by the schema",
targetSpecs: OpenAPI30,
},
{
@@ -213,7 +213,7 @@ const documentation = [
},
{
target: 'content',
- docs: 'Map[`string`, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)]\n\\\n\\\nA map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.',
+ docs: 'Map[`string`, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)]\n\\\n\\\nA map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.',
targetSpecs: OpenAPI30,
},
{
@@ -226,7 +226,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject)\n\nDescribes a single operation parameter.\n\nA unique parameter is defined by a combination of a [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterName) and [location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn).\n\n##### Parameter Locations\nThere are four possible parameter locations specified by the `in` field:\n* path - Used together with [Path Templating](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathTemplating), where the parameter value is actually part of the operation\'s URL. This does not include the host or base path of the API. For example, in `/items/{itemId}`, the path parameter is `itemId`.\n* query - Parameters that are appended to the URL. For example, in `/items?id=###`, the query parameter is `id`.\n* header - Custom headers that are expected as part of the request. Note that [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive.\n* cookie - Used to pass a specific cookie value to the API.\n\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nname | `string` | **REQUIRED**. The name of the parameter. Parameter names are *case sensitive*.\n | | * If [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"path"`, the `name` field MUST correspond to a template expression occurring within the [path](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsPath) field in the [Paths Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsObject). See [Path Templating](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathTemplating) for further information.\n | | * If [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"header"` and the `name` field is `"Accept"`, `"Content-Type"` or `"Authorization"`, the parameter definition SHALL be ignored.\n | | * For all other cases, the `name` corresponds to the parameter name used by the [`in`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) property.\nin | `string` | **REQUIRED**. The location of the parameter. Possible values are `"query"`, `"header"`, `"path"` or `"cookie"`.\ndescription | `string` | A brief description of the parameter. This could contain examples of use. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nrequired | `boolean` | Determines whether this parameter is mandatory. If the [parameter location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn) is `"path"`, this property is **REQUIRED** and its value MUST be `true`. Otherwise, the property MAY be included and its default value is `false`.\ndeprecated | `boolean` | Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is `false`.\nallowEmptyValue | `boolean` | 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 [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) 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.\n\nThe rules for serialization of the parameter are specified in one of two ways.\nFor simpler scenarios, a [`schema`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterSchema) and [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) can describe the structure and syntax of the parameter.\n\nField Name | Type | Description\n---|:---:|---\nstyle | `string` | Describes how the parameter value will be serialized depending on the type of the parameter value. Default values (based on value of `in`): for `query` - `form`; for `path` - `simple`; for `header` - `simple`; for `cookie` - `form`.\nexplode | `boolean` | When this is true, parameter values of type `array` or `object` generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When [`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterStyle) is `form`, the default value is `true`. For all other styles, the default value is `false`.\nallowReserved | `boolean` | Determines whether the parameter value SHOULD allow reserved characters, as defined by [RFC3986](https://tools.ietf.org/html/rfc3986#section-2.2) `:/?#[]@!$&\'()*+,;=` to be included without percent-encoding. This property only applies to parameters with an `in` value of `query`. The default value is `false`.\nschema | [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) | The schema defining the type used for the parameter.\nexample | Any | Example of the parameter\'s potential value. The example SHOULD match the specified schema and encoding properties if present. The `example` field is mutually exclusive of the `examples` field. Furthermore, if referencing a `schema` that contains an example, the `example` value SHALL _override_ the example provided by the schema. To represent examples of media types that cannot naturally be represented in JSON or YAML, a string value can contain the example with escaping where necessary.\nexamples | Map[ `string`, [Example Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#exampleObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | Examples of the parameter\'s potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL _override_ the example provided by the schema.\n\nFor more complex scenarios, the [`content`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterContent) property can define the media type and schema of the parameter.\nA parameter MUST contain either a `schema` property, or a `content` property, but not both.\nWhen `example` or `examples` are provided in conjunction with the `schema` object, the example MUST follow the prescribed serialization strategy for the parameter.\n\n\nField Name | Type | Description\n---|:---:|---\ncontent | Map[`string`, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)] | A map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.\n\n##### [Style Values](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#style-values)\n\nIn order to support common ways of serializing simple parameters, a set of `style` values are defined.\n\n`style` | [`type`](#dataTypes) | `in` | Comments\n----------- | ------ | -------- | --------\nmatrix | `primitive`, `array`, `object` | `path` | Path-style parameters defined by [RFC6570](https://tools.ietf.org/html/rfc6570#section-3.2.7)\nlabel | `primitive`, `array`, `object` | `path` | Label style parameters defined by [RFC6570](https://tools.ietf.org/html/rfc6570#section-3.2.5)\nform | `primitive`, `array`, `object` | `query`, `cookie` | Form style parameters defined by [RFC6570](https://tools.ietf.org/html/rfc6570#section-3.2.8). This option replaces `collectionFormat` with a `csv` (when `explode` is false) or `multi` (when `explode` is true) value from OpenAPI 2.0.\nsimple | `array` | `path`, `header` | Simple style parameters defined by [RFC6570](https://tools.ietf.org/html/rfc6570#section-3.2.2). This option replaces `collectionFormat` with a `csv` value from OpenAPI 2.0.\nspaceDelimited | `array`, `object` | `query` | Space separated array or object values. This option replaces `collectionFormat` equal to `ssv` from OpenAPI 2.0.\npipeDelimited | `array`, `object` | `query` | Pipe separated array or object values. This option replaces `collectionFormat` equal to `pipes` from OpenAPI 2.0.\ndeepObject | `object` | `query` | Provides a simple way of rendering nested objects using form parameters.\n\n\n##### Style Examples\n\nAssume a parameter named `color` has one of the following values:\n\n```\n string -> "blue"\n array -> ["blue","black","brown"]\n object -> { "R": 100, "G": 200, "B": 150 }\n```\nThe following table shows examples of rendering differences for each value.\n\n[`style`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#styleValues) | `explode` | `empty` | `string` | `array` | `object`\n----------- | ------ | -------- | -------- | -------- | -------\nmatrix | false | ;color | ;color=blue | ;color=blue,black,brown | ;color=R,100,G,200,B,150\nmatrix | true | ;color | ;color=blue | ;color=blue;color=black;color=brown | ;R=100;G=200;B=150\nlabel | false | . | .blue | .blue.black.brown | .R.100.G.200.B.150\nlabel | true | . | .blue | .blue.black.brown | .R=100.G=200.B=150\nform | false | color= | color=blue | color=blue,black,brown | color=R,100,G,200,B,150\nform | true | color= | color=blue | color=blue&color=black&color=brown | R=100&G=200&B=150\nsimple | false | n/a | blue | blue,black,brown | R,100,G,200,B,150\nsimple | true | n/a | blue | blue,black,brown | R=100,G=200,B=150\nspaceDelimited | false | n/a | n/a | blue%20black%20brown | R%20100%20G%20200%20B%20150\npipeDelimited | false | n/a | n/a | blue\\|black\\|brown | R\\|100\\|G\\|200\\|B\\|150\ndeepObject | true | n/a | n/a | n/a | color[R]=100&color[G]=200&color[B]=150\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### [Parameter Object Examples](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameter-object-examples#parameter-object-examples)\n\nA header parameter with an array of 64 bit integer numbers:\n\n\n\\\nJSON\n```json\n{\n "name": "token",\n "in": "header",\n "description": "token to be passed as a header",\n "required": true,\n "schema": {\n "type": "array",\n "items": {\n "type": "integer",\n "format": "int64"\n }\n },\n "style": "simple"\n}\n```\n\n\n\\\nYAML\n```yaml\nname: token\nin: header\ndescription: token to be passed as a header\nrequired: true\nschema:\n type: array\n items:\n type: integer\n format: int64\nstyle: simple\n```\n\nA path parameter of a string value:\n```json\n{\n "name": "username",\n "in": "path",\n "description": "username to fetch",\n "required": true,\n "schema": {\n "type": "string"\n }\n}\n```\n\n```yaml\nname: username\nin: path\ndescription: username to fetch\nrequired: true\nschema:\n type: string\n```\n\nAn optional query parameter of a string value, allowing multiple values by repeating the query parameter:\n```json\n{\n "name": "id",\n "in": "query",\n "description": "ID of the object to fetch",\n "required": false,\n "schema": {\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "style": "form",\n "explode": true\n}\n```\n\n```yaml\nname: id\nin: query\ndescription: ID of the object to fetch\nrequired: false\nschema:\n type: array\n items:\n type: string\nstyle: form\nexplode: true\n```\n\nA free-form query parameter, allowing undefined parameters of a specific type:\n```json\n{\n "in": "query",\n "name": "freeForm",\n "schema": {\n "type": "object",\n "additionalProperties": {\n "type": "integer"\n },\n },\n "style": "form"\n}\n```\n\n```yaml\nin: query\nname: freeForm\nschema:\n type: object\n additionalProperties:\n type: integer\nstyle: form\n```\n\nA complex parameter using `content` to define serialization:\n\n```json\n{\n "in": "query",\n "name": "coordinates",\n "content": {\n "application/json": {\n "schema": {\n "type": "object",\n "required": [\n "lat",\n "long"\n ],\n "properties": {\n "lat": {\n "type": "number"\n },\n "long": {\n "type": "number"\n }\n }\n }\n }\n }\n}\n```\n\n```yaml\nin: query\nname: coordinates\ncontent:\n application/json:\n schema:\n type: object\n required:\n - lat\n - long\n properties:\n lat:\n type: number\n long:\n type: number\n```',
+ docs: '#### [Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object)\n\nDescribes a single operation parameter.\n\nA unique parameter is defined by a combination of a [name](https://spec.openapis.org/oas/v3.0.4.html#parameter-name) and [location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in).\n\n##### Parameter Locations\nThere are four possible parameter locations specified by the `in` field:\n* path - Used together with [Path Templating](https://spec.openapis.org/oas/v3.0.4.html#path-templating), where the parameter value is actually part of the operation\'s URL. This does not include the host or base path of the API. For example, in `/items/{itemId}`, the path parameter is `itemId`.\n* query - Parameters that are appended to the URL. For example, in `/items?id=###`, the query parameter is `id`.\n* header - Custom headers that are expected as part of the request. Note that [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive.\n* cookie - Used to pass a specific cookie value to the API.\n\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nname | `string` | **REQUIRED**. The name of the parameter. Parameter names are *case sensitive*.\n | | * If [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"path"`, the `name` field MUST correspond to a template expression occurring within the [path](https://spec.openapis.org/oas/v3.0.4.html#paths-path) field in the [Paths Object](https://spec.openapis.org/oas/v3.0.4.html#paths-object). See [Path Templating](https://spec.openapis.org/oas/v3.0.4.html#path-templating) for further information.\n | | * If [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"header"` and the `name` field is `"Accept"`, `"Content-Type"` or `"Authorization"`, the parameter definition SHALL be ignored.\n | | * For all other cases, the `name` corresponds to the parameter name used by the [`in`](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) property.\nin | `string` | **REQUIRED**. The location of the parameter. Possible values are `"query"`, `"header"`, `"path"` or `"cookie"`.\ndescription | `string` | A brief description of the parameter. This could contain examples of use. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nrequired | `boolean` | Determines whether this parameter is mandatory. If the [parameter location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in) is `"path"`, this property is **REQUIRED** and its value MUST be `true`. Otherwise, the property MAY be included and its default value is `false`.\ndeprecated | `boolean` | Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is `false`.\nallowEmptyValue | `boolean` | 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 [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-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.\n\nThe rules for serialization of the parameter are specified in one of two ways.\nFor simpler scenarios, a [`schema`](https://spec.openapis.org/oas/v3.0.4.html#parameter-schema) and [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-style) can describe the structure and syntax of the parameter.\n\nField Name | Type | Description\n---|:---:|---\nstyle | `string` | Describes how the parameter value will be serialized depending on the type of the parameter value. Default values (based on value of `in`): for `query` - `form`; for `path` - `simple`; for `header` - `simple`; for `cookie` - `form`.\nexplode | `boolean` | When this is true, parameter values of type `array` or `object` generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When [`style`](https://spec.openapis.org/oas/v3.0.4.html#parameter-style) is `form`, the default value is `true`. For all other styles, the default value is `false`.\nallowReserved | `boolean` | Determines whether the parameter value SHOULD allow reserved characters, as defined by [RFC3986](https://tools.ietf.org/html/rfc3986#section-2.2) `:/?#[]@!$&\'()*+,;=` to be included without percent-encoding. This property only applies to parameters with an `in` value of `query`. The default value is `false`.\nschema | [Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) | The schema defining the type used for the parameter.\nexample | Any | Example of the parameter\'s potential value. The example SHOULD match the specified schema and encoding properties if present. The `example` field is mutually exclusive of the `examples` field. Furthermore, if referencing a `schema` that contains an example, the `example` value SHALL _override_ the example provided by the schema. To represent examples of media types that cannot naturally be represented in JSON or YAML, a string value can contain the example with escaping where necessary.\nexamples | Map[ `string`, [Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | Examples of the parameter\'s potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL _override_ the example provided by the schema.\n\nFor more complex scenarios, the [`content`](https://spec.openapis.org/oas/v3.0.4.html#parameter-content) property can define the media type and schema of the parameter.\nA parameter MUST contain either a `schema` property, or a `content` property, but not both.\nWhen `example` or `examples` are provided in conjunction with the `schema` object, the example MUST follow the prescribed serialization strategy for the parameter.\n\n\nField Name | Type | Description\n---|:---:|---\ncontent | Map[`string`, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)] | A map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.\n\n##### [Style Values](https://spec.openapis.org/oas/v3.0.4.html#style-values)\n\nIn order to support common ways of serializing simple parameters, a set of `style` values are defined.\n\n`style` | [`type`](#dataTypes) | `in` | Comments\n----------- | ------ | -------- | --------\nmatrix | `primitive`, `array`, `object` | `path` | Path-style parameters defined by [RFC6570](https://tools.ietf.org/html/rfc6570#section-3.2.7)\nlabel | `primitive`, `array`, `object` | `path` | Label style parameters defined by [RFC6570](https://tools.ietf.org/html/rfc6570#section-3.2.5)\nform | `primitive`, `array`, `object` | `query`, `cookie` | Form style parameters defined by [RFC6570](https://tools.ietf.org/html/rfc6570#section-3.2.8). This option replaces `collectionFormat` with a `csv` (when `explode` is false) or `multi` (when `explode` is true) value from OpenAPI 2.0.\nsimple | `array` | `path`, `header` | Simple style parameters defined by [RFC6570](https://tools.ietf.org/html/rfc6570#section-3.2.2). This option replaces `collectionFormat` with a `csv` value from OpenAPI 2.0.\nspaceDelimited | `array`, `object` | `query` | Space separated array or object values. This option replaces `collectionFormat` equal to `ssv` from OpenAPI 2.0.\npipeDelimited | `array`, `object` | `query` | Pipe separated array or object values. This option replaces `collectionFormat` equal to `pipes` from OpenAPI 2.0.\ndeepObject | `object` | `query` | Provides a simple way of rendering nested objects using form parameters.\n\n\n##### Style Examples\n\nAssume a parameter named `color` has one of the following values:\n\n```\n string -> "blue"\n array -> ["blue","black","brown"]\n object -> { "R": 100, "G": 200, "B": 150 }\n```\nThe following table shows examples of rendering differences for each value.\n\n[`style`](https://spec.openapis.org/oas/v3.0.4.html#style-values) | `explode` | `empty` | `string` | `array` | `object`\n----------- | ------ | -------- | -------- | -------- | -------\nmatrix | false | ;color | ;color=blue | ;color=blue,black,brown | ;color=R,100,G,200,B,150\nmatrix | true | ;color | ;color=blue | ;color=blue;color=black;color=brown | ;R=100;G=200;B=150\nlabel | false | . | .blue | .blue.black.brown | .R.100.G.200.B.150\nlabel | true | . | .blue | .blue.black.brown | .R=100.G=200.B=150\nform | false | color= | color=blue | color=blue,black,brown | color=R,100,G,200,B,150\nform | true | color= | color=blue | color=blue&color=black&color=brown | R=100&G=200&B=150\nsimple | false | n/a | blue | blue,black,brown | R,100,G,200,B,150\nsimple | true | n/a | blue | blue,black,brown | R=100,G=200,B=150\nspaceDelimited | false | n/a | n/a | blue%20black%20brown | R%20100%20G%20200%20B%20150\npipeDelimited | false | n/a | n/a | blue\\|black\\|brown | R\\|100\\|G\\|200\\|B\\|150\ndeepObject | true | n/a | n/a | n/a | color[R]=100&color[G]=200&color[B]=150\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### [Parameter Object Examples](https://spec.openapis.org/oas/v3.0.4.html#parameter-object-examples#parameter-object-examples)\n\nA header parameter with an array of 64 bit integer numbers:\n\n\n\\\nJSON\n```json\n{\n "name": "token",\n "in": "header",\n "description": "token to be passed as a header",\n "required": true,\n "schema": {\n "type": "array",\n "items": {\n "type": "integer",\n "format": "int64"\n }\n },\n "style": "simple"\n}\n```\n\n\n\\\nYAML\n```yaml\nname: token\nin: header\ndescription: token to be passed as a header\nrequired: true\nschema:\n type: array\n items:\n type: integer\n format: int64\nstyle: simple\n```\n\nA path parameter of a string value:\n```json\n{\n "name": "username",\n "in": "path",\n "description": "username to fetch",\n "required": true,\n "schema": {\n "type": "string"\n }\n}\n```\n\n```yaml\nname: username\nin: path\ndescription: username to fetch\nrequired: true\nschema:\n type: string\n```\n\nAn optional query parameter of a string value, allowing multiple values by repeating the query parameter:\n```json\n{\n "name": "id",\n "in": "query",\n "description": "ID of the object to fetch",\n "required": false,\n "schema": {\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "style": "form",\n "explode": true\n}\n```\n\n```yaml\nname: id\nin: query\ndescription: ID of the object to fetch\nrequired: false\nschema:\n type: array\n items:\n type: string\nstyle: form\nexplode: true\n```\n\nA free-form query parameter, allowing undefined parameters of a specific type:\n```json\n{\n "in": "query",\n "name": "freeForm",\n "schema": {\n "type": "object",\n "additionalProperties": {\n "type": "integer"\n },\n },\n "style": "form"\n}\n```\n\n```yaml\nin: query\nname: freeForm\nschema:\n type: object\n additionalProperties:\n type: integer\nstyle: form\n```\n\nA complex parameter using `content` to define serialization:\n\n```json\n{\n "in": "query",\n "name": "coordinates",\n "content": {\n "application/json": {\n "schema": {\n "type": "object",\n "required": [\n "lat",\n "long"\n ],\n "properties": {\n "lat": {\n "type": "number"\n },\n "long": {\n "type": "number"\n }\n }\n }\n }\n }\n}\n```\n\n```yaml\nin: query\nname: coordinates\ncontent:\n application/json:\n schema:\n type: object\n required:\n - lat\n - long\n properties:\n lat:\n type: number\n long:\n type: number\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/path-item/completion.ts b/packages/apidom-ls/src/config/openapi/path-item/completion.ts
index 114be316d0..1a733f9136 100644
--- a/packages/apidom-ls/src/config/openapi/path-item/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/path-item/completion.ts
@@ -30,7 +30,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Allows for an external definition of this path item. The referenced structure MUST be in the format of a [Path Item Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemObject). In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined.',
+ 'Allows for an external definition of this path item. The referenced structure MUST be in the format of a [Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object). In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined.',
},
targetSpecs: OpenAPI30,
},
@@ -98,7 +98,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject)\n\\\n\\\nA definition of a GET operation on this path.',
+ '[Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\\\n\\\nA definition of a GET operation on this path.',
},
targetSpecs: OpenAPI30,
},
@@ -126,7 +126,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject)\n\\\n\\\nA definition of a PUT operation on this path.',
+ '[Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\\\n\\\nA definition of a PUT operation on this path.',
},
targetSpecs: OpenAPI30,
},
@@ -182,7 +182,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject)\n\\\n\\\nA definition of a POST operation on this path.',
+ '[Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\\\n\\\nA definition of a POST operation on this path.',
},
targetSpecs: OpenAPI30,
},
@@ -224,7 +224,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject)\n\\\n\\\nA definition of a DELETE operation on this path.',
+ '[Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\\\n\\\nA definition of a DELETE operation on this path.',
},
targetSpecs: OpenAPI30,
},
@@ -266,7 +266,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject)\n\\\n\\\nA definition of a OPTIONS operation on this path.',
+ '[Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\\\n\\\nA definition of a OPTIONS operation on this path.',
},
targetSpecs: OpenAPI30,
},
@@ -308,7 +308,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject)\n\\\n\\\nA definition of a HEAD operation on this path.',
+ '[Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\\\n\\\nA definition of a HEAD operation on this path.',
},
targetSpecs: OpenAPI30,
},
@@ -350,7 +350,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject)\n\\\n\\\nA definition of a PATCH operation on this path.',
+ '[Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\\\n\\\nA definition of a PATCH operation on this path.',
},
targetSpecs: OpenAPI30,
},
@@ -378,7 +378,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject)\n\\\n\\\nA definition of a TRACE operation on this path.',
+ '[Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\\\n\\\nA definition of a TRACE operation on this path.',
},
targetSpecs: OpenAPI30,
},
@@ -406,7 +406,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)]\n\\\n\\\nAn alternative `server` array to service all operations in this path.',
+ '[[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)]\n\\\n\\\nAn alternative `server` array to service all operations in this path.',
},
targetSpecs: OpenAPI30,
},
@@ -448,7 +448,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- "[[Parameter](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nA list of parameters that are applicable for all the operations described under this path. These parameters can be overridden at the operation level, but cannot be removed there. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterName) and [location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn). The list can use the [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) to link to parameters that are defined at the [OpenAPI Object's components/parameters](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsParameters).",
+ "[[Parameter](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nA list of parameters that are applicable for all the operations described under this path. These parameters can be overridden at the operation level, but cannot be removed there. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://spec.openapis.org/oas/v3.0.4.html#parameter-name) and [location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in). The list can use the [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) to link to parameters that are defined at the [OpenAPI Object's components/parameters](https://spec.openapis.org/oas/v3.0.4.html#components-parameters).",
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/path-item/documentation.ts b/packages/apidom-ls/src/config/openapi/path-item/documentation.ts
index be13648d15..9994fefe57 100644
--- a/packages/apidom-ls/src/config/openapi/path-item/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/path-item/documentation.ts
@@ -25,7 +25,7 @@ const documentation = [
},
{
target: '$ref',
- docs: 'Allows for an external definition of this path item. The referenced structure MUST be in the format of a [Path Item Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemObject). In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined.',
+ docs: 'Allows for an external definition of this path item. The referenced structure MUST be in the format of a [Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object). In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined.',
targetSpecs: OpenAPI30,
},
{
@@ -45,7 +45,7 @@ const documentation = [
},
{
target: 'servers',
- docs: '[[ServerObject](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)]\n\\\n\\\nAn alternative `server` array to service all operations in this path.',
+ docs: '[[ServerObject](https://spec.openapis.org/oas/v3.0.4.html#server-object)]\n\\\n\\\nAn alternative `server` array to service all operations in this path.',
targetSpecs: OpenAPI31,
},
{
@@ -60,7 +60,7 @@ const documentation = [
},
{
target: 'parameters',
- docs: "[[Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nA list of parameters that are applicable for all the operations described under this path. These parameters can be overridden at the operation level, but cannot be removed there. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterName) and [location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn). The list can use the [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) to link to parameters that are defined at the [OpenAPI Object's components/parameters](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsParameters).",
+ docs: "[[Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nA list of parameters that are applicable for all the operations described under this path. These parameters can be overridden at the operation level, but cannot be removed there. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://spec.openapis.org/oas/v3.0.4.html#parameter-name) and [location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in). The list can use the [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) to link to parameters that are defined at the [OpenAPI Object's components/parameters](https://spec.openapis.org/oas/v3.0.4.html#components-parameters).",
targetSpecs: OpenAPI30,
},
{
@@ -73,7 +73,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Path Item Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#path-item-object)\n\nDescribes the operations available on a single path.\nA Path Item MAY be empty, due to [ACL constraints](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securityFiltering).\nThe path itself is still exposed to the documentation viewer but they will not know which operations and parameters are available.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\n$ref | `string` | Allows for an external definition of this path item. The referenced structure MUST be in the format of a [Path Item Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemObject). In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined.\nsummary| `string` | An optional, string summary, intended to apply to all operations in this path.\ndescription | `string` | An optional, string description, intended to apply to all operations in this path. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nget | [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) | A definition of a GET operation on this path.\nput | [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) | A definition of a PUT operation on this path.\npost | [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) | A definition of a POST operation on this path.\ndelete | [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) | A definition of a DELETE operation on this path.\noptions | [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) | A definition of a OPTIONS operation on this path.\nhead | [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) | A definition of a HEAD operation on this path.\npatch | [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) | A definition of a PATCH operation on this path.\ntrace | [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject) | A definition of a TRACE operation on this path.\nservers | [[Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)] | An alternative `server` array to service all operations in this path.\nparameters | [[Parameter Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | A list of parameters that are applicable for all the operations described under this path. These parameters can be overridden at the operation level, but cannot be removed there. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterName) and [location](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameterIn). The list can use the [Reference Object](#referenceObject) to link to parameters that are defined at the [OpenAPI Object\'s components/parameters](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsParameters).\n\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Path Item Object Example\n\n\n\\\nJSON\n```json\n{\n "get": {\n "description": "Returns pets based on ID",\n "summary": "Find pets by ID",\n "operationId": "getPetsById",\n "responses": {\n "200": {\n "description": "pet response",\n "content": {\n "*/*": {\n "schema": {\n "type": "array",\n "items": {\n "$ref": "#/components/schemas/Pet"\n }\n }\n }\n }\n },\n "default": {\n "description": "error payload",\n "content": {\n "text/html": {\n "schema": {\n "$ref": "#/components/schemas/ErrorModel"\n }\n }\n }\n }\n }\n },\n "parameters": [\n {\n "name": "id",\n "in": "path",\n "description": "ID of pet to use",\n "required": true,\n "schema": {\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "style": "simple"\n }\n ]\n}\n```\n\n\n\\\nYAML\n```yaml\nget:\n description: Returns pets based on ID\n summary: Find pets by ID\n operationId: getPetsById\n responses:\n \'200\':\n description: pet response\n content:\n \'*/*\' :\n schema:\n type: array\n items:\n $ref: \'#/components/schemas/Pet\'\n default:\n description: error payload\n content:\n \'text/html\':\n schema:\n $ref: \'#/components/schemas/ErrorModel\'\nparameters:\n- name: id\n in: path\n description: ID of pet to use\n required: true\n schema:\n type: array\n items:\n type: string\n style: simple\n```',
+ docs: '#### [Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object)\n\nDescribes the operations available on a single path.\nA Path Item MAY be empty, due to [ACL constraints](https://spec.openapis.org/oas/v3.0.4.html#security-filtering).\nThe path itself is still exposed to the documentation viewer but they will not know which operations and parameters are available.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\n$ref | `string` | Allows for an external definition of this path item. The referenced structure MUST be in the format of a [Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object). In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined.\nsummary| `string` | An optional, string summary, intended to apply to all operations in this path.\ndescription | `string` | An optional, string description, intended to apply to all operations in this path. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nget | [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) | A definition of a GET operation on this path.\nput | [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) | A definition of a PUT operation on this path.\npost | [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) | A definition of a POST operation on this path.\ndelete | [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) | A definition of a DELETE operation on this path.\noptions | [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) | A definition of a OPTIONS operation on this path.\nhead | [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) | A definition of a HEAD operation on this path.\npatch | [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) | A definition of a PATCH operation on this path.\ntrace | [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object) | A definition of a TRACE operation on this path.\nservers | [[Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)] | An alternative `server` array to service all operations in this path.\nparameters | [[Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | A list of parameters that are applicable for all the operations described under this path. These parameters can be overridden at the operation level, but cannot be removed there. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](https://spec.openapis.org/oas/v3.0.4.html#parameter-name) and [location](https://spec.openapis.org/oas/v3.0.4.html#parameter-in). The list can use the [Reference Object](#referenceObject) to link to parameters that are defined at the [OpenAPI Object\'s components/parameters](https://spec.openapis.org/oas/v3.0.4.html#components-parameters).\n\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Path Item Object Example\n\n\n\\\nJSON\n```json\n{\n "get": {\n "description": "Returns pets based on ID",\n "summary": "Find pets by ID",\n "operationId": "getPetsById",\n "responses": {\n "200": {\n "description": "pet response",\n "content": {\n "*/*": {\n "schema": {\n "type": "array",\n "items": {\n "$ref": "#/components/schemas/Pet"\n }\n }\n }\n }\n },\n "default": {\n "description": "error payload",\n "content": {\n "text/html": {\n "schema": {\n "$ref": "#/components/schemas/ErrorModel"\n }\n }\n }\n }\n }\n },\n "parameters": [\n {\n "name": "id",\n "in": "path",\n "description": "ID of pet to use",\n "required": true,\n "schema": {\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "style": "simple"\n }\n ]\n}\n```\n\n\n\\\nYAML\n```yaml\nget:\n description: Returns pets based on ID\n summary: Find pets by ID\n operationId: getPetsById\n responses:\n \'200\':\n description: pet response\n content:\n \'*/*\' :\n schema:\n type: array\n items:\n $ref: \'#/components/schemas/Pet\'\n default:\n description: error payload\n content:\n \'text/html\':\n schema:\n $ref: \'#/components/schemas/ErrorModel\'\nparameters:\n- name: id\n in: path\n description: ID of pet to use\n required: true\n schema:\n type: array\n items:\n type: string\n style: simple\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/paths/documentation.ts b/packages/apidom-ls/src/config/openapi/paths/documentation.ts
index 54aa8635c7..958af2cc4f 100644
--- a/packages/apidom-ls/src/config/openapi/paths/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/paths/documentation.ts
@@ -6,7 +6,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Paths Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathsObject)\n\nHolds the relative paths to the individual endpoints and their operations.\nThe path is appended to the URL from the [`Server Object`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject) in order to construct the full URL. The Paths MAY be empty, due to [ACL constraints](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securityFiltering).\n\n##### Patterned Fields\n\nField Pattern | Type | Description\n---|:---:|---\n/{path} | [Path Item Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathItemObject) | 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 [`Server Object`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)\'s `url` field in order to construct the full URL. [Path templating](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#pathTemplating) 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.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Path Templating Matching\n\nAssuming the following paths, the concrete definition, `/pets/mine`, will be matched first if used:\n\n```\n /pets/{petId}\n /pets/mine\n```\n\nThe following paths are considered identical and invalid:\n\n```\n /pets/{petId}\n /pets/{name}\n```\n\nThe following may lead to ambiguous resolution:\n\n```\n /{entity}/me\n /books/{id}\n```\n\n##### Paths Object Example\n\n\n\\\nJSON\n```json\n{\n "/pets": {\n "get": {\n "description": "Returns all pets from the system that the user has access to",\n "responses": {\n "200": {\n "description": "A list of pets.",\n "content": {\n "application/json": {\n "schema": {\n "type": "array",\n "items": {\n "$ref": "#/components/schemas/pet"\n }\n }\n }\n }\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\n/pets:\n get:\n description: Returns all pets from the system that the user has access to\n responses:\n \'200\':\n description: A list of pets.\n content:\n application/json:\n schema:\n type: array\n items:\n $ref: \'#/components/schemas/pet\'\n```',
+ docs: '#### [Paths Object](https://spec.openapis.org/oas/v3.0.4.html#paths-object)\n\nHolds the relative paths to the individual endpoints and their operations.\nThe path is appended to the URL from the [`Server Object`](https://spec.openapis.org/oas/v3.0.4.html#server-object) in order to construct the full URL. The Paths MAY be empty, due to [ACL constraints](https://spec.openapis.org/oas/v3.0.4.html#security-filtering).\n\n##### Patterned Fields\n\nField Pattern | Type | Description\n---|:---:|---\n/{path} | [Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object) | 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 [`Server Object`](https://spec.openapis.org/oas/v3.0.4.html#server-object)\'s `url` field in order to construct the full URL. [Path templating](https://spec.openapis.org/oas/v3.0.4.html#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.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Path Templating Matching\n\nAssuming the following paths, the concrete definition, `/pets/mine`, will be matched first if used:\n\n```\n /pets/{petId}\n /pets/mine\n```\n\nThe following paths are considered identical and invalid:\n\n```\n /pets/{petId}\n /pets/{name}\n```\n\nThe following may lead to ambiguous resolution:\n\n```\n /{entity}/me\n /books/{id}\n```\n\n##### Paths Object Example\n\n\n\\\nJSON\n```json\n{\n "/pets": {\n "get": {\n "description": "Returns all pets from the system that the user has access to",\n "responses": {\n "200": {\n "description": "A list of pets.",\n "content": {\n "application/json": {\n "schema": {\n "type": "array",\n "items": {\n "$ref": "#/components/schemas/pet"\n }\n }\n }\n }\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\n/pets:\n get:\n description: Returns all pets from the system that the user has access to\n responses:\n \'200\':\n description: A list of pets.\n content:\n application/json:\n schema:\n type: array\n items:\n $ref: \'#/components/schemas/pet\'\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/request-body/completion.ts b/packages/apidom-ls/src/config/openapi/request-body/completion.ts
index 74dbb89802..a11067c61f 100644
--- a/packages/apidom-ls/src/config/openapi/request-body/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/request-body/completion.ts
@@ -43,7 +43,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)]\n\\\n\\\n**REQUIRED**. The content of the request body. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*',
+ 'Map[`string`, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)]\n\\\n\\\n**REQUIRED**. The content of the request body. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/request-body/documentation.ts b/packages/apidom-ls/src/config/openapi/request-body/documentation.ts
index b7918b9f98..2982639863 100644
--- a/packages/apidom-ls/src/config/openapi/request-body/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/request-body/documentation.ts
@@ -8,7 +8,7 @@ const documentation = [
},
{
target: 'content',
- docs: 'Map[`string`, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)]\n\\\n\\\n**REQUIRED**. The content of the request body. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*',
+ docs: 'Map[`string`, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)]\n\\\n\\\n**REQUIRED**. The content of the request body. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*',
targetSpecs: OpenAPI30,
},
{
@@ -22,7 +22,7 @@ const documentation = [
targetSpecs: OpenAPI3,
},
{
- docs: '#### [Request Body Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#requestBodyObject)\n\nDescribes a single request body.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\ndescription | `string` | A brief description of the request body. This could contain examples of use. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\ncontent | Map[`string`, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)] | **REQUIRED**. The content of the request body. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*\nrequired | `boolean` | Determines if the request body is required in the request. Defaults to `false`.\n\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Request Body Examples\n\nA request body with a referenced model definition.\n\n\\\nJSON\n```json\n{\n "description": "user to add to the system",\n "content": {\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/User"\n },\n "examples": {\n "user" : {\n "summary": "User Example",\n "externalValue": "http://foo.bar/examples/user-example.json"\n }\n }\n },\n "application/xml": {\n "schema": {\n "$ref": "#/components/schemas/User"\n },\n "examples": {\n "user" : {\n "summary": "User example in XML",\n "externalValue": "http://foo.bar/examples/user-example.xml"\n }\n }\n },\n "text/plain": {\n "examples": {\n "user" : {\n "summary": "User example in Plain text",\n "externalValue": "http://foo.bar/examples/user-example.txt"\n }\n }\n },\n "*/*": {\n "examples": {\n "user" : {\n "summary": "User example in other format",\n "externalValue": "http://foo.bar/examples/user-example.whatever"\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ndescription: user to add to the system\ncontent:\n \'application/json\':\n schema:\n $ref: \'#/components/schemas/User\'\n examples:\n user:\n summary: User Example\n externalValue: \'http://foo.bar/examples/user-example.json\'\n \'application/xml\':\n schema:\n $ref: \'#/components/schemas/User\'\n examples:\n user:\n summary: User Example in XML\n externalValue: \'http://foo.bar/examples/user-example.xml\'\n \'text/plain\':\n examples:\n user:\n summary: User example in text plain format\n externalValue: \'http://foo.bar/examples/user-example.txt\'\n \'*/*\':\n examples:\n user:\n summary: User example in other format\n externalValue: \'http://foo.bar/examples/user-example.whatever\'\n```\n\nA body parameter that is an array of string values:\n```json\n{\n "description": "user to add to the system",\n "content": {\n "text/plain": {\n "schema": {\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n }\n }\n}\n```\n\n```yaml\ndescription: user to add to the system\nrequired: true\ncontent:\n text/plain:\n schema:\n type: array\n items:\n type: string\n```',
+ docs: '#### [Request Body Object](https://spec.openapis.org/oas/v3.0.4.html#request-body-object)\n\nDescribes a single request body.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\ndescription | `string` | A brief description of the request body. This could contain examples of use. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\ncontent | Map[`string`, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)] | **REQUIRED**. The content of the request body. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*\nrequired | `boolean` | Determines if the request body is required in the request. Defaults to `false`.\n\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Request Body Examples\n\nA request body with a referenced model definition.\n\n\\\nJSON\n```json\n{\n "description": "user to add to the system",\n "content": {\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/User"\n },\n "examples": {\n "user" : {\n "summary": "User Example",\n "externalValue": "http://foo.bar/examples/user-example.json"\n }\n }\n },\n "application/xml": {\n "schema": {\n "$ref": "#/components/schemas/User"\n },\n "examples": {\n "user" : {\n "summary": "User example in XML",\n "externalValue": "http://foo.bar/examples/user-example.xml"\n }\n }\n },\n "text/plain": {\n "examples": {\n "user" : {\n "summary": "User example in Plain text",\n "externalValue": "http://foo.bar/examples/user-example.txt"\n }\n }\n },\n "*/*": {\n "examples": {\n "user" : {\n "summary": "User example in other format",\n "externalValue": "http://foo.bar/examples/user-example.whatever"\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ndescription: user to add to the system\ncontent:\n \'application/json\':\n schema:\n $ref: \'#/components/schemas/User\'\n examples:\n user:\n summary: User Example\n externalValue: \'http://foo.bar/examples/user-example.json\'\n \'application/xml\':\n schema:\n $ref: \'#/components/schemas/User\'\n examples:\n user:\n summary: User Example in XML\n externalValue: \'http://foo.bar/examples/user-example.xml\'\n \'text/plain\':\n examples:\n user:\n summary: User example in text plain format\n externalValue: \'http://foo.bar/examples/user-example.txt\'\n \'*/*\':\n examples:\n user:\n summary: User example in other format\n externalValue: \'http://foo.bar/examples/user-example.whatever\'\n```\n\nA body parameter that is an array of string values:\n```json\n{\n "description": "user to add to the system",\n "content": {\n "text/plain": {\n "schema": {\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n }\n }\n}\n```\n\n```yaml\ndescription: user to add to the system\nrequired: true\ncontent:\n text/plain:\n schema:\n type: array\n items:\n type: string\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/response/completion.ts b/packages/apidom-ls/src/config/openapi/response/completion.ts
index fcb4018531..8d33789ee6 100644
--- a/packages/apidom-ls/src/config/openapi/response/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/response/completion.ts
@@ -85,7 +85,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nMaps a header name to its definition. [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive. If a response header is defined with the name `"Content-Type"`, it SHALL be ignored.',
+ 'Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nMaps a header name to its definition. [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive. If a response header is defined with the name `"Content-Type"`, it SHALL be ignored.',
},
targetSpecs: OpenAPI30,
},
@@ -127,7 +127,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Media Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)]\n\\\n\\\nA map containing descriptions of potential response payloads. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*',
+ 'Map[`string`, [Media Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)]\n\\\n\\\nA map containing descriptions of potential response payloads. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*',
},
targetSpecs: OpenAPI30,
},
@@ -155,7 +155,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'Map[`string`, [Link Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nA map of operations links that can be followed from the response. The key of the map is a short name for the link, following the naming constraints of the names for [Component Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsObject).',
+ 'Map[`string`, [Link Object](https://spec.openapis.org/oas/v3.0.4.html#link-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nA map of operations links that can be followed from the response. The key of the map is a short name for the link, following the naming constraints of the names for [Component Objects](https://spec.openapis.org/oas/v3.0.4.html#components-object).',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/response/documentation.ts b/packages/apidom-ls/src/config/openapi/response/documentation.ts
index 4e55468391..80f0e1426d 100644
--- a/packages/apidom-ls/src/config/openapi/response/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/response/documentation.ts
@@ -23,7 +23,7 @@ const documentation = [
},
{
target: 'headers',
- docs: 'Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nMaps a header name to its definition. [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive. If a response header is defined with the name `"Content-Type"`, it SHALL be ignored.',
+ docs: 'Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nMaps a header name to its definition. [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive. If a response header is defined with the name `"Content-Type"`, it SHALL be ignored.',
targetSpecs: OpenAPI30,
},
{
@@ -38,7 +38,7 @@ const documentation = [
},
{
target: 'content',
- docs: 'Map[`string`, [Media Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)]\n\\\n\\\nA map containing descriptions of potential response payloads. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*',
+ docs: 'Map[`string`, [Media Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)]\n\\\n\\\nA map containing descriptions of potential response payloads. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*',
targetSpecs: OpenAPI30,
},
{
@@ -48,7 +48,7 @@ const documentation = [
},
{
target: 'links',
- docs: 'Map[`string`, [Link Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject) | [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)]\n\\\n\\\nA map of operations links that can be followed from the response. The key of the map is a short name for the link, following the naming constraints of the names for [Component Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsObject).',
+ docs: 'Map[`string`, [Link Object](https://spec.openapis.org/oas/v3.0.4.html#link-object) | [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)]\n\\\n\\\nA map of operations links that can be followed from the response. The key of the map is a short name for the link, following the naming constraints of the names for [Component Objects](https://spec.openapis.org/oas/v3.0.4.html#components-object).',
targetSpecs: OpenAPI30,
},
{
@@ -61,7 +61,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject)\nDescribes a single response from an API Operation, including design-time, static\n`links` to operations based on the response.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\ndescription | `string` | **REQUIRED**. A short description of the response. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nheaders | Map[`string`, [Header Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#headerObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | Maps a header name to its definition. [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive. If a response header is defined with the name `"Content-Type"`, it SHALL be ignored.\ncontent | Map[`string`, [Media Type Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#mediaTypeObject)] | A map containing descriptions of potential response payloads. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*\nlinks | Map[`string`, [Link Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#linkObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)] | A map of operations links that can be followed from the response. The key of the map is a short name for the link, following the naming constraints of the names for [Component Objects](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsObject).\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Response Object Examples\n\nResponse of an array of a complex type:\n\n\n\\\nJSON\n```json\n{\n "description": "A complex object array response",\n "content": {\n "application/json": {\n "schema": {\n "type": "array",\n "items": {\n "$ref": "#/components/schemas/VeryComplexType"\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ndescription: A complex object array response\ncontent:\n application/json:\n schema:\n type: array\n items:\n $ref: \'#/components/schemas/VeryComplexType\'\n```\n\nResponse with a string type:\n\n```json\n{\n "description": "A simple string response",\n "content": {\n "text/plain": {\n "schema": {\n "type": "string"\n }\n }\n }\n\n}\n```\n\n```yaml\ndescription: A simple string response\ncontent:\n text/plain:\n schema:\n type: string\n```\n\nPlain text response with headers:\n\n```json\n{\n "description": "A simple string response",\n "content": {\n "text/plain": {\n "schema": {\n "type": "string",\n "example": "whoa!"\n }\n }\n },\n "headers": {\n "X-Rate-Limit-Limit": {\n "description": "The number of allowed requests in the current period",\n "schema": {\n "type": "integer"\n }\n },\n "X-Rate-Limit-Remaining": {\n "description": "The number of remaining requests in the current period",\n "schema": {\n "type": "integer"\n }\n },\n "X-Rate-Limit-Reset": {\n "description": "The number of seconds left in the current period",\n "schema": {\n "type": "integer"\n }\n }\n }\n}\n```\n\n```yaml\ndescription: A simple string response\ncontent:\n text/plain:\n schema:\n type: string\n example: \'whoa!\'\nheaders:\n X-Rate-Limit-Limit:\n description: The number of allowed requests in the current period\n schema:\n type: integer\n X-Rate-Limit-Remaining:\n description: The number of remaining requests in the current period\n schema:\n type: integer\n X-Rate-Limit-Reset:\n description: The number of seconds left in the current period\n schema:\n type: integer\n```\n\nResponse with no return value:\n\n```json\n{\n "description": "object created"\n}\n```\n\n```yaml\ndescription: object created\n```',
+ docs: '#### [Response Object](https://spec.openapis.org/oas/v3.0.4.html#response-object)\nDescribes a single response from an API Operation, including design-time, static\n`links` to operations based on the response.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\ndescription | `string` | **REQUIRED**. A short description of the response. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nheaders | Map[`string`, [Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | Maps a header name to its definition. [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive. If a response header is defined with the name `"Content-Type"`, it SHALL be ignored.\ncontent | Map[`string`, [Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)] | A map containing descriptions of potential response payloads. The key is a media type or [media type range](https://tools.ietf.org/html/rfc7231#appendix-D) and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*\nlinks | Map[`string`, [Link Object](https://spec.openapis.org/oas/v3.0.4.html#link-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)] | A map of operations links that can be followed from the response. The key of the map is a short name for the link, following the naming constraints of the names for [Component Objects](https://spec.openapis.org/oas/v3.0.4.html#components-object).\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Response Object Examples\n\nResponse of an array of a complex type:\n\n\n\\\nJSON\n```json\n{\n "description": "A complex object array response",\n "content": {\n "application/json": {\n "schema": {\n "type": "array",\n "items": {\n "$ref": "#/components/schemas/VeryComplexType"\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\ndescription: A complex object array response\ncontent:\n application/json:\n schema:\n type: array\n items:\n $ref: \'#/components/schemas/VeryComplexType\'\n```\n\nResponse with a string type:\n\n```json\n{\n "description": "A simple string response",\n "content": {\n "text/plain": {\n "schema": {\n "type": "string"\n }\n }\n }\n\n}\n```\n\n```yaml\ndescription: A simple string response\ncontent:\n text/plain:\n schema:\n type: string\n```\n\nPlain text response with headers:\n\n```json\n{\n "description": "A simple string response",\n "content": {\n "text/plain": {\n "schema": {\n "type": "string",\n "example": "whoa!"\n }\n }\n },\n "headers": {\n "X-Rate-Limit-Limit": {\n "description": "The number of allowed requests in the current period",\n "schema": {\n "type": "integer"\n }\n },\n "X-Rate-Limit-Remaining": {\n "description": "The number of remaining requests in the current period",\n "schema": {\n "type": "integer"\n }\n },\n "X-Rate-Limit-Reset": {\n "description": "The number of seconds left in the current period",\n "schema": {\n "type": "integer"\n }\n }\n }\n}\n```\n\n```yaml\ndescription: A simple string response\ncontent:\n text/plain:\n schema:\n type: string\n example: \'whoa!\'\nheaders:\n X-Rate-Limit-Limit:\n description: The number of allowed requests in the current period\n schema:\n type: integer\n X-Rate-Limit-Remaining:\n description: The number of remaining requests in the current period\n schema:\n type: integer\n X-Rate-Limit-Reset:\n description: The number of seconds left in the current period\n schema:\n type: integer\n```\n\nResponse with no return value:\n\n```json\n{\n "description": "object created"\n}\n```\n\n```yaml\ndescription: object created\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/responses/completion.ts b/packages/apidom-ls/src/config/openapi/responses/completion.ts
index d38b59e127..6ae1ae9ccf 100644
--- a/packages/apidom-ls/src/config/openapi/responses/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/responses/completion.ts
@@ -14,7 +14,7 @@ const httpCode3_0CompletionItem = {
documentation: {
kind: 'markdown',
value:
- "[Response Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject)\n\\\n\\\nThe documentation of responses other than the ones declared for specific HTTP response codes. Use this field to cover undeclared responses. A [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) can link to a response that the [OpenAPI Object's components/responses](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsResponses) section defines.",
+ "[Response Object](https://spec.openapis.org/oas/v3.0.4.html#response-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)\n\\\n\\\nThe documentation of responses other than the ones declared for specific HTTP response codes. Use this field to cover undeclared responses. A [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) can link to a response that the [OpenAPI Object's components/responses](https://spec.openapis.org/oas/v3.0.4.html#components-responses) section defines.",
},
targetSpecs: OpenAPI30,
};
diff --git a/packages/apidom-ls/src/config/openapi/responses/documentation.ts b/packages/apidom-ls/src/config/openapi/responses/documentation.ts
index 73b6775a23..8f052f334c 100644
--- a/packages/apidom-ls/src/config/openapi/responses/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/responses/documentation.ts
@@ -6,7 +6,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Responses Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responses-object)\n\nA container for the expected responses of an operation.\nThe container maps a HTTP response code to the expected response.\n\nThe documentation is not necessarily expected to cover all possible HTTP response codes because they may not be known in advance.\nHowever, documentation is expected to cover a successful operation response and any known errors.\n\nThe `default` MAY be used as a default response object for all HTTP codes\nthat are not covered individually by the specification.\n\nThe `Responses Object` MUST contain at least one response code, and it\nSHOULD be the response for a successful operation call.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\ndefault | [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) | The documentation of responses other than the ones declared for specific HTTP response codes. Use this field to cover undeclared responses. A [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) can link to a response that the [OpenAPI Object\'s components/responses](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsResponses) section defines.\n\n##### Patterned Fields\nField Pattern | Type | Description\n---|:---:|---\n[HTTP Status Code](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#httpCodes) | [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#responseObject) \\| [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) | Any [HTTP status code](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#httpCodes) can be used as the property name, but only one property per code, to describe the expected response for that HTTP status code. A [Reference Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#referenceObject) can link to a response that is defined in the [OpenAPI Object\'s components/responses](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsResponses) 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-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.\n\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Responses Object Example\n\nA 200 response for a successful operation and a default response for others (implying an error):\n\n\n\\\nJSON\n```json\n{\n "200": {\n "description": "a pet to be returned",\n "content": {\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/Pet"\n }\n }\n }\n },\n "default": {\n "description": "Unexpected error",\n "content": {\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/ErrorModel"\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\n\'200\':\n description: a pet to be returned\n content:\n application/json:\n schema:\n $ref: \'#/components/schemas/Pet\'\ndefault:\n description: Unexpected error\n content:\n application/json:\n schema:\n $ref: \'#/components/schemas/ErrorModel\'\n```',
+ docs: '#### [Responses Object](https://spec.openapis.org/oas/v3.0.4.html#responses-object)\n\nA container for the expected responses of an operation.\nThe container maps a HTTP response code to the expected response.\n\nThe documentation is not necessarily expected to cover all possible HTTP response codes because they may not be known in advance.\nHowever, documentation is expected to cover a successful operation response and any known errors.\n\nThe `default` MAY be used as a default response object for all HTTP codes\nthat are not covered individually by the specification.\n\nThe `Responses Object` MUST contain at least one response code, and it\nSHOULD be the response for a successful operation call.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\ndefault | [Response Object](https://spec.openapis.org/oas/v3.0.4.html#response-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) | The documentation of responses other than the ones declared for specific HTTP response codes. Use this field to cover undeclared responses. A [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) can link to a response that the [OpenAPI Object\'s components/responses](https://spec.openapis.org/oas/v3.0.4.html#components-responses) section defines.\n\n##### Patterned Fields\nField Pattern | Type | Description\n---|:---:|---\n[HTTP Status Code](https://spec.openapis.org/oas/v3.0.4.html#http-status-codes) | [Response Object](https://spec.openapis.org/oas/v3.0.4.html#response-object) \\| [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) | Any [HTTP status code](https://spec.openapis.org/oas/v3.0.4.html#http-status-codes) can be used as the property name, but only one property per code, to describe the expected response for that HTTP status code. A [Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object) can link to a response that is defined in the [OpenAPI Object\'s components/responses](https://spec.openapis.org/oas/v3.0.4.html#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-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.\n\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Responses Object Example\n\nA 200 response for a successful operation and a default response for others (implying an error):\n\n\n\\\nJSON\n```json\n{\n "200": {\n "description": "a pet to be returned",\n "content": {\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/Pet"\n }\n }\n }\n },\n "default": {\n "description": "Unexpected error",\n "content": {\n "application/json": {\n "schema": {\n "$ref": "#/components/schemas/ErrorModel"\n }\n }\n }\n }\n}\n```\n\n\n\\\nYAML\n```yaml\n\'200\':\n description: a pet to be returned\n content:\n application/json:\n schema:\n $ref: \'#/components/schemas/Pet\'\ndefault:\n description: Unexpected error\n content:\n application/json:\n schema:\n $ref: \'#/components/schemas/ErrorModel\'\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/security-requirement/documentation.ts b/packages/apidom-ls/src/config/openapi/security-requirement/documentation.ts
index 934d452eaa..802dc9a55a 100644
--- a/packages/apidom-ls/src/config/openapi/security-requirement/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/security-requirement/documentation.ts
@@ -6,7 +6,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Security Requirement Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securityRequirementObject)\n\nLists the required security schemes to execute this operation.\nThe name used for each property MUST correspond to a security scheme declared in the [Security Schemes](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsSecuritySchemes) under the [Components Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsObject).\n\nSecurity Requirement Objects that contain multiple schemes require that all schemes MUST be satisfied for a request to be authorized.\nThis enables support for scenarios where multiple query parameters or HTTP headers are required to convey security information.\n\nWhen a list of Security Requirement Objects is defined on the [OpenAPI Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasObject) or [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject), only one of the Security Requirement Objects in the list needs to be satisfied to authorize the request.\n\n##### Patterned Fields\n\nField Pattern | Type | Description\n---|:---:|---\n{name} | [`string`] | Each name MUST correspond to a security scheme which is declared in the [Security Schemes](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsSecuritySchemes) under the [Components Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsObject). If the security scheme is of type `"oauth2"` or `"openIdConnect"`, then the value is a list of scope names required for the execution, and the list MAY be empty if authorization does not require a specified scope. For other security scheme types, the array MUST be empty.\n\n##### Security Requirement Object Examples\n\n###### Non-OAuth2 Security Requirement\n\n\n\\\nJSON\n```json\n{\n "api_key": []\n}\n```\n\n\n\\\nYAML\n```yaml\napi_key: []\n```\n\n###### OAuth2 Security Requirement\n\n```json\n{\n "petstore_auth": [\n "write:pets",\n "read:pets"\n ]\n}\n```\n\n```yaml\npetstore_auth:\n- write:pets\n- read:pets\n```\n\n###### Optional OAuth2 Security\n\nOptional OAuth2 security as would be defined in an [OpenAPI Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#openapi-object) or an [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operation-object):\n\n```json\n{\n "security": [\n {},\n {\n "petstore_auth": [\n "write:pets",\n "read:pets"\n ]\n }\n ]\n}\n```\n\n```yaml\nsecurity:\n - {}\n - petstore_auth:\n - write:pets\n - read:pets\n```',
+ docs: '#### [Security Requirement Object](https://spec.openapis.org/oas/v3.0.4.html#security-requirement-object)\n\nLists the required security schemes to execute this operation.\nThe name used for each property MUST correspond to a security scheme declared in the [Security Schemes](https://spec.openapis.org/oas/v3.0.4.html#components-security-schemes) under the [Components Object](https://spec.openapis.org/oas/v3.0.4.html#components-object).\n\nSecurity Requirement Objects that contain multiple schemes require that all schemes MUST be satisfied for a request to be authorized.\nThis enables support for scenarios where multiple query parameters or HTTP headers are required to convey security information.\n\nWhen a list of Security Requirement Objects is defined on the [OpenAPI Object](https://spec.openapis.org/oas/v3.0.4.html#openapi-object) or [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object), only one of the Security Requirement Objects in the list needs to be satisfied to authorize the request.\n\n##### Patterned Fields\n\nField Pattern | Type | Description\n---|:---:|---\n{name} | [`string`] | Each name MUST correspond to a security scheme which is declared in the [Security Schemes](https://spec.openapis.org/oas/v3.0.4.html#components-security-schemes) under the [Components Object](https://spec.openapis.org/oas/v3.0.4.html#components-object). If the security scheme is of type `"oauth2"` or `"openIdConnect"`, then the value is a list of scope names required for the execution, and the list MAY be empty if authorization does not require a specified scope. For other security scheme types, the array MUST be empty.\n\n##### Security Requirement Object Examples\n\n###### Non-OAuth2 Security Requirement\n\n\n\\\nJSON\n```json\n{\n "api_key": []\n}\n```\n\n\n\\\nYAML\n```yaml\napi_key: []\n```\n\n###### OAuth2 Security Requirement\n\n```json\n{\n "petstore_auth": [\n "write:pets",\n "read:pets"\n ]\n}\n```\n\n```yaml\npetstore_auth:\n- write:pets\n- read:pets\n```\n\n###### Optional OAuth2 Security\n\nOptional OAuth2 security as would be defined in an [OpenAPI Object](https://spec.openapis.org/oas/v3.0.4.html#openapi-object) or an [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object):\n\n```json\n{\n "security": [\n {},\n {\n "petstore_auth": [\n "write:pets",\n "read:pets"\n ]\n }\n ]\n}\n```\n\n```yaml\nsecurity:\n - {}\n - petstore_auth:\n - write:pets\n - read:pets\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/security-scheme/completion.ts b/packages/apidom-ls/src/config/openapi/security-scheme/completion.ts
index 9761cb79b5..11fbe35820 100644
--- a/packages/apidom-ls/src/config/openapi/security-scheme/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/security-scheme/completion.ts
@@ -196,7 +196,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[OAuth Flows Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowsObject)\n\\\nnApplies to `oauth2`. **REQUIRED**. An object containing configuration information for the flow types supported.',
+ '[OAuth Flows Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flows-object)\n\\\nnApplies to `oauth2`. **REQUIRED**. An object containing configuration information for the flow types supported.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/security-scheme/documentation.ts b/packages/apidom-ls/src/config/openapi/security-scheme/documentation.ts
index b8b5e46df5..8933a410f1 100644
--- a/packages/apidom-ls/src/config/openapi/security-scheme/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/security-scheme/documentation.ts
@@ -63,7 +63,7 @@ const documentation = [
},
{
target: 'flows',
- docs: '[OAuth Flows Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowsObject)\n\\\nApplies to `oauth2`. **REQUIRED**. An object containing configuration information for the flow types supported.',
+ docs: '[OAuth Flows Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flows-object)\n\\\nApplies to `oauth2`. **REQUIRED**. An object containing configuration information for the flow types supported.',
targetSpecs: OpenAPI30,
},
{
@@ -101,7 +101,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Security Scheme Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securitySchemeObject)\n\nDefines a security scheme that can be used by the operations.\nSupported schemes are HTTP authentication, an API key (either as a header, a cookie parameter or as a query parameter), OAuth2\'s common flows (implicit, password, client credentials and authorization code) as defined in [RFC6749](https://tools.ietf.org/html/rfc6749), and [OpenID Connect Discovery](https://tools.ietf.org/html/draft-ietf-oauth-discovery-06).\n\n##### Fixed Fields\nField Name | Type | Applies To | Description\n---|:---:|---|---\ntype | `string` | Any | **REQUIRED**. The type of the security scheme. Valid values are `"apiKey"`, `"http"`, `"oauth2"`, `"openIdConnect"`.\ndescription | `string` | Any | A short description for security scheme. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nname | `string` | `apiKey` | **REQUIRED**. The name of the header, query or cookie parameter to be used.\nin | `string` | `apiKey` | **REQUIRED**. The location of the API key. Valid values are `"query"`, `"header"` or `"cookie"`.\nscheme | `string` | `http` | **REQUIRED**. The name of the HTTP Authorization scheme to be used in the [Authorization header as defined in RFC7235](https://tools.ietf.org/html/rfc7235#section-5.1). The values used SHOULD be registered in the [IANA Authentication Scheme registry](https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml).\nbearerFormat | `string` | `http` (`"bearer"`) | A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.\nflows | [OAuth Flows Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oauthFlowsObject) | `oauth2` | **REQUIRED**. An object containing configuration information for the flow types supported.\nopenIdConnectUrl | `string` | `openIdConnect` | **REQUIRED**. OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of a URL.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Security Scheme Object Example\n\n###### Basic Authentication Sample\n\n\n\\\nJSON\n```json\n{\n "type": "http",\n "scheme": "basic"\n}\n```\n\n\n\\\nYAML\n```yaml\ntype: http\nscheme: basic\n```\n\n###### API Key Sample\n\n```json\n{\n "type": "apiKey",\n "name": "api_key",\n "in": "header"\n}\n```\n\n```yaml\ntype: apiKey\nname: api_key\nin: header\n```\n\n###### JWT Bearer Sample\n\n```json\n{\n "type": "http",\n "scheme": "bearer",\n "bearerFormat": "JWT",\n}\n```\n\n```yaml\ntype: http\nscheme: bearer\nbearerFormat: JWT\n```\n\n###### Implicit OAuth2 Sample\n\n```json\n{\n "type": "oauth2",\n "flows": {\n "implicit": {\n "authorizationUrl": "https://example.com/api/oauth/dialog",\n "scopes": {\n "write:pets": "modify pets in your account",\n "read:pets": "read your pets"\n }\n }\n }\n}\n```\n\n```yaml\ntype: oauth2\nflows:\n implicit:\n authorizationUrl: https://example.com/api/oauth/dialog\n scopes:\n write:pets: modify pets in your account\n read:pets: read your pets\n```',
+ docs: '#### [Security Scheme Object](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object)\n\nDefines a security scheme that can be used by the operations.\nSupported schemes are HTTP authentication, an API key (either as a header, a cookie parameter or as a query parameter), OAuth2\'s common flows (implicit, password, client credentials and authorization code) as defined in [RFC6749](https://tools.ietf.org/html/rfc6749), and [OpenID Connect Discovery](https://tools.ietf.org/html/draft-ietf-oauth-discovery-06).\n\n##### Fixed Fields\nField Name | Type | Applies To | Description\n---|:---:|---|---\ntype | `string` | Any | **REQUIRED**. The type of the security scheme. Valid values are `"apiKey"`, `"http"`, `"oauth2"`, `"openIdConnect"`.\ndescription | `string` | Any | A short description for security scheme. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nname | `string` | `apiKey` | **REQUIRED**. The name of the header, query or cookie parameter to be used.\nin | `string` | `apiKey` | **REQUIRED**. The location of the API key. Valid values are `"query"`, `"header"` or `"cookie"`.\nscheme | `string` | `http` | **REQUIRED**. The name of the HTTP Authorization scheme to be used in the [Authorization header as defined in RFC7235](https://tools.ietf.org/html/rfc7235#section-5.1). The values used SHOULD be registered in the [IANA Authentication Scheme registry](https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml).\nbearerFormat | `string` | `http` (`"bearer"`) | A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.\nflows | [OAuth Flows Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flows-object) | `oauth2` | **REQUIRED**. An object containing configuration information for the flow types supported.\nopenIdConnectUrl | `string` | `openIdConnect` | **REQUIRED**. OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of a URL.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Security Scheme Object Example\n\n###### Basic Authentication Sample\n\n\n\\\nJSON\n```json\n{\n "type": "http",\n "scheme": "basic"\n}\n```\n\n\n\\\nYAML\n```yaml\ntype: http\nscheme: basic\n```\n\n###### API Key Sample\n\n```json\n{\n "type": "apiKey",\n "name": "api_key",\n "in": "header"\n}\n```\n\n```yaml\ntype: apiKey\nname: api_key\nin: header\n```\n\n###### JWT Bearer Sample\n\n```json\n{\n "type": "http",\n "scheme": "bearer",\n "bearerFormat": "JWT",\n}\n```\n\n```yaml\ntype: http\nscheme: bearer\nbearerFormat: JWT\n```\n\n###### Implicit OAuth2 Sample\n\n```json\n{\n "type": "oauth2",\n "flows": {\n "implicit": {\n "authorizationUrl": "https://example.com/api/oauth/dialog",\n "scopes": {\n "write:pets": "modify pets in your account",\n "read:pets": "read your pets"\n }\n }\n }\n}\n```\n\n```yaml\ntype: oauth2\nflows:\n implicit:\n authorizationUrl: https://example.com/api/oauth/dialog\n scopes:\n write:pets: modify pets in your account\n read:pets: read your pets\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/server-variable/completion.ts b/packages/apidom-ls/src/config/openapi/server-variable/completion.ts
index 1cb305769b..393ed2d1da 100644
--- a/packages/apidom-ls/src/config/openapi/server-variable/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/server-variable/completion.ts
@@ -44,7 +44,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- "**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 [Schema Object's](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) treatment of default values, because in those cases parameter values are optional.If the [`enum`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverVariableEnum) is defined, the value SHOULD exist in the enum's values.",
+ "**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 [Schema Object's](https://spec.openapis.org/oas/v3.0.4.html#schema-object) treatment of default values, because in those cases parameter values are optional.If the [`enum`](https://spec.openapis.org/oas/v3.0.4.html#server-variable-enum) is defined, the value SHOULD exist in the enum's values.",
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/server-variable/documentation.ts b/packages/apidom-ls/src/config/openapi/server-variable/documentation.ts
index e50285d59c..f6a5c7eb3e 100644
--- a/packages/apidom-ls/src/config/openapi/server-variable/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/server-variable/documentation.ts
@@ -13,7 +13,7 @@ const documentation = [
},
{
target: 'default',
- docs: "**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 [Schema Object's](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) treatment of default values, because in those cases parameter values are optional.If the [`enum`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverVariableEnum) is defined, the value SHOULD exist in the enum's values.",
+ docs: "**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 [Schema Object's](https://spec.openapis.org/oas/v3.0.4.html#schema-object) treatment of default values, because in those cases parameter values are optional.If the [`enum`](https://spec.openapis.org/oas/v3.0.4.html#server-variable-enum) is defined, the value SHOULD exist in the enum's values.",
targetSpecs: OpenAPI30,
},
{
@@ -27,7 +27,7 @@ const documentation = [
targetSpecs: OpenAPI3,
},
{
- docs: "#### [Server Variable Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverVariableObject)\n\nAn object representing a Server Variable for server URL template substitution.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nenum | [`string`] | An enumeration of string values to be used if the substitution options are from a limited set. The array SHOULD NOT be empty.\ndefault | `string` | **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 [Schema Object's](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) treatment of default values, because in those cases parameter values are optional. If the [`enum`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverVariableEnum) is defined, the value SHOULD exist in the enum's values.\ndescription | `string` | An optional description for the server variable. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).",
+ docs: "#### [Server Variable Object](https://spec.openapis.org/oas/v3.0.4.html#server-variable-object)\n\nAn object representing a Server Variable for server URL template substitution.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nenum | [`string`] | An enumeration of string values to be used if the substitution options are from a limited set. The array SHOULD NOT be empty.\ndefault | `string` | **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 [Schema Object's](https://spec.openapis.org/oas/v3.0.4.html#schema-object) treatment of default values, because in those cases parameter values are optional. If the [`enum`](https://spec.openapis.org/oas/v3.0.4.html#server-variable-enum) is defined, the value SHOULD exist in the enum's values.\ndescription | `string` | An optional description for the server variable. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).",
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/server/completion.ts b/packages/apidom-ls/src/config/openapi/server/completion.ts
index 3f15fa29dc..b51bfa557a 100644
--- a/packages/apidom-ls/src/config/openapi/server/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/server/completion.ts
@@ -44,7 +44,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- "Map[`string`, [Server Variable Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverVariableObject)]\n\\\n\\\nA map between a variable name and its value. The value is used for substitution in the server's URL template.",
+ "Map[`string`, [Server Variable Object](https://spec.openapis.org/oas/v3.0.4.html#server-variable-object)]\n\\\n\\\nA map between a variable name and its value. The value is used for substitution in the server's URL template.",
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/server/documentation.ts b/packages/apidom-ls/src/config/openapi/server/documentation.ts
index 6fb3c2a475..e7836dd8ba 100644
--- a/packages/apidom-ls/src/config/openapi/server/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/server/documentation.ts
@@ -13,7 +13,7 @@ const documentation = [
},
{
target: 'variables',
- docs: "Map[`string`, [Server Variable Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverVariableObject)]\n\\\n\\\nA map between a variable name and its value. The value is used for substitution in the server's URL template.",
+ docs: "Map[`string`, [Server Variable Object](https://spec.openapis.org/oas/v3.0.4.html#server-variable-object)]\n\\\n\\\nA map between a variable name and its value. The value is used for substitution in the server's URL template.",
targetSpecs: OpenAPI30,
},
{
@@ -22,7 +22,7 @@ const documentation = [
targetSpecs: OpenAPI31,
},
{
- docs: '#### [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverObject)\n\nAn object representing a Server.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nurl | `string` | **REQUIRED**. A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the OpenAPI document is being served. Variable substitutions will be made when a variable is named in `{`brackets`}`.\ndescription | `string` | An optional string describing the host designated by the URL. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nvariables | Map[`string`, [Server Variable Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#serverVariableObject)] | A map between a variable name and its value. The value is used for substitution in the server\'s URL template.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Server Object Example\n\nA single server would be described as:\n\n\n\\\nJSON\n```json\n{\n "url": "https://development.gigantic-server.com/v1",\n "description": "Development server"\n}\n```\n\n\n\\\nYAML\n```yaml\nurl: https://development.gigantic-server.com/v1\ndescription: Development server\n```\n\nThe following shows how multiple servers can be described, for example, at the OpenAPI Object\'s [`servers`](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#oasServers):\n\n```json\n{\n "servers": [\n {\n "url": "https://development.gigantic-server.com/v1",\n "description": "Development server"\n },\n {\n "url": "https://staging.gigantic-server.com/v1",\n "description": "Staging server"\n },\n {\n "url": "https://api.gigantic-server.com/v1",\n "description": "Production server"\n }\n ]\n}\n```\n\n```yaml\nservers:\n- url: https://development.gigantic-server.com/v1\n description: Development server\n- url: https://staging.gigantic-server.com/v1\n description: Staging server\n- url: https://api.gigantic-server.com/v1\n description: Production server\n```\n\nThe following shows how variables can be used for a server configuration:\n\n```json\n{\n "servers": [\n {\n "url": "https://{username}.gigantic-server.com:{port}/{basePath}",\n "description": "The production API server",\n "variables": {\n "username": {\n "default": "demo",\n "description": "this value is assigned by the service provider, in this example `gigantic-server.com`"\n },\n "port": {\n "enum": [\n "8443",\n "443"\n ],\n "default": "8443"\n },\n "basePath": {\n "default": "v2"\n }\n }\n }\n ]\n}\n```\n\n```yaml\nservers:\n- url: https://{username}.gigantic-server.com:{port}/{basePath}\n description: The production API server\n variables:\n username:\n # note! no enum here means it is an open value\n default: demo\n description: this value is assigned by the service provider, in this example `gigantic-server.com`\n port:\n enum:\n - \'8443\'\n - \'443\'\n default: \'8443\'\n basePath:\n # open meaning there is the opportunity to use special base paths as assigned by the provider, default is `v2`\n default: v2\n```',
+ docs: '#### [Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)\n\nAn object representing a Server.\n\n##### Fixed Fields\n\nField Name | Type | Description\n---|:---:|---\nurl | `string` | **REQUIRED**. A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the OpenAPI document is being served. Variable substitutions will be made when a variable is named in `{`brackets`}`.\ndescription | `string` | An optional string describing the host designated by the URL. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nvariables | Map[`string`, [Server Variable Object](https://spec.openapis.org/oas/v3.0.4.html#server-variable-object)] | A map between a variable name and its value. The value is used for substitution in the server\'s URL template.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Server Object Example\n\nA single server would be described as:\n\n\n\\\nJSON\n```json\n{\n "url": "https://development.gigantic-server.com/v1",\n "description": "Development server"\n}\n```\n\n\n\\\nYAML\n```yaml\nurl: https://development.gigantic-server.com/v1\ndescription: Development server\n```\n\nThe following shows how multiple servers can be described, for example, at the OpenAPI Object\'s [`servers`](https://spec.openapis.org/oas/v3.0.4.html#oas-servers):\n\n```json\n{\n "servers": [\n {\n "url": "https://development.gigantic-server.com/v1",\n "description": "Development server"\n },\n {\n "url": "https://staging.gigantic-server.com/v1",\n "description": "Staging server"\n },\n {\n "url": "https://api.gigantic-server.com/v1",\n "description": "Production server"\n }\n ]\n}\n```\n\n```yaml\nservers:\n- url: https://development.gigantic-server.com/v1\n description: Development server\n- url: https://staging.gigantic-server.com/v1\n description: Staging server\n- url: https://api.gigantic-server.com/v1\n description: Production server\n```\n\nThe following shows how variables can be used for a server configuration:\n\n```json\n{\n "servers": [\n {\n "url": "https://{username}.gigantic-server.com:{port}/{basePath}",\n "description": "The production API server",\n "variables": {\n "username": {\n "default": "demo",\n "description": "this value is assigned by the service provider, in this example `gigantic-server.com`"\n },\n "port": {\n "enum": [\n "8443",\n "443"\n ],\n "default": "8443"\n },\n "basePath": {\n "default": "v2"\n }\n }\n }\n ]\n}\n```\n\n```yaml\nservers:\n- url: https://{username}.gigantic-server.com:{port}/{basePath}\n description: The production API server\n variables:\n username:\n # note! no enum here means it is an open value\n default: demo\n description: this value is assigned by the service provider, in this example `gigantic-server.com`\n port:\n enum:\n - \'8443\'\n - \'443\'\n default: \'8443\'\n basePath:\n # open meaning there is the opportunity to use special base paths as assigned by the provider, default is `v2`\n default: v2\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/tag/completion.ts b/packages/apidom-ls/src/config/openapi/tag/completion.ts
index 67af1bca3d..ea7891f0f3 100644
--- a/packages/apidom-ls/src/config/openapi/tag/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/tag/completion.ts
@@ -84,7 +84,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- '[External Documentation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#externalDocumentationObject)\n\\\n\\\nAdditional external documentation for this tag.',
+ '[External Documentation Object](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object)\n\\\n\\\nAdditional external documentation for this tag.',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/tag/documentation.ts b/packages/apidom-ls/src/config/openapi/tag/documentation.ts
index 9aafc50bb4..8ac06eccf5 100644
--- a/packages/apidom-ls/src/config/openapi/tag/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/tag/documentation.ts
@@ -28,7 +28,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [Tag Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#tagObject)\n\nAdds metadata to a single tag that is used by the [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operationObject).\nIt is not mandatory to have a Tag Object per tag defined in the Operation Object instances.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nname | `string` | **REQUIRED**. The name of the tag.\ndescription | `string` | A short description for the tag. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nexternalDocs | [External Documentation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#externalDocumentationObject) | Additional external documentation for this tag.\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n##### Tag Object Example\n\n\n\\\nJSON\n```json\n{\n\t"name": "pet",\n\t"description": "Pets operations"\n}\n```\n\n\n\\\nYAML\n```yaml\nname: pet\ndescription: Pets operations\n```',
+ docs: '#### [Tag Object](https://spec.openapis.org/oas/v3.0.4.html#tag-object)\n\nAdds metadata to a single tag that is used by the [Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object).\nIt is not mandatory to have a Tag Object per tag defined in the Operation Object instances.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nname | `string` | **REQUIRED**. The name of the tag.\ndescription | `string` | A short description for the tag. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\nexternalDocs | [External Documentation Object](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object) | Additional external documentation for this tag.\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n##### Tag Object Example\n\n\n\\\nJSON\n```json\n{\n\t"name": "pet",\n\t"description": "Pets operations"\n}\n```\n\n\n\\\nYAML\n```yaml\nname: pet\ndescription: Pets operations\n```',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/config/openapi/target-specs.ts b/packages/apidom-ls/src/config/openapi/target-specs.ts
index 807c7b0795..2290ce51fe 100644
--- a/packages/apidom-ls/src/config/openapi/target-specs.ts
+++ b/packages/apidom-ls/src/config/openapi/target-specs.ts
@@ -4,7 +4,14 @@ export const OpenAPI300 = [{ namespace: 'openapi', version: '3.0.0' }];
export const OpenAPI301 = [{ namespace: 'openapi', version: '3.0.1' }];
export const OpenAPI302 = [{ namespace: 'openapi', version: '3.0.2' }];
export const OpenAPI303 = [{ namespace: 'openapi', version: '3.0.3' }];
+export const OpenAPI304 = [{ namespace: 'openapi', version: '3.0.4' }];
-export const OpenAPI30 = [...OpenAPI300, ...OpenAPI301, ...OpenAPI302, ...OpenAPI303];
+export const OpenAPI30 = [
+ ...OpenAPI300,
+ ...OpenAPI301,
+ ...OpenAPI302,
+ ...OpenAPI303,
+ ...OpenAPI304,
+];
export const OpenAPI31 = [{ namespace: 'openapi', version: '3.1.0' }];
export const OpenAPI3 = [...OpenAPI30, ...OpenAPI31];
diff --git a/packages/apidom-ls/src/config/openapi/xml/completion.ts b/packages/apidom-ls/src/config/openapi/xml/completion.ts
index 14649172e1..ab41436449 100644
--- a/packages/apidom-ls/src/config/openapi/xml/completion.ts
+++ b/packages/apidom-ls/src/config/openapi/xml/completion.ts
@@ -84,7 +84,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
- 'The prefix to be used for the [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xmlName).',
+ 'The prefix to be used for the [name](https://spec.openapis.org/oas/v3.0.4.html#xml-name).',
},
targetSpecs: OpenAPI30,
},
diff --git a/packages/apidom-ls/src/config/openapi/xml/documentation.ts b/packages/apidom-ls/src/config/openapi/xml/documentation.ts
index 3cd4192cb6..fb1d67329e 100644
--- a/packages/apidom-ls/src/config/openapi/xml/documentation.ts
+++ b/packages/apidom-ls/src/config/openapi/xml/documentation.ts
@@ -28,7 +28,7 @@ const documentation = [
},
{
target: 'prefix',
- docs: 'The prefix to be used for the [name](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xmlName).',
+ docs: 'The prefix to be used for the [name](https://spec.openapis.org/oas/v3.0.4.html#xml-name).',
targetSpecs: OpenAPI30,
},
{
@@ -56,7 +56,7 @@ const documentation = [
targetSpecs: OpenAPI2,
},
{
- docs: '#### [XML Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xmlObject)\n\nA metadata object that allows for more fine-tuned XML model definitions.\n\nWhen using arrays, XML element names are *not* inferred (for singular/plural forms) and the `name` property SHOULD be used to add that information.\nSee examples for expected behavior.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nname | `string` | Replaces the name of the element/attribute used for the described schema property. When defined within `items`, it will affect the name of the individual XML elements within the list. When defined alongside `type` being `array` (outside the `items`), it will affect the wrapping element and only if `wrapped` is `true`. If `wrapped` is `false`, it will be ignored.\nnamespace | `string` | The URI of the namespace definition. Value MUST be in the form of an absolute URI.\nprefix | `string` | The prefix to be used for the [name](#xmlName).\nattribute | `boolean` | Declares whether the property definition translates to an attribute instead of an element. Default value is `false`.\nwrapped | `boolean` | MAY be used only for an array definition. Signifies whether the array is wrapped (for example, ``) or unwrapped (``). Default value is `false`. The definition takes effect only when defined alongside `type` being `array` (outside the `items`).\n\nThis object MAY be extended with [Specification Extensions](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions).\n\n#### Additional documentation topics\n\n##### [XML Object Examples](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xml-object-examples)\nThe examples of the XML object definitions are included inside a property definition of a [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject) with a sample of the XML representation of it.\n\n- [No XML Element](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#no-xml-element)\n- [XML Name Replacement](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xml-name-replacement)\n- [XML Attribute, Prefix and Namespace](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xml-attribute-prefix-and-namespace)\n- [XML Arrays](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xml-arrays)',
+ docs: '#### [XML Object](https://spec.openapis.org/oas/v3.0.4.html#xml-object)\n\nA metadata object that allows for more fine-tuned XML model definitions.\n\nWhen using arrays, XML element names are *not* inferred (for singular/plural forms) and the `name` property SHOULD be used to add that information.\nSee examples for expected behavior.\n\n##### Fixed Fields\nField Name | Type | Description\n---|:---:|---\nname | `string` | Replaces the name of the element/attribute used for the described schema property. When defined within `items`, it will affect the name of the individual XML elements within the list. When defined alongside `type` being `array` (outside the `items`), it will affect the wrapping element and only if `wrapped` is `true`. If `wrapped` is `false`, it will be ignored.\nnamespace | `string` | The URI of the namespace definition. Value MUST be in the form of an absolute URI.\nprefix | `string` | The prefix to be used for the [name](#xmlName).\nattribute | `boolean` | Declares whether the property definition translates to an attribute instead of an element. Default value is `false`.\nwrapped | `boolean` | MAY be used only for an array definition. Signifies whether the array is wrapped (for example, ``) or unwrapped (``). Default value is `false`. The definition takes effect only when defined alongside `type` being `array` (outside the `items`).\n\nThis object MAY be extended with [Specification Extensions](https://spec.openapis.org/oas/v3.0.4.html#specification-extensions).\n\n#### Additional documentation topics\n\n##### [XML Object Examples](https://spec.openapis.org/oas/v3.0.4.html#xml-object-examples)\nThe examples of the XML object definitions are included inside a property definition of a [Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object) with a sample of the XML representation of it.\n\n- [No XML Element](https://spec.openapis.org/oas/v3.0.4.html#no-xml-element)\n- [XML Name Replacement](https://spec.openapis.org/oas/v3.0.4.html#xml-name-replacement)\n- [XML Attribute, Prefix and Namespace](https://spec.openapis.org/oas/v3.0.4.html#xml-attribute-prefix-and-namespace)\n- [XML Arrays](https://spec.openapis.org/oas/v3.0.4.html#xml-arrays)',
targetSpecs: OpenAPI30,
},
{
diff --git a/packages/apidom-ls/src/services/completion/completion-service.ts b/packages/apidom-ls/src/services/completion/completion-service.ts
index 096ca7c382..85f78706ba 100644
--- a/packages/apidom-ls/src/services/completion/completion-service.ts
+++ b/packages/apidom-ls/src/services/completion/completion-service.ts
@@ -367,17 +367,31 @@ export class DefaultCompletionService implements CompletionService {
asyncItem.insertTextFormat = 2;
asyncItem.insertTextMode = 2;
completionList.items.push(asyncItem);
- const oasItem = CompletionItem.create('openapi');
- oasItem.insertText = `openapi: '3.1.0$1'${isEmpty ? '' : '\n'}`;
- oasItem.documentation = {
+
+ const oas30xItem = CompletionItem.create('openapi');
+ oas30xItem.insertText = `openapi: '3.0.4$1'${isEmpty ? '' : '\n'}`;
+ oas30xItem.documentation = {
+ kind: 'markdown',
+ value:
+ '**REQUIRED**. This string MUST be the [version number](https://spec.openapis.org/oas/v3.0.4.html#versions) of the OpenAPI Specification that the OpenAPI Document uses. The `openapi` field SHOULD be used by tooling to interpret the OpenAPI Document. This is not related to the API [info.version](https://spec.openapis.org/oas/v3.0.4.html#info-version) string.',
+ };
+ oas30xItem.kind = CompletionItemKind.Keyword;
+ oas30xItem.insertTextFormat = 2;
+ oas30xItem.insertTextMode = 2;
+ completionList.items.push(oas30xItem);
+
+ const oas31xItem = CompletionItem.create('openapi');
+ oas31xItem.insertText = `openapi: '3.1.0$1'${isEmpty ? '' : '\n'}`;
+ oas31xItem.documentation = {
kind: 'markdown',
value:
'**REQUIRED**. This string MUST be the [version number](#versions) of the OpenAPI Specification that the OpenAPI document uses. The `openapi` field SHOULD be used by tooling to interpret the OpenAPI document. This is *not* related to the API [`info.version`](#infoVersion) string.',
};
- oasItem.kind = CompletionItemKind.Keyword;
- oasItem.insertTextFormat = 2;
- oasItem.insertTextMode = 2;
- completionList.items.push(oasItem);
+ oas31xItem.kind = CompletionItemKind.Keyword;
+ oas31xItem.insertTextFormat = 2;
+ oas31xItem.insertTextMode = 2;
+ completionList.items.push(oas31xItem);
+
const swaggerItem = CompletionItem.create('swagger');
swaggerItem.insertText = `swagger: '2.0'${isEmpty ? '$1' : '\n$1'}`;
swaggerItem.documentation = {
diff --git a/packages/apidom-ls/src/services/validation/json-schema/open-api-30/openapi-schema.json b/packages/apidom-ls/src/services/validation/json-schema/open-api-30/openapi-schema.json
index 106debe406..a40570a367 100644
--- a/packages/apidom-ls/src/services/validation/json-schema/open-api-30/openapi-schema.json
+++ b/packages/apidom-ls/src/services/validation/json-schema/open-api-30/openapi-schema.json
@@ -1,7 +1,7 @@
{
- "id": "https://spec.openapis.org/oas/3.0/schema/2019-04-02",
+ "id": "https://spec.openapis.org/oas/3.0/schema/2024-10-18",
"$schema": "http://json-schema.org/draft-04/schema#",
- "description": "Validation schema for OpenAPI Specification 3.0.X.",
+ "description": "The description of OpenAPI v3.0.x Documents",
"type": "object",
"required": [
"openapi",
@@ -11,7 +11,7 @@
"properties": {
"openapi": {
"type": "string",
- "pattern": "^3\\.[01]\\.\\d(-.+)?$"
+ "pattern": "^3\\.0\\.\\d(-.+)?$"
},
"info": {
"$ref": "#/definitions/Info"
@@ -46,8 +46,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false,
"definitions": {
@@ -91,8 +90,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -112,8 +110,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -132,8 +129,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -157,8 +153,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -182,8 +177,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -327,8 +321,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -402,8 +395,7 @@
},
"enum": {
"type": "array",
- "items": {
- },
+ "items": {},
"minItems": 1,
"uniqueItems": false
},
@@ -510,8 +502,7 @@
"format": {
"type": "string"
},
- "default": {
- },
+ "default": {},
"nullable": {
"type": "boolean",
"default": false
@@ -527,8 +518,7 @@
"type": "boolean",
"default": false
},
- "example": {
- },
+ "example": {},
"externalDocs": {
"$ref": "#/definitions/ExternalDocumentation"
},
@@ -541,8 +531,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -586,8 +575,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -634,8 +622,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -652,8 +639,7 @@
}
]
},
- "example": {
- },
+ "example": {},
"examples": {
"type": "object",
"additionalProperties": {
@@ -675,8 +661,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false,
"allOf": [
@@ -694,16 +679,14 @@
"description": {
"type": "string"
},
- "value": {
- },
+ "value": {},
"externalValue": {
"type": "string",
"format": "uri-reference"
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -757,8 +740,7 @@
"minProperties": 1,
"maxProperties": 1
},
- "example": {
- },
+ "example": {},
"examples": {
"type": "object",
"additionalProperties": {
@@ -774,8 +756,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false,
"allOf": [
@@ -793,8 +774,7 @@
"^\\/": {
"$ref": "#/definitions/PathItem"
},
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -810,6 +790,30 @@
"description": {
"type": "string"
},
+ "get": {
+ "$ref": "#/definitions/Operation"
+ },
+ "put": {
+ "$ref": "#/definitions/Operation"
+ },
+ "post": {
+ "$ref": "#/definitions/Operation"
+ },
+ "delete": {
+ "$ref": "#/definitions/Operation"
+ },
+ "options": {
+ "$ref": "#/definitions/Operation"
+ },
+ "head": {
+ "$ref": "#/definitions/Operation"
+ },
+ "patch": {
+ "$ref": "#/definitions/Operation"
+ },
+ "trace": {
+ "$ref": "#/definitions/Operation"
+ },
"servers": {
"type": "array",
"items": {
@@ -832,11 +836,7 @@
}
},
"patternProperties": {
- "^(get|put|post|delete|options|head|patch|trace)$": {
- "$ref": "#/definitions/Operation"
- },
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -922,8 +922,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -952,8 +951,7 @@
}
]
},
- "^x-": {
- }
+ "^x-": {}
},
"minProperties": 1,
"additionalProperties": false
@@ -984,8 +982,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1004,8 +1001,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1129,8 +1125,7 @@
"minProperties": 1,
"maxProperties": 1
},
- "example": {
- },
+ "example": {},
"examples": {
"type": "object",
"additionalProperties": {
@@ -1146,8 +1141,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false,
"required": [
@@ -1160,94 +1154,100 @@
},
{
"$ref": "#/definitions/SchemaXORContent"
- },
- {
- "$ref": "#/definitions/ParameterLocation"
}
- ]
- },
- "ParameterLocation": {
- "description": "Parameter location",
+ ],
"oneOf": [
{
- "description": "Parameter in path",
- "required": [
- "required"
- ],
- "properties": {
- "in": {
- "enum": [
- "path"
- ]
- },
- "style": {
- "enum": [
- "matrix",
- "label",
- "simple"
- ],
- "default": "simple"
- },
- "required": {
- "enum": [
- true
- ]
- }
- }
+ "$ref": "#/definitions/PathParameter"
},
{
- "description": "Parameter in query",
- "properties": {
- "in": {
- "enum": [
- "query"
- ]
- },
- "style": {
- "enum": [
- "form",
- "spaceDelimited",
- "pipeDelimited",
- "deepObject"
- ],
- "default": "form"
- }
- }
+ "$ref": "#/definitions/QueryParameter"
},
{
- "description": "Parameter in header",
- "properties": {
- "in": {
- "enum": [
- "header"
- ]
- },
- "style": {
- "enum": [
- "simple"
- ],
- "default": "simple"
- }
- }
+ "$ref": "#/definitions/HeaderParameter"
},
{
- "description": "Parameter in cookie",
- "properties": {
- "in": {
- "enum": [
- "cookie"
- ]
- },
- "style": {
- "enum": [
- "form"
- ],
- "default": "form"
- }
- }
+ "$ref": "#/definitions/CookieParameter"
}
]
},
+ "PathParameter": {
+ "description": "Parameter in path",
+ "required": [
+ "required"
+ ],
+ "properties": {
+ "in": {
+ "enum": [
+ "path"
+ ]
+ },
+ "style": {
+ "enum": [
+ "matrix",
+ "label",
+ "simple"
+ ],
+ "default": "simple"
+ },
+ "required": {
+ "enum": [
+ true
+ ]
+ }
+ }
+ },
+ "QueryParameter": {
+ "description": "Parameter in query",
+ "properties": {
+ "in": {
+ "enum": [
+ "query"
+ ]
+ },
+ "style": {
+ "enum": [
+ "form",
+ "spaceDelimited",
+ "pipeDelimited",
+ "deepObject"
+ ],
+ "default": "form"
+ }
+ }
+ },
+ "HeaderParameter": {
+ "description": "Parameter in header",
+ "properties": {
+ "in": {
+ "enum": [
+ "header"
+ ]
+ },
+ "style": {
+ "enum": [
+ "simple"
+ ],
+ "default": "simple"
+ }
+ }
+ },
+ "CookieParameter": {
+ "description": "Parameter in cookie",
+ "properties": {
+ "in": {
+ "enum": [
+ "cookie"
+ ]
+ },
+ "style": {
+ "enum": [
+ "form"
+ ],
+ "default": "form"
+ }
+ }
+ },
"RequestBody": {
"type": "object",
"required": [
@@ -1269,8 +1269,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1320,8 +1319,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1349,8 +1347,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false,
"oneOf": [
@@ -1358,9 +1355,8 @@
"description": "Bearer",
"properties": {
"scheme": {
- "enum": [
- "bearer"
- ]
+ "type": "string",
+ "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$"
}
}
},
@@ -1374,9 +1370,8 @@
"properties": {
"scheme": {
"not": {
- "enum": [
- "bearer"
- ]
+ "type": "string",
+ "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$"
}
}
}
@@ -1404,8 +1399,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1431,8 +1425,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1453,8 +1446,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1481,15 +1473,15 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
"PasswordOAuthFlow": {
"type": "object",
"required": [
- "tokenUrl"
+ "tokenUrl",
+ "scopes"
],
"properties": {
"tokenUrl": {
@@ -1508,15 +1500,15 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
"ClientCredentialsFlow": {
"type": "object",
"required": [
- "tokenUrl"
+ "tokenUrl",
+ "scopes"
],
"properties": {
"tokenUrl": {
@@ -1535,8 +1527,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1544,7 +1535,8 @@
"type": "object",
"required": [
"authorizationUrl",
- "tokenUrl"
+ "tokenUrl",
+ "scopes"
],
"properties": {
"authorizationUrl": {
@@ -1567,8 +1559,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false
},
@@ -1584,11 +1575,9 @@
},
"parameters": {
"type": "object",
- "additionalProperties": {
- }
- },
- "requestBody": {
+ "additionalProperties": {}
},
+ "requestBody": {},
"description": {
"type": "string"
},
@@ -1597,8 +1586,7 @@
}
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
},
"additionalProperties": false,
"not": {
@@ -1615,8 +1603,7 @@
"$ref": "#/definitions/PathItem"
},
"patternProperties": {
- "^x-": {
- }
+ "^x-": {}
}
},
"Encoding": {
@@ -1628,7 +1615,14 @@
"headers": {
"type": "object",
"additionalProperties": {
- "$ref": "#/definitions/Header"
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Header"
+ },
+ {
+ "$ref": "#/definitions/Reference"
+ }
+ ]
}
},
"style": {
@@ -1648,6 +1642,9 @@
"default": false
}
},
+ "patternProperties": {
+ "^x-": {}
+ },
"additionalProperties": false
}
}
diff --git a/packages/apidom-ls/src/utils/utils.ts b/packages/apidom-ls/src/utils/utils.ts
index 9c2749ccf7..33ca81a99e 100644
--- a/packages/apidom-ls/src/utils/utils.ts
+++ b/packages/apidom-ls/src/utils/utils.ts
@@ -1,9 +1,9 @@
import * as openapi2AdapterJson from '@swagger-api/apidom-parser-adapter-openapi-json-2';
import * as openapi2AdapterYaml from '@swagger-api/apidom-parser-adapter-openapi-yaml-2';
-import * as openapi3_0AdapterJson from '@swagger-api/apidom-parser-adapter-openapi-json-3-0';
-import * as openapi3_0AdapterYaml from '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0';
-import * as openapi3_1AdapterJson from '@swagger-api/apidom-parser-adapter-openapi-json-3-1';
-import * as openapi3_1AdapterYaml from '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1';
+import * as openapi30xAdapterJson from '@swagger-api/apidom-parser-adapter-openapi-json-3-0';
+import * as openapi30xAdapterYaml from '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0';
+import * as openapi31xAdapterJson from '@swagger-api/apidom-parser-adapter-openapi-json-3-1';
+import * as openapi31xAdapterYaml from '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1';
import * as asyncapi2AdapterJson from '@swagger-api/apidom-parser-adapter-asyncapi-json-2';
import * as asyncapi2AdapterYaml from '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2';
import * as adsAdapterJson from '@swagger-api/apidom-parser-adapter-api-design-systems-json';
@@ -806,165 +806,167 @@ export async function findNamespace(
defaultContentLanguage?: ContentLanguage,
): Promise {
const text = getText(document, true);
- const json = await isJsonDoc(text);
+
if (await asyncapi2AdapterJson.detect(text)) {
- const versionMatch = text.match(asyncapi2AdapterJson.detectionRegExp);
- const version = versionMatch?.groups?.version_json
- ? versionMatch?.groups?.version_json
- : '2.6.0';
+ const asyncapi2JsonMatch = text.match(asyncapi2AdapterJson.detectionRegExp)!;
+ const groups = asyncapi2JsonMatch.groups!;
+ const version = groups.version_json;
+
return {
namespace: 'asyncapi',
version,
format: 'JSON',
- mediaType: `application/vnd.aai.asyncapi+json;version=${version}`,
+ mediaType: asyncapi2AdapterJson.mediaTypes.findBy(version, 'json'),
};
}
+
if (await asyncapi2AdapterYaml.detect(text)) {
- const versionMatch = text.match(asyncapi2AdapterYaml.detectionRegExp);
- const version = versionMatch?.groups?.version_yaml
- ? versionMatch?.groups?.version_yaml
- : '2.6.0';
+ const asyncapi2YamlMatch = text.match(asyncapi2AdapterYaml.detectionRegExp)!;
+ const groups = asyncapi2YamlMatch.groups!;
+ const version = groups.version_json ?? groups.version_yaml;
+
return {
namespace: 'asyncapi',
version,
format: 'YAML',
- mediaType: `application/vnd.aai.asyncapi+yaml;version=${version}`,
+ mediaType: asyncapi2AdapterYaml.mediaTypes.findBy(version, 'yaml'),
};
}
+
if (await openapi2AdapterJson.detect(text)) {
- const versionMatch = text.match(openapi2AdapterJson.detectionRegExp);
- const version = versionMatch?.groups?.version_json ? versionMatch?.groups?.version_json : '2.0';
+ const openapi2JsonMatch = text.match(openapi2AdapterJson.detectionRegExp)!;
+ const groups = openapi2JsonMatch.groups!;
+ const version = groups?.version_json;
return {
namespace: 'openapi',
version,
format: 'JSON',
- mediaType: `application/vnd.oai.openapi+json;version=${version}`,
+ mediaType: openapi2AdapterJson.mediaTypes.findBy(version, 'json'),
};
}
+
if (await openapi2AdapterYaml.detect(text)) {
- const versionMatch = text.match(openapi2AdapterYaml.detectionRegExp);
- const version = versionMatch?.groups?.version_yaml
- ? versionMatch?.groups?.version_yaml
- : versionMatch?.groups?.version_json
- ? versionMatch?.groups?.version_json
- : '2.0';
+ const openapi2YamlMatch = text.match(openapi2AdapterYaml.detectionRegExp)!;
+ const groups = openapi2YamlMatch.groups!;
+ const version = groups.version_json ?? groups.version_yaml;
+
return {
namespace: 'openapi',
version,
format: 'YAML',
- mediaType: `application/vnd.oai.openapi+yaml;version=${version}`,
+ mediaType: openapi2AdapterYaml.mediaTypes.findBy(version, 'yaml'),
};
}
- if (await openapi3_0AdapterJson.detect(text)) {
- const versionMatch = text.match(openapi3_0AdapterJson.detectionRegExp);
- const version = versionMatch?.groups?.version_json
- ? versionMatch?.groups?.version_json
- : '3.0.3';
+
+ if (await openapi30xAdapterJson.detect(text)) {
+ const openapi30xJsonMatch = text.match(openapi30xAdapterJson.detectionRegExp)!;
+ const groups = openapi30xJsonMatch.groups!;
+ const version = groups.version_json;
+
return {
namespace: 'openapi',
version,
format: 'JSON',
- mediaType: `application/vnd.oai.openapi+json;version=${version}`,
+ mediaType: openapi30xAdapterJson.mediaTypes.findBy(version, 'json'),
};
}
- if (await openapi3_0AdapterYaml.detect(text)) {
- const versionMatch = text.match(openapi3_0AdapterYaml.detectionRegExp);
- const version = versionMatch?.groups?.version_yaml
- ? versionMatch?.groups?.version_yaml
- : versionMatch?.groups?.version_json
- ? versionMatch?.groups?.version_json
- : '3.0.3';
+
+ if (await openapi30xAdapterYaml.detect(text)) {
+ const openapi30xYamlMatch = text.match(openapi30xAdapterYaml.detectionRegExp)!;
+ const groups = openapi30xYamlMatch.groups!;
+ const version = groups.version_json ?? groups.version_yaml;
+
return {
namespace: 'openapi',
version,
format: 'YAML',
- mediaType: `application/vnd.oai.openapi+yaml;version=${version}`,
+ mediaType: openapi30xAdapterYaml.mediaTypes.findBy(version, 'yaml'),
};
}
- if (await openapi3_1AdapterJson.detect(text)) {
- const versionMatch = text.match(openapi3_1AdapterJson.detectionRegExp);
- const version = versionMatch?.groups?.version_json
- ? versionMatch?.groups?.version_json
- : '3.1.0';
+
+ if (await openapi31xAdapterJson.detect(text)) {
+ const openapi31xAdapterJsonMatch = text.match(openapi31xAdapterJson.detectionRegExp)!;
+ const groups = openapi31xAdapterJsonMatch.groups!;
+ const version = groups.version_json;
+
return {
namespace: 'openapi',
version,
format: 'JSON',
admitsRefsSiblings: true,
- mediaType: `application/vnd.oai.openapi+json;version=${version}`,
+ mediaType: openapi31xAdapterJson.mediaTypes.findBy(version, 'json'),
};
}
- if (await openapi3_1AdapterYaml.detect(text)) {
- const versionMatch = text.match(openapi3_1AdapterYaml.detectionRegExp);
- const version = versionMatch?.groups?.version_yaml
- ? versionMatch?.groups?.version_yaml
- : versionMatch?.groups?.version_json
- ? versionMatch?.groups?.version_json
- : '3.1.0';
+
+ if (await openapi31xAdapterYaml.detect(text)) {
+ const openapi31xYamlMatch = text.match(openapi31xAdapterYaml.detectionRegExp)!;
+ const groups = openapi31xYamlMatch.groups!;
+ const version = groups.version_json ?? groups.version_yaml;
+
return {
namespace: 'openapi',
version,
format: 'YAML',
admitsRefsSiblings: true,
- mediaType: `application/vnd.oai.openapi+yaml;version=${version}`,
+ mediaType: openapi31xAdapterYaml.mediaTypes.findBy(version, 'yaml'),
};
}
+
if (await adsAdapterJson.detect(text)) {
+ const adsJsonMatch = text.match(adsAdapterJson.detectionRegExp)!;
+ const groups = adsJsonMatch.groups!;
+ const version = groups.version_json;
+
return {
namespace: 'ads',
format: 'JSON',
- mediaType: 'application/vnd.aai.apidesignsystems+json;version=2021-05-07',
+ mediaType: adsAdapterJson.mediaTypes.findBy(version, 'json'),
};
}
+
if (await adsAdapterYaml.detect(text)) {
+ const adsYamlMatch = text.match(adsAdapterYaml.detectionRegExp)!;
+ const groups = adsYamlMatch.groups!;
+ const version = groups.version_json ?? groups.version_yaml;
+
return {
namespace: 'ads',
format: 'YAML',
- mediaType: 'application/vnd.aai.apidesignsystems+yaml;version=2021-05-07',
+ mediaType: adsAdapterYaml.mediaTypes.findBy(version, 'yaml'),
};
}
+
if (await adapterJson.detect(text)) {
return defaultContentLanguage
? {
- namespace: defaultContentLanguage.namespace,
- version: defaultContentLanguage.version,
+ ...defaultContentLanguage,
format: 'JSON',
- admitsRefsSiblings: defaultContentLanguage.admitsRefsSiblings,
- mediaType: defaultContentLanguage.mediaType,
+ mediaType: defaultContentLanguage.mediaType.replace('+yaml', '+json'),
}
: {
namespace: 'apidom',
format: 'JSON',
- mediaType: 'application/json',
+ mediaType: adapterJson.mediaTypes.latest(),
};
}
+
if (await adapterYaml.detect(text)) {
return defaultContentLanguage
- ? {
- namespace: defaultContentLanguage.namespace,
- version: defaultContentLanguage.version,
- format: 'YAML',
- admitsRefsSiblings: defaultContentLanguage.admitsRefsSiblings,
- mediaType: defaultContentLanguage.mediaType,
- }
+ ? { ...defaultContentLanguage, format: 'YAML' }
: {
namespace: 'apidom',
format: 'YAML',
- mediaType: 'application/yaml',
+ mediaType: adapterYaml.mediaTypes.latest(),
};
}
+
+ // format was not recognized; assuming it's YAML
return defaultContentLanguage
- ? {
- namespace: defaultContentLanguage.namespace,
- version: defaultContentLanguage.version,
- format: json ? 'JSON' : 'YAML',
- admitsRefsSiblings: defaultContentLanguage.admitsRefsSiblings,
- mediaType: defaultContentLanguage.mediaType,
- }
+ ? { ...defaultContentLanguage, format: 'YAML' }
: {
namespace: 'apidom',
- format: json ? 'JSON' : 'YAML',
- mediaType: json ? 'application/json' : 'application/yaml',
+ format: 'YAML',
+ mediaType: adapterYaml.mediaTypes.latest(),
};
}
diff --git a/packages/apidom-ls/test/fixtures/validation/oas/parameter-defined-within-path-template-3-0.yaml b/packages/apidom-ls/test/fixtures/validation/oas/parameter-defined-within-path-template-3-0.yaml
index cd38c8d913..e3fb025c3c 100644
--- a/packages/apidom-ls/test/fixtures/validation/oas/parameter-defined-within-path-template-3-0.yaml
+++ b/packages/apidom-ls/test/fixtures/validation/oas/parameter-defined-within-path-template-3-0.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.0
+openapi: 3.0.4
info:
title: Foo
version: 0.1.0
diff --git a/packages/apidom-ls/test/fixtures/validation/oas/path-template-all-defined-3-0.yaml b/packages/apidom-ls/test/fixtures/validation/oas/path-template-all-defined-3-0.yaml
index cb1fc8c37f..54fbec2c81 100644
--- a/packages/apidom-ls/test/fixtures/validation/oas/path-template-all-defined-3-0.yaml
+++ b/packages/apidom-ls/test/fixtures/validation/oas/path-template-all-defined-3-0.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.0
+openapi: 3.0.4
info:
title: Foo
version: 0.1.0
diff --git a/packages/apidom-ls/test/fixtures/validation/oas/server-variables-3-0.yaml b/packages/apidom-ls/test/fixtures/validation/oas/server-variables-3-0.yaml
index 3e2903dc3f..3a6600d438 100644
--- a/packages/apidom-ls/test/fixtures/validation/oas/server-variables-3-0.yaml
+++ b/packages/apidom-ls/test/fixtures/validation/oas/server-variables-3-0.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.2
+openapi: 3.0.4
info:
title: test
version: 1.0.0
diff --git a/packages/apidom-ls/test/fixtures/validation/oas/valid/oas-3.0-petstore.yaml b/packages/apidom-ls/test/fixtures/validation/oas/valid/oas-3.0-petstore.yaml
index 8497a89124..43c1b2cf2a 100644
--- a/packages/apidom-ls/test/fixtures/validation/oas/valid/oas-3.0-petstore.yaml
+++ b/packages/apidom-ls/test/fixtures/validation/oas/valid/oas-3.0-petstore.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.3
+openapi: 3.0.4
info:
title: Swagger Petstore - OpenAPI 3.0
description: |-