216 lines
6.4 KiB
TypeScript
216 lines
6.4 KiB
TypeScript
export type ErrorSeverity = "info" | "warning" | "error" | "fatal";
|
|
|
|
export type ErrorCode =
|
|
| "CAPABILITY_MISSING"
|
|
| "PROTOCOL_MISMATCH"
|
|
| "REVISION_CONFLICT"
|
|
| "INVALID_ARGUMENT"
|
|
| "WASM_INIT_FAILED"
|
|
| "WASM_OUT_OF_MEMORY"
|
|
| "BLEND_READ_FAILED"
|
|
| "OPEN_CANCELLED"
|
|
| "BLEND_WRITE_FAILED"
|
|
| "STORAGE_QUOTA"
|
|
| "STORAGE_TRANSACTION"
|
|
| "WORKER_TERMINATED"
|
|
| "TASK_VALIDATION_FAILED"
|
|
| "LINKED_DATA_MUTATION_BLOCKED"
|
|
| "SCULPT_MESH_NOT_SINGLE_USER"
|
|
| "SCULPT_TOPOLOGY_UNSUPPORTED"
|
|
| "SCULPT_STROKE_BUDGET_EXCEEDED"
|
|
| "SCULPT_ATTRIBUTE_INVALID"
|
|
| "GN_INVALID_GRAPH"
|
|
| "GN_GRAPH_BUDGET_EXCEEDED"
|
|
| "GN_FIELD_BUDGET_EXCEEDED"
|
|
| "GN_FIELD_JSON_BUDGET_EXCEEDED"
|
|
| "GN_DOMAIN_CARDINALITY_MISMATCH"
|
|
| "GN_NODE_UNSUPPORTED"
|
|
| "GN_SOCKET_TYPE_MISMATCH"
|
|
| "GN_GROUP_RECURSION"
|
|
| "GN_EXTERNAL_RESOURCE_MISSING"
|
|
| "GN_DEPENDENCY_CYCLE"
|
|
| "GEOMETRY_NODES_SIMULATION_UNAVAILABLE"
|
|
| "SIMULATION_CACHE_INVALID"
|
|
| "SIMULATION_CACHE_MISSING"
|
|
| "SIMULATION_CACHE_HASH_MISMATCH"
|
|
| "SIMULATION_CACHE_REVISION_MISMATCH"
|
|
| "SIMULATION_CACHE_NOT_READY"
|
|
| "SIMULATION_CACHE_CANCELLED"
|
|
| "SIMULATION_CACHE_BUDGET_EXCEEDED"
|
|
| "SHADER_NODE_UNSUPPORTED"
|
|
| "SHADER_INVALID_GRAPH"
|
|
| "SHADER_GRAPH_CYCLE"
|
|
| "SHADER_SOCKET_TYPE_MISMATCH"
|
|
| "SHADER_EXTERNAL_RESOURCE_MISSING"
|
|
| "GPU_TEXTURE_INVALID"
|
|
| "GPU_TEXTURE_HASH_MISMATCH"
|
|
| "GPU_TEXTURE_BUDGET_EXCEEDED"
|
|
| "GPU_LIGHT_BUDGET_EXCEEDED"
|
|
| "GPU_SHADOW_BUDGET_EXCEEDED"
|
|
| "GPU_TEXTURE_DECODE_FAILED"
|
|
| "GPU_GEOMETRY_BUDGET_EXCEEDED"
|
|
| "UDIM_MANIFEST_INVALID"
|
|
| "UDIM_TILE_MISSING"
|
|
| "UDIM_MULTI_TILE_UNAVAILABLE"
|
|
| "IBL_FORMAT_UNSUPPORTED"
|
|
| "IBL_ENVIRONMENT_MISSING"
|
|
| "VOLUME_SHADER_UNAVAILABLE"
|
|
| "SUBSURFACE_SHADER_UNAVAILABLE"
|
|
| "WEBGPU_RENDERER_UNAVAILABLE"
|
|
| "POSTPROCESS_PASS_UNAVAILABLE"
|
|
| "NLA_INVALID_STACK"
|
|
| "NLA_BUDGET_EXCEEDED"
|
|
| "NLA_ACTION_MISSING"
|
|
| "NLA_PATH_INCOMPATIBLE"
|
|
| "NLA_TIME_WARP_UNSUPPORTED"
|
|
| "NLA_STRIP_UNSUPPORTED"
|
|
| "NON_MESH_DATA_UNSUPPORTED"
|
|
| "NON_MESH_DATA_BUDGET_EXCEEDED"
|
|
| "NON_MESH_PERFORMANCE_BUDGET_EXCEEDED"
|
|
| "NON_MESH_RESOURCE_MISSING"
|
|
| "NON_MESH_RESOURCE_OUTSIDE_PROJECT"
|
|
| "NON_MESH_VDB_BUDGET_EXCEEDED"
|
|
| "NON_MESH_BINARY_INVALID"
|
|
| "VDB_CONVERSION_REQUIRED"
|
|
| "VDB_CONVERTER_UNAVAILABLE"
|
|
| "VDB_CONVERSION_INVALID"
|
|
| "NANOVDB_MANIFEST_INVALID"
|
|
| "NANOVDB_HASH_MISMATCH"
|
|
| "NANOVDB_STREAM_INCOMPLETE"
|
|
| "NANOVDB_GRID_UNSUPPORTED"
|
|
| "NANOVDB_GPU_BUDGET_EXCEEDED"
|
|
| "NANOVDB_PAGE_FEEDBACK_OVERFLOW"
|
|
| "NANOVDB_PROGRESSIVE_REDRAW_LIMIT"
|
|
| "NANOVDB_GOLDEN_MISMATCH"
|
|
| "NON_MESH_DATA_SHARED"
|
|
| "NON_MESH_PROPERTY_INVALID"
|
|
| "NON_MESH_TOPOLOGY_EDIT_UNSUPPORTED"
|
|
| "SELECTION_HISTORY_INVALID"
|
|
| "SELECTION_HISTORY_BUDGET_EXCEEDED"
|
|
| "RAYCAST_HIT_INVALID"
|
|
| "SELECTION_UNDO_UNAVAILABLE"
|
|
| "GREASE_PENCIL_SCHEMA_INVALID"
|
|
| "GREASE_PENCIL_BUDGET_EXCEEDED"
|
|
| "GREASE_PENCIL_SELECTION_INVALID"
|
|
| "GREASE_PENCIL_SELECTION_SCOPE_INVALID"
|
|
| "PAINT_SCHEMA_INVALID"
|
|
| "PAINT_BUDGET_EXCEEDED"
|
|
| "PAINT_TILE_HASH_MISMATCH"
|
|
| "PAINT_PBVH_UNAVAILABLE"
|
|
| "PAINT_PBVH_CONTEXT_UNAVAILABLE"
|
|
| "PAINT_PBVH_BRUSH_UNVERIFIED"
|
|
| "PHYSICS_MANIFEST_INVALID"
|
|
| "PHYSICS_BUDGET_EXCEEDED"
|
|
| "PHYSICS_DEPENDENCY_CYCLE"
|
|
| "PHYSICS_CACHE_FRAME_MISMATCH"
|
|
| "PHYSICS_CACHE_SOURCE_MISMATCH"
|
|
| "PHYSICS_CACHE_HASH_MISMATCH"
|
|
| "PHYSICS_CACHE_PLAYBACK_UNAVAILABLE"
|
|
| "PHYSICS_SOLVER_UNAVAILABLE"
|
|
| "PHYSICS_SERVER_UNAVAILABLE"
|
|
| "RENDER_PROPERTY_INVALID"
|
|
| "RENDER_REFERENCE_MISMATCH"
|
|
| "SERVER_RENDER_REQUEST_INVALID"
|
|
| "SERVER_RENDER_SOURCE_INVALID"
|
|
| "SERVER_RENDER_SOURCE_HASH_MISMATCH"
|
|
| "SERVER_RENDER_BUILD_INVALID"
|
|
| "SERVER_RENDER_BUILD_MISMATCH"
|
|
| "SERVER_RENDER_SETTINGS_INVALID"
|
|
| "SERVER_RENDER_SETTINGS_HASH_MISMATCH"
|
|
| "SERVER_RENDER_HASH_INVALID"
|
|
| "SERVER_RENDER_REQUEST_HASH_MISMATCH"
|
|
| "SERVER_RENDER_BINDING_MISMATCH"
|
|
| "SERVER_RENDER_OUTPUT_INVALID"
|
|
| "SERVER_RENDER_OUTPUT_HASH_MISMATCH"
|
|
| "SERVER_RENDER_RESULT_INVALID"
|
|
| "SERVER_RENDER_RESULT_HASH_MISMATCH"
|
|
| "SERVER_RENDER_FAILED"
|
|
| "SERVER_RENDER_CANCELLED"
|
|
| "COMPOSITOR_GRAPH_INVALID"
|
|
| "COMPOSITOR_GRAPH_CYCLE"
|
|
| "COMPOSITOR_BUDGET_EXCEEDED"
|
|
| "COMPOSITOR_RESOURCE_MISSING"
|
|
| "COMPOSITOR_NODE_UNSUPPORTED"
|
|
| "COMPOSITOR_CANCELLED"
|
|
| "SEQUENCER_SCHEMA_INVALID"
|
|
| "SEQUENCER_BUDGET_EXCEEDED"
|
|
| "SEQUENCER_DEPENDENCY_CYCLE"
|
|
| "SEQUENCER_RESOURCE_MISSING"
|
|
| "SEQUENCER_RESOURCE_OUTSIDE_PROJECT"
|
|
| "SEQUENCER_CODEC_UNSUPPORTED"
|
|
| "SEQUENCER_CANCELLED"
|
|
| "SEQUENCER_CACHE_SOURCE_MISMATCH"
|
|
| "SEQUENCER_CACHE_CAPABILITY_MISMATCH"
|
|
| "SEQUENCER_CACHE_IDENTITY_MISMATCH"
|
|
| "SEQUENCER_CACHE_HASH_MISMATCH"
|
|
| "SEQUENCER_EXPORT_REQUEST_INVALID"
|
|
| "SEQUENCER_EXPORT_SERVER_UNAVAILABLE"
|
|
| "SEQUENCER_AUDIO_CONTEXT_INVALID"
|
|
| "SEQUENCER_AUDIO_DEVICE_UNAVAILABLE"
|
|
| "SEQUENCER_AUDIO_RESUME_FAILED"
|
|
| "SEQUENCER_AUDIO_SUSPEND_FAILED"
|
|
| "TRACKING_SCHEMA_INVALID"
|
|
| "TRACKING_BUDGET_EXCEEDED"
|
|
| "TRACKING_RESOURCE_OUTSIDE_PROJECT"
|
|
| "TRACKING_SOURCE_HASH_MISMATCH"
|
|
| "TRACKING_BINDING_MISSING"
|
|
| "TRACKING_SOLVE_UNAVAILABLE"
|
|
| "MASK_SCHEMA_INVALID"
|
|
| "ASSET_MANIFEST_INVALID"
|
|
| "ASSET_BUDGET_EXCEEDED"
|
|
| "ASSET_SOURCE_HASH_MISMATCH"
|
|
| "ASSET_LICENSE_MISSING"
|
|
| "LIBRARY_DEPENDENCY_CYCLE"
|
|
| "LIBRARY_MUTATION_UNAVAILABLE"
|
|
| "IO_FORMAT_UNSUPPORTED"
|
|
| "IO_ARCHIVE_UNSAFE"
|
|
| "IO_EXTERNAL_URI_BLOCKED"
|
|
| "EDITOR_LAYOUT_INVALID"
|
|
| "EDITOR_LAYOUT_BUDGET_EXCEEDED"
|
|
| "EDITOR_SELECTION_INVALID"
|
|
| "EDITOR_KEYMAP_INVALID"
|
|
| "EDITOR_WRITER_UNAVAILABLE"
|
|
| "EDITOR_GIZMO_UNAVAILABLE"
|
|
| "SCRIPT_MANIFEST_INVALID"
|
|
| "SCRIPT_POLICY_DENIED"
|
|
| "SCRIPT_SIGNATURE_INVALID"
|
|
| "SCRIPT_SANDBOX_UNAVAILABLE"
|
|
| "SCRIPT_BUDGET_EXCEEDED"
|
|
| "PLATFORM_CAPABILITY_UNAVAILABLE"
|
|
| "SERVER_JOB_UNAVAILABLE"
|
|
| "DRIVER_EXECUTION_BLOCKED"
|
|
| "ADDON_INSTALL_BLOCKED"
|
|
| "RELEASE_MANIFEST_INVALID"
|
|
| "RELEASE_GATE_BLOCKED"
|
|
| "RELEASE_EVIDENCE_MISSING"
|
|
| "RELEASE_DEPENDENCY_CYCLE"
|
|
| "RELEASE_TEST_CHANNEL_MISSING"
|
|
| "RELEASE_PERFORMANCE_MISSING"
|
|
| "RELEASE_FAULT_EVIDENCE_MISSING"
|
|
| "RELEASE_PROVENANCE_MISSING";
|
|
|
|
export interface ErrorReport {
|
|
code: ErrorCode;
|
|
severity: ErrorSeverity;
|
|
message: string;
|
|
detail?: string;
|
|
taskId?: string;
|
|
revision?: number;
|
|
recoverable: boolean;
|
|
cause?: string;
|
|
}
|
|
|
|
export function errorReport(
|
|
code: ErrorCode,
|
|
message: string,
|
|
options: Partial<Omit<ErrorReport, "code" | "message">> = {},
|
|
): ErrorReport {
|
|
return {
|
|
code,
|
|
message,
|
|
severity: "error",
|
|
recoverable: true,
|
|
...options,
|
|
};
|
|
}
|