export const graphDataAttributeKeys = ["nodes", "concurrency", "agentId", "loop", "verbose", "version", "metadata"];

export const computedNodeAttributeKeys = [
  "inputs",
  "output",
  "anyInput",
  "params",
  "retry",
  "repeatUntil",
  "timeout",
  "agent",
  "graph",
  "graphLoader",
  "isResult",
  "priority",
  "label",
  "if",
  "unless",
  "defaultValue",
  "filterParams",
  "console",
  "passThrough",
];
export const staticNodeAttributeKeys = ["value", "update", "isResult", "console"];

export class ValidationError extends Error {
  constructor(message: string) {
    super(`\x1b[41m${message}\x1b[0m`); // Pass the message to the base Error class

    // Set the prototype explicitly to ensure correct prototype chain
    Object.setPrototypeOf(this, ValidationError.prototype);
  }
}
