"use strict";
/*
 * Generated from the canonical Day Shift automation protocol schema.
 * Source: schemas/automation/v2/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/v2/envelope.schema.json",
        "title": "Automation Envelope V2",
        "oneOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "protocolVersion",
                    "status",
                    "command",
                    "data",
                    "output",
                    "findings"
                ],
                "properties": {
                    "protocolVersion": {
                        "const": 2
                    },
                    "status": {
                        "const": "ok"
                    },
                    "command": {
                        "type": "string",
                        "minLength": 1
                    },
                    "data": {},
                    "output": {
                        "$ref": "#/$defs/output"
                    },
                    "findings": {
                        "type": "array"
                    }
                }
            },
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "protocolVersion",
                    "status",
                    "command",
                    "output",
                    "error"
                ],
                "properties": {
                    "protocolVersion": {
                        "const": 2
                    },
                    "status": {
                        "const": "error"
                    },
                    "command": {
                        "type": "string",
                        "minLength": 1
                    },
                    "output": {
                        "$ref": "#/$defs/output"
                    },
                    "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": {
                                "type": "string"
                            },
                            "exitClassification": {
                                "type": "string"
                            },
                            "exitCode": {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 11
                            },
                            "retryable": {
                                "type": "boolean"
                            },
                            "writeOutcome": {
                                "enum": [
                                    "no-writes",
                                    "complete",
                                    "rolled-back",
                                    "partial"
                                ]
                            },
                            "recoveryActions": {
                                "type": "array",
                                "maxItems": 8
                            },
                            "details": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "findings": {
                                "type": "array"
                            }
                        }
                    },
                    "data": {}
                }
            }
        ],
        "$defs": {
            "output": {
                "type": "object",
                "required": [
                    "detail",
                    "complete",
                    "truncated",
                    "lanes",
                    "findingGroups"
                ],
                "properties": {
                    "detail": {
                        "enum": [
                            "compact",
                            "summary",
                            "full"
                        ]
                    },
                    "complete": {
                        "type": "boolean"
                    },
                    "truncated": {
                        "type": "boolean"
                    },
                    "lanes": {
                        "type": "object"
                    },
                    "findingGroups": {
                        "type": "array"
                    }
                },
                "additionalProperties": true
            }
        }
    },
    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://tnsds.tech/schemas/automation/v2/feature-manifest.schema.json",
        "title": "Automation Protocol Feature Manifest V2",
        "type": "object",
        "additionalProperties": false,
        "required": [
            "currentVersion",
            "minimumSupportedVersion",
            "maximumSupportedVersion",
            "features",
            "deprecations"
        ],
        "properties": {
            "currentVersion": {
                "const": 2
            },
            "minimumSupportedVersion": {
                "const": 1
            },
            "maximumSupportedVersion": {
                "const": 2
            },
            "features": {
                "type": "array",
                "uniqueItems": true,
                "items": {
                    "type": "string"
                }
            },
            "deprecations": {
                "type": "array"
            }
        }
    }
];
