ariadne/contracts/execution-failure/v1/schema.json
2026-07-24 05:45:04 +09:00

103 lines
2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://git.toki-labs.com/toki/ariadne/contracts/execution-failure/v1/schema.json",
"title": "Ariadne execution failure",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"code",
"stage",
"message",
"user_message",
"retryable",
"occurred_at",
"causes"
],
"properties": {
"schema_version": {
"const": "ariadne.execution-failure.v1"
},
"code": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{2,99}$"
},
"stage": {
"$ref": "#/$defs/stage"
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"user_message": {
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"retryable": {
"type": "boolean"
},
"occurred_at": {
"type": "string",
"format": "date-time"
},
"details_reference": {
"type": "string",
"maxLength": 1000
},
"causes": {
"type": "array",
"maxItems": 32,
"items": {
"$ref": "#/$defs/cause"
}
}
},
"$defs": {
"stage": {
"type": "string",
"enum": [
"ingestion",
"correlation",
"target_selection",
"repository_analysis",
"runtime_analysis",
"translation",
"iop_submission",
"iop_execution",
"change",
"validation",
"merge_request"
]
},
"cause": {
"type": "object",
"additionalProperties": false,
"required": [
"code",
"stage",
"message",
"retryable"
],
"properties": {
"code": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{2,99}$"
},
"stage": {
"$ref": "#/$defs/stage"
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"retryable": {
"type": "boolean"
}
}
}
}
}