"use strict";
/*
 * Generated from the canonical Day Shift automation protocol schema.
 * Source: schemas/automation/v1/catalog.json
 * Do not edit this file directly.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.AUTOMATION_PROTOCOL_SCHEMAS = void 0;
exports.AUTOMATION_PROTOCOL_SCHEMAS = [
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v1/action.schema.json",
        "title": "Automation Action",
        "oneOf": [
            {
                "title": "Legacy read action",
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "kind",
                    "command",
                    "arguments",
                    "writeCapable"
                ],
                "properties": {
                    "kind": {
                        "const": "read"
                    },
                    "command": {
                        "type": "string",
                        "minLength": 1
                    },
                    "arguments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "writeCapable": {
                        "const": false
                    },
                    "expectedEffect": {
                        "type": "string",
                        "minLength": 1
                    }
                }
            },
            {
                "title": "Legacy write action",
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "kind",
                    "command",
                    "arguments",
                    "writeCapable",
                    "confirmationRequired",
                    "expectedEffect"
                ],
                "properties": {
                    "kind": {
                        "const": "write"
                    },
                    "command": {
                        "type": "string",
                        "minLength": 1
                    },
                    "arguments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "writeCapable": {
                        "const": true
                    },
                    "confirmationRequired": {
                        "type": "boolean"
                    },
                    "expectedEffect": {
                        "type": "string",
                        "minLength": 1
                    }
                }
            },
            {
                "title": "Executable workflow action",
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "callable",
                    "command",
                    "argv",
                    "writeCapable",
                    "effects",
                    "authorization",
                    "confirmation",
                    "selectionRequired",
                    "idempotency",
                    "preconditions",
                    "transition"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(?:[.:_-][a-z0-9]+)*$"
                    },
                    "callable": {
                        "const": true
                    },
                    "command": {
                        "type": "string",
                        "minLength": 1
                    },
                    "argv": {
                        "type": "array",
                        "minItems": 2,
                        "items": {
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    "writeCapable": {
                        "type": "boolean"
                    },
                    "effects": {
                        "$ref": "#/$defs/effects"
                    },
                    "authorization": {
                        "enum": [
                            "read",
                            "workspace-write",
                            "host-write"
                        ]
                    },
                    "confirmation": {
                        "enum": [
                            "none",
                            "explicit-command"
                        ]
                    },
                    "selectionRequired": {
                        "type": "boolean"
                    },
                    "idempotency": {
                        "enum": [
                            "idempotent",
                            "operation-defined"
                        ]
                    },
                    "preconditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/$defs/evaluatedPrecondition"
                        }
                    },
                    "transition": {
                        "$ref": "#/$defs/transition"
                    }
                }
            },
            {
                "title": "Non-callable workflow guidance",
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "callable",
                    "command",
                    "argv",
                    "writeCapable",
                    "effects",
                    "authorization",
                    "confirmation",
                    "selectionRequired",
                    "idempotency",
                    "preconditions",
                    "transition",
                    "nonCallableReason"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(?:[.:_-][a-z0-9]+)*$"
                    },
                    "callable": {
                        "const": false
                    },
                    "command": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "argv": {
                        "type": "null"
                    },
                    "writeCapable": {
                        "type": "null"
                    },
                    "effects": {
                        "type": "null"
                    },
                    "authorization": {
                        "type": "null"
                    },
                    "confirmation": {
                        "type": "null"
                    },
                    "selectionRequired": {
                        "type": "null"
                    },
                    "idempotency": {
                        "type": "null"
                    },
                    "preconditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/$defs/evaluatedPrecondition"
                        }
                    },
                    "transition": {
                        "$ref": "#/$defs/transition"
                    },
                    "nonCallableReason": {
                        "type": "string",
                        "minLength": 1
                    }
                }
            }
        ],
        "$defs": {
            "effects": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "filesystem",
                    "scope",
                    "network",
                    "hostState",
                    "destructive",
                    "interactive"
                ],
                "properties": {
                    "filesystem": {
                        "enum": [
                            "none",
                            "read",
                            "write"
                        ]
                    },
                    "scope": {
                        "type": "string",
                        "minLength": 1
                    },
                    "network": {
                        "enum": [
                            "none",
                            "optional",
                            "required"
                        ]
                    },
                    "hostState": {
                        "enum": [
                            "none",
                            "read",
                            "write"
                        ]
                    },
                    "destructive": {
                        "type": "boolean"
                    },
                    "interactive": {
                        "type": "boolean"
                    }
                }
            },
            "evaluatedPrecondition": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "description",
                    "status",
                    "expected",
                    "observed"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(?:[.:_-][a-z0-9]+)*$"
                    },
                    "description": {
                        "type": "string",
                        "minLength": 1
                    },
                    "status": {
                        "enum": [
                            "satisfied",
                            "blocked"
                        ]
                    },
                    "expected": {
                        "type": "string",
                        "minLength": 1
                    },
                    "observed": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "transition": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "kind",
                    "expectedPostconditions"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(?:[.:_-][a-z0-9]+)*$"
                    },
                    "kind": {
                        "type": "string",
                        "minLength": 1
                    },
                    "expectedPostconditions": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "id",
                                "description"
                            ],
                            "properties": {
                                "id": {
                                    "type": "string",
                                    "pattern": "^[a-z0-9]+(?:[.:_-][a-z0-9]+)*$"
                                },
                                "description": {
                                    "type": "string",
                                    "minLength": 1
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v1/artifact-document.schema.json",
        "title": "Artifact Document",
        "type": "object",
        "additionalProperties": false,
        "required": [
            "path",
            "artifactType",
            "metadata",
            "sections",
            "diagnostics",
            "contentHash"
        ],
        "properties": {
            "path": {
                "type": "string",
                "minLength": 1
            },
            "artifactType": {
                "type": "string",
                "minLength": 1
            },
            "metadata": {
                "type": "array",
                "items": {
                    "$ref": "#/$defs/metadataEntry"
                }
            },
            "sections": {
                "type": "array",
                "items": {
                    "$ref": "#/$defs/section"
                }
            },
            "diagnostics": {
                "type": "array",
                "items": {
                    "$ref": "#/$defs/diagnostic"
                }
            },
            "contentHash": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
            }
        },
        "$defs": {
            "metadataEntry": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "key",
                    "value"
                ],
                "properties": {
                    "key": {
                        "type": "string",
                        "minLength": 1
                    },
                    "value": {}
                }
            },
            "section": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "heading",
                    "content",
                    "children"
                ],
                "properties": {
                    "heading": {
                        "type": "string",
                        "minLength": 1
                    },
                    "content": {
                        "type": "string"
                    },
                    "children": {
                        "type": "array",
                        "items": {
                            "$ref": "#/$defs/section"
                        }
                    }
                }
            },
            "diagnostic": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "severity",
                    "message",
                    "line",
                    "column"
                ],
                "properties": {
                    "severity": {
                        "enum": [
                            "informational",
                            "warning",
                            "error"
                        ]
                    },
                    "message": {
                        "type": "string",
                        "minLength": 1
                    },
                    "line": {
                        "type": "integer",
                        "minimum": 1
                    },
                    "column": {
                        "type": "integer",
                        "minimum": 1
                    }
                }
            }
        }
    },
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v1/cursor.schema.json",
        "title": "Pagination Cursor",
        "type": "object",
        "additionalProperties": false,
        "required": [
            "protocolVersion",
            "command",
            "scope",
            "lane",
            "snapshot",
            "offset",
            "pageSize"
        ],
        "properties": {
            "protocolVersion": {
                "const": 1
            },
            "command": {
                "type": "string",
                "minLength": 1
            },
            "scope": {
                "type": "string",
                "pattern": "^sha256:[a-f0-9]{64}$"
            },
            "lane": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
            },
            "snapshot": {
                "type": "string",
                "pattern": "^sha256:[a-f0-9]{64}$"
            },
            "offset": {
                "type": "integer",
                "minimum": 0
            },
            "pageSize": {
                "type": "integer",
                "minimum": 1
            }
        }
    },
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v1/envelope.schema.json",
        "title": "Automation Envelope",
        "oneOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "protocolVersion",
                    "status",
                    "command",
                    "data",
                    "output",
                    "findings"
                ],
                "properties": {
                    "protocolVersion": {
                        "const": 1
                    },
                    "status": {
                        "const": "ok"
                    },
                    "command": {
                        "type": "string",
                        "minLength": 1
                    },
                    "data": {},
                    "output": {
                        "$ref": "output-metadata.schema.json"
                    },
                    "findings": {
                        "type": "array",
                        "items": {
                            "$ref": "validation-finding.schema.json"
                        }
                    }
                }
            },
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "protocolVersion",
                    "status",
                    "command",
                    "output",
                    "error"
                ],
                "properties": {
                    "protocolVersion": {
                        "const": 1
                    },
                    "status": {
                        "const": "error"
                    },
                    "command": {
                        "type": "string",
                        "minLength": 1
                    },
                    "output": {
                        "$ref": "output-metadata.schema.json"
                    },
                    "error": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "code",
                            "message",
                            "category",
                            "exitClassification",
                            "exitCode",
                            "retryable",
                            "writeOutcome",
                            "recoveryActions",
                            "details",
                            "findings"
                        ],
                        "properties": {
                            "code": {
                                "type": "string",
                                "minLength": 1
                            },
                            "message": {
                                "type": "string",
                                "minLength": 1
                            },
                            "category": {
                                "enum": [
                                    "invalid-input",
                                    "stale-evidence",
                                    "concurrency-conflict",
                                    "unavailable-dependency",
                                    "permission-failure",
                                    "partial-mutation",
                                    "unsupported-capability",
                                    "unexpected-internal-failure"
                                ]
                            },
                            "exitClassification": {
                                "enum": [
                                    "error",
                                    "usage",
                                    "unexpected",
                                    "invalid-config",
                                    "stale-evidence",
                                    "concurrency-conflict",
                                    "unavailable-dependency",
                                    "permission-failure",
                                    "partial-mutation",
                                    "unsupported-capability"
                                ]
                            },
                            "exitCode": {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 11
                            },
                            "retryable": {
                                "type": "boolean"
                            },
                            "writeOutcome": {
                                "enum": [
                                    "no-writes",
                                    "complete",
                                    "rolled-back",
                                    "partial"
                                ]
                            },
                            "recoveryActions": {
                                "type": "array",
                                "maxItems": 8,
                                "items": {
                                    "$ref": "recovery-action.schema.json"
                                }
                            },
                            "details": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "findings": {
                                "type": "array",
                                "items": {
                                    "$ref": "validation-finding.schema.json"
                                }
                            }
                        }
                    },
                    "data": {}
                }
            }
        ]
    },
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v1/feature-manifest.schema.json",
        "title": "Automation Protocol Feature Manifest",
        "type": "object",
        "additionalProperties": false,
        "required": [
            "currentVersion",
            "minimumSupportedVersion",
            "maximumSupportedVersion",
            "features",
            "deprecations"
        ],
        "properties": {
            "currentVersion": {
                "const": 1
            },
            "minimumSupportedVersion": {
                "const": 1
            },
            "maximumSupportedVersion": {
                "const": 1
            },
            "features": {
                "type": "array",
                "uniqueItems": true,
                "items": {
                    "enum": [
                        "detail-grouping-filter-controls",
                        "full-detail-json-envelopes",
                        "output-budgets",
                        "pagination",
                        "protocol-feature-discovery",
                        "typed-terminal-failures",
                        "workflow-actions"
                    ]
                }
            },
            "deprecations": {
                "type": "array",
                "items": {
                    "$ref": "#/$defs/deprecation"
                }
            }
        },
        "$defs": {
            "deprecation": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "field",
                    "deprecatedIn",
                    "removalProtocolVersion",
                    "replacement"
                ],
                "properties": {
                    "field": {
                        "type": "string",
                        "minLength": 1
                    },
                    "deprecatedIn": {
                        "const": 1
                    },
                    "removalProtocolVersion": {
                        "type": "integer",
                        "minimum": 2
                    },
                    "replacement": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            }
        }
    },
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v1/output-metadata.schema.json",
        "title": "Output Metadata",
        "type": "object",
        "additionalProperties": false,
        "required": [
            "detail",
            "complete",
            "truncated",
            "lanes",
            "findingGroups"
        ],
        "properties": {
            "detail": {
                "enum": [
                    "compact",
                    "summary",
                    "full"
                ]
            },
            "complete": {
                "type": "boolean"
            },
            "truncated": {
                "type": "boolean"
            },
            "lanes": {
                "type": "object",
                "additionalProperties": {
                    "$ref": "#/$defs/lane"
                }
            },
            "findingGroups": {
                "type": "array",
                "items": {
                    "$ref": "#/$defs/findingGroup"
                }
            },
            "page": {
                "$ref": "#/$defs/page"
            },
            "budget": {
                "$ref": "#/$defs/budget"
            }
        },
        "$defs": {
            "lane": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "originalCount",
                    "returnedCount",
                    "omittedCount",
                    "complete"
                ],
                "properties": {
                    "originalCount": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "returnedCount": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "omittedCount": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "complete": {
                        "type": "boolean"
                    }
                }
            },
            "findingGroup": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "code",
                    "severity",
                    "count"
                ],
                "properties": {
                    "code": {
                        "type": "string",
                        "minLength": 1
                    },
                    "severity": {
                        "enum": [
                            "informational",
                            "warning",
                            "error"
                        ]
                    },
                    "count": {
                        "type": "integer",
                        "minimum": 1
                    }
                }
            },
            "page": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "lane",
                    "snapshot",
                    "recordIds",
                    "startOffset",
                    "endOffset",
                    "pageSize",
                    "nextCursor"
                ],
                "properties": {
                    "lane": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
                    },
                    "snapshot": {
                        "type": "string",
                        "pattern": "^sha256:[a-f0-9]{64}$"
                    },
                    "recordIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startOffset": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "endOffset": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "pageSize": {
                        "type": "integer",
                        "minimum": 1
                    },
                    "nextCursor": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "pattern": "^[A-Za-z0-9_-]+$"
                    }
                }
            },
            "budget": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "byteBudget",
                    "renderedBytes",
                    "serialization",
                    "strategy",
                    "recovery"
                ],
                "properties": {
                    "byteBudget": {
                        "type": "integer",
                        "minimum": 2048
                    },
                    "renderedBytes": {
                        "type": "integer",
                        "minimum": 1
                    },
                    "serialization": {
                        "enum": [
                            "compact",
                            "pretty"
                        ]
                    },
                    "strategy": {
                        "enum": [
                            "within-budget",
                            "bounded-summary",
                            "minimal-fallback"
                        ]
                    },
                    "recovery": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1
                        }
                    }
                }
            }
        }
    },
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v1/recovery-action.schema.json",
        "title": "Recovery Action",
        "oneOf": [
            {
                "$ref": "#/$defs/callableRecovery"
            },
            {
                "$ref": "#/$defs/nonCallableRecovery"
            }
        ],
        "$defs": {
            "baseProperties": {
                "type": "object",
                "additionalProperties": false
            },
            "callableRecovery": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "callable",
                    "explanation",
                    "command",
                    "argv",
                    "writeCapable",
                    "effects",
                    "authorization",
                    "confirmation",
                    "selectionRequired",
                    "idempotency",
                    "preconditions",
                    "transition"
                ],
                "properties": {
                    "id": {
                        "$ref": "#/$defs/identifier"
                    },
                    "callable": {
                        "const": true
                    },
                    "explanation": {
                        "type": "string",
                        "minLength": 1
                    },
                    "command": {
                        "type": "string",
                        "minLength": 1
                    },
                    "argv": {
                        "type": "array",
                        "minItems": 2,
                        "items": {
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    "writeCapable": {
                        "type": "boolean"
                    },
                    "effects": {
                        "$ref": "#/$defs/effects"
                    },
                    "authorization": {
                        "enum": [
                            "read",
                            "workspace-write",
                            "host-write"
                        ]
                    },
                    "confirmation": {
                        "enum": [
                            "none",
                            "explicit-command"
                        ]
                    },
                    "selectionRequired": {
                        "type": "boolean"
                    },
                    "idempotency": {
                        "enum": [
                            "idempotent",
                            "operation-defined"
                        ]
                    },
                    "preconditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/$defs/evaluatedPrecondition"
                        }
                    },
                    "transition": {
                        "$ref": "#/$defs/transition"
                    }
                }
            },
            "nonCallableRecovery": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "callable",
                    "explanation",
                    "command",
                    "argv",
                    "writeCapable",
                    "effects",
                    "authorization",
                    "confirmation",
                    "selectionRequired",
                    "idempotency",
                    "preconditions",
                    "transition",
                    "nonCallableReason"
                ],
                "properties": {
                    "id": {
                        "$ref": "#/$defs/identifier"
                    },
                    "callable": {
                        "const": false
                    },
                    "explanation": {
                        "type": "string",
                        "minLength": 1
                    },
                    "command": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "argv": {
                        "type": "null"
                    },
                    "writeCapable": {
                        "type": "null"
                    },
                    "effects": {
                        "type": "null"
                    },
                    "authorization": {
                        "type": "null"
                    },
                    "confirmation": {
                        "type": "null"
                    },
                    "selectionRequired": {
                        "type": "null"
                    },
                    "idempotency": {
                        "type": "null"
                    },
                    "preconditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/$defs/evaluatedPrecondition"
                        }
                    },
                    "transition": {
                        "$ref": "#/$defs/transition"
                    },
                    "nonCallableReason": {
                        "type": "string",
                        "minLength": 1
                    }
                }
            },
            "identifier": {
                "type": "string",
                "pattern": "^[a-z0-9]+(?:[.:_-][a-z0-9]+)*$"
            },
            "effects": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "filesystem",
                    "scope",
                    "network",
                    "hostState",
                    "destructive",
                    "interactive"
                ],
                "properties": {
                    "filesystem": {
                        "enum": [
                            "none",
                            "read",
                            "write"
                        ]
                    },
                    "scope": {
                        "type": "string",
                        "minLength": 1
                    },
                    "network": {
                        "enum": [
                            "none",
                            "optional",
                            "required"
                        ]
                    },
                    "hostState": {
                        "enum": [
                            "none",
                            "read",
                            "write"
                        ]
                    },
                    "destructive": {
                        "type": "boolean"
                    },
                    "interactive": {
                        "type": "boolean"
                    }
                }
            },
            "evaluatedPrecondition": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "description",
                    "status",
                    "expected",
                    "observed"
                ],
                "properties": {
                    "id": {
                        "$ref": "#/$defs/identifier"
                    },
                    "description": {
                        "type": "string",
                        "minLength": 1
                    },
                    "status": {
                        "enum": [
                            "satisfied",
                            "blocked"
                        ]
                    },
                    "expected": {
                        "type": "string",
                        "minLength": 1
                    },
                    "observed": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "transition": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "kind",
                    "expectedPostconditions"
                ],
                "properties": {
                    "id": {
                        "$ref": "#/$defs/identifier"
                    },
                    "kind": {
                        "type": "string",
                        "minLength": 1
                    },
                    "expectedPostconditions": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "id",
                                "description"
                            ],
                            "properties": {
                                "id": {
                                    "$ref": "#/$defs/identifier"
                                },
                                "description": {
                                    "type": "string",
                                    "minLength": 1
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v1/validation-finding.schema.json",
        "title": "Validation Finding",
        "type": "object",
        "additionalProperties": false,
        "required": [
            "code",
            "severity",
            "message"
        ],
        "properties": {
            "id": {
                "type": "string",
                "minLength": 1
            },
            "code": {
                "type": "string",
                "minLength": 1
            },
            "level": {
                "enum": [
                    "informational",
                    "warning",
                    "error"
                ]
            },
            "severity": {
                "enum": [
                    "informational",
                    "warning",
                    "error"
                ]
            },
            "summary": {
                "type": "string",
                "minLength": 1
            },
            "message": {
                "type": "string",
                "minLength": 1
            },
            "detail": {
                "type": "string"
            },
            "path": {
                "type": "string"
            },
            "ruleFamily": {
                "type": "string"
            },
            "artifactPath": {
                "type": "string"
            },
            "evidenceSource": {
                "type": "string"
            },
            "reason": {
                "type": "string"
            },
            "noWriteBoundary": {
                "type": [
                    "string",
                    "boolean"
                ]
            },
            "recommendedCommand": {
                "type": "string"
            },
            "affectedPaths": {
                "type": "array",
                "items": {}
            },
            "artifacts": {
                "type": "array",
                "items": {}
            },
            "recovery": {},
            "evidence": {}
        }
    }
];
