{
    "RuntimeHypertyCapabilities": {
        "properties": {
            "camera": {
                "type": "boolean"
            },
            "mic": {
                "type": "boolean"
            },
            "ortc": {
                "type": "boolean"
            },
            "sensor": {
                "type": "boolean"
            },
            "webrtc": {
                "type": "boolean"
            }
        },
        "type": "object"
    },
    "RuntimeProtocolCapabilities": {
        "properties": {
            "coap": {
                "type": "boolean"
            },
            "datachannel": {
                "type": "boolean"
            },
            "http": {
                "type": "boolean"
            },
            "https": {
                "type": "boolean"
            },
            "ws": {
                "type": "boolean"
            },
            "wss": {
                "type": "boolean"
            }
        },
        "type": "object"
    },
    "RuntimeType": {
        "properties": {
            "browser": {
                "type": "null"
            },
            "gateway": {
                "type": "null"
            },
            "server": {
                "type": "null"
            },
            "standalone": {
                "type": "null"
            }
        },
        "required": [
            "browser",
            "standalone",
            "server",
            "gateway"
        ],
        "type": "object"
    },
    "_comment": "This Spec is for Phase 1!! Most updated version is at https://github.com/reTHINK-project/specs/tree/master/schemas",
    "properties": {
        "hypertyCapabilities": {
            "$ref": "#/RuntimeHypertyCapabilities"
        },
        "protocolCapabilities": {
            "$ref": "#/RuntimeProtocolCapabilities"
        },
        "runtimeType": {
            "$ref": "#/RuntimeType"
        }
    },
    "required": [
        "runtimeType",
        "hypertyCapabilities",
        "protocolCapabilities"
    ],
    "type": "object"
}