689 lines
19 KiB
JSON
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
|
|
}
|