{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "gamecult.eve.plugin_advertisement.v1", "title": "Eve Plugin Advertisement", "type": "object", "required": [ "schema", "pluginId", "ownerService", "version", "manifestAddress", "runtime", "schemas", "componentKinds", "commands", "fixtures" ], "properties": { "schema": { "const": "gamecult.eve.plugin_advertisement.v1" }, "pluginId": { "type": "string", "minLength": 1 }, "ownerService": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 }, "manifestAddress": { "type": "string", "minLength": 1 }, "runtime": { "type": "object", "required": [ "invocationModel", "contract", "transports", "authority", "sidecar" ], "properties": { "invocationModel": { "type": "string", "minLength": 1 }, "contract": { "type": "string", "minLength": 1 }, "transports": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "authority": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "sidecar": { "type": "object", "required": [ "processKind", "protocol", "requestSchema", "responseSchema", "operations", "commandEnvelope", "receiptSchema", "stateAuthority" ], "properties": { "processKind": { "type": "string", "minLength": 1 }, "protocol": { "type": "string", "minLength": 1 }, "requestSchema": { "type": "string", "minLength": 1 }, "responseSchema": { "type": "string", "minLength": 1 }, "operations": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "commandEnvelope": { "type": "string", "minLength": 1 }, "receiptSchema": { "type": "string", "minLength": 1 }, "stateAuthority": { "type": "string", "minLength": 1 } }, "additionalProperties": true } }, "additionalProperties": true }, "schemas": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "componentKinds": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "commands": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "fixtures": { "type": "array", "items": { "type": "string", "minLength": 1 } } }, "additionalProperties": true }