From 288360a293bf53ee7ef7576a355bcdd42990081a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Dec 2022 18:11:12 +0100 Subject: [PATCH 1/8] chore(deps): bump qs from 6.5.2 to 6.5.3 (#297) --- package-lock.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 04a235b2..23b86984 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4583,11 +4583,6 @@ "bundled": true, "dev": true }, - "qs": { - "version": "6.5.2", - "bundled": true, - "dev": true - }, "read": { "version": "1.0.7", "bundled": true, @@ -5461,6 +5456,12 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", From f8a2d4362d357e5890b891f09d4357eb36b54128 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 7 Jan 2023 06:21:06 +0100 Subject: [PATCH 2/8] chore(deps): bump json5 from 2.2.0 to 2.2.3 (#299) --- package-lock.json | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 23b86984..8c71dbfa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2232,13 +2232,10 @@ "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "jsonfile": { "version": "6.0.1", From 97c60a8efac86d9ad861e74d2090e8c804325c15 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Mon, 16 Jan 2023 17:22:53 +0100 Subject: [PATCH 3/8] ci: update workflows for nodejs projects (#300) --- .github/workflows/if-nodejs-pr-testing.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/if-nodejs-pr-testing.yml b/.github/workflows/if-nodejs-pr-testing.yml index 1dcccd32..cbe6ddbd 100644 --- a/.github/workflows/if-nodejs-pr-testing.yml +++ b/.github/workflows/if-nodejs-pr-testing.yml @@ -52,10 +52,10 @@ jobs: npm install --loglevel verbose - if: steps.packagejson.outputs.exists == 'true' name: Test - run: npm test + run: npm test --if-present - if: steps.packagejson.outputs.exists == 'true' name: Run linter - run: npm run lint + run: npm run lint --if-present - if: steps.packagejson.outputs.exists == 'true' name: Run release assets generation to make sure PR does not break it - run: npm run generate:assets + run: npm run generate:assets --if-present From ed6da6bd3a17243f7aa5be2e0f4530513b5f07d3 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Mon, 30 Jan 2023 17:27:00 +0100 Subject: [PATCH 4/8] ci: update generic workflows (#303) --- .../workflows/add-good-first-issue-labels.yml | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/add-good-first-issue-labels.yml b/.github/workflows/add-good-first-issue-labels.yml index 20234526..e70a7001 100644 --- a/.github/workflows/add-good-first-issue-labels.yml +++ b/.github/workflows/add-good-first-issue-labels.yml @@ -4,36 +4,37 @@ # Purpose of this workflow is to enable anyone to label issue with 'Good First Issue' and 'area/*' with a single command. name: Add 'Good First Issue' and 'area/*' labels # if proper comment added -on: - issue_comment: - types: - - created +on: + issue_comment: + types: + - created jobs: add-labels: - if: ${{!github.event.issue.pull_request && github.event.issue.state != 'closed' && github.actor != 'asyncapi-bot'}} + if: ${{(!github.event.issue.pull_request && github.event.issue.state != 'closed' && github.actor != 'asyncapi-bot') && (contains(github.event.comment.body, '/good-first-issue') || contains(github.event.comment.body, '/gfi' ))}} runs-on: ubuntu-latest steps: - name: Add label - if: contains(github.event.comment.body, '/good-first-issue') || contains(github.event.comment.body, '/gfi' ) uses: actions/github-script@v5 with: github-token: ${{ secrets.GH_TOKEN }} script: | const areas = ['javascript', 'typescript', 'java' , 'go', 'docs', 'ci-cd', 'design']; - const values = context.payload.comment.body.trim().split(" "); - switch(values[1]){ + const words = context.payload.comment.body.trim().split(" "); + const areaIndex = words.findIndex((word)=> word === '/gfi' || word === '/good-first-issue') + 1 + let area = words[areaIndex]; + switch(area){ case 'ts': - values[1] = 'typescript'; + area = 'typescript'; break; case 'js': - values[1] = 'javascript'; + area = 'javascript'; break; case 'markdown': - values[1] = 'docs'; + area = 'docs'; break; } - if(values.length != 2 || !areas.includes(values[1])){ + if(!areas.includes(area)){ const message = `Hey @${context.payload.sender.login}, your message doesn't follow the requirements, you can try \`/help\`.` await github.rest.issues.createComment({ @@ -44,14 +45,14 @@ jobs: }) } else { - //remove complexity and areas if there are any before adding new labels; + // remove area if there is any before adding new labels. const currentLabels = (await github.rest.issues.listLabelsOnIssue({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, })).data.map(label => label.name); - const shouldBeRemoved = currentLabels.filter(label => (label.startsWith('area/') && !label.endsWith(values[1]))); + const shouldBeRemoved = currentLabels.filter(label => (label.startsWith('area/') && !label.endsWith(area)); shouldBeRemoved.forEach(label => { github.rest.issues.deleteLabel({ owner: context.repo.owner, @@ -60,11 +61,11 @@ jobs: }); }); - //add new labels + // Add new labels. github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, - labels: ['good first issue', `area/${values[1]}`] + labels: ['good first issue', `area/${area}`] }); } From be6131cb560eb12c523e5fced74040a20f609a09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Jan 2023 17:56:27 +0100 Subject: [PATCH 5/8] chore(deps): bump cookiejar from 2.1.3 to 2.1.4 in /.github/workflows/scripts/mailchimp (#304) --- .../workflows/scripts/mailchimp/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/scripts/mailchimp/package-lock.json b/.github/workflows/scripts/mailchimp/package-lock.json index e7f57038..089364fa 100644 --- a/.github/workflows/scripts/mailchimp/package-lock.json +++ b/.github/workflows/scripts/mailchimp/package-lock.json @@ -74,9 +74,9 @@ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "node_modules/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" }, "node_modules/core-util-is": { "version": "1.0.3", @@ -397,9 +397,9 @@ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" }, "core-util-is": { "version": "1.0.3", From 8e305ade74080a2952bdc6b1801c4eda3b43ac27 Mon Sep 17 00:00:00 2001 From: Ace <40604284+AceTheCreator@users.noreply.github.com> Date: Wed, 1 Feb 2023 17:03:47 +0100 Subject: [PATCH 6/8] feat: release for version 2.6.0 of the spec (#307) Co-authored-by: Alex Wichmann Co-authored-by: asyncapi-bot Co-authored-by: Lukasz Gornicki Co-authored-by: derberg --- .../2.6.0/APIKeyHTTPSecurityScheme.json | 38 + .../2.6.0/BearerHTTPSecurityScheme.json | 35 + definitions/2.6.0/HTTPSecurityScheme.json | 15 + .../2.6.0/NonBearerHTTPSecurityScheme.json | 40 + definitions/2.6.0/Reference.json | 13 + definitions/2.6.0/ReferenceObject.json | 6 + .../2.6.0/SaslGssapiSecurityScheme.json | 25 + .../2.6.0/SaslPlainSecurityScheme.json | 25 + .../2.6.0/SaslScramSecurityScheme.json | 26 + definitions/2.6.0/SaslSecurityScheme.json | 15 + definitions/2.6.0/SecurityRequirement.json | 12 + definitions/2.6.0/SecurityScheme.json | 33 + definitions/2.6.0/X509.json | 25 + definitions/2.6.0/apiKey.json | 33 + definitions/2.6.0/asymmetricEncryption.json | 25 + definitions/2.6.0/asyncapi.json | 56 + definitions/2.6.0/bindingsObject.json | 26 + definitions/2.6.0/channelItem.json | 47 + definitions/2.6.0/channels.json | 13 + definitions/2.6.0/components.json | 98 + definitions/2.6.0/contact.json | 28 + definitions/2.6.0/correlationId.json | 25 + definitions/2.6.0/external.json | 5 + definitions/2.6.0/externalDocs.json | 24 + definitions/2.6.0/info.json | 41 + definitions/2.6.0/license.json | 25 + definitions/2.6.0/message.json | 171 ++ definitions/2.6.0/messageTrait.json | 85 + definitions/2.6.0/messages.json | 9 + definitions/2.6.0/oauth2Flow.json | 28 + definitions/2.6.0/oauth2Flows.json | 105 + definitions/2.6.0/oauth2Scopes.json | 8 + definitions/2.6.0/openIdConnect.json | 30 + definitions/2.6.0/operation.json | 76 + definitions/2.6.0/operationTrait.json | 41 + definitions/2.6.0/parameter.json | 24 + definitions/2.6.0/parameters.json | 16 + definitions/2.6.0/schema.json | 98 + definitions/2.6.0/schemas.json | 9 + definitions/2.6.0/server.json | 50 + definitions/2.6.0/serverVariable.json | 33 + definitions/2.6.0/serverVariables.json | 15 + definitions/2.6.0/servers.json | 16 + definitions/2.6.0/specificationExtension.json | 7 + definitions/2.6.0/symmetricEncryption.json | 25 + definitions/2.6.0/tag.json | 25 + definitions/2.6.0/userPassword.json | 25 + index.d.ts | 1 + index.js | 1 + package-lock.json | 2 +- package.json | 2 +- schemas/2.6.0.json | 1847 +++++++++++++++++ schemas/all.schema-store.json | 14 + 53 files changed, 3515 insertions(+), 2 deletions(-) create mode 100644 definitions/2.6.0/APIKeyHTTPSecurityScheme.json create mode 100644 definitions/2.6.0/BearerHTTPSecurityScheme.json create mode 100644 definitions/2.6.0/HTTPSecurityScheme.json create mode 100644 definitions/2.6.0/NonBearerHTTPSecurityScheme.json create mode 100644 definitions/2.6.0/Reference.json create mode 100644 definitions/2.6.0/ReferenceObject.json create mode 100644 definitions/2.6.0/SaslGssapiSecurityScheme.json create mode 100644 definitions/2.6.0/SaslPlainSecurityScheme.json create mode 100644 definitions/2.6.0/SaslScramSecurityScheme.json create mode 100644 definitions/2.6.0/SaslSecurityScheme.json create mode 100644 definitions/2.6.0/SecurityRequirement.json create mode 100644 definitions/2.6.0/SecurityScheme.json create mode 100644 definitions/2.6.0/X509.json create mode 100644 definitions/2.6.0/apiKey.json create mode 100644 definitions/2.6.0/asymmetricEncryption.json create mode 100644 definitions/2.6.0/asyncapi.json create mode 100644 definitions/2.6.0/bindingsObject.json create mode 100644 definitions/2.6.0/channelItem.json create mode 100644 definitions/2.6.0/channels.json create mode 100644 definitions/2.6.0/components.json create mode 100644 definitions/2.6.0/contact.json create mode 100644 definitions/2.6.0/correlationId.json create mode 100644 definitions/2.6.0/external.json create mode 100644 definitions/2.6.0/externalDocs.json create mode 100644 definitions/2.6.0/info.json create mode 100644 definitions/2.6.0/license.json create mode 100644 definitions/2.6.0/message.json create mode 100644 definitions/2.6.0/messageTrait.json create mode 100644 definitions/2.6.0/messages.json create mode 100644 definitions/2.6.0/oauth2Flow.json create mode 100644 definitions/2.6.0/oauth2Flows.json create mode 100644 definitions/2.6.0/oauth2Scopes.json create mode 100644 definitions/2.6.0/openIdConnect.json create mode 100644 definitions/2.6.0/operation.json create mode 100644 definitions/2.6.0/operationTrait.json create mode 100644 definitions/2.6.0/parameter.json create mode 100644 definitions/2.6.0/parameters.json create mode 100644 definitions/2.6.0/schema.json create mode 100644 definitions/2.6.0/schemas.json create mode 100644 definitions/2.6.0/server.json create mode 100644 definitions/2.6.0/serverVariable.json create mode 100644 definitions/2.6.0/serverVariables.json create mode 100644 definitions/2.6.0/servers.json create mode 100644 definitions/2.6.0/specificationExtension.json create mode 100644 definitions/2.6.0/symmetricEncryption.json create mode 100644 definitions/2.6.0/tag.json create mode 100644 definitions/2.6.0/userPassword.json create mode 100644 schemas/2.6.0.json diff --git a/definitions/2.6.0/APIKeyHTTPSecurityScheme.json b/definitions/2.6.0/APIKeyHTTPSecurityScheme.json new file mode 100644 index 00000000..12773091 --- /dev/null +++ b/definitions/2.6.0/APIKeyHTTPSecurityScheme.json @@ -0,0 +1,38 @@ +{ + "type": "object", + "required": [ + "type", + "name", + "in" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "httpApiKey" + ] + }, + "name": { + "type": "string" + }, + "in": { + "type": "string", + "enum": [ + "header", + "query", + "cookie" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/BearerHTTPSecurityScheme.json b/definitions/2.6.0/BearerHTTPSecurityScheme.json new file mode 100644 index 00000000..3eba87ac --- /dev/null +++ b/definitions/2.6.0/BearerHTTPSecurityScheme.json @@ -0,0 +1,35 @@ +{ + "type": "object", + "required": [ + "type", + "scheme" + ], + "properties": { + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "bearerFormat": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "http" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/HTTPSecurityScheme.json b/definitions/2.6.0/HTTPSecurityScheme.json new file mode 100644 index 00000000..af1cfbc3 --- /dev/null +++ b/definitions/2.6.0/HTTPSecurityScheme.json @@ -0,0 +1,15 @@ +{ + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json" + } + ], + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/NonBearerHTTPSecurityScheme.json b/definitions/2.6.0/NonBearerHTTPSecurityScheme.json new file mode 100644 index 00000000..a815a1e5 --- /dev/null +++ b/definitions/2.6.0/NonBearerHTTPSecurityScheme.json @@ -0,0 +1,40 @@ +{ + "not": { + "type": "object", + "properties": { + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + } + } + }, + "type": "object", + "required": [ + "scheme", + "type" + ], + "properties": { + "scheme": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "http" + ] + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/Reference.json b/definitions/2.6.0/Reference.json new file mode 100644 index 00000000..b02bba4f --- /dev/null +++ b/definitions/2.6.0/Reference.json @@ -0,0 +1,13 @@ +{ + "type": "object", + "required": [ + "$ref" + ], + "properties": { + "$ref": { + "$ref": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/Reference.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/ReferenceObject.json b/definitions/2.6.0/ReferenceObject.json new file mode 100644 index 00000000..82075d2e --- /dev/null +++ b/definitions/2.6.0/ReferenceObject.json @@ -0,0 +1,6 @@ +{ + "type": "string", + "format": "uri-reference", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/SaslGssapiSecurityScheme.json b/definitions/2.6.0/SaslGssapiSecurityScheme.json new file mode 100644 index 00000000..8d58c9d1 --- /dev/null +++ b/definitions/2.6.0/SaslGssapiSecurityScheme.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "gssapi" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/SaslPlainSecurityScheme.json b/definitions/2.6.0/SaslPlainSecurityScheme.json new file mode 100644 index 00000000..766428f7 --- /dev/null +++ b/definitions/2.6.0/SaslPlainSecurityScheme.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "plain" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/SaslScramSecurityScheme.json b/definitions/2.6.0/SaslScramSecurityScheme.json new file mode 100644 index 00000000..a60641c5 --- /dev/null +++ b/definitions/2.6.0/SaslScramSecurityScheme.json @@ -0,0 +1,26 @@ +{ + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "scramSha256", + "scramSha512" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/SaslSecurityScheme.json b/definitions/2.6.0/SaslSecurityScheme.json new file mode 100644 index 00000000..184550f4 --- /dev/null +++ b/definitions/2.6.0/SaslSecurityScheme.json @@ -0,0 +1,15 @@ +{ + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json" + } + ], + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/SecurityRequirement.json b/definitions/2.6.0/SecurityRequirement.json new file mode 100644 index 00000000..5579d55b --- /dev/null +++ b/definitions/2.6.0/SecurityRequirement.json @@ -0,0 +1,12 @@ +{ + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/SecurityScheme.json b/definitions/2.6.0/SecurityScheme.json new file mode 100644 index 00000000..3c8bc421 --- /dev/null +++ b/definitions/2.6.0/SecurityScheme.json @@ -0,0 +1,33 @@ +{ + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/userPassword.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/apiKey.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/X509.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flows.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/openIdConnect.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json" + } + ], + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/SecurityScheme.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/X509.json b/definitions/2.6.0/X509.json new file mode 100644 index 00000000..bcc1b8fb --- /dev/null +++ b/definitions/2.6.0/X509.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "X509" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/X509.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/apiKey.json b/definitions/2.6.0/apiKey.json new file mode 100644 index 00000000..d5cc1f00 --- /dev/null +++ b/definitions/2.6.0/apiKey.json @@ -0,0 +1,33 @@ +{ + "type": "object", + "required": [ + "type", + "in" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "apiKey" + ] + }, + "in": { + "type": "string", + "enum": [ + "user", + "password" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/apiKey.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/asymmetricEncryption.json b/definitions/2.6.0/asymmetricEncryption.json new file mode 100644 index 00000000..b4840576 --- /dev/null +++ b/definitions/2.6.0/asymmetricEncryption.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "asymmetricEncryption" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/asyncapi.json b/definitions/2.6.0/asyncapi.json new file mode 100644 index 00000000..54ec9d91 --- /dev/null +++ b/definitions/2.6.0/asyncapi.json @@ -0,0 +1,56 @@ +{ + "title": "AsyncAPI 2.6.0 schema.", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/asyncapi.json", + "type": "object", + "required": [ + "asyncapi", + "info", + "channels" + ], + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "asyncapi": { + "type": "string", + "enum": [ + "2.6.0" + ], + "description": "The AsyncAPI specification version of this document." + }, + "id": { + "type": "string", + "description": "A unique id representing the application.", + "format": "uri" + }, + "info": { + "$ref": "http://asyncapi.com/definitions/2.6.0/info.json" + }, + "servers": { + "$ref": "http://asyncapi.com/definitions/2.6.0/servers.json" + }, + "defaultContentType": { + "type": "string" + }, + "channels": { + "$ref": "http://asyncapi.com/definitions/2.6.0/channels.json" + }, + "components": { + "$ref": "http://asyncapi.com/definitions/2.6.0/components.json" + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + } + } +} \ No newline at end of file diff --git a/definitions/2.6.0/bindingsObject.json b/definitions/2.6.0/bindingsObject.json new file mode 100644 index 00000000..a9c67756 --- /dev/null +++ b/definitions/2.6.0/bindingsObject.json @@ -0,0 +1,26 @@ +{ + "type": "object", + "additionalProperties": true, + "properties": { + "http": {}, + "ws": {}, + "amqp": {}, + "amqp1": {}, + "mqtt": {}, + "mqtt5": {}, + "kafka": {}, + "anypointmq": {}, + "nats": {}, + "jms": {}, + "sns": {}, + "sqs": {}, + "stomp": {}, + "redis": {}, + "ibmmq": {}, + "solace": {}, + "googlepubsub": {}, + "pulsar": {} + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/channelItem.json b/definitions/2.6.0/channelItem.json new file mode 100644 index 00000000..b57ea97c --- /dev/null +++ b/definitions/2.6.0/channelItem.json @@ -0,0 +1,47 @@ +{ + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "$ref": { + "$ref": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/parameter.json" + } + }, + "description": { + "type": "string", + "description": "A description of the channel." + }, + "servers": { + "type": "array", + "description": "The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "publish": { + "$ref": "http://asyncapi.com/definitions/2.6.0/operation.json" + }, + "subscribe": { + "$ref": "http://asyncapi.com/definitions/2.6.0/operation.json" + }, + "deprecated": { + "type": "boolean", + "default": false + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/channelItem.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/channels.json b/definitions/2.6.0/channels.json new file mode 100644 index 00000000..edd1b3c0 --- /dev/null +++ b/definitions/2.6.0/channels.json @@ -0,0 +1,13 @@ +{ + "type": "object", + "propertyNames": { + "type": "string", + "format": "uri-template", + "minLength": 1 + }, + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/channelItem.json" + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/channels.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/components.json b/definitions/2.6.0/components.json new file mode 100644 index 00000000..4e3b1b28 --- /dev/null +++ b/definitions/2.6.0/components.json @@ -0,0 +1,98 @@ +{ + "type": "object", + "description": "An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "schemas": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schemas.json" + }, + "servers": { + "$ref": "http://asyncapi.com/definitions/2.6.0/servers.json" + }, + "channels": { + "$ref": "http://asyncapi.com/definitions/2.6.0/channels.json" + }, + "serverVariables": { + "$ref": "http://asyncapi.com/definitions/2.6.0/serverVariables.json" + }, + "messages": { + "$ref": "http://asyncapi.com/definitions/2.6.0/messages.json" + }, + "securitySchemes": { + "type": "object", + "patternProperties": { + "^[\\w\\d\\.\\-_]+$": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SecurityScheme.json" + } + ] + } + } + }, + "parameters": { + "$ref": "http://asyncapi.com/definitions/2.6.0/parameters.json" + }, + "correlationIds": { + "type": "object", + "patternProperties": { + "^[\\w\\d\\.\\-_]+$": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/correlationId.json" + } + ] + } + } + }, + "operationTraits": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/operationTrait.json" + } + }, + "messageTraits": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/messageTrait.json" + } + }, + "serverBindings": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "channelBindings": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "operationBindings": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "messageBindings": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/components.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/contact.json b/definitions/2.6.0/contact.json new file mode 100644 index 00000000..25f6e180 --- /dev/null +++ b/definitions/2.6.0/contact.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "description": "Contact information for the owners of the API.", + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "The identifying name of the contact person/organization." + }, + "url": { + "type": "string", + "description": "The URL pointing to the contact information.", + "format": "uri" + }, + "email": { + "type": "string", + "description": "The email address of the contact person/organization.", + "format": "email" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/contact.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/correlationId.json b/definitions/2.6.0/correlationId.json new file mode 100644 index 00000000..1c5df58d --- /dev/null +++ b/definitions/2.6.0/correlationId.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "location" + ], + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "description": { + "type": "string", + "description": "A optional description of the correlation ID. GitHub Flavored Markdown is allowed." + }, + "location": { + "type": "string", + "description": "A runtime expression that specifies the location of the correlation ID", + "pattern": "^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/correlationId.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/external.json b/definitions/2.6.0/external.json new file mode 100644 index 00000000..ef5d35e8 --- /dev/null +++ b/definitions/2.6.0/external.json @@ -0,0 +1,5 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/http://something.example.com/schemas/external.json", + "type": "string" + } \ No newline at end of file diff --git a/definitions/2.6.0/externalDocs.json b/definitions/2.6.0/externalDocs.json new file mode 100644 index 00000000..c51a02af --- /dev/null +++ b/definitions/2.6.0/externalDocs.json @@ -0,0 +1,24 @@ +{ + "type": "object", + "additionalProperties": false, + "description": "information about external documentation", + "required": [ + "url" + ], + "properties": { + "description": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/info.json b/definitions/2.6.0/info.json new file mode 100644 index 00000000..93f5d023 --- /dev/null +++ b/definitions/2.6.0/info.json @@ -0,0 +1,41 @@ +{ + "type": "object", + "description": "General information about the API.", + "required": [ + "version", + "title" + ], + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "title": { + "type": "string", + "description": "A unique and precise title of the API." + }, + "version": { + "type": "string", + "description": "A semantic version number of the API." + }, + "description": { + "type": "string", + "description": "A longer description of the API. Should be different from the title. CommonMark is allowed." + }, + "termsOfService": { + "type": "string", + "description": "A URL to the Terms of Service for the API. MUST be in the format of a URL.", + "format": "uri" + }, + "contact": { + "$ref": "http://asyncapi.com/definitions/2.6.0/contact.json" + }, + "license": { + "$ref": "http://asyncapi.com/definitions/2.6.0/license.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/info.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/license.json b/definitions/2.6.0/license.json new file mode 100644 index 00000000..8bd72537 --- /dev/null +++ b/definitions/2.6.0/license.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "name" + ], + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "The name of the license type. It's encouraged to use an OSI compatible license." + }, + "url": { + "type": "string", + "description": "The URL pointing to the license.", + "format": "uri" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/license.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/message.json b/definitions/2.6.0/message.json new file mode 100644 index 00000000..57668893 --- /dev/null +++ b/definitions/2.6.0/message.json @@ -0,0 +1,171 @@ +{ + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "oneOf": [ + { + "type": "object", + "required": [ + "oneOf" + ], + "additionalProperties": false, + "properties": { + "oneOf": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/message.json" + } + } + } + }, + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "schemaFormat": { + "type": "string" + }, + "contentType": { + "type": "string" + }, + "headers": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + { + "properties": { + "type": { + "const": "object" + } + } + } + ] + }, + "messageId": { + "type": "string" + }, + "payload": {}, + "correlationId": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/correlationId.json" + } + ] + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "summary": { + "type": "string", + "description": "A brief summary of the message." + }, + "name": { + "type": "string", + "description": "Name of the message." + }, + "title": { + "type": "string", + "description": "A human-friendly title for the message." + }, + "description": { + "type": "string", + "description": "A longer description of the message. CommonMark is allowed." + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "deprecated": { + "type": "boolean", + "default": false + }, + "examples": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "payload" + ] + }, + { + "required": [ + "headers" + ] + } + ], + "properties": { + "name": { + "type": "string", + "description": "Machine readable name of the message example." + }, + "summary": { + "type": "string", + "description": "A brief summary of the message example." + }, + "headers": { + "type": "object" + }, + "payload": {} + } + } + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + }, + "traits": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/messageTrait.json" + }, + { + "type": "array", + "items": [ + { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/messageTrait.json" + } + ] + }, + { + "type": "object", + "additionalItems": true + } + ] + } + ] + } + } + } + } + ] + } + ], + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/message.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/messageTrait.json b/definitions/2.6.0/messageTrait.json new file mode 100644 index 00000000..6b8bc079 --- /dev/null +++ b/definitions/2.6.0/messageTrait.json @@ -0,0 +1,85 @@ +{ + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "schemaFormat": { + "type": "string" + }, + "contentType": { + "type": "string" + }, + "headers": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + { + "properties": { + "type": { + "const": "object" + } + } + } + ] + }, + "messageId": { + "type": "string" + }, + "correlationId": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/correlationId.json" + } + ] + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "summary": { + "type": "string", + "description": "A brief summary of the message." + }, + "name": { + "type": "string", + "description": "Name of the message." + }, + "title": { + "type": "string", + "description": "A human-friendly title for the message." + }, + "description": { + "type": "string", + "description": "A longer description of the message. CommonMark is allowed." + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "deprecated": { + "type": "boolean", + "default": false + }, + "examples": { + "type": "array", + "items": { + "type": "object" + } + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/messageTrait.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/messages.json b/definitions/2.6.0/messages.json new file mode 100644 index 00000000..af94b2aa --- /dev/null +++ b/definitions/2.6.0/messages.json @@ -0,0 +1,9 @@ +{ + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/message.json" + }, + "description": "JSON objects describing the messages being consumed and produced by the API.", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/messages.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/oauth2Flow.json b/definitions/2.6.0/oauth2Flow.json new file mode 100644 index 00000000..dca2e747 --- /dev/null +++ b/definitions/2.6.0/oauth2Flow.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string", + "format": "uri" + }, + "tokenUrl": { + "type": "string", + "format": "uri" + }, + "refreshUrl": { + "type": "string", + "format": "uri" + }, + "scopes": { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/oauth2Flows.json b/definitions/2.6.0/oauth2Flows.json new file mode 100644 index 00000000..8420d253 --- /dev/null +++ b/definitions/2.6.0/oauth2Flows.json @@ -0,0 +1,105 @@ +{ + "type": "object", + "required": [ + "type", + "flows" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "description": { + "type": "string" + }, + "flows": { + "type": "object", + "properties": { + "implicit": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" + }, + { + "required": [ + "authorizationUrl", + "scopes" + ] + }, + { + "not": { + "required": [ + "tokenUrl" + ] + } + } + ] + }, + "password": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" + }, + { + "required": [ + "tokenUrl", + "scopes" + ] + }, + { + "not": { + "required": [ + "authorizationUrl" + ] + } + } + ] + }, + "clientCredentials": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" + }, + { + "required": [ + "tokenUrl", + "scopes" + ] + }, + { + "not": { + "required": [ + "authorizationUrl" + ] + } + } + ] + }, + "authorizationCode": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" + }, + { + "required": [ + "authorizationUrl", + "tokenUrl", + "scopes" + ] + } + ] + } + }, + "additionalProperties": false + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/oauth2Flows.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/oauth2Scopes.json b/definitions/2.6.0/oauth2Scopes.json new file mode 100644 index 00000000..c9ee586c --- /dev/null +++ b/definitions/2.6.0/oauth2Scopes.json @@ -0,0 +1,8 @@ +{ + "type": "object", + "additionalProperties": { + "type": "string" + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/openIdConnect.json b/definitions/2.6.0/openIdConnect.json new file mode 100644 index 00000000..c2700c1e --- /dev/null +++ b/definitions/2.6.0/openIdConnect.json @@ -0,0 +1,30 @@ +{ + "type": "object", + "required": [ + "type", + "openIdConnectUrl" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "openIdConnect" + ] + }, + "description": { + "type": "string" + }, + "openIdConnectUrl": { + "type": "string", + "format": "uri" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/openIdConnect.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/operation.json b/definitions/2.6.0/operation.json new file mode 100644 index 00000000..a968a59b --- /dev/null +++ b/definitions/2.6.0/operation.json @@ -0,0 +1,76 @@ +{ + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "traits": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/operationTrait.json" + }, + { + "type": "array", + "items": [ + { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/operationTrait.json" + } + ] + }, + { + "type": "object", + "additionalItems": true + } + ] + } + ] + } + }, + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, + "security": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "operationId": { + "type": "string" + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + }, + "message": { + "$ref": "http://asyncapi.com/definitions/2.6.0/message.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/operation.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/operationTrait.json b/definitions/2.6.0/operationTrait.json new file mode 100644 index 00000000..e4a94062 --- /dev/null +++ b/definitions/2.6.0/operationTrait.json @@ -0,0 +1,41 @@ +{ + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "operationId": { + "type": "string" + }, + "security": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json" + } + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/operationTrait.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/parameter.json b/definitions/2.6.0/parameter.json new file mode 100644 index 00000000..745cd03a --- /dev/null +++ b/definitions/2.6.0/parameter.json @@ -0,0 +1,24 @@ +{ + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "description": { + "type": "string", + "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." + }, + "schema": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "location": { + "type": "string", + "description": "A runtime expression that specifies the location of the parameter value", + "pattern": "^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/parameter.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/parameters.json b/definitions/2.6.0/parameters.json new file mode 100644 index 00000000..a8f38364 --- /dev/null +++ b/definitions/2.6.0/parameters.json @@ -0,0 +1,16 @@ +{ + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/parameter.json" + } + ] + }, + "description": "JSON objects describing re-usable channel parameters.", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/parameters.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/schema.json b/definitions/2.6.0/schema.json new file mode 100644 index 00000000..c6f2fa8d --- /dev/null +++ b/definitions/2.6.0/schema.json @@ -0,0 +1,98 @@ +{ + "allOf": [ + { + "$ref": "http://json-schema.org/draft-07/schema#" + }, + { + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + { + "type": "boolean" + } + ], + "default": {} + }, + "items": { + "anyOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + { + "type": "array", + "minItems": 1, + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + } + } + ], + "default": {} + }, + "allOf": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + } + }, + "oneOf": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + } + }, + "anyOf": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + } + }, + "not": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "default": {} + }, + "patternProperties": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "default": {} + }, + "propertyNames": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "contains": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "discriminator": { + "type": "string" + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "deprecated": { + "type": "boolean", + "default": false + } + } + } + ], + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/schema.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/schemas.json b/definitions/2.6.0/schemas.json new file mode 100644 index 00000000..6b54aa1c --- /dev/null +++ b/definitions/2.6.0/schemas.json @@ -0,0 +1,9 @@ +{ + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "description": "JSON objects describing schemas the API uses.", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/schemas.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/server.json b/definitions/2.6.0/server.json new file mode 100644 index 00000000..1cc26d3b --- /dev/null +++ b/definitions/2.6.0/server.json @@ -0,0 +1,50 @@ +{ + "type": "object", + "description": "An object representing a Server.", + "required": [ + "url", + "protocol" + ], + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "protocol": { + "type": "string", + "description": "The transfer protocol." + }, + "protocolVersion": { + "type": "string" + }, + "variables": { + "$ref": "http://asyncapi.com/definitions/2.6.0/serverVariables.json" + }, + "security": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json" + } + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/server.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/serverVariable.json b/definitions/2.6.0/serverVariable.json new file mode 100644 index 00000000..b12f425f --- /dev/null +++ b/definitions/2.6.0/serverVariable.json @@ -0,0 +1,33 @@ +{ + "type": "object", + "description": "An object representing a Server Variable for server URL template substitution.", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "enum": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "default": { + "type": "string" + }, + "description": { + "type": "string" + }, + "examples": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/serverVariable.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/serverVariables.json b/definitions/2.6.0/serverVariables.json new file mode 100644 index 00000000..23787ac4 --- /dev/null +++ b/definitions/2.6.0/serverVariables.json @@ -0,0 +1,15 @@ +{ + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/serverVariable.json" + } + ] + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/serverVariables.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/servers.json b/definitions/2.6.0/servers.json new file mode 100644 index 00000000..237eb0f7 --- /dev/null +++ b/definitions/2.6.0/servers.json @@ -0,0 +1,16 @@ +{ + "description": "An object representing multiple servers.", + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/server.json" + } + ] + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/servers.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/specificationExtension.json b/definitions/2.6.0/specificationExtension.json new file mode 100644 index 00000000..02846ff4 --- /dev/null +++ b/definitions/2.6.0/specificationExtension.json @@ -0,0 +1,7 @@ +{ + "description": "Any property starting with x- is valid.", + "additionalProperties": true, + "additionalItems": true, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/symmetricEncryption.json b/definitions/2.6.0/symmetricEncryption.json new file mode 100644 index 00000000..5981dc78 --- /dev/null +++ b/definitions/2.6.0/symmetricEncryption.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "symmetricEncryption" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/tag.json b/definitions/2.6.0/tag.json new file mode 100644 index 00000000..2e0a28ad --- /dev/null +++ b/definitions/2.6.0/tag.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "additionalProperties": false, + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/tag.json" +} \ No newline at end of file diff --git a/definitions/2.6.0/userPassword.json b/definitions/2.6.0/userPassword.json new file mode 100644 index 00000000..8f1e7a41 --- /dev/null +++ b/definitions/2.6.0/userPassword.json @@ -0,0 +1,25 @@ +{ + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "userPassword" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/definitions/2.6.0/userPassword.json" +} \ No newline at end of file diff --git a/index.d.ts b/index.d.ts index 36e37f47..fa45bd57 100644 --- a/index.d.ts +++ b/index.d.ts @@ -7,5 +7,6 @@ declare const _exports: { '2.3.0': JSONSchema7; '2.4.0': JSONSchema7; '2.5.0': JSONSchema7; + '2.6.0': JSONSchema7; }; export = _exports; diff --git a/index.js b/index.js index b19becf1..ab89c9a8 100644 --- a/index.js +++ b/index.js @@ -5,4 +5,5 @@ module.exports = { '2.3.0': require('./schemas/2.3.0.json'), '2.4.0': require('./schemas/2.4.0.json'), '2.5.0': require('./schemas/2.5.0.json'), + '2.6.0': require('./schemas/2.6.0.json'), }; diff --git a/package-lock.json b/package-lock.json index 8c71dbfa..d16908d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@asyncapi/specs", - "version": "4.0.1", + "version": "3.3.0-next-spec.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 284f1594..7910b529 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@asyncapi/specs", - "version": "4.0.1", + "version": "3.3.0-next-spec.1", "description": "AsyncAPI schema versions", "main": "index.js", "types": "index.d.ts", diff --git a/schemas/2.6.0.json b/schemas/2.6.0.json new file mode 100644 index 00000000..dede888e --- /dev/null +++ b/schemas/2.6.0.json @@ -0,0 +1,1847 @@ +{ + "$id": "http://asyncapi.com/definitions/2.6.0/asyncapi.json", + "$schema": "http://json-schema.org/draft-07/schema", + "title": "AsyncAPI 2.6.0 schema.", + "type": "object", + "required": [ + "asyncapi", + "info", + "channels" + ], + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "asyncapi": { + "type": "string", + "enum": [ + "2.6.0" + ], + "description": "The AsyncAPI specification version of this document." + }, + "id": { + "type": "string", + "description": "A unique id representing the application.", + "format": "uri" + }, + "info": { + "$ref": "http://asyncapi.com/definitions/2.6.0/info.json" + }, + "servers": { + "$ref": "http://asyncapi.com/definitions/2.6.0/servers.json" + }, + "defaultContentType": { + "type": "string" + }, + "channels": { + "$ref": "http://asyncapi.com/definitions/2.6.0/channels.json" + }, + "components": { + "$ref": "http://asyncapi.com/definitions/2.6.0/components.json" + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + } + }, + "definitions": { + "http://asyncapi.com/definitions/2.6.0/specificationExtension.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json", + "description": "Any property starting with x- is valid.", + "additionalProperties": true, + "additionalItems": true + }, + "http://asyncapi.com/definitions/2.6.0/info.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/info.json", + "type": "object", + "description": "General information about the API.", + "required": [ + "version", + "title" + ], + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "title": { + "type": "string", + "description": "A unique and precise title of the API." + }, + "version": { + "type": "string", + "description": "A semantic version number of the API." + }, + "description": { + "type": "string", + "description": "A longer description of the API. Should be different from the title. CommonMark is allowed." + }, + "termsOfService": { + "type": "string", + "description": "A URL to the Terms of Service for the API. MUST be in the format of a URL.", + "format": "uri" + }, + "contact": { + "$ref": "http://asyncapi.com/definitions/2.6.0/contact.json" + }, + "license": { + "$ref": "http://asyncapi.com/definitions/2.6.0/license.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/contact.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/contact.json", + "type": "object", + "description": "Contact information for the owners of the API.", + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "The identifying name of the contact person/organization." + }, + "url": { + "type": "string", + "description": "The URL pointing to the contact information.", + "format": "uri" + }, + "email": { + "type": "string", + "description": "The email address of the contact person/organization.", + "format": "email" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/license.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/license.json", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "The name of the license type. It's encouraged to use an OSI compatible license." + }, + "url": { + "type": "string", + "description": "The URL pointing to the license.", + "format": "uri" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/servers.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/servers.json", + "description": "An object representing multiple servers.", + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/server.json" + } + ] + } + }, + "http://asyncapi.com/definitions/2.6.0/Reference.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/Reference.json", + "type": "object", + "required": [ + "$ref" + ], + "properties": { + "$ref": { + "$ref": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json", + "type": "string", + "format": "uri-reference" + }, + "http://asyncapi.com/definitions/2.6.0/server.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/server.json", + "type": "object", + "description": "An object representing a Server.", + "required": [ + "url", + "protocol" + ], + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "protocol": { + "type": "string", + "description": "The transfer protocol." + }, + "protocolVersion": { + "type": "string" + }, + "variables": { + "$ref": "http://asyncapi.com/definitions/2.6.0/serverVariables.json" + }, + "security": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json" + } + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + } + } + }, + "http://asyncapi.com/definitions/2.6.0/serverVariables.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/serverVariables.json", + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/serverVariable.json" + } + ] + } + }, + "http://asyncapi.com/definitions/2.6.0/serverVariable.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/serverVariable.json", + "type": "object", + "description": "An object representing a Server Variable for server URL template substitution.", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "enum": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "default": { + "type": "string" + }, + "description": { + "type": "string" + }, + "examples": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "http://asyncapi.com/definitions/2.6.0/bindingsObject.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json", + "type": "object", + "additionalProperties": true, + "properties": { + "http": {}, + "ws": {}, + "amqp": {}, + "amqp1": {}, + "mqtt": {}, + "mqtt5": {}, + "kafka": {}, + "anypointmq": {}, + "nats": {}, + "jms": {}, + "sns": {}, + "sqs": {}, + "stomp": {}, + "redis": {}, + "ibmmq": {}, + "solace": {}, + "googlepubsub": {}, + "pulsar": {} + } + }, + "http://asyncapi.com/definitions/2.6.0/tag.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/tag.json", + "type": "object", + "additionalProperties": false, + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/externalDocs.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/externalDocs.json", + "type": "object", + "additionalProperties": false, + "description": "information about external documentation", + "required": [ + "url" + ], + "properties": { + "description": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/channels.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/channels.json", + "type": "object", + "propertyNames": { + "type": "string", + "format": "uri-template", + "minLength": 1 + }, + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/channelItem.json" + } + }, + "http://asyncapi.com/definitions/2.6.0/channelItem.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/channelItem.json", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "$ref": { + "$ref": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/parameter.json" + } + }, + "description": { + "type": "string", + "description": "A description of the channel." + }, + "servers": { + "type": "array", + "description": "The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "publish": { + "$ref": "http://asyncapi.com/definitions/2.6.0/operation.json" + }, + "subscribe": { + "$ref": "http://asyncapi.com/definitions/2.6.0/operation.json" + }, + "deprecated": { + "type": "boolean", + "default": false + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/parameter.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/parameter.json", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "description": { + "type": "string", + "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." + }, + "schema": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "location": { + "type": "string", + "description": "A runtime expression that specifies the location of the parameter value", + "pattern": "^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/schema.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/schema.json", + "allOf": [ + { + "$ref": "http://json-schema.org/draft-07/schema#" + }, + { + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + { + "type": "boolean" + } + ], + "default": {} + }, + "items": { + "anyOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + { + "type": "array", + "minItems": 1, + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + } + } + ], + "default": {} + }, + "allOf": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + } + }, + "oneOf": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + } + }, + "anyOf": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + } + }, + "not": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "default": {} + }, + "patternProperties": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "default": {} + }, + "propertyNames": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "contains": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "discriminator": { + "type": "string" + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "deprecated": { + "type": "boolean", + "default": false + } + } + } + ] + }, + "http://json-schema.org/draft-07/schema": { + "$id": "http://json-schema.org/draft-07/schema", + "title": "Core schema meta-schema", + "definitions": { + "schemaArray": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#" + } + }, + "nonNegativeInteger": { + "type": "integer", + "minimum": 0 + }, + "nonNegativeIntegerDefault0": { + "allOf": [ + { + "$ref": "#/definitions/nonNegativeInteger" + }, + { + "default": 0 + } + ] + }, + "simpleTypes": { + "enum": [ + "array", + "boolean", + "integer", + "null", + "number", + "object", + "string" + ] + }, + "stringArray": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true, + "default": [] + } + }, + "type": [ + "object", + "boolean" + ], + "properties": { + "$id": { + "type": "string", + "format": "uri-reference" + }, + "$schema": { + "type": "string", + "format": "uri" + }, + "$ref": { + "type": "string", + "format": "uri-reference" + }, + "$comment": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "default": true, + "readOnly": { + "type": "boolean", + "default": false + }, + "writeOnly": { + "type": "boolean", + "default": false + }, + "examples": { + "type": "array", + "items": true + }, + "multipleOf": { + "type": "number", + "exclusiveMinimum": 0 + }, + "maximum": { + "type": "number" + }, + "exclusiveMaximum": { + "type": "number" + }, + "minimum": { + "type": "number" + }, + "exclusiveMinimum": { + "type": "number" + }, + "maxLength": { + "$ref": "#/definitions/nonNegativeInteger" + }, + "minLength": { + "$ref": "#/definitions/nonNegativeIntegerDefault0" + }, + "pattern": { + "type": "string", + "format": "regex" + }, + "additionalItems": { + "$ref": "#" + }, + "items": { + "anyOf": [ + { + "$ref": "#" + }, + { + "$ref": "#/definitions/schemaArray" + } + ], + "default": true + }, + "maxItems": { + "$ref": "#/definitions/nonNegativeInteger" + }, + "minItems": { + "$ref": "#/definitions/nonNegativeIntegerDefault0" + }, + "uniqueItems": { + "type": "boolean", + "default": false + }, + "contains": { + "$ref": "#" + }, + "maxProperties": { + "$ref": "#/definitions/nonNegativeInteger" + }, + "minProperties": { + "$ref": "#/definitions/nonNegativeIntegerDefault0" + }, + "required": { + "$ref": "#/definitions/stringArray" + }, + "additionalProperties": { + "$ref": "#" + }, + "definitions": { + "type": "object", + "additionalProperties": { + "$ref": "#" + }, + "default": {} + }, + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "#" + }, + "default": {} + }, + "patternProperties": { + "type": "object", + "additionalProperties": { + "$ref": "#" + }, + "propertyNames": { + "format": "regex" + }, + "default": {} + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#" + }, + { + "$ref": "#/definitions/stringArray" + } + ] + } + }, + "propertyNames": { + "$ref": "#" + }, + "const": true, + "enum": { + "type": "array", + "items": true, + "minItems": 1, + "uniqueItems": true + }, + "type": { + "anyOf": [ + { + "$ref": "#/definitions/simpleTypes" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/simpleTypes" + }, + "minItems": 1, + "uniqueItems": true + } + ] + }, + "format": { + "type": "string" + }, + "contentMediaType": { + "type": "string" + }, + "contentEncoding": { + "type": "string" + }, + "if": { + "$ref": "#" + }, + "then": { + "$ref": "#" + }, + "else": { + "$ref": "#" + }, + "allOf": { + "$ref": "#/definitions/schemaArray" + }, + "anyOf": { + "$ref": "#/definitions/schemaArray" + }, + "oneOf": { + "$ref": "#/definitions/schemaArray" + }, + "not": { + "$ref": "#" + } + }, + "default": true + }, + "http://asyncapi.com/definitions/2.6.0/operation.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/operation.json", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "traits": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/operationTrait.json" + }, + { + "type": "array", + "items": [ + { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/operationTrait.json" + } + ] + }, + { + "type": "object", + "additionalItems": true + } + ] + } + ] + } + }, + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, + "security": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "operationId": { + "type": "string" + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + }, + "message": { + "$ref": "http://asyncapi.com/definitions/2.6.0/message.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/operationTrait.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/operationTrait.json", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "operationId": { + "type": "string" + }, + "security": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json" + } + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/message.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/message.json", + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "oneOf": [ + { + "type": "object", + "required": [ + "oneOf" + ], + "additionalProperties": false, + "properties": { + "oneOf": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/message.json" + } + } + } + }, + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "schemaFormat": { + "type": "string" + }, + "contentType": { + "type": "string" + }, + "headers": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + { + "properties": { + "type": { + "const": "object" + } + } + } + ] + }, + "messageId": { + "type": "string" + }, + "payload": {}, + "correlationId": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/correlationId.json" + } + ] + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "summary": { + "type": "string", + "description": "A brief summary of the message." + }, + "name": { + "type": "string", + "description": "Name of the message." + }, + "title": { + "type": "string", + "description": "A human-friendly title for the message." + }, + "description": { + "type": "string", + "description": "A longer description of the message. CommonMark is allowed." + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "deprecated": { + "type": "boolean", + "default": false + }, + "examples": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "payload" + ] + }, + { + "required": [ + "headers" + ] + } + ], + "properties": { + "name": { + "type": "string", + "description": "Machine readable name of the message example." + }, + "summary": { + "type": "string", + "description": "A brief summary of the message example." + }, + "headers": { + "type": "object" + }, + "payload": {} + } + } + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + }, + "traits": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/messageTrait.json" + }, + { + "type": "array", + "items": [ + { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/messageTrait.json" + } + ] + }, + { + "type": "object", + "additionalItems": true + } + ] + } + ] + } + } + } + } + ] + } + ] + }, + "http://asyncapi.com/definitions/2.6.0/correlationId.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/correlationId.json", + "type": "object", + "required": [ + "location" + ], + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "description": { + "type": "string", + "description": "A optional description of the correlation ID. GitHub Flavored Markdown is allowed." + }, + "location": { + "type": "string", + "description": "A runtime expression that specifies the location of the correlation ID", + "pattern": "^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/messageTrait.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/messageTrait.json", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "schemaFormat": { + "type": "string" + }, + "contentType": { + "type": "string" + }, + "headers": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + { + "properties": { + "type": { + "const": "object" + } + } + } + ] + }, + "messageId": { + "type": "string" + }, + "correlationId": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/correlationId.json" + } + ] + }, + "tags": { + "type": "array", + "items": { + "$ref": "http://asyncapi.com/definitions/2.6.0/tag.json" + }, + "uniqueItems": true + }, + "summary": { + "type": "string", + "description": "A brief summary of the message." + }, + "name": { + "type": "string", + "description": "Name of the message." + }, + "title": { + "type": "string", + "description": "A human-friendly title for the message." + }, + "description": { + "type": "string", + "description": "A longer description of the message. CommonMark is allowed." + }, + "externalDocs": { + "$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json" + }, + "deprecated": { + "type": "boolean", + "default": false + }, + "examples": { + "type": "array", + "items": { + "type": "object" + } + }, + "bindings": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/components.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/components.json", + "type": "object", + "description": "An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "properties": { + "schemas": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schemas.json" + }, + "servers": { + "$ref": "http://asyncapi.com/definitions/2.6.0/servers.json" + }, + "channels": { + "$ref": "http://asyncapi.com/definitions/2.6.0/channels.json" + }, + "serverVariables": { + "$ref": "http://asyncapi.com/definitions/2.6.0/serverVariables.json" + }, + "messages": { + "$ref": "http://asyncapi.com/definitions/2.6.0/messages.json" + }, + "securitySchemes": { + "type": "object", + "patternProperties": { + "^[\\w\\d\\.\\-_]+$": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SecurityScheme.json" + } + ] + } + } + }, + "parameters": { + "$ref": "http://asyncapi.com/definitions/2.6.0/parameters.json" + }, + "correlationIds": { + "type": "object", + "patternProperties": { + "^[\\w\\d\\.\\-_]+$": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/correlationId.json" + } + ] + } + } + }, + "operationTraits": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/operationTrait.json" + } + }, + "messageTraits": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/messageTrait.json" + } + }, + "serverBindings": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "channelBindings": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "operationBindings": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + }, + "messageBindings": { + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json" + } + } + } + }, + "http://asyncapi.com/definitions/2.6.0/schemas.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/schemas.json", + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/schema.json" + }, + "description": "JSON objects describing schemas the API uses." + }, + "http://asyncapi.com/definitions/2.6.0/messages.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/messages.json", + "type": "object", + "additionalProperties": { + "$ref": "http://asyncapi.com/definitions/2.6.0/message.json" + }, + "description": "JSON objects describing the messages being consumed and produced by the API." + }, + "http://asyncapi.com/definitions/2.6.0/SecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/SecurityScheme.json", + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/userPassword.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/apiKey.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/X509.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flows.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/openIdConnect.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json" + } + ] + }, + "http://asyncapi.com/definitions/2.6.0/userPassword.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/userPassword.json", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "userPassword" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/apiKey.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/apiKey.json", + "type": "object", + "required": [ + "type", + "in" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "apiKey" + ] + }, + "in": { + "type": "string", + "enum": [ + "user", + "password" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/X509.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/X509.json", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "X509" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/symmetricEncryption.json", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "symmetricEncryption" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/asymmetricEncryption.json", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "asymmetricEncryption" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/HTTPSecurityScheme.json", + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json" + } + ] + }, + "http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/NonBearerHTTPSecurityScheme.json", + "not": { + "type": "object", + "properties": { + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + } + } + }, + "type": "object", + "required": [ + "scheme", + "type" + ], + "properties": { + "scheme": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "http" + ] + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/BearerHTTPSecurityScheme.json", + "type": "object", + "required": [ + "type", + "scheme" + ], + "properties": { + "scheme": { + "type": "string", + "enum": [ + "bearer" + ] + }, + "bearerFormat": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "http" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/APIKeyHTTPSecurityScheme.json", + "type": "object", + "required": [ + "type", + "name", + "in" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "httpApiKey" + ] + }, + "name": { + "type": "string" + }, + "in": { + "type": "string", + "enum": [ + "header", + "query", + "cookie" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/oauth2Flows.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/oauth2Flows.json", + "type": "object", + "required": [ + "type", + "flows" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "description": { + "type": "string" + }, + "flows": { + "type": "object", + "properties": { + "implicit": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" + }, + { + "required": [ + "authorizationUrl", + "scopes" + ] + }, + { + "not": { + "required": [ + "tokenUrl" + ] + } + } + ] + }, + "password": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" + }, + { + "required": [ + "tokenUrl", + "scopes" + ] + }, + { + "not": { + "required": [ + "authorizationUrl" + ] + } + } + ] + }, + "clientCredentials": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" + }, + { + "required": [ + "tokenUrl", + "scopes" + ] + }, + { + "not": { + "required": [ + "authorizationUrl" + ] + } + } + ] + }, + "authorizationCode": { + "allOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json" + }, + { + "required": [ + "authorizationUrl", + "tokenUrl", + "scopes" + ] + } + ] + } + }, + "additionalProperties": false + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + } + }, + "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/oauth2Flow.json", + "type": "object", + "properties": { + "authorizationUrl": { + "type": "string", + "format": "uri" + }, + "tokenUrl": { + "type": "string", + "format": "uri" + }, + "refreshUrl": { + "type": "string", + "format": "uri" + }, + "scopes": { + "$ref": "http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/oauth2Scopes.json", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "http://asyncapi.com/definitions/2.6.0/openIdConnect.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/openIdConnect.json", + "type": "object", + "required": [ + "type", + "openIdConnectUrl" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "openIdConnect" + ] + }, + "description": { + "type": "string" + }, + "openIdConnectUrl": { + "type": "string", + "format": "uri" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/SaslSecurityScheme.json", + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json" + } + ] + }, + "http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/SaslPlainSecurityScheme.json", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "plain" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/SaslScramSecurityScheme.json", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "scramSha256", + "scramSha512" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/SaslGssapiSecurityScheme.json", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "gssapi" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json" + } + }, + "additionalProperties": false + }, + "http://asyncapi.com/definitions/2.6.0/parameters.json": { + "$id": "http://asyncapi.com/definitions/2.6.0/parameters.json", + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json" + }, + { + "$ref": "http://asyncapi.com/definitions/2.6.0/parameter.json" + } + ] + }, + "description": "JSON objects describing re-usable channel parameters." + } + }, + "description": "!!Auto generated!! \n Do not manually edit. " +} \ No newline at end of file diff --git a/schemas/all.schema-store.json b/schemas/all.schema-store.json index 837813fa..60407b69 100644 --- a/schemas/all.schema-store.json +++ b/schemas/all.schema-store.json @@ -158,6 +158,20 @@ "$ref": "http://asyncapi.com/schema-store/2.5.0.json" } ] + }, + { + "allOf": [ + { + "properties": { + "asyncapi": { + "const": "2.6.0" + } + } + }, + { + "$ref": "http://asyncapi.com/schema-store/2.6.0.json" + } + ] } ] } From 9388b344c7c9a9ae6dbec3e161b7e9029d43702d Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Wed, 1 Feb 2023 17:09:35 +0100 Subject: [PATCH 7/8] chore(release): v4.1.0 (#308) --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d16908d1..6d7b88ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@asyncapi/specs", - "version": "3.3.0-next-spec.1", + "version": "4.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7910b529..9c8d6c08 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@asyncapi/specs", - "version": "3.3.0-next-spec.1", + "version": "4.1.0", "description": "AsyncAPI schema versions", "main": "index.js", "types": "index.d.ts", From bda61969d255fcd7d74b73f570f3e8bd6ccad800 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 Feb 2023 14:00:50 +0100 Subject: [PATCH 8/8] chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 (#313) --- package-lock.json | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6d7b88ea..b74f2fe1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1791,6 +1791,12 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, "http-proxy-agent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", @@ -3772,11 +3778,6 @@ "lru-cache": "^6.0.0" } }, - "http-cache-semantics": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, "http-proxy-agent": { "version": "4.0.1", "bundled": true, @@ -6620,11 +6621,6 @@ "lru-cache": "^7.5.1" } }, - "http-cache-semantics": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, "http-proxy-agent": { "version": "5.0.0", "bundled": true,