{"version":3,"sources":["../src/error/index.ts"],"names":["ErrorDomain","ErrorCategory"],"mappings":"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","file":"chunk-5K6WYRP2.cjs","sourcesContent":["export enum ErrorDomain {\n  TOOL = 'TOOL',\n  AGENT = 'AGENT',\n  MCP = 'MCP',\n  AGENT_NETWORK = 'AGENT_NETWORK',\n  MASTRA_SERVER = 'MASTRA_SERVER',\n  MASTRA_TELEMETRY = 'MASTRA_TELEMETRY',\n  MASTRA_WORKFLOW = 'MASTRA_WORKFLOW',\n  MASTRA_VOICE = 'MASTRA_VOICE',\n  MASTRA_VECTOR = 'MASTRA_VECTOR',\n  LLM = 'LLM',\n  EVAL = 'EVAL',\n  A2A = 'A2A',\n  MASTRA_INSTANCE = 'MASTRA_INSTANCE',\n  MASTRA = 'MASTRA',\n  DEPLOYER = 'DEPLOYER',\n  STORAGE = 'STORAGE',\n}\n\nexport enum ErrorCategory {\n  UNKNOWN = 'UNKNOWN',\n  USER = 'USER',\n  SYSTEM = 'SYSTEM',\n  THIRD_PARTY = 'THIRD_PARTY',\n}\n\ntype Scalar = null | boolean | number | string;\n\ntype Json<T> = [T] extends [Scalar | undefined]\n  ? Scalar\n  : [T] extends [{ [x: number]: unknown }]\n    ? { [K in keyof T]: Json<T[K]> }\n    : never;\n\n/**\n * Defines the structure for an error's metadata.\n * This is used to create instances of MastraError.\n */\nexport interface IErrorDefinition<D, C> {\n  /** Unique identifier for the error. */\n  id: Uppercase<string>;\n  /**\n   * Optional custom error message that overrides the original error message.\n   * If not provided, the original error message will be used, or 'Unknown error' if no error is provided.\n   */\n  text?: string;\n  /**\n   * Functional domain of the error (e.g., CONFIG, BUILD, API).\n   */\n  domain: D;\n  /** Broad category of the error (e.g., USER, SYSTEM, THIRD_PARTY). */\n  category: C;\n\n  details?: Record<string, Json<Scalar>>;\n}\n\n/**\n * Base error class for the Mastra ecosystem.\n * It standardizes error reporting and can be extended for more specific error types.\n */\nexport class MastraBaseError<D, C> extends Error {\n  public readonly id: Uppercase<string>;\n  public readonly domain: D;\n  public readonly category: C;\n  public readonly details?: Record<string, Json<Scalar>> = {};\n  public readonly message: string;\n\n  constructor(\n    errorDefinition: IErrorDefinition<D, C>,\n    originalError?: string | Error | MastraBaseError<D, C> | unknown,\n  ) {\n    let error;\n    if (originalError instanceof Error) {\n      error = originalError;\n    } else if (originalError) {\n      error = new Error(String(originalError));\n    }\n\n    const message = errorDefinition.text ?? error?.message ?? 'Unknown error';\n    super(message, { cause: error });\n    this.id = errorDefinition.id;\n    this.domain = errorDefinition.domain;\n    this.category = errorDefinition.category;\n    this.details = errorDefinition.details ?? {};\n    this.message = message;\n\n    Object.setPrototypeOf(this, new.target.prototype);\n  }\n\n  /**\n   * Returns a structured representation of the error, useful for logging or API responses.\n   */\n  public toJSONDetails() {\n    return {\n      message: this.message,\n      domain: this.domain,\n      category: this.category,\n      details: this.details,\n    };\n  }\n\n  public toJSON() {\n    return {\n      message: this.message,\n      details: this.toJSONDetails(),\n      code: this.id,\n    };\n  }\n\n  public toString() {\n    return JSON.stringify(this.toJSON());\n  }\n}\n\nexport class MastraError extends MastraBaseError<`${ErrorDomain}`, `${ErrorCategory}`> {}\n"]}