Thing/schemas/gamecult.eve.runtime_capability.v1.schema.json
2026-07-09 17:32:33 +01:00

689 lines
19 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "gamecult.eve.runtime_capability.v1",
"title": "Eve Runtime Capability Manifest",
"type": "object",
"required": [
"schema",
"runtimeId",
"title",
"owner",
"incubation",
"supportedFeatures",
"supportedPlugins",
"unsupportedPlugins",
"commandTransport",
"lifecycle"
],
"properties": {
"schema": {
"const": "gamecult.eve.runtime_capability.v1"
},
"runtimeId": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"owner": {
"type": "string",
"minLength": 1
},
"incubation": {
"type": "object",
"required": [
"ownerRepo",
"currentHostRepo",
"splitTarget",
"graduationTrigger"
],
"properties": {
"ownerRepo": {
"type": "string",
"minLength": 1
},
"currentHostRepo": {
"type": "string",
"minLength": 1
},
"splitTarget": {
"type": "string",
"minLength": 1
},
"graduationTrigger": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": true
},
"supportedFeatures": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"supportedPlugins": {
"type": "array",
"items": {
"type": "object",
"required": [
"pluginId",
"capabilities"
],
"properties": {
"pluginId": {
"type": "string",
"minLength": 1
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"additionalProperties": true
}
},
"unsupportedPlugins": {
"type": "array",
"items": {
"type": "object",
"required": [
"pluginId",
"reason"
],
"properties": {
"pluginId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": true
}
},
"commandTransport": {
"type": "object",
"required": [
"schema"
],
"properties": {
"schema": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": true
},
"worldSurfaceLowering": {
"type": "array",
"items": {
"type": "object",
"required": [
"targetId",
"surfaceKinds",
"projectionKinds",
"supportLevel",
"ownership"
],
"properties": {
"targetId": {
"type": "string",
"minLength": 1
},
"surfaceKinds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"projectionKinds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"supportLevel": {
"type": "string",
"minLength": 1
},
"ownership": {
"type": "string",
"minLength": 1
},
"evidencePaths": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"additionalProperties": true
}
},
"lifecycle": {
"type": "object",
"required": [
"release",
"test",
"capture"
],
"properties": {
"release": {
"type": "object",
"required": [
"ownerRepo",
"status",
"evidencePaths"
],
"properties": {
"ownerRepo": {
"type": "string",
"minLength": 1
},
"status": {
"type": "string",
"minLength": 1
},
"command": {
"type": "string"
},
"releaseContract": {
"type": "object",
"required": [
"ownerRepo",
"packageName",
"packageRoot",
"versionSource",
"tagPattern",
"artifactKind",
"requestSchema",
"requestBuilder",
"artifactPattern",
"publishProof"
],
"properties": {
"ownerRepo": {
"type": "string",
"minLength": 1
},
"packageName": {
"type": "string",
"minLength": 1
},
"packageRoot": {
"type": "string",
"minLength": 1
},
"versionSource": {
"type": "string",
"minLength": 1
},
"tagPattern": {
"type": "string",
"minLength": 1
},
"artifactKind": {
"type": "string",
"minLength": 1
},
"requestSchema": {
"type": "string",
"minLength": 1
},
"requestBuilder": {
"type": "string",
"minLength": 1
},
"artifactBuilder": {
"type": "string",
"minLength": 1
},
"artifactPattern": {
"type": "string",
"minLength": 1
},
"publishProof": {
"type": "string",
"minLength": 1
},
"requiredPackageDependencies": {
"type": "array",
"items": {
"type": "object",
"required": [
"packageName",
"version",
"packageManager",
"ownerRepo"
],
"properties": {
"packageName": {
"type": "string",
"minLength": 1
},
"version": {
"type": "string",
"minLength": 1
},
"packageManager": {
"type": "string",
"minLength": 1
},
"ownerRepo": {
"type": "string",
"minLength": 1
},
"purpose": {
"type": "string"
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
},
"evidencePaths": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"pendingProofs": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"additionalProperties": true
},
"test": {
"type": "object",
"required": [
"ownerRepo",
"status",
"evidencePaths"
],
"properties": {
"ownerRepo": {
"type": "string",
"minLength": 1
},
"status": {
"type": "string",
"minLength": 1
},
"command": {
"type": "string"
},
"testContract": {
"type": "object",
"required": [
"ownerRepo",
"runnerKind",
"runnerScript",
"consumerProject",
"packageName",
"testAssembly",
"testPlatform",
"resultsArtifact",
"logArtifact",
"manifestMutation"
],
"properties": {
"ownerRepo": {
"type": "string",
"minLength": 1
},
"runnerKind": {
"type": "string",
"minLength": 1
},
"runnerScript": {
"type": "string",
"minLength": 1
},
"consumerProject": {
"type": "string",
"minLength": 1
},
"unityExeDefault": {
"type": "string",
"minLength": 1
},
"packageName": {
"type": "string",
"minLength": 1
},
"testAssembly": {
"type": "string",
"minLength": 1
},
"testPlatform": {
"type": "string",
"minLength": 1
},
"resultsArtifact": {
"type": "string",
"minLength": 1
},
"logArtifact": {
"type": "string",
"minLength": 1
},
"manifestMutation": {
"type": "string",
"minLength": 1
},
"managedAssemblyDependencies": {
"type": "array",
"items": {
"type": "object",
"required": [
"assemblyName",
"packageId",
"packageManager",
"ownerRepo",
"resolutionMode",
"dependencyContract"
],
"properties": {
"assemblyName": {
"type": "string",
"minLength": 1
},
"packageId": {
"type": "string",
"minLength": 1
},
"packageManager": {
"type": "string",
"minLength": 1
},
"ownerRepo": {
"type": "string",
"minLength": 1
},
"resolutionMode": {
"type": "string",
"minLength": 1
},
"dependencyContract": {
"type": "object",
"required": [
"sourceAuthority",
"packageSource",
"packageId",
"assemblyName",
"versionPolicy",
"unityResolution",
"handoffRequirement"
],
"properties": {
"sourceAuthority": {
"type": "string",
"minLength": 1
},
"packageSource": {
"type": "string",
"minLength": 1
},
"packageId": {
"type": "string",
"minLength": 1
},
"assemblyName": {
"type": "string",
"minLength": 1
},
"versionPolicy": {
"type": "string",
"minLength": 1
},
"unityResolution": {
"type": "string",
"minLength": 1
},
"handoffRequirement": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": true
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
},
"evidencePaths": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"pendingProofs": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"additionalProperties": true
},
"capture": {
"type": "object",
"required": [
"ownerRepo",
"status",
"evidencePaths"
],
"properties": {
"ownerRepo": {
"type": "string",
"minLength": 1
},
"status": {
"type": "string",
"minLength": 1
},
"command": {
"type": "string"
},
"captureContract": {
"type": "object",
"required": [
"ownerRepo",
"runtimeId",
"targetId",
"requestSchema",
"requestBuilder",
"advertisementPath",
"captureKind",
"artifactKind",
"artifactPattern",
"conformanceAttachment",
"requiredProvider",
"requiredSurface",
"authority",
"publishProof"
],
"properties": {
"ownerRepo": {
"type": "string",
"minLength": 1
},
"runtimeId": {
"type": "string",
"minLength": 1
},
"targetId": {
"type": "string",
"minLength": 1
},
"requestSchema": {
"type": "string",
"minLength": 1
},
"requestBuilder": {
"type": "string",
"minLength": 1
},
"advertisementPath": {
"type": "string",
"minLength": 1
},
"captureKind": {
"type": "string",
"minLength": 1
},
"artifactKind": {
"type": "string",
"minLength": 1
},
"artifactPattern": {
"type": "string",
"minLength": 1
},
"conformanceAttachment": {
"type": "string",
"minLength": 1
},
"requiredProvider": {
"type": "string",
"minLength": 1
},
"requiredSurface": {
"type": "string",
"minLength": 1
},
"additionalProviderSurfaces": {
"type": "array",
"items": {
"type": "object",
"required": ["providerId", "surfaceId"],
"properties": {
"providerId": {
"type": "string",
"minLength": 1
},
"surfaceId": {
"type": "string",
"minLength": 1
},
"purpose": {
"type": "string"
}
},
"additionalProperties": true
}
},
"authority": {
"type": "string",
"minLength": 1
},
"publishProof": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": true
},
"evidencePaths": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"pendingProofs": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"additionalProperties": true
}
},
"additionalProperties": true
},
"capture": {
"type": "object",
"properties": {
"status": {
"type": "string",
"minLength": 1
},
"note": {
"type": "string"
},
"artifacts": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"schema",
"path",
"providerId",
"surfaceId"
],
"properties": {
"kind": {
"type": "string",
"minLength": 1
},
"schema": {
"type": "string",
"minLength": 1
},
"path": {
"type": "string",
"minLength": 1
},
"providerId": {
"type": "string",
"minLength": 1
},
"surfaceId": {
"type": "string",
"minLength": 1
},
"sourceSurfacePath": {
"type": "string"
},
"requestPath": {
"type": "string"
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
}
},
"additionalProperties": true
}