Thing/schemas/gamecult.eve.plugin_advertisement.v1.schema.json
2026-07-09 02:24:29 +01:00

154 lines
3.3 KiB
JSON

{
"$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
}