{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "RCP Server to RCP Client", "type": "object", "properties": { "rcpc_welcome": { "type": "object", "properties": { "module_descr": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "cmd_descr": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "help": { "type": "string" }, "args": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "spec": { "type": "object", "properties": { "required" : { "type": "boolean" }, "help": { "type": "string" }, "action": { "type": "string" }, "pytype": { "type": "string" }, "default" : { "type": ["string", "integer"] } }, "required": [ "help" ], "additionalProperties": false } }, "required": [ "name", "spec" ], "additionalProperties": false } } }, "required": [ "name", "help", "args" ], "additionalProperties": false } } }, "required": [ "name", "cmd_descr" ], "additionalProperties": false } } }, "required": [ "module_descr" ], "additionalProperties": false }, "rcpc_instr": { "type": "object", "properties": { "print": { "type": "string" }, "reset": { "type": "null" }, "c_apdu": { "type": "string", "pattern": "^[0-9,A-F]{0,512}$" } }, "oneOf": [ { "required": [ "print" ] }, { "required": [ "reset" ] }, { "required": [ "c_apdu" ] } ], "additionalProperties": false }, "rcpc_goodbye": { "type": "integer" } }, "oneOf": [ { "required": [ "rcpc_welcome" ] }, { "required": [ "rcpc_instr" ] }, { "required": [ "rcpc_goodbye" ] } ], "additionalProperties": false }