{ "$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": "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" } ] } } }