import type { NodeId } from "../types"; export type MissingRuntimeNodeDetail = { nodeId: NodeId; kind: "node" | "trigger"; missingTokenId: string | undefined; }; export class WorkflowParityMismatchError extends Error { readonly name = "WorkflowParityMismatchError"; readonly missingNodes: ReadonlyArray; constructor(missingNodes: ReadonlyArray) { const labels = missingNodes.map((n) => `${n.nodeId} (token: ${n.missingTokenId ?? "unknown"})`).join(", "); super(`Workflow parity mismatch: nodes resolve to MissingRuntime and cannot execute: ${labels}`); this.missingNodes = missingNodes; } }