"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WorkRoutingError = exports.WORK_ROUTING_ERROR_CODES = exports.WORKFLOW_LEVEL_SOURCE_PRECEDENCE = exports.WORKFLOW_LEVEL_ROOTS = exports.WORKFLOW_LEVELS = void 0;
exports.WORKFLOW_LEVELS = ["basic", "structured", "governed"];
exports.WORKFLOW_LEVEL_ROOTS = Object.freeze({
    basic: "basic",
    structured: "structured",
    governed: "governed"
});
exports.WORKFLOW_LEVEL_SOURCE_PRECEDENCE = [
    "explicit",
    "parent",
    "project",
    "repository",
    "user",
    "built-in"
];
exports.WORK_ROUTING_ERROR_CODES = [
    "invalid-workflow-level",
    "invalid-specification-count",
    "incomplete-specification-input",
    "invalid-recommendation-acceptance",
    "invalid-planning-identity",
    "invalid-planning-destination",
    "invalid-specification-input",
    "duplicate-specification-identity",
    "ineligible-specification",
    "invalid-work-identity",
    "work-identity-collision",
    "missing-implementation-order",
    "conflicting-implementation-order",
    "invalid-slice-identity",
    "slice-identity-collision"
];
class WorkRoutingError extends Error {
    code;
    constructor(code, message) {
        super(message);
        this.name = "WorkRoutingError";
        this.code = code;
    }
}
exports.WorkRoutingError = WorkRoutingError;
