ghidra-cli/schemas/v1/error.schema.json
2026-07-28 19:49:43 +00:00

241 lines
7.1 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ErrorEnvelope",
"description": "Versioned failure document.",
"type": "object",
"properties": {
"error": {
"description": "Typed failure body.",
"$ref": "#/$defs/ErrorBody"
},
"kind": {
"description": "Always `error`.",
"$ref": "#/$defs/ErrorKind"
},
"schema_version": {
"type": "integer",
"const": 1
}
},
"required": [
"schema_version",
"kind",
"error"
],
"$defs": {
"ErrorBody": {
"description": "Stable public error body.",
"type": "object",
"properties": {
"code": {
"description": "Stable machine identifier.",
"$ref": "#/$defs/ErrorCode"
},
"details": {
"description": "Code-specific structured context, always an object.",
"type": "object",
"additionalProperties": true
},
"message": {
"description": "Concise context that is not a control-flow interface.",
"type": "string"
},
"retryable": {
"description": "Whether the same logical request might later succeed unchanged.",
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable",
"details"
]
},
"ErrorCode": {
"description": "Stable machine-readable error taxonomy available in the foundation.",
"oneOf": [
{
"description": "Command-line syntax or validation failed.",
"type": "string",
"const": "invalid_arguments"
},
{
"description": "The caller's Sample path does not exist.",
"type": "string",
"const": "sample_not_found"
},
{
"description": "The caller's Sample cannot be read.",
"type": "string",
"const": "sample_unreadable"
},
{
"description": "The opened Sample is not a regular file.",
"type": "string",
"const": "invalid_sample_type"
},
{
"description": "The Sample exceeded the selected byte ceiling.",
"type": "string",
"const": "sample_too_large"
},
{
"description": "Source metadata changed while snapshotting.",
"type": "string",
"const": "sample_changed"
},
{
"description": "The Analysis Store lacks the required free-space reserve.",
"type": "string",
"const": "insufficient_store_space"
},
{
"description": "Ghidra could not recognize a Target Specification.",
"type": "string",
"const": "unsupported_target"
},
{
"description": "Ghidra found multiple Target Specification candidates.",
"type": "string",
"const": "ambiguous_target"
},
{
"description": "Ghidra is not installed.",
"type": "string",
"const": "ghidra_missing"
},
{
"description": "The installed Ghidra version is incompatible.",
"type": "string",
"const": "ghidra_incompatible"
},
{
"description": "Java is not installed.",
"type": "string",
"const": "java_missing"
},
{
"description": "The installed Java version is incompatible.",
"type": "string",
"const": "java_incompatible"
},
{
"description": "A later integration layer has not connected execution yet.",
"type": "string",
"const": "internal_not_implemented"
},
{
"description": "Rust/Java request or response validation failed.",
"type": "string",
"const": "protocol_violation"
},
{
"description": "The child exceeded a native or watchdog timeout.",
"type": "string",
"const": "timeout"
},
{
"description": "Native auto-analysis timed out.",
"type": "string",
"const": "analysis_timeout"
},
{
"description": "Ghidra auto-analysis failed.",
"type": "string",
"const": "analysis_failed"
},
{
"description": "Native Function decompilation timed out.",
"type": "string",
"const": "decompile_timeout"
},
{
"description": "Ghidra Function decompilation failed.",
"type": "string",
"const": "decompilation_failed"
},
{
"description": "The caller interrupted the operation.",
"type": "string",
"const": "interrupted"
},
{
"description": "The adapter could not serialize a bounded response.",
"type": "string",
"const": "result_too_large"
},
{
"description": "The success descriptor cannot fit the requested inline budget.",
"type": "string",
"const": "inline_budget_too_small"
},
{
"description": "Store-wide cleanup lacks explicit confirmation.",
"type": "string",
"const": "confirmation_required"
},
{
"description": "Another process holds the selected Analysis lock.",
"type": "string",
"const": "analysis_busy"
},
{
"description": "Stored Analysis validation failed and recovery did not succeed.",
"type": "string",
"const": "corrupt_analysis"
},
{
"description": "A cleanup transaction requires a recoverable retry.",
"type": "string",
"const": "cleanup_incomplete"
},
{
"description": "The resolved Analysis Store path is invalid.",
"type": "string",
"const": "invalid_store_path"
},
{
"description": "A Function Selector resolved to no Function.",
"type": "string",
"const": "function_not_found"
},
{
"description": "A Function Selector resolved to multiple Functions.",
"type": "string",
"const": "function_selector_ambiguous"
},
{
"description": "An Address is not a Function entry.",
"type": "string",
"const": "function_entry_required"
},
{
"description": "Ghidra does not contain the requested address space.",
"type": "string",
"const": "address_space_not_found"
},
{
"description": "Installation diagnosis found an unusable component.",
"type": "string",
"const": "doctor_failed"
},
{
"description": "A general runtime or integration failure.",
"type": "string",
"const": "internal"
}
]
},
"ErrorKind": {
"description": "Error envelope discriminator.",
"oneOf": [
{
"description": "A failed invocation.",
"type": "string",
"const": "error"
}
]
}
}
}