1090 lines
37 KiB
JavaScript
1090 lines
37 KiB
JavaScript
// Generated by scripts/generate-contracts.mjs. Do not edit by hand.
|
|
export const eveContractSchemas = {
|
|
"providerAdvertisement": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "gamecult.eve.provider_advertisement.v1",
|
|
"title": "Eve Provider Advertisement",
|
|
"type": "object",
|
|
"required": [
|
|
"schema",
|
|
"providerId",
|
|
"serviceId",
|
|
"verseId",
|
|
"title",
|
|
"kind",
|
|
"freshness",
|
|
"schemas",
|
|
"witnesses",
|
|
"surfaces",
|
|
"commands"
|
|
],
|
|
"properties": {
|
|
"schema": {
|
|
"const": "gamecult.eve.provider_advertisement.v1"
|
|
},
|
|
"providerId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"serviceId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"verseId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"rootVerse": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"canonicalService": {
|
|
"type": "string"
|
|
},
|
|
"locatedService": {
|
|
"type": "string"
|
|
},
|
|
"cultMeshAddress": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
},
|
|
"updatedAtUtc": {
|
|
"type": "string"
|
|
},
|
|
"freshness": {
|
|
"type": "object",
|
|
"required": [
|
|
"state"
|
|
],
|
|
"properties": {
|
|
"state": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"lastSeenAt": {
|
|
"type": "string"
|
|
},
|
|
"lastSeenAtUtc": {
|
|
"type": "string"
|
|
},
|
|
"maxAgeMs": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"schemas": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": [
|
|
"string",
|
|
"object"
|
|
]
|
|
}
|
|
},
|
|
"witnesses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"kind"
|
|
],
|
|
"properties": {
|
|
"kind": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"ref": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"summary": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"surfaces": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"surfaceId",
|
|
"schema",
|
|
"transport"
|
|
],
|
|
"properties": {
|
|
"surfaceId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"recordRef": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"transport": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"surfaceKind": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"interactionModel": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"worldInteraction": {
|
|
"type": "object",
|
|
"required": [
|
|
"projectionKind",
|
|
"stateSchemas",
|
|
"commandBoundary",
|
|
"receiptSchema",
|
|
"loweringTargets",
|
|
"ownership"
|
|
],
|
|
"properties": {
|
|
"projectionKind": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"stateSchemas": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"commandBoundary": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"commandRecordRef": {
|
|
"type": "string"
|
|
},
|
|
"receiptSchema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"receiptRecordRef": {
|
|
"type": "string"
|
|
},
|
|
"assetManifestRecordRef": {
|
|
"type": "string"
|
|
},
|
|
"loweringTargets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"ownership": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"requiresPlugins": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"pluginId",
|
|
"requiredCapabilities"
|
|
],
|
|
"properties": {
|
|
"pluginId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"versionRange": {
|
|
"type": "string"
|
|
},
|
|
"availability": {
|
|
"type": "string",
|
|
"enum": [
|
|
"required",
|
|
"optional",
|
|
"optional-nested"
|
|
]
|
|
},
|
|
"requiredCapabilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"optionalCapabilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"availability": {
|
|
"const": "required"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"requiredCapabilities": {
|
|
"minItems": 1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"required": [
|
|
"availability"
|
|
],
|
|
"properties": {
|
|
"availability": {
|
|
"const": "optional-nested"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"required": [
|
|
"optionalCapabilities"
|
|
],
|
|
"properties": {
|
|
"requiredCapabilities": {
|
|
"maxItems": 0
|
|
},
|
|
"optionalCapabilities": {
|
|
"minItems": 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"commands": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"command",
|
|
"transport"
|
|
],
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"transport": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"summary": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"conformanceScenarios": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"scenarioId",
|
|
"schema",
|
|
"path"
|
|
],
|
|
"properties": {
|
|
"scenarioId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"summary": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"surface": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "gamecult.eve.surface.v1",
|
|
"title": "Eve Surface Document",
|
|
"type": "object",
|
|
"required": [
|
|
"type",
|
|
"schema",
|
|
"providerId",
|
|
"providerKind",
|
|
"title",
|
|
"version",
|
|
"surface",
|
|
"commands"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"const": "surface-state"
|
|
},
|
|
"schema": {
|
|
"const": "gamecult.eve.surface.v1"
|
|
},
|
|
"providerId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"providerKind": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"updatedAtUtc": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"surface": {
|
|
"type": "object",
|
|
"required": [
|
|
"root",
|
|
"styles"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"root": {
|
|
"$ref": "#/$defs/component"
|
|
},
|
|
"styles": {
|
|
"type": [
|
|
"object",
|
|
"array"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"commands": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "gamecult.eve.command.v1"
|
|
}
|
|
},
|
|
"nodes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"selectedNodeId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"$defs": {
|
|
"component": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"props",
|
|
"children"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"props": {
|
|
"type": "object"
|
|
},
|
|
"children": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/component"
|
|
}
|
|
},
|
|
"stateBindings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"targetProp",
|
|
"pointerId",
|
|
"sourceId",
|
|
"schemaId",
|
|
"routeKind"
|
|
],
|
|
"properties": {
|
|
"targetProp": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"pointerId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"sourceId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"schemaId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"routeKind": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"routeDescription": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"embeddedDocuments": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"slotId",
|
|
"documentId",
|
|
"schemaId",
|
|
"presentationKind"
|
|
],
|
|
"properties": {
|
|
"slotId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"documentId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"schemaId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"presentationKind": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"routeHint": {
|
|
"type": [
|
|
"string",
|
|
"object"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{
|
|
"required": [
|
|
"updatedAt"
|
|
]
|
|
},
|
|
{
|
|
"required": [
|
|
"updatedAtUtc"
|
|
]
|
|
}
|
|
],
|
|
"additionalProperties": true
|
|
},
|
|
"commandDescriptor": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "gamecult.eve.command.v1",
|
|
"title": "Eve Command Descriptor",
|
|
"type": "object",
|
|
"required": [
|
|
"schema",
|
|
"command"
|
|
],
|
|
"properties": {
|
|
"schema": {
|
|
"const": "gamecult.eve.command.v1"
|
|
},
|
|
"command": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"surfaceId": {
|
|
"type": "string"
|
|
},
|
|
"transport": {
|
|
"type": "string"
|
|
},
|
|
"authority": {
|
|
"type": "string"
|
|
},
|
|
"result": {
|
|
"type": "string"
|
|
},
|
|
"payloadSchema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"commandInvocation": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "gamecult.eve.command_invocation.v1",
|
|
"title": "Eve Command Invocation",
|
|
"type": "object",
|
|
"required": [
|
|
"schema",
|
|
"providerId",
|
|
"surfaceId",
|
|
"operation",
|
|
"payload",
|
|
"issuedAt",
|
|
"clientId",
|
|
"commandBoundary",
|
|
"receiptSchema"
|
|
],
|
|
"properties": {
|
|
"schema": {
|
|
"const": "gamecult.eve.command_invocation.v1"
|
|
},
|
|
"providerId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"surfaceId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"operation": {
|
|
"type": "object",
|
|
"required": [
|
|
"operationId"
|
|
],
|
|
"properties": {
|
|
"operationId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"schemaId": {
|
|
"type": "string"
|
|
},
|
|
"idempotencyKey": {
|
|
"type": "string"
|
|
},
|
|
"routeHint": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"payload": {
|
|
"type": "object"
|
|
},
|
|
"issuedAt": {
|
|
"type": "string"
|
|
},
|
|
"clientId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"commandBoundary": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"receiptSchema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"delegation": {
|
|
"type": "object",
|
|
"required": [
|
|
"originalInvocationHash",
|
|
"originalClientId",
|
|
"delegatingRuntimeId"
|
|
],
|
|
"properties": {
|
|
"originalInvocationHash": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"originalClientId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"delegatingRuntimeId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"commandReceipt": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "gamecult.eve.command_receipt.v1",
|
|
"title": "Eve Command Receipt",
|
|
"type": "object",
|
|
"required": [
|
|
"schema",
|
|
"receiptId",
|
|
"commandId",
|
|
"command",
|
|
"state",
|
|
"ownerRepo",
|
|
"authority",
|
|
"providerId",
|
|
"surfaceId",
|
|
"sourceVersion"
|
|
],
|
|
"properties": {
|
|
"schema": {
|
|
"const": "gamecult.eve.command_receipt.v1"
|
|
},
|
|
"receiptId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"commandId": {
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"enum": [
|
|
"accepted",
|
|
"denied",
|
|
"pending",
|
|
"reconciled"
|
|
]
|
|
},
|
|
"ownerRepo": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"authority": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"providerId": {
|
|
"type": "string"
|
|
},
|
|
"surfaceId": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"diagnostics": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"issuedAtUtc": {
|
|
"type": "string"
|
|
},
|
|
"sourceVersion": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "Provider-state generation that causally owns this result. It is not implicitly an Eve surface version."
|
|
},
|
|
"presentationSurfaceVersion": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"description": "Optional advertised base-surface version that a renderer must mount before exposing terminal presentation finality."
|
|
},
|
|
"invocationHash": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "Canonical digest of the immutable invocation envelope finalized by this receipt."
|
|
},
|
|
"navigation": {
|
|
"type": "object",
|
|
"required": [
|
|
"verseId",
|
|
"surfaceId"
|
|
],
|
|
"properties": {
|
|
"verseId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"authorityRuntimeId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"providerId": {
|
|
"type": "string"
|
|
},
|
|
"surfaceId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"surfaceKind": {
|
|
"type": "string"
|
|
},
|
|
"rendezvousEndpoints": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"inputCapability": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "gamecult.eve.input_capability.v1",
|
|
"title": "Eve Input Capability",
|
|
"type": "object",
|
|
"required": [
|
|
"schema",
|
|
"providerId",
|
|
"capabilityId",
|
|
"actions",
|
|
"defaultProfiles"
|
|
],
|
|
"properties": {
|
|
"schema": {
|
|
"const": "gamecult.eve.input_capability.v1"
|
|
},
|
|
"providerId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"capabilityId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"actions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"actionId",
|
|
"label",
|
|
"operation",
|
|
"availability"
|
|
],
|
|
"properties": {
|
|
"actionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"operation": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"context": {
|
|
"type": "string"
|
|
},
|
|
"category": {
|
|
"type": "string"
|
|
},
|
|
"iconRef": {
|
|
"type": "string"
|
|
},
|
|
"actionBar": {
|
|
"type": "boolean"
|
|
},
|
|
"availability": {
|
|
"enum": [
|
|
"available",
|
|
"dormant",
|
|
"unavailable"
|
|
]
|
|
},
|
|
"sourceRef": {
|
|
"type": "string"
|
|
},
|
|
"payload": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"inputValue": {
|
|
"$ref": "#/$defs/inputValue"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"defaultProfiles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"profileId",
|
|
"deviceClass",
|
|
"bindings"
|
|
],
|
|
"properties": {
|
|
"profileId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"deviceClass": {
|
|
"enum": [
|
|
"keyboard-mouse",
|
|
"gamepad"
|
|
]
|
|
},
|
|
"bindings": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/binding"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"$defs": {
|
|
"inputValue": {
|
|
"type": "object",
|
|
"required": [
|
|
"model"
|
|
],
|
|
"properties": {
|
|
"model": {
|
|
"enum": [
|
|
"button-hold.v1",
|
|
"axis.v1",
|
|
"scalar.v1",
|
|
"view-direction.v1"
|
|
]
|
|
},
|
|
"payloadKey": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"currentValue": {
|
|
"type": "number"
|
|
},
|
|
"minimumValue": {
|
|
"type": "number"
|
|
},
|
|
"maximumValue": {
|
|
"type": "number"
|
|
},
|
|
"stepValue": {
|
|
"type": "number",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"unit": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"payloadKeys": {
|
|
"type": "array",
|
|
"minItems": 3,
|
|
"maxItems": 3,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"model": {
|
|
"const": "view-direction.v1"
|
|
}
|
|
},
|
|
"required": [
|
|
"model"
|
|
]
|
|
},
|
|
"then": {
|
|
"required": [
|
|
"payloadKeys"
|
|
]
|
|
},
|
|
"else": {
|
|
"required": [
|
|
"payloadKey"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"model": {
|
|
"const": "scalar.v1"
|
|
}
|
|
},
|
|
"required": [
|
|
"model"
|
|
]
|
|
},
|
|
"then": {
|
|
"required": [
|
|
"currentValue"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"gesture": {
|
|
"type": "object",
|
|
"required": [
|
|
"kind",
|
|
"controls"
|
|
],
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"direct",
|
|
"chord",
|
|
"sequence",
|
|
"axis"
|
|
]
|
|
},
|
|
"controls": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"maxStepIntervalMs": {
|
|
"type": "integer",
|
|
"minimum": 50
|
|
},
|
|
"completionControl": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"binding": {
|
|
"type": "object",
|
|
"required": [
|
|
"bindingId",
|
|
"actionId",
|
|
"gesture"
|
|
],
|
|
"properties": {
|
|
"bindingId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"actionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"gesture": {
|
|
"$ref": "#/$defs/gesture"
|
|
},
|
|
"actionBar": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
};
|