From 8b2b9e0d978e017154bd30943459accf61cdee3f Mon Sep 17 00:00:00 2001 From: openrpc-bastion Date: Mon, 15 Mar 2021 06:04:39 +0000 Subject: [PATCH] chore(release): 1.14.1 [skip ci] ## [1.14.1](https://github.com/open-rpc/meta-schema/compare/1.14.0...1.14.1) (2021-03-15) ### Bug Fixes * allow methods array to have refs ([709a380](https://github.com/open-rpc/meta-schema/commit/709a3808f5b712f9fc07dd8a54a66f213924d41e)) * **github action:** eslint workflow node version ([a51cc70](https://github.com/open-rpc/meta-schema/commit/a51cc70cbef90342b1e1130164bd54b50774023f)) --- CHANGELOG.md | 8 ++++++++ index.d.ts | 3 ++- index.js | 2 +- index.py | 4 +++- index.rs | 7 ++++++- openrpc_document.go | 34 ++++++++++++++++++++++++++++++++-- 6 files changed, 52 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 487c900..2c32b97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## [1.14.1](https://github.com/open-rpc/meta-schema/compare/1.14.0...1.14.1) (2021-03-15) + + +### Bug Fixes + +* allow methods array to have refs ([709a380](https://github.com/open-rpc/meta-schema/commit/709a3808f5b712f9fc07dd8a54a66f213924d41e)) +* **github action:** eslint workflow node version ([a51cc70](https://github.com/open-rpc/meta-schema/commit/a51cc70cbef90342b1e1130164bd54b50774023f)) + # [1.14.0](https://github.com/open-rpc/meta-schema/compare/1.13.20...1.14.0) (2020-11-10) diff --git a/index.d.ts b/index.d.ts index 244d48e..032ae1c 100644 --- a/index.d.ts +++ b/index.d.ts @@ -341,7 +341,8 @@ export interface MethodObject { externalDocs?: ExternalDocumentationObject; [regex: string]: SpecificationExtension | any; } -export type Methods = MethodObject[]; +export type MethodReference = MethodObject | ReferenceObject; +export type Methods = MethodReference[]; export interface SchemaComponents { [key: string]: any; } export interface LinkComponents { [key: string]: any; } export interface ErrorComponents { [key: string]: any; } diff --git a/index.js b/index.js index 76685d2..00bde33 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,5 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.openrpcDocument = void 0; -exports.openrpcDocument = { "$schema": "https://meta.json-schema.tools/", "$id": "https://meta.open-rpc.org/", "title": "openrpcDocument", "type": "object", "required": ["info", "methods", "openrpc"], "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } }, "properties": { "openrpc": { "$ref": "#/definitions/openrpc" }, "info": { "$ref": "#/definitions/infoObject" }, "externalDocs": { "$ref": "#/definitions/externalDocumentationObject" }, "servers": { "$ref": "#/definitions/servers" }, "methods": { "$ref": "#/definitions/methods" }, "components": { "$ref": "#/definitions/components" } }, "definitions": { "openrpc": { "title": "openrpc", "type": "string", "enum": ["1.2.6", "1.2.5", "1.2.4", "1.2.3", "1.2.2", "1.2.1", "1.2.0", "1.1.12", "1.1.11", "1.1.10", "1.1.9", "1.1.8", "1.1.7", "1.1.6", "1.1.5", "1.1.4", "1.1.3", "1.1.2", "1.1.1", "1.1.0", "1.0.0", "1.0.0-rc1", "1.0.0-rc0"] }, "infoObjectProperties": { "title": "infoObjectProperties", "type": "string" }, "infoObjectDescription": { "title": "infoObjectDescription", "type": "string" }, "infoObjectTermsOfService": { "title": "infoObjectTermsOfService", "type": "string", "format": "uri" }, "infoObjectVersion": { "title": "infoObjectVersion", "type": "string" }, "contactObjectName": { "title": "contactObjectName", "type": "string" }, "contactObjectEmail": { "title": "contactObjectEmail", "type": "string" }, "contactObjectUrl": { "title": "contactObjectUrl", "type": "string" }, "specificationExtension": { "title": "specificationExtension" }, "contactObject": { "title": "contactObject", "type": "object", "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/contactObjectName" }, "email": { "$ref": "#/definitions/contactObjectEmail" }, "url": { "$ref": "#/definitions/contactObjectUrl" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "licenseObjectName": { "title": "licenseObjectName", "type": "string" }, "licenseObjectUrl": { "title": "licenseObjectUrl", "type": "string" }, "licenseObject": { "title": "licenseObject", "type": "object", "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/licenseObjectName" }, "url": { "$ref": "#/definitions/licenseObjectUrl" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "infoObject": { "title": "infoObject", "type": "object", "additionalProperties": false, "required": ["title", "version"], "properties": { "title": { "$ref": "#/definitions/infoObjectProperties" }, "description": { "$ref": "#/definitions/infoObjectDescription" }, "termsOfService": { "$ref": "#/definitions/infoObjectTermsOfService" }, "version": { "$ref": "#/definitions/infoObjectVersion" }, "contact": { "$ref": "#/definitions/contactObject" }, "license": { "$ref": "#/definitions/licenseObject" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "externalDocumentationObjectDescription": { "title": "externalDocumentationObjectDescription", "type": "string" }, "externalDocumentationObjectUrl": { "title": "externalDocumentationObjectUrl", "type": "string", "format": "uri" }, "externalDocumentationObject": { "title": "externalDocumentationObject", "type": "object", "additionalProperties": false, "description": "information about external documentation", "required": ["url"], "properties": { "description": { "$ref": "#/definitions/externalDocumentationObjectDescription" }, "url": { "$ref": "#/definitions/externalDocumentationObjectUrl" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "serverObjectUrl": { "title": "serverObjectUrl", "type": "string", "format": "uri" }, "serverObjectName": { "title": "serverObjectName", "type": "string" }, "serverObjectDescription": { "title": "serverObjectDescription", "type": "string" }, "serverObjectSummary": { "title": "serverObjectSummary", "type": "string" }, "serverObjectVariableDefault": { "title": "serverObjectVariableDefault", "type": "string" }, "serverObjectVariableDescription": { "title": "serverObjectVariableDescription", "type": "string" }, "serverObjectVariableEnumItem": { "title": "serverObjectVariableEnumItem", "type": "string" }, "serverObjectVariableEnum": { "title": "serverObjectVariableEnum", "type": "array", "items": { "$ref": "#/definitions/serverObjectVariableEnumItem" } }, "serverObjectVariable": { "title": "serverObjectVariable", "type": "object", "required": ["default"], "properties": { "default": { "$ref": "#/definitions/serverObjectVariableDefault" }, "description": { "$ref": "#/definitions/serverObjectVariableDescription" }, "enum": { "$ref": "#/definitions/serverObjectVariableEnum" } } }, "serverObjectVariables": { "title": "serverObjectVariables", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/serverObjectVariable" } } }, "serverObject": { "title": "serverObject", "type": "object", "required": ["url"], "additionalProperties": false, "properties": { "url": { "$ref": "#/definitions/serverObjectUrl" }, "name": { "$ref": "#/definitions/serverObjectName" }, "description": { "$ref": "#/definitions/serverObjectDescription" }, "summary": { "$ref": "#/definitions/serverObjectSummary" }, "variables": { "$ref": "#/definitions/serverObjectVariables" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "servers": { "title": "servers", "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/serverObject" } }, "methodObjectName": { "title": "methodObjectName", "description": "The cannonical name for the method. The name MUST be unique within the methods array.", "type": "string", "minLength": 1 }, "methodObjectDescription": { "title": "methodObjectDescription", "description": "A verbose explanation of the method behavior. GitHub Flavored Markdown syntax MAY be used for rich text representation.", "type": "string" }, "methodObjectSummary": { "title": "methodObjectSummary", "description": "A short summary of what the method does.", "type": "string" }, "tagObjectName": { "title": "tagObjectName", "type": "string", "minLength": 1 }, "tagObjectDescription": { "title": "tagObjectDescription", "type": "string" }, "tagObject": { "title": "tagObject", "type": "object", "additionalProperties": false, "required": ["name"], "properties": { "name": { "$ref": "#/definitions/tagObjectName" }, "description": { "$ref": "#/definitions/tagObjectDescription" }, "externalDocs": { "$ref": "#/definitions/externalDocumentationObject" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "$ref": { "title": "$ref", "type": "string", "format": "uri-reference" }, "referenceObject": { "title": "referenceObject", "type": "object", "additionalProperties": false, "required": ["$ref"], "properties": { "$ref": { "$ref": "#/definitions/$ref" } } }, "tagOrReference": { "title": "tagOrReference", "oneOf": [{ "$ref": "#/definitions/tagObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectTags": { "title": "methodObjectTags", "type": "array", "items": { "$ref": "#/definitions/tagOrReference" } }, "methodObjectParamStructure": { "title": "methodObjectParamStructure", "type": "string", "description": "Format the server expects the params. Defaults to 'either'.", "enum": ["by-position", "by-name", "either"], "default": "either" }, "contentDescriptorObjectName": { "title": "contentDescriptorObjectName", "type": "string", "minLength": 1 }, "contentDescriptorObjectDescription": { "title": "contentDescriptorObjectDescription", "type": "string" }, "contentDescriptorObjectSummary": { "title": "contentDescriptorObjectSummary", "type": "string" }, "$id": { "title": "$id", "type": "string", "format": "uri-reference" }, "$schema": { "title": "$schema", "type": "string", "format": "uri" }, "$comment": { "title": "$comment", "type": "string" }, "title": { "title": "title", "type": "string" }, "description": { "title": "description", "type": "string" }, "AlwaysTrue": true, "readOnly": { "title": "readOnly", "type": "boolean", "default": false }, "examples": { "title": "examples", "type": "array", "items": true }, "multipleOf": { "title": "multipleOf", "type": "number", "exclusiveMinimum": 0 }, "maximum": { "title": "maximum", "type": "number" }, "exclusiveMaximum": { "title": "exclusiveMaximum", "type": "number" }, "minimum": { "title": "minimum", "type": "number" }, "exclusiveMinimum": { "title": "exclusiveMinimum", "type": "number" }, "nonNegativeInteger": { "title": "nonNegativeInteger", "type": "integer", "minimum": 0 }, "nonNegativeIntegerDefaultZero": { "title": "nonNegativeIntegerDefaultZero", "type": "integer", "minimum": 0, "default": 0 }, "pattern": { "title": "pattern", "type": "string", "format": "regex" }, "schemaArray": { "title": "schemaArray", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/JSONSchema" } }, "items": { "title": "items", "anyOf": [{ "$ref": "#/definitions/JSONSchema" }, { "$ref": "#/definitions/schemaArray" }], "default": true }, "uniqueItems": { "title": "uniqueItems", "type": "boolean", "default": false }, "string_doaGddGA": { "type": "string", "title": "string_doaGddGA" }, "stringArray": { "title": "stringArray", "type": "array", "items": { "$ref": "#/definitions/string_doaGddGA" }, "uniqueItems": true, "default": [] }, "definitions": { "title": "definitions", "type": "object", "additionalProperties": { "$ref": "#/definitions/JSONSchema" }, "default": {} }, "properties": { "title": "properties", "type": "object", "additionalProperties": { "$ref": "#/definitions/JSONSchema" }, "default": {} }, "patternProperties": { "title": "patternProperties", "type": "object", "additionalProperties": { "$ref": "#/definitions/JSONSchema" }, "propertyNames": { "title": "propertyNames", "format": "regex" }, "default": {} }, "dependenciesSet": { "title": "dependenciesSet", "anyOf": [{ "$ref": "#/definitions/JSONSchema" }, { "$ref": "#/definitions/stringArray" }] }, "dependencies": { "title": "dependencies", "type": "object", "additionalProperties": { "$ref": "#/definitions/dependenciesSet" } }, "enum": { "title": "enum", "type": "array", "items": true, "minItems": 1, "uniqueItems": true }, "simpleTypes": { "title": "simpleTypes", "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] }, "arrayOfSimpleTypes": { "title": "arrayOfSimpleTypes", "type": "array", "items": { "$ref": "#/definitions/simpleTypes" }, "minItems": 1, "uniqueItems": true }, "type": { "title": "type", "anyOf": [{ "$ref": "#/definitions/simpleTypes" }, { "$ref": "#/definitions/arrayOfSimpleTypes" }] }, "format": { "title": "format", "type": "string" }, "contentMediaType": { "title": "contentMediaType", "type": "string" }, "contentEncoding": { "title": "contentEncoding", "type": "string" }, "JSONSchemaObject": { "title": "JSONSchemaObject", "type": "object", "properties": { "$id": { "$ref": "#/definitions/$id" }, "$schema": { "$ref": "#/definitions/$schema" }, "$ref": { "$ref": "#/definitions/$ref" }, "$comment": { "$ref": "#/definitions/$comment" }, "title": { "$ref": "#/definitions/title" }, "description": { "$ref": "#/definitions/description" }, "default": true, "readOnly": { "$ref": "#/definitions/readOnly" }, "examples": { "$ref": "#/definitions/examples" }, "multipleOf": { "$ref": "#/definitions/multipleOf" }, "maximum": { "$ref": "#/definitions/maximum" }, "exclusiveMaximum": { "$ref": "#/definitions/exclusiveMaximum" }, "minimum": { "$ref": "#/definitions/minimum" }, "exclusiveMinimum": { "$ref": "#/definitions/exclusiveMinimum" }, "maxLength": { "$ref": "#/definitions/nonNegativeInteger" }, "minLength": { "$ref": "#/definitions/nonNegativeIntegerDefaultZero" }, "pattern": { "$ref": "#/definitions/pattern" }, "additionalItems": { "$ref": "#/definitions/JSONSchema" }, "items": { "$ref": "#/definitions/items" }, "maxItems": { "$ref": "#/definitions/nonNegativeInteger" }, "minItems": { "$ref": "#/definitions/nonNegativeIntegerDefaultZero" }, "uniqueItems": { "$ref": "#/definitions/uniqueItems" }, "contains": { "$ref": "#/definitions/JSONSchema" }, "maxProperties": { "$ref": "#/definitions/nonNegativeInteger" }, "minProperties": { "$ref": "#/definitions/nonNegativeIntegerDefaultZero" }, "required": { "$ref": "#/definitions/stringArray" }, "additionalProperties": { "$ref": "#/definitions/JSONSchema" }, "definitions": { "$ref": "#/definitions/definitions" }, "properties": { "$ref": "#/definitions/properties" }, "patternProperties": { "$ref": "#/definitions/patternProperties" }, "dependencies": { "$ref": "#/definitions/dependencies" }, "propertyNames": { "$ref": "#/definitions/JSONSchema" }, "const": true, "enum": { "$ref": "#/definitions/enum" }, "type": { "$ref": "#/definitions/type" }, "format": { "$ref": "#/definitions/format" }, "contentMediaType": { "$ref": "#/definitions/contentMediaType" }, "contentEncoding": { "$ref": "#/definitions/contentEncoding" }, "if": { "$ref": "#/definitions/JSONSchema" }, "then": { "$ref": "#/definitions/JSONSchema" }, "else": { "$ref": "#/definitions/JSONSchema" }, "allOf": { "$ref": "#/definitions/schemaArray" }, "anyOf": { "$ref": "#/definitions/schemaArray" }, "oneOf": { "$ref": "#/definitions/schemaArray" }, "not": { "$ref": "#/definitions/JSONSchema" } } }, "JSONSchemaBoolean": { "title": "JSONSchemaBoolean", "description": "Always valid if true. Never valid if false. Is constant.", "type": "boolean" }, "JSONSchema": { "$schema": "https://meta.json-schema.tools/", "$id": "https://meta.json-schema.tools/", "title": "JSONSchema", "default": {}, "oneOf": [{ "$ref": "#/definitions/JSONSchemaObject" }, { "$ref": "#/definitions/JSONSchemaBoolean" }] }, "contentDescriptorObjectRequired": { "title": "contentDescriptorObjectRequired", "type": "boolean", "default": false }, "contentDescriptorObjectDeprecated": { "title": "contentDescriptorObjectDeprecated", "type": "boolean", "default": false }, "contentDescriptorObject": { "title": "contentDescriptorObject", "type": "object", "additionalProperties": false, "required": ["name", "schema"], "properties": { "name": { "$ref": "#/definitions/contentDescriptorObjectName" }, "description": { "$ref": "#/definitions/contentDescriptorObjectDescription" }, "summary": { "$ref": "#/definitions/contentDescriptorObjectSummary" }, "schema": { "$ref": "#/definitions/JSONSchema" }, "required": { "$ref": "#/definitions/contentDescriptorObjectRequired" }, "deprecated": { "$ref": "#/definitions/contentDescriptorObjectDeprecated" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "contentDescriptorOrReference": { "title": "contentDescriptorOrReference", "oneOf": [{ "$ref": "#/definitions/contentDescriptorObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectParams": { "title": "methodObjectParams", "type": "array", "items": { "$ref": "#/definitions/contentDescriptorOrReference" } }, "methodObjectResult": { "title": "methodObjectResult", "oneOf": [{ "$ref": "#/definitions/contentDescriptorObject" }, { "$ref": "#/definitions/referenceObject" }] }, "errorObjectCode": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "errorObjectMessage": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "errorObjectData": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." }, "errorObject": { "title": "errorObject", "type": "object", "description": "Defines an application level error.", "additionalProperties": false, "required": ["code", "message"], "properties": { "code": { "$ref": "#/definitions/errorObjectCode" }, "message": { "$ref": "#/definitions/errorObjectMessage" }, "data": { "$ref": "#/definitions/errorObjectData" } } }, "errorOrReference": { "title": "errorOrReference", "oneOf": [{ "$ref": "#/definitions/errorObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectErrors": { "title": "methodObjectErrors", "description": "Defines an application level error.", "type": "array", "items": { "$ref": "#/definitions/errorOrReference" } }, "linkObjectName": { "title": "linkObjectName", "type": "string", "minLength": 1 }, "linkObjectSummary": { "title": "linkObjectSummary", "type": "string" }, "linkObjectMethod": { "title": "linkObjectMethod", "type": "string" }, "linkObjectDescription": { "title": "linkObjectDescription", "type": "string" }, "linkObjectParams": { "title": "linkObjectParams" }, "linkObjectServer": { "title": "linkObjectServer", "type": "object", "required": ["url"], "additionalProperties": false, "properties": { "url": { "$ref": "#/definitions/serverObjectUrl" }, "name": { "$ref": "#/definitions/serverObjectName" }, "description": { "$ref": "#/definitions/serverObjectDescription" }, "summary": { "$ref": "#/definitions/serverObjectSummary" }, "variables": { "$ref": "#/definitions/serverObjectVariables" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "linkObject": { "title": "linkObject", "type": "object", "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/linkObjectName" }, "summary": { "$ref": "#/definitions/linkObjectSummary" }, "method": { "$ref": "#/definitions/linkObjectMethod" }, "description": { "$ref": "#/definitions/linkObjectDescription" }, "params": { "$ref": "#/definitions/linkObjectParams" }, "server": { "$ref": "#/definitions/linkObjectServer" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "linkOrReference": { "title": "linkOrReference", "oneOf": [{ "$ref": "#/definitions/linkObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectLinks": { "title": "methodObjectLinks", "type": "array", "items": { "$ref": "#/definitions/linkOrReference" } }, "examplePairingObjectName": { "title": "examplePairingObjectName", "type": "string", "minLength": 1 }, "examplePairingObjectDescription": { "title": "examplePairingObjectDescription", "type": "string" }, "exampleObjectSummary": { "title": "exampleObjectSummary", "type": "string" }, "exampleObjectValue": { "title": "exampleObjectValue" }, "exampleObjectDescription": { "title": "exampleObjectDescription", "type": "string" }, "exampleObjectName": { "title": "exampleObjectName", "type": "string", "minLength": 1 }, "exampleObject": { "title": "exampleObject", "type": "object", "required": ["name", "value"], "properties": { "summary": { "$ref": "#/definitions/exampleObjectSummary" }, "value": { "$ref": "#/definitions/exampleObjectValue" }, "description": { "$ref": "#/definitions/exampleObjectDescription" }, "name": { "$ref": "#/definitions/exampleObjectName" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "exampleOrReference": { "title": "exampleOrReference", "oneOf": [{ "$ref": "#/definitions/exampleObject" }, { "$ref": "#/definitions/referenceObject" }] }, "examplePairingObjectParams": { "title": "examplePairingObjectParams", "type": "array", "items": { "$ref": "#/definitions/exampleOrReference" } }, "examplePairingObjectResult": { "title": "examplePairingObjectResult", "oneOf": [{ "$ref": "#/definitions/exampleObject" }, { "$ref": "#/definitions/referenceObject" }] }, "examplePairingObject": { "title": "examplePairingObject", "type": "object", "required": ["name", "params", "result"], "properties": { "name": { "$ref": "#/definitions/examplePairingObjectName" }, "description": { "$ref": "#/definitions/examplePairingObjectDescription" }, "params": { "$ref": "#/definitions/examplePairingObjectParams" }, "result": { "$ref": "#/definitions/examplePairingObjectResult" } } }, "examplePairingOrReference": { "title": "examplePairingOrReference", "oneOf": [{ "$ref": "#/definitions/examplePairingObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectExamples": { "title": "methodObjectExamples", "type": "array", "items": { "$ref": "#/definitions/examplePairingOrReference" } }, "methodObjectDeprecated": { "title": "methodObjectDeprecated", "type": "boolean", "default": false }, "methodObject": { "title": "methodObject", "type": "object", "required": ["name", "result", "params"], "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/methodObjectName" }, "description": { "$ref": "#/definitions/methodObjectDescription" }, "summary": { "$ref": "#/definitions/methodObjectSummary" }, "servers": { "$ref": "#/definitions/servers" }, "tags": { "$ref": "#/definitions/methodObjectTags" }, "paramStructure": { "$ref": "#/definitions/methodObjectParamStructure" }, "params": { "$ref": "#/definitions/methodObjectParams" }, "result": { "$ref": "#/definitions/methodObjectResult" }, "errors": { "$ref": "#/definitions/methodObjectErrors" }, "links": { "$ref": "#/definitions/methodObjectLinks" }, "examples": { "$ref": "#/definitions/methodObjectExamples" }, "deprecated": { "$ref": "#/definitions/methodObjectDeprecated" }, "externalDocs": { "$ref": "#/definitions/externalDocumentationObject" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "methods": { "title": "methods", "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/methodObject" } }, "schemaComponents": { "title": "schemaComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/JSONSchema" } } }, "linkComponents": { "title": "linkComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/linkObject" } } }, "errorComponents": { "title": "errorComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/errorObject" } } }, "exampleComponents": { "title": "exampleComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/exampleObject" } } }, "examplePairingComponents": { "title": "examplePairingComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/examplePairingObject" } } }, "contentDescriptorComponents": { "title": "contentDescriptorComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/contentDescriptorObject" } } }, "tagComponents": { "title": "tagComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/tagObject" } } }, "components": { "title": "components", "type": "object", "properties": { "schemas": { "$ref": "#/definitions/schemaComponents" }, "links": { "$ref": "#/definitions/linkComponents" }, "errors": { "$ref": "#/definitions/errorComponents" }, "examples": { "$ref": "#/definitions/exampleComponents" }, "examplePairings": { "$ref": "#/definitions/examplePairingComponents" }, "contentDescriptors": { "$ref": "#/definitions/contentDescriptorComponents" }, "tags": { "$ref": "#/definitions/tagComponents" } } } } }; +exports.openrpcDocument = { "$schema": "https://meta.json-schema.tools/", "$id": "https://meta.open-rpc.org/", "title": "openrpcDocument", "type": "object", "required": ["info", "methods", "openrpc"], "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } }, "properties": { "openrpc": { "$ref": "#/definitions/openrpc" }, "info": { "$ref": "#/definitions/infoObject" }, "externalDocs": { "$ref": "#/definitions/externalDocumentationObject" }, "servers": { "$ref": "#/definitions/servers" }, "methods": { "$ref": "#/definitions/methods" }, "components": { "$ref": "#/definitions/components" } }, "definitions": { "openrpc": { "title": "openrpc", "type": "string", "enum": ["1.2.6", "1.2.5", "1.2.4", "1.2.3", "1.2.2", "1.2.1", "1.2.0", "1.1.12", "1.1.11", "1.1.10", "1.1.9", "1.1.8", "1.1.7", "1.1.6", "1.1.5", "1.1.4", "1.1.3", "1.1.2", "1.1.1", "1.1.0", "1.0.0", "1.0.0-rc1", "1.0.0-rc0"] }, "infoObjectProperties": { "title": "infoObjectProperties", "type": "string" }, "infoObjectDescription": { "title": "infoObjectDescription", "type": "string" }, "infoObjectTermsOfService": { "title": "infoObjectTermsOfService", "type": "string", "format": "uri" }, "infoObjectVersion": { "title": "infoObjectVersion", "type": "string" }, "contactObjectName": { "title": "contactObjectName", "type": "string" }, "contactObjectEmail": { "title": "contactObjectEmail", "type": "string" }, "contactObjectUrl": { "title": "contactObjectUrl", "type": "string" }, "specificationExtension": { "title": "specificationExtension" }, "contactObject": { "title": "contactObject", "type": "object", "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/contactObjectName" }, "email": { "$ref": "#/definitions/contactObjectEmail" }, "url": { "$ref": "#/definitions/contactObjectUrl" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "licenseObjectName": { "title": "licenseObjectName", "type": "string" }, "licenseObjectUrl": { "title": "licenseObjectUrl", "type": "string" }, "licenseObject": { "title": "licenseObject", "type": "object", "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/licenseObjectName" }, "url": { "$ref": "#/definitions/licenseObjectUrl" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "infoObject": { "title": "infoObject", "type": "object", "additionalProperties": false, "required": ["title", "version"], "properties": { "title": { "$ref": "#/definitions/infoObjectProperties" }, "description": { "$ref": "#/definitions/infoObjectDescription" }, "termsOfService": { "$ref": "#/definitions/infoObjectTermsOfService" }, "version": { "$ref": "#/definitions/infoObjectVersion" }, "contact": { "$ref": "#/definitions/contactObject" }, "license": { "$ref": "#/definitions/licenseObject" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "externalDocumentationObjectDescription": { "title": "externalDocumentationObjectDescription", "type": "string" }, "externalDocumentationObjectUrl": { "title": "externalDocumentationObjectUrl", "type": "string", "format": "uri" }, "externalDocumentationObject": { "title": "externalDocumentationObject", "type": "object", "additionalProperties": false, "description": "information about external documentation", "required": ["url"], "properties": { "description": { "$ref": "#/definitions/externalDocumentationObjectDescription" }, "url": { "$ref": "#/definitions/externalDocumentationObjectUrl" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "serverObjectUrl": { "title": "serverObjectUrl", "type": "string", "format": "uri" }, "serverObjectName": { "title": "serverObjectName", "type": "string" }, "serverObjectDescription": { "title": "serverObjectDescription", "type": "string" }, "serverObjectSummary": { "title": "serverObjectSummary", "type": "string" }, "serverObjectVariableDefault": { "title": "serverObjectVariableDefault", "type": "string" }, "serverObjectVariableDescription": { "title": "serverObjectVariableDescription", "type": "string" }, "serverObjectVariableEnumItem": { "title": "serverObjectVariableEnumItem", "type": "string" }, "serverObjectVariableEnum": { "title": "serverObjectVariableEnum", "type": "array", "items": { "$ref": "#/definitions/serverObjectVariableEnumItem" } }, "serverObjectVariable": { "title": "serverObjectVariable", "type": "object", "required": ["default"], "properties": { "default": { "$ref": "#/definitions/serverObjectVariableDefault" }, "description": { "$ref": "#/definitions/serverObjectVariableDescription" }, "enum": { "$ref": "#/definitions/serverObjectVariableEnum" } } }, "serverObjectVariables": { "title": "serverObjectVariables", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/serverObjectVariable" } } }, "serverObject": { "title": "serverObject", "type": "object", "required": ["url"], "additionalProperties": false, "properties": { "url": { "$ref": "#/definitions/serverObjectUrl" }, "name": { "$ref": "#/definitions/serverObjectName" }, "description": { "$ref": "#/definitions/serverObjectDescription" }, "summary": { "$ref": "#/definitions/serverObjectSummary" }, "variables": { "$ref": "#/definitions/serverObjectVariables" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "servers": { "title": "servers", "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/serverObject" } }, "methodObjectName": { "title": "methodObjectName", "description": "The cannonical name for the method. The name MUST be unique within the methods array.", "type": "string", "minLength": 1 }, "methodObjectDescription": { "title": "methodObjectDescription", "description": "A verbose explanation of the method behavior. GitHub Flavored Markdown syntax MAY be used for rich text representation.", "type": "string" }, "methodObjectSummary": { "title": "methodObjectSummary", "description": "A short summary of what the method does.", "type": "string" }, "tagObjectName": { "title": "tagObjectName", "type": "string", "minLength": 1 }, "tagObjectDescription": { "title": "tagObjectDescription", "type": "string" }, "tagObject": { "title": "tagObject", "type": "object", "additionalProperties": false, "required": ["name"], "properties": { "name": { "$ref": "#/definitions/tagObjectName" }, "description": { "$ref": "#/definitions/tagObjectDescription" }, "externalDocs": { "$ref": "#/definitions/externalDocumentationObject" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "$ref": { "title": "$ref", "type": "string", "format": "uri-reference" }, "referenceObject": { "title": "referenceObject", "type": "object", "additionalProperties": false, "required": ["$ref"], "properties": { "$ref": { "$ref": "#/definitions/$ref" } } }, "tagOrReference": { "title": "tagOrReference", "oneOf": [{ "$ref": "#/definitions/tagObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectTags": { "title": "methodObjectTags", "type": "array", "items": { "$ref": "#/definitions/tagOrReference" } }, "methodObjectParamStructure": { "title": "methodObjectParamStructure", "type": "string", "description": "Format the server expects the params. Defaults to 'either'.", "enum": ["by-position", "by-name", "either"], "default": "either" }, "contentDescriptorObjectName": { "title": "contentDescriptorObjectName", "type": "string", "minLength": 1 }, "contentDescriptorObjectDescription": { "title": "contentDescriptorObjectDescription", "type": "string" }, "contentDescriptorObjectSummary": { "title": "contentDescriptorObjectSummary", "type": "string" }, "$id": { "title": "$id", "type": "string", "format": "uri-reference" }, "$schema": { "title": "$schema", "type": "string", "format": "uri" }, "$comment": { "title": "$comment", "type": "string" }, "title": { "title": "title", "type": "string" }, "description": { "title": "description", "type": "string" }, "AlwaysTrue": true, "readOnly": { "title": "readOnly", "type": "boolean", "default": false }, "examples": { "title": "examples", "type": "array", "items": true }, "multipleOf": { "title": "multipleOf", "type": "number", "exclusiveMinimum": 0 }, "maximum": { "title": "maximum", "type": "number" }, "exclusiveMaximum": { "title": "exclusiveMaximum", "type": "number" }, "minimum": { "title": "minimum", "type": "number" }, "exclusiveMinimum": { "title": "exclusiveMinimum", "type": "number" }, "nonNegativeInteger": { "title": "nonNegativeInteger", "type": "integer", "minimum": 0 }, "nonNegativeIntegerDefaultZero": { "title": "nonNegativeIntegerDefaultZero", "type": "integer", "minimum": 0, "default": 0 }, "pattern": { "title": "pattern", "type": "string", "format": "regex" }, "schemaArray": { "title": "schemaArray", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/JSONSchema" } }, "items": { "title": "items", "anyOf": [{ "$ref": "#/definitions/JSONSchema" }, { "$ref": "#/definitions/schemaArray" }], "default": true }, "uniqueItems": { "title": "uniqueItems", "type": "boolean", "default": false }, "string_doaGddGA": { "type": "string", "title": "string_doaGddGA" }, "stringArray": { "title": "stringArray", "type": "array", "items": { "$ref": "#/definitions/string_doaGddGA" }, "uniqueItems": true, "default": [] }, "definitions": { "title": "definitions", "type": "object", "additionalProperties": { "$ref": "#/definitions/JSONSchema" }, "default": {} }, "properties": { "title": "properties", "type": "object", "additionalProperties": { "$ref": "#/definitions/JSONSchema" }, "default": {} }, "patternProperties": { "title": "patternProperties", "type": "object", "additionalProperties": { "$ref": "#/definitions/JSONSchema" }, "propertyNames": { "title": "propertyNames", "format": "regex" }, "default": {} }, "dependenciesSet": { "title": "dependenciesSet", "anyOf": [{ "$ref": "#/definitions/JSONSchema" }, { "$ref": "#/definitions/stringArray" }] }, "dependencies": { "title": "dependencies", "type": "object", "additionalProperties": { "$ref": "#/definitions/dependenciesSet" } }, "enum": { "title": "enum", "type": "array", "items": true, "minItems": 1, "uniqueItems": true }, "simpleTypes": { "title": "simpleTypes", "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] }, "arrayOfSimpleTypes": { "title": "arrayOfSimpleTypes", "type": "array", "items": { "$ref": "#/definitions/simpleTypes" }, "minItems": 1, "uniqueItems": true }, "type": { "title": "type", "anyOf": [{ "$ref": "#/definitions/simpleTypes" }, { "$ref": "#/definitions/arrayOfSimpleTypes" }] }, "format": { "title": "format", "type": "string" }, "contentMediaType": { "title": "contentMediaType", "type": "string" }, "contentEncoding": { "title": "contentEncoding", "type": "string" }, "JSONSchemaObject": { "title": "JSONSchemaObject", "type": "object", "properties": { "$id": { "$ref": "#/definitions/$id" }, "$schema": { "$ref": "#/definitions/$schema" }, "$ref": { "$ref": "#/definitions/$ref" }, "$comment": { "$ref": "#/definitions/$comment" }, "title": { "$ref": "#/definitions/title" }, "description": { "$ref": "#/definitions/description" }, "default": true, "readOnly": { "$ref": "#/definitions/readOnly" }, "examples": { "$ref": "#/definitions/examples" }, "multipleOf": { "$ref": "#/definitions/multipleOf" }, "maximum": { "$ref": "#/definitions/maximum" }, "exclusiveMaximum": { "$ref": "#/definitions/exclusiveMaximum" }, "minimum": { "$ref": "#/definitions/minimum" }, "exclusiveMinimum": { "$ref": "#/definitions/exclusiveMinimum" }, "maxLength": { "$ref": "#/definitions/nonNegativeInteger" }, "minLength": { "$ref": "#/definitions/nonNegativeIntegerDefaultZero" }, "pattern": { "$ref": "#/definitions/pattern" }, "additionalItems": { "$ref": "#/definitions/JSONSchema" }, "items": { "$ref": "#/definitions/items" }, "maxItems": { "$ref": "#/definitions/nonNegativeInteger" }, "minItems": { "$ref": "#/definitions/nonNegativeIntegerDefaultZero" }, "uniqueItems": { "$ref": "#/definitions/uniqueItems" }, "contains": { "$ref": "#/definitions/JSONSchema" }, "maxProperties": { "$ref": "#/definitions/nonNegativeInteger" }, "minProperties": { "$ref": "#/definitions/nonNegativeIntegerDefaultZero" }, "required": { "$ref": "#/definitions/stringArray" }, "additionalProperties": { "$ref": "#/definitions/JSONSchema" }, "definitions": { "$ref": "#/definitions/definitions" }, "properties": { "$ref": "#/definitions/properties" }, "patternProperties": { "$ref": "#/definitions/patternProperties" }, "dependencies": { "$ref": "#/definitions/dependencies" }, "propertyNames": { "$ref": "#/definitions/JSONSchema" }, "const": true, "enum": { "$ref": "#/definitions/enum" }, "type": { "$ref": "#/definitions/type" }, "format": { "$ref": "#/definitions/format" }, "contentMediaType": { "$ref": "#/definitions/contentMediaType" }, "contentEncoding": { "$ref": "#/definitions/contentEncoding" }, "if": { "$ref": "#/definitions/JSONSchema" }, "then": { "$ref": "#/definitions/JSONSchema" }, "else": { "$ref": "#/definitions/JSONSchema" }, "allOf": { "$ref": "#/definitions/schemaArray" }, "anyOf": { "$ref": "#/definitions/schemaArray" }, "oneOf": { "$ref": "#/definitions/schemaArray" }, "not": { "$ref": "#/definitions/JSONSchema" } } }, "JSONSchemaBoolean": { "title": "JSONSchemaBoolean", "description": "Always valid if true. Never valid if false. Is constant.", "type": "boolean" }, "JSONSchema": { "$schema": "https://meta.json-schema.tools/", "$id": "https://meta.json-schema.tools/", "title": "JSONSchema", "default": {}, "oneOf": [{ "$ref": "#/definitions/JSONSchemaObject" }, { "$ref": "#/definitions/JSONSchemaBoolean" }] }, "contentDescriptorObjectRequired": { "title": "contentDescriptorObjectRequired", "type": "boolean", "default": false }, "contentDescriptorObjectDeprecated": { "title": "contentDescriptorObjectDeprecated", "type": "boolean", "default": false }, "contentDescriptorObject": { "title": "contentDescriptorObject", "type": "object", "additionalProperties": false, "required": ["name", "schema"], "properties": { "name": { "$ref": "#/definitions/contentDescriptorObjectName" }, "description": { "$ref": "#/definitions/contentDescriptorObjectDescription" }, "summary": { "$ref": "#/definitions/contentDescriptorObjectSummary" }, "schema": { "$ref": "#/definitions/JSONSchema" }, "required": { "$ref": "#/definitions/contentDescriptorObjectRequired" }, "deprecated": { "$ref": "#/definitions/contentDescriptorObjectDeprecated" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "contentDescriptorOrReference": { "title": "contentDescriptorOrReference", "oneOf": [{ "$ref": "#/definitions/contentDescriptorObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectParams": { "title": "methodObjectParams", "type": "array", "items": { "$ref": "#/definitions/contentDescriptorOrReference" } }, "methodObjectResult": { "title": "methodObjectResult", "oneOf": [{ "$ref": "#/definitions/contentDescriptorObject" }, { "$ref": "#/definitions/referenceObject" }] }, "errorObjectCode": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "errorObjectMessage": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "errorObjectData": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." }, "errorObject": { "title": "errorObject", "type": "object", "description": "Defines an application level error.", "additionalProperties": false, "required": ["code", "message"], "properties": { "code": { "$ref": "#/definitions/errorObjectCode" }, "message": { "$ref": "#/definitions/errorObjectMessage" }, "data": { "$ref": "#/definitions/errorObjectData" } } }, "errorOrReference": { "title": "errorOrReference", "oneOf": [{ "$ref": "#/definitions/errorObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectErrors": { "title": "methodObjectErrors", "description": "Defines an application level error.", "type": "array", "items": { "$ref": "#/definitions/errorOrReference" } }, "linkObjectName": { "title": "linkObjectName", "type": "string", "minLength": 1 }, "linkObjectSummary": { "title": "linkObjectSummary", "type": "string" }, "linkObjectMethod": { "title": "linkObjectMethod", "type": "string" }, "linkObjectDescription": { "title": "linkObjectDescription", "type": "string" }, "linkObjectParams": { "title": "linkObjectParams" }, "linkObjectServer": { "title": "linkObjectServer", "type": "object", "required": ["url"], "additionalProperties": false, "properties": { "url": { "$ref": "#/definitions/serverObjectUrl" }, "name": { "$ref": "#/definitions/serverObjectName" }, "description": { "$ref": "#/definitions/serverObjectDescription" }, "summary": { "$ref": "#/definitions/serverObjectSummary" }, "variables": { "$ref": "#/definitions/serverObjectVariables" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "linkObject": { "title": "linkObject", "type": "object", "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/linkObjectName" }, "summary": { "$ref": "#/definitions/linkObjectSummary" }, "method": { "$ref": "#/definitions/linkObjectMethod" }, "description": { "$ref": "#/definitions/linkObjectDescription" }, "params": { "$ref": "#/definitions/linkObjectParams" }, "server": { "$ref": "#/definitions/linkObjectServer" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "linkOrReference": { "title": "linkOrReference", "oneOf": [{ "$ref": "#/definitions/linkObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectLinks": { "title": "methodObjectLinks", "type": "array", "items": { "$ref": "#/definitions/linkOrReference" } }, "examplePairingObjectName": { "title": "examplePairingObjectName", "type": "string", "minLength": 1 }, "examplePairingObjectDescription": { "title": "examplePairingObjectDescription", "type": "string" }, "exampleObjectSummary": { "title": "exampleObjectSummary", "type": "string" }, "exampleObjectValue": { "title": "exampleObjectValue" }, "exampleObjectDescription": { "title": "exampleObjectDescription", "type": "string" }, "exampleObjectName": { "title": "exampleObjectName", "type": "string", "minLength": 1 }, "exampleObject": { "title": "exampleObject", "type": "object", "required": ["name", "value"], "properties": { "summary": { "$ref": "#/definitions/exampleObjectSummary" }, "value": { "$ref": "#/definitions/exampleObjectValue" }, "description": { "$ref": "#/definitions/exampleObjectDescription" }, "name": { "$ref": "#/definitions/exampleObjectName" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "exampleOrReference": { "title": "exampleOrReference", "oneOf": [{ "$ref": "#/definitions/exampleObject" }, { "$ref": "#/definitions/referenceObject" }] }, "examplePairingObjectParams": { "title": "examplePairingObjectParams", "type": "array", "items": { "$ref": "#/definitions/exampleOrReference" } }, "examplePairingObjectResult": { "title": "examplePairingObjectResult", "oneOf": [{ "$ref": "#/definitions/exampleObject" }, { "$ref": "#/definitions/referenceObject" }] }, "examplePairingObject": { "title": "examplePairingObject", "type": "object", "required": ["name", "params", "result"], "properties": { "name": { "$ref": "#/definitions/examplePairingObjectName" }, "description": { "$ref": "#/definitions/examplePairingObjectDescription" }, "params": { "$ref": "#/definitions/examplePairingObjectParams" }, "result": { "$ref": "#/definitions/examplePairingObjectResult" } } }, "examplePairingOrReference": { "title": "examplePairingOrReference", "oneOf": [{ "$ref": "#/definitions/examplePairingObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methodObjectExamples": { "title": "methodObjectExamples", "type": "array", "items": { "$ref": "#/definitions/examplePairingOrReference" } }, "methodObjectDeprecated": { "title": "methodObjectDeprecated", "type": "boolean", "default": false }, "methodObject": { "title": "methodObject", "type": "object", "required": ["name", "result", "params"], "additionalProperties": false, "properties": { "name": { "$ref": "#/definitions/methodObjectName" }, "description": { "$ref": "#/definitions/methodObjectDescription" }, "summary": { "$ref": "#/definitions/methodObjectSummary" }, "servers": { "$ref": "#/definitions/servers" }, "tags": { "$ref": "#/definitions/methodObjectTags" }, "paramStructure": { "$ref": "#/definitions/methodObjectParamStructure" }, "params": { "$ref": "#/definitions/methodObjectParams" }, "result": { "$ref": "#/definitions/methodObjectResult" }, "errors": { "$ref": "#/definitions/methodObjectErrors" }, "links": { "$ref": "#/definitions/methodObjectLinks" }, "examples": { "$ref": "#/definitions/methodObjectExamples" }, "deprecated": { "$ref": "#/definitions/methodObjectDeprecated" }, "externalDocs": { "$ref": "#/definitions/externalDocumentationObject" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/specificationExtension" } } }, "methodReference": { "title": "methodReference", "oneOf": [{ "$ref": "#/definitions/methodObject" }, { "$ref": "#/definitions/referenceObject" }] }, "methods": { "title": "methods", "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/methodReference" } }, "schemaComponents": { "title": "schemaComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/JSONSchema" } } }, "linkComponents": { "title": "linkComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/linkObject" } } }, "errorComponents": { "title": "errorComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/errorObject" } } }, "exampleComponents": { "title": "exampleComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/exampleObject" } } }, "examplePairingComponents": { "title": "examplePairingComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/examplePairingObject" } } }, "contentDescriptorComponents": { "title": "contentDescriptorComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/contentDescriptorObject" } } }, "tagComponents": { "title": "tagComponents", "type": "object", "patternProperties": { "[0-z]+": { "$ref": "#/definitions/tagObject" } } }, "components": { "title": "components", "type": "object", "properties": { "schemas": { "$ref": "#/definitions/schemaComponents" }, "links": { "$ref": "#/definitions/linkComponents" }, "errors": { "$ref": "#/definitions/errorComponents" }, "examples": { "$ref": "#/definitions/exampleComponents" }, "examplePairings": { "$ref": "#/definitions/examplePairingComponents" }, "contentDescriptors": { "$ref": "#/definitions/contentDescriptorComponents" }, "tags": { "$ref": "#/definitions/tagComponents" } } } } }; exports.default = exports.openrpcDocument; diff --git a/index.py b/index.py index 85b254d..b9b34cc 100644 --- a/index.py +++ b/index.py @@ -384,7 +384,9 @@ class MethodObject(TypedDict): deprecated: Optional[MethodObjectDeprecated] externalDocs: Optional[ExternalDocumentationObject] -Methods = NewType("Methods", List[MethodObject]) +MethodReference = NewType("MethodReference", Union[MethodObject, ReferenceObject]) + +Methods = NewType("Methods", List[MethodReference]) SchemaComponents = NewType("SchemaComponents", Mapping[Any, Any]) diff --git a/index.rs b/index.rs index 4ebf63c..4dedb82 100644 --- a/index.rs +++ b/index.rs @@ -436,7 +436,12 @@ pub struct MethodObject { pub(crate) deprecated: Option, pub(crate) externalDocs: Option, } -pub type Methods = Vec; +#[derive(Serialize, Deserialize)] +pub enum MethodReference { + MethodObject, + ReferenceObject +} +pub type Methods = Vec; pub type SchemaComponents = HashMap>; pub type LinkComponents = HashMap>; pub type ErrorComponents = HashMap>; diff --git a/openrpc_document.go b/openrpc_document.go index b364858..c7c55e0 100644 --- a/openrpc_document.go +++ b/openrpc_document.go @@ -665,7 +665,37 @@ type MethodObject struct { Deprecated *MethodObjectDeprecated `json:"deprecated,omitempty"` ExternalDocs *ExternalDocumentationObject `json:"externalDocs,omitempty"` } -type Methods []MethodObject +type MethodReference struct { + MethodObject *MethodObject + ReferenceObject *ReferenceObject +} +// UnmarshalJSON implements the json Unmarshaler interface. +// This implementation DOES NOT assert that ONE AND ONLY ONE +// of the simple properties is satisfied; it lazily uses the first one that is satisfied. +// Ergo, it will not return an error if more than one property is valid. +func (o *MethodReference) UnmarshalJSON(bytes []byte) error { + var myMethodObject MethodObject + if err := json.Unmarshal(bytes, &myMethodObject); err == nil { + o.MethodObject = &myMethodObject + return nil + } + var myReferenceObject ReferenceObject + if err := json.Unmarshal(bytes, &myReferenceObject); err == nil { + o.ReferenceObject = &myReferenceObject + return nil + } + return errors.New("failed to unmarshal one of the object properties") +} +func (o MethodReference) MarshalJSON() ([]byte, error) { + if o.MethodObject != nil { + return json.Marshal(o.MethodObject) + } + if o.ReferenceObject != nil { + return json.Marshal(o.ReferenceObject) + } + return nil, errors.New("failed to marshal any one of the object properties") +} +type Methods []MethodReference type SchemaComponents map[string]interface{} type LinkComponents map[string]interface{} type ErrorComponents map[string]interface{} @@ -691,4 +721,4 @@ type OpenrpcDocument struct { Components *Components `json:"components,omitempty"` } -const RawOpenrpc_document = "{\"$schema\":\"https://meta.json-schema.tools/\",\"$id\":\"https://meta.open-rpc.org/\",\"title\":\"openrpcDocument\",\"type\":\"object\",\"required\":[\"info\",\"methods\",\"openrpc\"],\"additionalProperties\":false,\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}},\"properties\":{\"openrpc\":{\"$ref\":\"#/definitions/openrpc\"},\"info\":{\"$ref\":\"#/definitions/infoObject\"},\"externalDocs\":{\"$ref\":\"#/definitions/externalDocumentationObject\"},\"servers\":{\"$ref\":\"#/definitions/servers\"},\"methods\":{\"$ref\":\"#/definitions/methods\"},\"components\":{\"$ref\":\"#/definitions/components\"}},\"definitions\":{\"openrpc\":{\"title\":\"openrpc\",\"type\":\"string\",\"enum\":[\"1.2.6\",\"1.2.5\",\"1.2.4\",\"1.2.3\",\"1.2.2\",\"1.2.1\",\"1.2.0\",\"1.1.12\",\"1.1.11\",\"1.1.10\",\"1.1.9\",\"1.1.8\",\"1.1.7\",\"1.1.6\",\"1.1.5\",\"1.1.4\",\"1.1.3\",\"1.1.2\",\"1.1.1\",\"1.1.0\",\"1.0.0\",\"1.0.0-rc1\",\"1.0.0-rc0\"]},\"infoObjectProperties\":{\"title\":\"infoObjectProperties\",\"type\":\"string\"},\"infoObjectDescription\":{\"title\":\"infoObjectDescription\",\"type\":\"string\"},\"infoObjectTermsOfService\":{\"title\":\"infoObjectTermsOfService\",\"type\":\"string\",\"format\":\"uri\"},\"infoObjectVersion\":{\"title\":\"infoObjectVersion\",\"type\":\"string\"},\"contactObjectName\":{\"title\":\"contactObjectName\",\"type\":\"string\"},\"contactObjectEmail\":{\"title\":\"contactObjectEmail\",\"type\":\"string\"},\"contactObjectUrl\":{\"title\":\"contactObjectUrl\",\"type\":\"string\"},\"specificationExtension\":{\"title\":\"specificationExtension\"},\"contactObject\":{\"title\":\"contactObject\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"$ref\":\"#/definitions/contactObjectName\"},\"email\":{\"$ref\":\"#/definitions/contactObjectEmail\"},\"url\":{\"$ref\":\"#/definitions/contactObjectUrl\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"licenseObjectName\":{\"title\":\"licenseObjectName\",\"type\":\"string\"},\"licenseObjectUrl\":{\"title\":\"licenseObjectUrl\",\"type\":\"string\"},\"licenseObject\":{\"title\":\"licenseObject\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"$ref\":\"#/definitions/licenseObjectName\"},\"url\":{\"$ref\":\"#/definitions/licenseObjectUrl\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"infoObject\":{\"title\":\"infoObject\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"title\",\"version\"],\"properties\":{\"title\":{\"$ref\":\"#/definitions/infoObjectProperties\"},\"description\":{\"$ref\":\"#/definitions/infoObjectDescription\"},\"termsOfService\":{\"$ref\":\"#/definitions/infoObjectTermsOfService\"},\"version\":{\"$ref\":\"#/definitions/infoObjectVersion\"},\"contact\":{\"$ref\":\"#/definitions/contactObject\"},\"license\":{\"$ref\":\"#/definitions/licenseObject\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"externalDocumentationObjectDescription\":{\"title\":\"externalDocumentationObjectDescription\",\"type\":\"string\"},\"externalDocumentationObjectUrl\":{\"title\":\"externalDocumentationObjectUrl\",\"type\":\"string\",\"format\":\"uri\"},\"externalDocumentationObject\":{\"title\":\"externalDocumentationObject\",\"type\":\"object\",\"additionalProperties\":false,\"description\":\"information about external documentation\",\"required\":[\"url\"],\"properties\":{\"description\":{\"$ref\":\"#/definitions/externalDocumentationObjectDescription\"},\"url\":{\"$ref\":\"#/definitions/externalDocumentationObjectUrl\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"serverObjectUrl\":{\"title\":\"serverObjectUrl\",\"type\":\"string\",\"format\":\"uri\"},\"serverObjectName\":{\"title\":\"serverObjectName\",\"type\":\"string\"},\"serverObjectDescription\":{\"title\":\"serverObjectDescription\",\"type\":\"string\"},\"serverObjectSummary\":{\"title\":\"serverObjectSummary\",\"type\":\"string\"},\"serverObjectVariableDefault\":{\"title\":\"serverObjectVariableDefault\",\"type\":\"string\"},\"serverObjectVariableDescription\":{\"title\":\"serverObjectVariableDescription\",\"type\":\"string\"},\"serverObjectVariableEnumItem\":{\"title\":\"serverObjectVariableEnumItem\",\"type\":\"string\"},\"serverObjectVariableEnum\":{\"title\":\"serverObjectVariableEnum\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/serverObjectVariableEnumItem\"}},\"serverObjectVariable\":{\"title\":\"serverObjectVariable\",\"type\":\"object\",\"required\":[\"default\"],\"properties\":{\"default\":{\"$ref\":\"#/definitions/serverObjectVariableDefault\"},\"description\":{\"$ref\":\"#/definitions/serverObjectVariableDescription\"},\"enum\":{\"$ref\":\"#/definitions/serverObjectVariableEnum\"}}},\"serverObjectVariables\":{\"title\":\"serverObjectVariables\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/serverObjectVariable\"}}},\"serverObject\":{\"title\":\"serverObject\",\"type\":\"object\",\"required\":[\"url\"],\"additionalProperties\":false,\"properties\":{\"url\":{\"$ref\":\"#/definitions/serverObjectUrl\"},\"name\":{\"$ref\":\"#/definitions/serverObjectName\"},\"description\":{\"$ref\":\"#/definitions/serverObjectDescription\"},\"summary\":{\"$ref\":\"#/definitions/serverObjectSummary\"},\"variables\":{\"$ref\":\"#/definitions/serverObjectVariables\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"servers\":{\"title\":\"servers\",\"type\":\"array\",\"additionalItems\":false,\"items\":{\"$ref\":\"#/definitions/serverObject\"}},\"methodObjectName\":{\"title\":\"methodObjectName\",\"description\":\"The cannonical name for the method. The name MUST be unique within the methods array.\",\"type\":\"string\",\"minLength\":1},\"methodObjectDescription\":{\"title\":\"methodObjectDescription\",\"description\":\"A verbose explanation of the method behavior. GitHub Flavored Markdown syntax MAY be used for rich text representation.\",\"type\":\"string\"},\"methodObjectSummary\":{\"title\":\"methodObjectSummary\",\"description\":\"A short summary of what the method does.\",\"type\":\"string\"},\"tagObjectName\":{\"title\":\"tagObjectName\",\"type\":\"string\",\"minLength\":1},\"tagObjectDescription\":{\"title\":\"tagObjectDescription\",\"type\":\"string\"},\"tagObject\":{\"title\":\"tagObject\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"name\"],\"properties\":{\"name\":{\"$ref\":\"#/definitions/tagObjectName\"},\"description\":{\"$ref\":\"#/definitions/tagObjectDescription\"},\"externalDocs\":{\"$ref\":\"#/definitions/externalDocumentationObject\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"$ref\":{\"title\":\"$ref\",\"type\":\"string\",\"format\":\"uri-reference\"},\"referenceObject\":{\"title\":\"referenceObject\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"$ref\"],\"properties\":{\"$ref\":{\"$ref\":\"#/definitions/$ref\"}}},\"tagOrReference\":{\"title\":\"tagOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/tagObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectTags\":{\"title\":\"methodObjectTags\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/tagOrReference\"}},\"methodObjectParamStructure\":{\"title\":\"methodObjectParamStructure\",\"type\":\"string\",\"description\":\"Format the server expects the params. Defaults to 'either'.\",\"enum\":[\"by-position\",\"by-name\",\"either\"],\"default\":\"either\"},\"contentDescriptorObjectName\":{\"title\":\"contentDescriptorObjectName\",\"type\":\"string\",\"minLength\":1},\"contentDescriptorObjectDescription\":{\"title\":\"contentDescriptorObjectDescription\",\"type\":\"string\"},\"contentDescriptorObjectSummary\":{\"title\":\"contentDescriptorObjectSummary\",\"type\":\"string\"},\"$id\":{\"title\":\"$id\",\"type\":\"string\",\"format\":\"uri-reference\"},\"$schema\":{\"title\":\"$schema\",\"type\":\"string\",\"format\":\"uri\"},\"$comment\":{\"title\":\"$comment\",\"type\":\"string\"},\"title\":{\"title\":\"title\",\"type\":\"string\"},\"description\":{\"title\":\"description\",\"type\":\"string\"},\"AlwaysTrue\":true,\"readOnly\":{\"title\":\"readOnly\",\"type\":\"boolean\",\"default\":false},\"examples\":{\"title\":\"examples\",\"type\":\"array\",\"items\":true},\"multipleOf\":{\"title\":\"multipleOf\",\"type\":\"number\",\"exclusiveMinimum\":0},\"maximum\":{\"title\":\"maximum\",\"type\":\"number\"},\"exclusiveMaximum\":{\"title\":\"exclusiveMaximum\",\"type\":\"number\"},\"minimum\":{\"title\":\"minimum\",\"type\":\"number\"},\"exclusiveMinimum\":{\"title\":\"exclusiveMinimum\",\"type\":\"number\"},\"nonNegativeInteger\":{\"title\":\"nonNegativeInteger\",\"type\":\"integer\",\"minimum\":0},\"nonNegativeIntegerDefaultZero\":{\"title\":\"nonNegativeIntegerDefaultZero\",\"type\":\"integer\",\"minimum\":0,\"default\":0},\"pattern\":{\"title\":\"pattern\",\"type\":\"string\",\"format\":\"regex\"},\"schemaArray\":{\"title\":\"schemaArray\",\"type\":\"array\",\"minItems\":1,\"items\":{\"$ref\":\"#/definitions/JSONSchema\"}},\"items\":{\"title\":\"items\",\"anyOf\":[{\"$ref\":\"#/definitions/JSONSchema\"},{\"$ref\":\"#/definitions/schemaArray\"}],\"default\":true},\"uniqueItems\":{\"title\":\"uniqueItems\",\"type\":\"boolean\",\"default\":false},\"string_doaGddGA\":{\"type\":\"string\",\"title\":\"string_doaGddGA\"},\"stringArray\":{\"title\":\"stringArray\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/string_doaGddGA\"},\"uniqueItems\":true,\"default\":[]},\"definitions\":{\"title\":\"definitions\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/JSONSchema\"},\"default\":{}},\"properties\":{\"title\":\"properties\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/JSONSchema\"},\"default\":{}},\"patternProperties\":{\"title\":\"patternProperties\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/JSONSchema\"},\"propertyNames\":{\"title\":\"propertyNames\",\"format\":\"regex\"},\"default\":{}},\"dependenciesSet\":{\"title\":\"dependenciesSet\",\"anyOf\":[{\"$ref\":\"#/definitions/JSONSchema\"},{\"$ref\":\"#/definitions/stringArray\"}]},\"dependencies\":{\"title\":\"dependencies\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/dependenciesSet\"}},\"enum\":{\"title\":\"enum\",\"type\":\"array\",\"items\":true,\"minItems\":1,\"uniqueItems\":true},\"simpleTypes\":{\"title\":\"simpleTypes\",\"enum\":[\"array\",\"boolean\",\"integer\",\"null\",\"number\",\"object\",\"string\"]},\"arrayOfSimpleTypes\":{\"title\":\"arrayOfSimpleTypes\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/simpleTypes\"},\"minItems\":1,\"uniqueItems\":true},\"type\":{\"title\":\"type\",\"anyOf\":[{\"$ref\":\"#/definitions/simpleTypes\"},{\"$ref\":\"#/definitions/arrayOfSimpleTypes\"}]},\"format\":{\"title\":\"format\",\"type\":\"string\"},\"contentMediaType\":{\"title\":\"contentMediaType\",\"type\":\"string\"},\"contentEncoding\":{\"title\":\"contentEncoding\",\"type\":\"string\"},\"JSONSchemaObject\":{\"title\":\"JSONSchemaObject\",\"type\":\"object\",\"properties\":{\"$id\":{\"$ref\":\"#/definitions/$id\"},\"$schema\":{\"$ref\":\"#/definitions/$schema\"},\"$ref\":{\"$ref\":\"#/definitions/$ref\"},\"$comment\":{\"$ref\":\"#/definitions/$comment\"},\"title\":{\"$ref\":\"#/definitions/title\"},\"description\":{\"$ref\":\"#/definitions/description\"},\"default\":true,\"readOnly\":{\"$ref\":\"#/definitions/readOnly\"},\"examples\":{\"$ref\":\"#/definitions/examples\"},\"multipleOf\":{\"$ref\":\"#/definitions/multipleOf\"},\"maximum\":{\"$ref\":\"#/definitions/maximum\"},\"exclusiveMaximum\":{\"$ref\":\"#/definitions/exclusiveMaximum\"},\"minimum\":{\"$ref\":\"#/definitions/minimum\"},\"exclusiveMinimum\":{\"$ref\":\"#/definitions/exclusiveMinimum\"},\"maxLength\":{\"$ref\":\"#/definitions/nonNegativeInteger\"},\"minLength\":{\"$ref\":\"#/definitions/nonNegativeIntegerDefaultZero\"},\"pattern\":{\"$ref\":\"#/definitions/pattern\"},\"additionalItems\":{\"$ref\":\"#/definitions/JSONSchema\"},\"items\":{\"$ref\":\"#/definitions/items\"},\"maxItems\":{\"$ref\":\"#/definitions/nonNegativeInteger\"},\"minItems\":{\"$ref\":\"#/definitions/nonNegativeIntegerDefaultZero\"},\"uniqueItems\":{\"$ref\":\"#/definitions/uniqueItems\"},\"contains\":{\"$ref\":\"#/definitions/JSONSchema\"},\"maxProperties\":{\"$ref\":\"#/definitions/nonNegativeInteger\"},\"minProperties\":{\"$ref\":\"#/definitions/nonNegativeIntegerDefaultZero\"},\"required\":{\"$ref\":\"#/definitions/stringArray\"},\"additionalProperties\":{\"$ref\":\"#/definitions/JSONSchema\"},\"definitions\":{\"$ref\":\"#/definitions/definitions\"},\"properties\":{\"$ref\":\"#/definitions/properties\"},\"patternProperties\":{\"$ref\":\"#/definitions/patternProperties\"},\"dependencies\":{\"$ref\":\"#/definitions/dependencies\"},\"propertyNames\":{\"$ref\":\"#/definitions/JSONSchema\"},\"const\":true,\"enum\":{\"$ref\":\"#/definitions/enum\"},\"type\":{\"$ref\":\"#/definitions/type\"},\"format\":{\"$ref\":\"#/definitions/format\"},\"contentMediaType\":{\"$ref\":\"#/definitions/contentMediaType\"},\"contentEncoding\":{\"$ref\":\"#/definitions/contentEncoding\"},\"if\":{\"$ref\":\"#/definitions/JSONSchema\"},\"then\":{\"$ref\":\"#/definitions/JSONSchema\"},\"else\":{\"$ref\":\"#/definitions/JSONSchema\"},\"allOf\":{\"$ref\":\"#/definitions/schemaArray\"},\"anyOf\":{\"$ref\":\"#/definitions/schemaArray\"},\"oneOf\":{\"$ref\":\"#/definitions/schemaArray\"},\"not\":{\"$ref\":\"#/definitions/JSONSchema\"}}},\"JSONSchemaBoolean\":{\"title\":\"JSONSchemaBoolean\",\"description\":\"Always valid if true. Never valid if false. Is constant.\",\"type\":\"boolean\"},\"JSONSchema\":{\"$schema\":\"https://meta.json-schema.tools/\",\"$id\":\"https://meta.json-schema.tools/\",\"title\":\"JSONSchema\",\"default\":{},\"oneOf\":[{\"$ref\":\"#/definitions/JSONSchemaObject\"},{\"$ref\":\"#/definitions/JSONSchemaBoolean\"}]},\"contentDescriptorObjectRequired\":{\"title\":\"contentDescriptorObjectRequired\",\"type\":\"boolean\",\"default\":false},\"contentDescriptorObjectDeprecated\":{\"title\":\"contentDescriptorObjectDeprecated\",\"type\":\"boolean\",\"default\":false},\"contentDescriptorObject\":{\"title\":\"contentDescriptorObject\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"name\",\"schema\"],\"properties\":{\"name\":{\"$ref\":\"#/definitions/contentDescriptorObjectName\"},\"description\":{\"$ref\":\"#/definitions/contentDescriptorObjectDescription\"},\"summary\":{\"$ref\":\"#/definitions/contentDescriptorObjectSummary\"},\"schema\":{\"$ref\":\"#/definitions/JSONSchema\"},\"required\":{\"$ref\":\"#/definitions/contentDescriptorObjectRequired\"},\"deprecated\":{\"$ref\":\"#/definitions/contentDescriptorObjectDeprecated\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"contentDescriptorOrReference\":{\"title\":\"contentDescriptorOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/contentDescriptorObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectParams\":{\"title\":\"methodObjectParams\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/contentDescriptorOrReference\"}},\"methodObjectResult\":{\"title\":\"methodObjectResult\",\"oneOf\":[{\"$ref\":\"#/definitions/contentDescriptorObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"errorObjectCode\":{\"title\":\"errorObjectCode\",\"description\":\"A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.\",\"type\":\"integer\"},\"errorObjectMessage\":{\"title\":\"errorObjectMessage\",\"description\":\"A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.\",\"type\":\"string\"},\"errorObjectData\":{\"title\":\"errorObjectData\",\"description\":\"A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.).\"},\"errorObject\":{\"title\":\"errorObject\",\"type\":\"object\",\"description\":\"Defines an application level error.\",\"additionalProperties\":false,\"required\":[\"code\",\"message\"],\"properties\":{\"code\":{\"$ref\":\"#/definitions/errorObjectCode\"},\"message\":{\"$ref\":\"#/definitions/errorObjectMessage\"},\"data\":{\"$ref\":\"#/definitions/errorObjectData\"}}},\"errorOrReference\":{\"title\":\"errorOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/errorObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectErrors\":{\"title\":\"methodObjectErrors\",\"description\":\"Defines an application level error.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/errorOrReference\"}},\"linkObjectName\":{\"title\":\"linkObjectName\",\"type\":\"string\",\"minLength\":1},\"linkObjectSummary\":{\"title\":\"linkObjectSummary\",\"type\":\"string\"},\"linkObjectMethod\":{\"title\":\"linkObjectMethod\",\"type\":\"string\"},\"linkObjectDescription\":{\"title\":\"linkObjectDescription\",\"type\":\"string\"},\"linkObjectParams\":{\"title\":\"linkObjectParams\"},\"linkObjectServer\":{\"title\":\"linkObjectServer\",\"type\":\"object\",\"required\":[\"url\"],\"additionalProperties\":false,\"properties\":{\"url\":{\"$ref\":\"#/definitions/serverObjectUrl\"},\"name\":{\"$ref\":\"#/definitions/serverObjectName\"},\"description\":{\"$ref\":\"#/definitions/serverObjectDescription\"},\"summary\":{\"$ref\":\"#/definitions/serverObjectSummary\"},\"variables\":{\"$ref\":\"#/definitions/serverObjectVariables\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"linkObject\":{\"title\":\"linkObject\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"$ref\":\"#/definitions/linkObjectName\"},\"summary\":{\"$ref\":\"#/definitions/linkObjectSummary\"},\"method\":{\"$ref\":\"#/definitions/linkObjectMethod\"},\"description\":{\"$ref\":\"#/definitions/linkObjectDescription\"},\"params\":{\"$ref\":\"#/definitions/linkObjectParams\"},\"server\":{\"$ref\":\"#/definitions/linkObjectServer\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"linkOrReference\":{\"title\":\"linkOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/linkObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectLinks\":{\"title\":\"methodObjectLinks\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/linkOrReference\"}},\"examplePairingObjectName\":{\"title\":\"examplePairingObjectName\",\"type\":\"string\",\"minLength\":1},\"examplePairingObjectDescription\":{\"title\":\"examplePairingObjectDescription\",\"type\":\"string\"},\"exampleObjectSummary\":{\"title\":\"exampleObjectSummary\",\"type\":\"string\"},\"exampleObjectValue\":{\"title\":\"exampleObjectValue\"},\"exampleObjectDescription\":{\"title\":\"exampleObjectDescription\",\"type\":\"string\"},\"exampleObjectName\":{\"title\":\"exampleObjectName\",\"type\":\"string\",\"minLength\":1},\"exampleObject\":{\"title\":\"exampleObject\",\"type\":\"object\",\"required\":[\"name\",\"value\"],\"properties\":{\"summary\":{\"$ref\":\"#/definitions/exampleObjectSummary\"},\"value\":{\"$ref\":\"#/definitions/exampleObjectValue\"},\"description\":{\"$ref\":\"#/definitions/exampleObjectDescription\"},\"name\":{\"$ref\":\"#/definitions/exampleObjectName\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"exampleOrReference\":{\"title\":\"exampleOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/exampleObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"examplePairingObjectParams\":{\"title\":\"examplePairingObjectParams\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/exampleOrReference\"}},\"examplePairingObjectResult\":{\"title\":\"examplePairingObjectResult\",\"oneOf\":[{\"$ref\":\"#/definitions/exampleObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"examplePairingObject\":{\"title\":\"examplePairingObject\",\"type\":\"object\",\"required\":[\"name\",\"params\",\"result\"],\"properties\":{\"name\":{\"$ref\":\"#/definitions/examplePairingObjectName\"},\"description\":{\"$ref\":\"#/definitions/examplePairingObjectDescription\"},\"params\":{\"$ref\":\"#/definitions/examplePairingObjectParams\"},\"result\":{\"$ref\":\"#/definitions/examplePairingObjectResult\"}}},\"examplePairingOrReference\":{\"title\":\"examplePairingOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/examplePairingObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectExamples\":{\"title\":\"methodObjectExamples\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/examplePairingOrReference\"}},\"methodObjectDeprecated\":{\"title\":\"methodObjectDeprecated\",\"type\":\"boolean\",\"default\":false},\"methodObject\":{\"title\":\"methodObject\",\"type\":\"object\",\"required\":[\"name\",\"result\",\"params\"],\"additionalProperties\":false,\"properties\":{\"name\":{\"$ref\":\"#/definitions/methodObjectName\"},\"description\":{\"$ref\":\"#/definitions/methodObjectDescription\"},\"summary\":{\"$ref\":\"#/definitions/methodObjectSummary\"},\"servers\":{\"$ref\":\"#/definitions/servers\"},\"tags\":{\"$ref\":\"#/definitions/methodObjectTags\"},\"paramStructure\":{\"$ref\":\"#/definitions/methodObjectParamStructure\"},\"params\":{\"$ref\":\"#/definitions/methodObjectParams\"},\"result\":{\"$ref\":\"#/definitions/methodObjectResult\"},\"errors\":{\"$ref\":\"#/definitions/methodObjectErrors\"},\"links\":{\"$ref\":\"#/definitions/methodObjectLinks\"},\"examples\":{\"$ref\":\"#/definitions/methodObjectExamples\"},\"deprecated\":{\"$ref\":\"#/definitions/methodObjectDeprecated\"},\"externalDocs\":{\"$ref\":\"#/definitions/externalDocumentationObject\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"methods\":{\"title\":\"methods\",\"type\":\"array\",\"additionalItems\":false,\"items\":{\"$ref\":\"#/definitions/methodObject\"}},\"schemaComponents\":{\"title\":\"schemaComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/JSONSchema\"}}},\"linkComponents\":{\"title\":\"linkComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/linkObject\"}}},\"errorComponents\":{\"title\":\"errorComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/errorObject\"}}},\"exampleComponents\":{\"title\":\"exampleComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/exampleObject\"}}},\"examplePairingComponents\":{\"title\":\"examplePairingComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/examplePairingObject\"}}},\"contentDescriptorComponents\":{\"title\":\"contentDescriptorComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/contentDescriptorObject\"}}},\"tagComponents\":{\"title\":\"tagComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/tagObject\"}}},\"components\":{\"title\":\"components\",\"type\":\"object\",\"properties\":{\"schemas\":{\"$ref\":\"#/definitions/schemaComponents\"},\"links\":{\"$ref\":\"#/definitions/linkComponents\"},\"errors\":{\"$ref\":\"#/definitions/errorComponents\"},\"examples\":{\"$ref\":\"#/definitions/exampleComponents\"},\"examplePairings\":{\"$ref\":\"#/definitions/examplePairingComponents\"},\"contentDescriptors\":{\"$ref\":\"#/definitions/contentDescriptorComponents\"},\"tags\":{\"$ref\":\"#/definitions/tagComponents\"}}}}}" \ No newline at end of file +const RawOpenrpc_document = "{\"$schema\":\"https://meta.json-schema.tools/\",\"$id\":\"https://meta.open-rpc.org/\",\"title\":\"openrpcDocument\",\"type\":\"object\",\"required\":[\"info\",\"methods\",\"openrpc\"],\"additionalProperties\":false,\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}},\"properties\":{\"openrpc\":{\"$ref\":\"#/definitions/openrpc\"},\"info\":{\"$ref\":\"#/definitions/infoObject\"},\"externalDocs\":{\"$ref\":\"#/definitions/externalDocumentationObject\"},\"servers\":{\"$ref\":\"#/definitions/servers\"},\"methods\":{\"$ref\":\"#/definitions/methods\"},\"components\":{\"$ref\":\"#/definitions/components\"}},\"definitions\":{\"openrpc\":{\"title\":\"openrpc\",\"type\":\"string\",\"enum\":[\"1.2.6\",\"1.2.5\",\"1.2.4\",\"1.2.3\",\"1.2.2\",\"1.2.1\",\"1.2.0\",\"1.1.12\",\"1.1.11\",\"1.1.10\",\"1.1.9\",\"1.1.8\",\"1.1.7\",\"1.1.6\",\"1.1.5\",\"1.1.4\",\"1.1.3\",\"1.1.2\",\"1.1.1\",\"1.1.0\",\"1.0.0\",\"1.0.0-rc1\",\"1.0.0-rc0\"]},\"infoObjectProperties\":{\"title\":\"infoObjectProperties\",\"type\":\"string\"},\"infoObjectDescription\":{\"title\":\"infoObjectDescription\",\"type\":\"string\"},\"infoObjectTermsOfService\":{\"title\":\"infoObjectTermsOfService\",\"type\":\"string\",\"format\":\"uri\"},\"infoObjectVersion\":{\"title\":\"infoObjectVersion\",\"type\":\"string\"},\"contactObjectName\":{\"title\":\"contactObjectName\",\"type\":\"string\"},\"contactObjectEmail\":{\"title\":\"contactObjectEmail\",\"type\":\"string\"},\"contactObjectUrl\":{\"title\":\"contactObjectUrl\",\"type\":\"string\"},\"specificationExtension\":{\"title\":\"specificationExtension\"},\"contactObject\":{\"title\":\"contactObject\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"$ref\":\"#/definitions/contactObjectName\"},\"email\":{\"$ref\":\"#/definitions/contactObjectEmail\"},\"url\":{\"$ref\":\"#/definitions/contactObjectUrl\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"licenseObjectName\":{\"title\":\"licenseObjectName\",\"type\":\"string\"},\"licenseObjectUrl\":{\"title\":\"licenseObjectUrl\",\"type\":\"string\"},\"licenseObject\":{\"title\":\"licenseObject\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"$ref\":\"#/definitions/licenseObjectName\"},\"url\":{\"$ref\":\"#/definitions/licenseObjectUrl\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"infoObject\":{\"title\":\"infoObject\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"title\",\"version\"],\"properties\":{\"title\":{\"$ref\":\"#/definitions/infoObjectProperties\"},\"description\":{\"$ref\":\"#/definitions/infoObjectDescription\"},\"termsOfService\":{\"$ref\":\"#/definitions/infoObjectTermsOfService\"},\"version\":{\"$ref\":\"#/definitions/infoObjectVersion\"},\"contact\":{\"$ref\":\"#/definitions/contactObject\"},\"license\":{\"$ref\":\"#/definitions/licenseObject\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"externalDocumentationObjectDescription\":{\"title\":\"externalDocumentationObjectDescription\",\"type\":\"string\"},\"externalDocumentationObjectUrl\":{\"title\":\"externalDocumentationObjectUrl\",\"type\":\"string\",\"format\":\"uri\"},\"externalDocumentationObject\":{\"title\":\"externalDocumentationObject\",\"type\":\"object\",\"additionalProperties\":false,\"description\":\"information about external documentation\",\"required\":[\"url\"],\"properties\":{\"description\":{\"$ref\":\"#/definitions/externalDocumentationObjectDescription\"},\"url\":{\"$ref\":\"#/definitions/externalDocumentationObjectUrl\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"serverObjectUrl\":{\"title\":\"serverObjectUrl\",\"type\":\"string\",\"format\":\"uri\"},\"serverObjectName\":{\"title\":\"serverObjectName\",\"type\":\"string\"},\"serverObjectDescription\":{\"title\":\"serverObjectDescription\",\"type\":\"string\"},\"serverObjectSummary\":{\"title\":\"serverObjectSummary\",\"type\":\"string\"},\"serverObjectVariableDefault\":{\"title\":\"serverObjectVariableDefault\",\"type\":\"string\"},\"serverObjectVariableDescription\":{\"title\":\"serverObjectVariableDescription\",\"type\":\"string\"},\"serverObjectVariableEnumItem\":{\"title\":\"serverObjectVariableEnumItem\",\"type\":\"string\"},\"serverObjectVariableEnum\":{\"title\":\"serverObjectVariableEnum\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/serverObjectVariableEnumItem\"}},\"serverObjectVariable\":{\"title\":\"serverObjectVariable\",\"type\":\"object\",\"required\":[\"default\"],\"properties\":{\"default\":{\"$ref\":\"#/definitions/serverObjectVariableDefault\"},\"description\":{\"$ref\":\"#/definitions/serverObjectVariableDescription\"},\"enum\":{\"$ref\":\"#/definitions/serverObjectVariableEnum\"}}},\"serverObjectVariables\":{\"title\":\"serverObjectVariables\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/serverObjectVariable\"}}},\"serverObject\":{\"title\":\"serverObject\",\"type\":\"object\",\"required\":[\"url\"],\"additionalProperties\":false,\"properties\":{\"url\":{\"$ref\":\"#/definitions/serverObjectUrl\"},\"name\":{\"$ref\":\"#/definitions/serverObjectName\"},\"description\":{\"$ref\":\"#/definitions/serverObjectDescription\"},\"summary\":{\"$ref\":\"#/definitions/serverObjectSummary\"},\"variables\":{\"$ref\":\"#/definitions/serverObjectVariables\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"servers\":{\"title\":\"servers\",\"type\":\"array\",\"additionalItems\":false,\"items\":{\"$ref\":\"#/definitions/serverObject\"}},\"methodObjectName\":{\"title\":\"methodObjectName\",\"description\":\"The cannonical name for the method. The name MUST be unique within the methods array.\",\"type\":\"string\",\"minLength\":1},\"methodObjectDescription\":{\"title\":\"methodObjectDescription\",\"description\":\"A verbose explanation of the method behavior. GitHub Flavored Markdown syntax MAY be used for rich text representation.\",\"type\":\"string\"},\"methodObjectSummary\":{\"title\":\"methodObjectSummary\",\"description\":\"A short summary of what the method does.\",\"type\":\"string\"},\"tagObjectName\":{\"title\":\"tagObjectName\",\"type\":\"string\",\"minLength\":1},\"tagObjectDescription\":{\"title\":\"tagObjectDescription\",\"type\":\"string\"},\"tagObject\":{\"title\":\"tagObject\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"name\"],\"properties\":{\"name\":{\"$ref\":\"#/definitions/tagObjectName\"},\"description\":{\"$ref\":\"#/definitions/tagObjectDescription\"},\"externalDocs\":{\"$ref\":\"#/definitions/externalDocumentationObject\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"$ref\":{\"title\":\"$ref\",\"type\":\"string\",\"format\":\"uri-reference\"},\"referenceObject\":{\"title\":\"referenceObject\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"$ref\"],\"properties\":{\"$ref\":{\"$ref\":\"#/definitions/$ref\"}}},\"tagOrReference\":{\"title\":\"tagOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/tagObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectTags\":{\"title\":\"methodObjectTags\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/tagOrReference\"}},\"methodObjectParamStructure\":{\"title\":\"methodObjectParamStructure\",\"type\":\"string\",\"description\":\"Format the server expects the params. Defaults to 'either'.\",\"enum\":[\"by-position\",\"by-name\",\"either\"],\"default\":\"either\"},\"contentDescriptorObjectName\":{\"title\":\"contentDescriptorObjectName\",\"type\":\"string\",\"minLength\":1},\"contentDescriptorObjectDescription\":{\"title\":\"contentDescriptorObjectDescription\",\"type\":\"string\"},\"contentDescriptorObjectSummary\":{\"title\":\"contentDescriptorObjectSummary\",\"type\":\"string\"},\"$id\":{\"title\":\"$id\",\"type\":\"string\",\"format\":\"uri-reference\"},\"$schema\":{\"title\":\"$schema\",\"type\":\"string\",\"format\":\"uri\"},\"$comment\":{\"title\":\"$comment\",\"type\":\"string\"},\"title\":{\"title\":\"title\",\"type\":\"string\"},\"description\":{\"title\":\"description\",\"type\":\"string\"},\"AlwaysTrue\":true,\"readOnly\":{\"title\":\"readOnly\",\"type\":\"boolean\",\"default\":false},\"examples\":{\"title\":\"examples\",\"type\":\"array\",\"items\":true},\"multipleOf\":{\"title\":\"multipleOf\",\"type\":\"number\",\"exclusiveMinimum\":0},\"maximum\":{\"title\":\"maximum\",\"type\":\"number\"},\"exclusiveMaximum\":{\"title\":\"exclusiveMaximum\",\"type\":\"number\"},\"minimum\":{\"title\":\"minimum\",\"type\":\"number\"},\"exclusiveMinimum\":{\"title\":\"exclusiveMinimum\",\"type\":\"number\"},\"nonNegativeInteger\":{\"title\":\"nonNegativeInteger\",\"type\":\"integer\",\"minimum\":0},\"nonNegativeIntegerDefaultZero\":{\"title\":\"nonNegativeIntegerDefaultZero\",\"type\":\"integer\",\"minimum\":0,\"default\":0},\"pattern\":{\"title\":\"pattern\",\"type\":\"string\",\"format\":\"regex\"},\"schemaArray\":{\"title\":\"schemaArray\",\"type\":\"array\",\"minItems\":1,\"items\":{\"$ref\":\"#/definitions/JSONSchema\"}},\"items\":{\"title\":\"items\",\"anyOf\":[{\"$ref\":\"#/definitions/JSONSchema\"},{\"$ref\":\"#/definitions/schemaArray\"}],\"default\":true},\"uniqueItems\":{\"title\":\"uniqueItems\",\"type\":\"boolean\",\"default\":false},\"string_doaGddGA\":{\"type\":\"string\",\"title\":\"string_doaGddGA\"},\"stringArray\":{\"title\":\"stringArray\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/string_doaGddGA\"},\"uniqueItems\":true,\"default\":[]},\"definitions\":{\"title\":\"definitions\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/JSONSchema\"},\"default\":{}},\"properties\":{\"title\":\"properties\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/JSONSchema\"},\"default\":{}},\"patternProperties\":{\"title\":\"patternProperties\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/JSONSchema\"},\"propertyNames\":{\"title\":\"propertyNames\",\"format\":\"regex\"},\"default\":{}},\"dependenciesSet\":{\"title\":\"dependenciesSet\",\"anyOf\":[{\"$ref\":\"#/definitions/JSONSchema\"},{\"$ref\":\"#/definitions/stringArray\"}]},\"dependencies\":{\"title\":\"dependencies\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/dependenciesSet\"}},\"enum\":{\"title\":\"enum\",\"type\":\"array\",\"items\":true,\"minItems\":1,\"uniqueItems\":true},\"simpleTypes\":{\"title\":\"simpleTypes\",\"enum\":[\"array\",\"boolean\",\"integer\",\"null\",\"number\",\"object\",\"string\"]},\"arrayOfSimpleTypes\":{\"title\":\"arrayOfSimpleTypes\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/simpleTypes\"},\"minItems\":1,\"uniqueItems\":true},\"type\":{\"title\":\"type\",\"anyOf\":[{\"$ref\":\"#/definitions/simpleTypes\"},{\"$ref\":\"#/definitions/arrayOfSimpleTypes\"}]},\"format\":{\"title\":\"format\",\"type\":\"string\"},\"contentMediaType\":{\"title\":\"contentMediaType\",\"type\":\"string\"},\"contentEncoding\":{\"title\":\"contentEncoding\",\"type\":\"string\"},\"JSONSchemaObject\":{\"title\":\"JSONSchemaObject\",\"type\":\"object\",\"properties\":{\"$id\":{\"$ref\":\"#/definitions/$id\"},\"$schema\":{\"$ref\":\"#/definitions/$schema\"},\"$ref\":{\"$ref\":\"#/definitions/$ref\"},\"$comment\":{\"$ref\":\"#/definitions/$comment\"},\"title\":{\"$ref\":\"#/definitions/title\"},\"description\":{\"$ref\":\"#/definitions/description\"},\"default\":true,\"readOnly\":{\"$ref\":\"#/definitions/readOnly\"},\"examples\":{\"$ref\":\"#/definitions/examples\"},\"multipleOf\":{\"$ref\":\"#/definitions/multipleOf\"},\"maximum\":{\"$ref\":\"#/definitions/maximum\"},\"exclusiveMaximum\":{\"$ref\":\"#/definitions/exclusiveMaximum\"},\"minimum\":{\"$ref\":\"#/definitions/minimum\"},\"exclusiveMinimum\":{\"$ref\":\"#/definitions/exclusiveMinimum\"},\"maxLength\":{\"$ref\":\"#/definitions/nonNegativeInteger\"},\"minLength\":{\"$ref\":\"#/definitions/nonNegativeIntegerDefaultZero\"},\"pattern\":{\"$ref\":\"#/definitions/pattern\"},\"additionalItems\":{\"$ref\":\"#/definitions/JSONSchema\"},\"items\":{\"$ref\":\"#/definitions/items\"},\"maxItems\":{\"$ref\":\"#/definitions/nonNegativeInteger\"},\"minItems\":{\"$ref\":\"#/definitions/nonNegativeIntegerDefaultZero\"},\"uniqueItems\":{\"$ref\":\"#/definitions/uniqueItems\"},\"contains\":{\"$ref\":\"#/definitions/JSONSchema\"},\"maxProperties\":{\"$ref\":\"#/definitions/nonNegativeInteger\"},\"minProperties\":{\"$ref\":\"#/definitions/nonNegativeIntegerDefaultZero\"},\"required\":{\"$ref\":\"#/definitions/stringArray\"},\"additionalProperties\":{\"$ref\":\"#/definitions/JSONSchema\"},\"definitions\":{\"$ref\":\"#/definitions/definitions\"},\"properties\":{\"$ref\":\"#/definitions/properties\"},\"patternProperties\":{\"$ref\":\"#/definitions/patternProperties\"},\"dependencies\":{\"$ref\":\"#/definitions/dependencies\"},\"propertyNames\":{\"$ref\":\"#/definitions/JSONSchema\"},\"const\":true,\"enum\":{\"$ref\":\"#/definitions/enum\"},\"type\":{\"$ref\":\"#/definitions/type\"},\"format\":{\"$ref\":\"#/definitions/format\"},\"contentMediaType\":{\"$ref\":\"#/definitions/contentMediaType\"},\"contentEncoding\":{\"$ref\":\"#/definitions/contentEncoding\"},\"if\":{\"$ref\":\"#/definitions/JSONSchema\"},\"then\":{\"$ref\":\"#/definitions/JSONSchema\"},\"else\":{\"$ref\":\"#/definitions/JSONSchema\"},\"allOf\":{\"$ref\":\"#/definitions/schemaArray\"},\"anyOf\":{\"$ref\":\"#/definitions/schemaArray\"},\"oneOf\":{\"$ref\":\"#/definitions/schemaArray\"},\"not\":{\"$ref\":\"#/definitions/JSONSchema\"}}},\"JSONSchemaBoolean\":{\"title\":\"JSONSchemaBoolean\",\"description\":\"Always valid if true. Never valid if false. Is constant.\",\"type\":\"boolean\"},\"JSONSchema\":{\"$schema\":\"https://meta.json-schema.tools/\",\"$id\":\"https://meta.json-schema.tools/\",\"title\":\"JSONSchema\",\"default\":{},\"oneOf\":[{\"$ref\":\"#/definitions/JSONSchemaObject\"},{\"$ref\":\"#/definitions/JSONSchemaBoolean\"}]},\"contentDescriptorObjectRequired\":{\"title\":\"contentDescriptorObjectRequired\",\"type\":\"boolean\",\"default\":false},\"contentDescriptorObjectDeprecated\":{\"title\":\"contentDescriptorObjectDeprecated\",\"type\":\"boolean\",\"default\":false},\"contentDescriptorObject\":{\"title\":\"contentDescriptorObject\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"name\",\"schema\"],\"properties\":{\"name\":{\"$ref\":\"#/definitions/contentDescriptorObjectName\"},\"description\":{\"$ref\":\"#/definitions/contentDescriptorObjectDescription\"},\"summary\":{\"$ref\":\"#/definitions/contentDescriptorObjectSummary\"},\"schema\":{\"$ref\":\"#/definitions/JSONSchema\"},\"required\":{\"$ref\":\"#/definitions/contentDescriptorObjectRequired\"},\"deprecated\":{\"$ref\":\"#/definitions/contentDescriptorObjectDeprecated\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"contentDescriptorOrReference\":{\"title\":\"contentDescriptorOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/contentDescriptorObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectParams\":{\"title\":\"methodObjectParams\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/contentDescriptorOrReference\"}},\"methodObjectResult\":{\"title\":\"methodObjectResult\",\"oneOf\":[{\"$ref\":\"#/definitions/contentDescriptorObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"errorObjectCode\":{\"title\":\"errorObjectCode\",\"description\":\"A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.\",\"type\":\"integer\"},\"errorObjectMessage\":{\"title\":\"errorObjectMessage\",\"description\":\"A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.\",\"type\":\"string\"},\"errorObjectData\":{\"title\":\"errorObjectData\",\"description\":\"A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.).\"},\"errorObject\":{\"title\":\"errorObject\",\"type\":\"object\",\"description\":\"Defines an application level error.\",\"additionalProperties\":false,\"required\":[\"code\",\"message\"],\"properties\":{\"code\":{\"$ref\":\"#/definitions/errorObjectCode\"},\"message\":{\"$ref\":\"#/definitions/errorObjectMessage\"},\"data\":{\"$ref\":\"#/definitions/errorObjectData\"}}},\"errorOrReference\":{\"title\":\"errorOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/errorObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectErrors\":{\"title\":\"methodObjectErrors\",\"description\":\"Defines an application level error.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/errorOrReference\"}},\"linkObjectName\":{\"title\":\"linkObjectName\",\"type\":\"string\",\"minLength\":1},\"linkObjectSummary\":{\"title\":\"linkObjectSummary\",\"type\":\"string\"},\"linkObjectMethod\":{\"title\":\"linkObjectMethod\",\"type\":\"string\"},\"linkObjectDescription\":{\"title\":\"linkObjectDescription\",\"type\":\"string\"},\"linkObjectParams\":{\"title\":\"linkObjectParams\"},\"linkObjectServer\":{\"title\":\"linkObjectServer\",\"type\":\"object\",\"required\":[\"url\"],\"additionalProperties\":false,\"properties\":{\"url\":{\"$ref\":\"#/definitions/serverObjectUrl\"},\"name\":{\"$ref\":\"#/definitions/serverObjectName\"},\"description\":{\"$ref\":\"#/definitions/serverObjectDescription\"},\"summary\":{\"$ref\":\"#/definitions/serverObjectSummary\"},\"variables\":{\"$ref\":\"#/definitions/serverObjectVariables\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"linkObject\":{\"title\":\"linkObject\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"$ref\":\"#/definitions/linkObjectName\"},\"summary\":{\"$ref\":\"#/definitions/linkObjectSummary\"},\"method\":{\"$ref\":\"#/definitions/linkObjectMethod\"},\"description\":{\"$ref\":\"#/definitions/linkObjectDescription\"},\"params\":{\"$ref\":\"#/definitions/linkObjectParams\"},\"server\":{\"$ref\":\"#/definitions/linkObjectServer\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"linkOrReference\":{\"title\":\"linkOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/linkObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectLinks\":{\"title\":\"methodObjectLinks\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/linkOrReference\"}},\"examplePairingObjectName\":{\"title\":\"examplePairingObjectName\",\"type\":\"string\",\"minLength\":1},\"examplePairingObjectDescription\":{\"title\":\"examplePairingObjectDescription\",\"type\":\"string\"},\"exampleObjectSummary\":{\"title\":\"exampleObjectSummary\",\"type\":\"string\"},\"exampleObjectValue\":{\"title\":\"exampleObjectValue\"},\"exampleObjectDescription\":{\"title\":\"exampleObjectDescription\",\"type\":\"string\"},\"exampleObjectName\":{\"title\":\"exampleObjectName\",\"type\":\"string\",\"minLength\":1},\"exampleObject\":{\"title\":\"exampleObject\",\"type\":\"object\",\"required\":[\"name\",\"value\"],\"properties\":{\"summary\":{\"$ref\":\"#/definitions/exampleObjectSummary\"},\"value\":{\"$ref\":\"#/definitions/exampleObjectValue\"},\"description\":{\"$ref\":\"#/definitions/exampleObjectDescription\"},\"name\":{\"$ref\":\"#/definitions/exampleObjectName\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"exampleOrReference\":{\"title\":\"exampleOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/exampleObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"examplePairingObjectParams\":{\"title\":\"examplePairingObjectParams\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/exampleOrReference\"}},\"examplePairingObjectResult\":{\"title\":\"examplePairingObjectResult\",\"oneOf\":[{\"$ref\":\"#/definitions/exampleObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"examplePairingObject\":{\"title\":\"examplePairingObject\",\"type\":\"object\",\"required\":[\"name\",\"params\",\"result\"],\"properties\":{\"name\":{\"$ref\":\"#/definitions/examplePairingObjectName\"},\"description\":{\"$ref\":\"#/definitions/examplePairingObjectDescription\"},\"params\":{\"$ref\":\"#/definitions/examplePairingObjectParams\"},\"result\":{\"$ref\":\"#/definitions/examplePairingObjectResult\"}}},\"examplePairingOrReference\":{\"title\":\"examplePairingOrReference\",\"oneOf\":[{\"$ref\":\"#/definitions/examplePairingObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methodObjectExamples\":{\"title\":\"methodObjectExamples\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/examplePairingOrReference\"}},\"methodObjectDeprecated\":{\"title\":\"methodObjectDeprecated\",\"type\":\"boolean\",\"default\":false},\"methodObject\":{\"title\":\"methodObject\",\"type\":\"object\",\"required\":[\"name\",\"result\",\"params\"],\"additionalProperties\":false,\"properties\":{\"name\":{\"$ref\":\"#/definitions/methodObjectName\"},\"description\":{\"$ref\":\"#/definitions/methodObjectDescription\"},\"summary\":{\"$ref\":\"#/definitions/methodObjectSummary\"},\"servers\":{\"$ref\":\"#/definitions/servers\"},\"tags\":{\"$ref\":\"#/definitions/methodObjectTags\"},\"paramStructure\":{\"$ref\":\"#/definitions/methodObjectParamStructure\"},\"params\":{\"$ref\":\"#/definitions/methodObjectParams\"},\"result\":{\"$ref\":\"#/definitions/methodObjectResult\"},\"errors\":{\"$ref\":\"#/definitions/methodObjectErrors\"},\"links\":{\"$ref\":\"#/definitions/methodObjectLinks\"},\"examples\":{\"$ref\":\"#/definitions/methodObjectExamples\"},\"deprecated\":{\"$ref\":\"#/definitions/methodObjectDeprecated\"},\"externalDocs\":{\"$ref\":\"#/definitions/externalDocumentationObject\"}},\"patternProperties\":{\"^x-\":{\"$ref\":\"#/definitions/specificationExtension\"}}},\"methodReference\":{\"title\":\"methodReference\",\"oneOf\":[{\"$ref\":\"#/definitions/methodObject\"},{\"$ref\":\"#/definitions/referenceObject\"}]},\"methods\":{\"title\":\"methods\",\"type\":\"array\",\"additionalItems\":false,\"items\":{\"$ref\":\"#/definitions/methodReference\"}},\"schemaComponents\":{\"title\":\"schemaComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/JSONSchema\"}}},\"linkComponents\":{\"title\":\"linkComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/linkObject\"}}},\"errorComponents\":{\"title\":\"errorComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/errorObject\"}}},\"exampleComponents\":{\"title\":\"exampleComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/exampleObject\"}}},\"examplePairingComponents\":{\"title\":\"examplePairingComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/examplePairingObject\"}}},\"contentDescriptorComponents\":{\"title\":\"contentDescriptorComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/contentDescriptorObject\"}}},\"tagComponents\":{\"title\":\"tagComponents\",\"type\":\"object\",\"patternProperties\":{\"[0-z]+\":{\"$ref\":\"#/definitions/tagObject\"}}},\"components\":{\"title\":\"components\",\"type\":\"object\",\"properties\":{\"schemas\":{\"$ref\":\"#/definitions/schemaComponents\"},\"links\":{\"$ref\":\"#/definitions/linkComponents\"},\"errors\":{\"$ref\":\"#/definitions/errorComponents\"},\"examples\":{\"$ref\":\"#/definitions/exampleComponents\"},\"examplePairings\":{\"$ref\":\"#/definitions/examplePairingComponents\"},\"contentDescriptors\":{\"$ref\":\"#/definitions/contentDescriptorComponents\"},\"tags\":{\"$ref\":\"#/definitions/tagComponents\"}}}}}" \ No newline at end of file