export const maestroTaskStateMachine = Object.freeze({
    initial: "queued",
    states: Object.freeze(["queued", "agent-running", "human-review", "done", "failed", "archived"]),
    events: Object.freeze({
        start: Object.freeze({ from: Object.freeze(["queued"]), to: "agent-running" }),
        complete: Object.freeze({ from: Object.freeze(["agent-running"]), to: "done" }),
        handoff: Object.freeze({ from: Object.freeze(["agent-running"]), to: "human-review" }),
        accept: Object.freeze({ from: Object.freeze(["human-review"]), to: "done" }),
        fail: Object.freeze({ from: Object.freeze(["agent-running", "human-review"]), to: "failed" }),
        archive: Object.freeze({ from: Object.freeze(["done", "failed"]), to: "archived" }),
    }),
});
