/**
 * Protocol enforcement types used by the RCASD-IVTR+C protocol system.
 *
 * These types are used by protocol-enforcement.ts, protocol-rules.ts,
 * verification-gates.ts, and gate-validators.ts. Previously defined in
 * src/mcp/lib/exit-codes.ts (deprecated), now canonical in core.
 *
 * @task T5707
 * @epic T5701
 */
/**
 * Error severity levels for protocol/gate validation.
 */
export var ErrorSeverity;
(function (ErrorSeverity) {
    ErrorSeverity["INFO"] = "info";
    ErrorSeverity["WARNING"] = "warning";
    ErrorSeverity["ERROR"] = "error";
    ErrorSeverity["CRITICAL"] = "critical";
})(ErrorSeverity || (ErrorSeverity = {}));
/**
 * Error category for grouping protocol/gate violations.
 */
export var ErrorCategory;
(function (ErrorCategory) {
    ErrorCategory["GENERAL"] = "general";
    ErrorCategory["HIERARCHY"] = "hierarchy";
    ErrorCategory["CONCURRENCY"] = "concurrency";
    ErrorCategory["SESSION"] = "session";
    ErrorCategory["VERIFICATION"] = "verification";
    ErrorCategory["CONTEXT"] = "context";
    ErrorCategory["PROTOCOL"] = "protocol";
    ErrorCategory["NEXUS"] = "nexus";
    ErrorCategory["LIFECYCLE"] = "lifecycle";
    ErrorCategory["SPECIAL"] = "special";
})(ErrorCategory || (ErrorCategory = {}));
/**
 * Protocol-specific exit codes used by the RCASD-IVTR+C enforcement system.
 *
 * These map to the protocol violation range (60-70) and lifecycle enforcement
 * range (80-84) defined in the MCP server specification. The values here
 * align with the protocol enforcement layer's own exit code semantics,
 * which differ from the canonical CLI exit codes in src/types/exit-codes.ts.
 *
 * The canonical CLI ExitCode enum at src/types/exit-codes.ts maps range 60-67
 * to orchestrator errors, while this enum maps them to protocol violations.
 * Both are valid in their respective contexts — CLI vs protocol enforcement.
 */
export var ProtocolExitCode;
(function (ProtocolExitCode) {
    // Success
    ProtocolExitCode[ProtocolExitCode["SUCCESS"] = 0] = "SUCCESS";
    // General Errors
    ProtocolExitCode[ProtocolExitCode["E_GENERAL_ERROR"] = 1] = "E_GENERAL_ERROR";
    ProtocolExitCode[ProtocolExitCode["E_INVALID_INPUT"] = 2] = "E_INVALID_INPUT";
    ProtocolExitCode[ProtocolExitCode["E_FILE_ERROR"] = 3] = "E_FILE_ERROR";
    ProtocolExitCode[ProtocolExitCode["E_NOT_FOUND"] = 4] = "E_NOT_FOUND";
    ProtocolExitCode[ProtocolExitCode["E_DEPENDENCY_ERROR"] = 5] = "E_DEPENDENCY_ERROR";
    ProtocolExitCode[ProtocolExitCode["E_VALIDATION_ERROR"] = 6] = "E_VALIDATION_ERROR";
    // Hierarchy Errors
    ProtocolExitCode[ProtocolExitCode["E_PARENT_NOT_FOUND"] = 10] = "E_PARENT_NOT_FOUND";
    ProtocolExitCode[ProtocolExitCode["E_DEPTH_EXCEEDED"] = 11] = "E_DEPTH_EXCEEDED";
    ProtocolExitCode[ProtocolExitCode["E_SIBLING_LIMIT"] = 12] = "E_SIBLING_LIMIT";
    ProtocolExitCode[ProtocolExitCode["E_CIRCULAR_REFERENCE"] = 14] = "E_CIRCULAR_REFERENCE";
    ProtocolExitCode[ProtocolExitCode["E_SESSION_REQUIRED"] = 36] = "E_SESSION_REQUIRED";
    // Protocol Violations (60-70)
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_RESEARCH"] = 60] = "E_PROTOCOL_RESEARCH";
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_CONSENSUS"] = 61] = "E_PROTOCOL_CONSENSUS";
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_SPECIFICATION"] = 62] = "E_PROTOCOL_SPECIFICATION";
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_DECOMPOSITION"] = 63] = "E_PROTOCOL_DECOMPOSITION";
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_IMPLEMENTATION"] = 64] = "E_PROTOCOL_IMPLEMENTATION";
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_CONTRIBUTION"] = 65] = "E_PROTOCOL_CONTRIBUTION";
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_RELEASE"] = 66] = "E_PROTOCOL_RELEASE";
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_GENERIC"] = 67] = "E_PROTOCOL_GENERIC";
    ProtocolExitCode[ProtocolExitCode["E_PROTOCOL_VALIDATION"] = 68] = "E_PROTOCOL_VALIDATION";
    ProtocolExitCode[ProtocolExitCode["E_TESTS_SKIPPED"] = 69] = "E_TESTS_SKIPPED";
    // Lifecycle Enforcement (80-84)
    ProtocolExitCode[ProtocolExitCode["E_LIFECYCLE_GATE_FAILED"] = 80] = "E_LIFECYCLE_GATE_FAILED";
})(ProtocolExitCode || (ProtocolExitCode = {}));
//# sourceMappingURL=protocol-types.js.map