{"version":3,"sources":["../src/client-sdk/services/evaluators/errors.ts","../src/client-sdk/services/evaluators/evaluators-api.service.ts"],"sourcesContent":["export class EvaluatorsApiError extends Error {\n  constructor(\n    message: string,\n    public readonly operation: string,\n    public readonly originalError?: unknown,\n  ) {\n    super(message);\n    this.name = \"EvaluatorsApiError\";\n  }\n}\n","import type {\n  CreateEvaluatorBody,\n  DeleteEvaluatorResponse,\n  EvaluatorResponse,\n  UpdateEvaluatorBody,\n} from \"./types\";\nimport {\n  createLangWatchApiClient,\n  type LangwatchApiClient,\n} from \"@/internal/api/client\";\nimport { type InternalConfig } from \"@/client-sdk/types\";\nimport { EvaluatorsApiError } from \"./errors\";\nimport {\n  extractStatusFromResponse,\n  formatApiErrorForOperation,\n} from \"@/client-sdk/services/_shared/format-api-error\";\n\n/**\n * Service for retrieving evaluator resources via the LangWatch API.\n *\n * Provides read-only access to project evaluators with computed fields.\n */\nexport class EvaluatorsApiService {\n  private readonly apiClient: LangwatchApiClient;\n\n  constructor(config?: Pick<InternalConfig, \"langwatchApiClient\">) {\n    this.apiClient = config?.langwatchApiClient ?? createLangWatchApiClient();\n  }\n\n  private handleApiError(operation: string, error: unknown): never {\n    const message = formatApiErrorForOperation({ operation: operation, error: error, options: {\n      status: extractStatusFromResponse(error),\n    } });\n    throw new EvaluatorsApiError(message, operation, error);\n  }\n\n  /**\n   * Fetches all evaluators for the project.\n   */\n  async getAll(): Promise<EvaluatorResponse[]> {\n    const { data, error } = await this.apiClient.GET(\"/api/evaluators\");\n    if (error) this.handleApiError(\"fetch all evaluators\", error);\n    return data;\n  }\n\n  /**\n   * Fetches a single evaluator by its ID or slug.\n   */\n  async get(idOrSlug: string): Promise<EvaluatorResponse> {\n    const { data, error } = await this.apiClient.GET(\n      \"/api/evaluators/{idOrSlug}\",\n      {\n        params: { path: { idOrSlug } },\n      },\n    );\n    if (error)\n      this.handleApiError(\n        `fetch evaluator with ID or slug \"${idOrSlug}\"`,\n        error,\n      );\n    return data;\n  }\n\n  /**\n   * Creates a new evaluator.\n   */\n  async create(params: CreateEvaluatorBody): Promise<EvaluatorResponse> {\n    const { data, error } = await this.apiClient.POST(\"/api/evaluators\", {\n      body: params,\n    });\n    if (error) this.handleApiError(\"create evaluator\", error);\n    return data;\n  }\n\n  /**\n   * Updates an evaluator by its ID.\n   */\n  async update(id: string, params: UpdateEvaluatorBody): Promise<EvaluatorResponse> {\n    const { data, error } = await this.apiClient.PUT(\n      \"/api/evaluators/{id}\",\n      {\n        params: { path: { id } },\n        body: params,\n      },\n    );\n    if (error)\n      this.handleApiError(`update evaluator with ID \"${id}\"`, error);\n    return data;\n  }\n\n  /**\n   * Deletes (archives) an evaluator by its ID.\n   */\n  async delete(id: string): Promise<DeleteEvaluatorResponse> {\n    const { data, error } = await this.apiClient.DELETE(\n      \"/api/evaluators/{id}\",\n      {\n        params: { path: { id } },\n      },\n    );\n    if (error)\n      this.handleApiError(`delete evaluator with ID \"${id}\"`, error);\n    return data;\n  }\n}\n"],"mappings":";;;;;;;;;AAAO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAC5C,YACE,SACgB,WACA,eAChB;AACA,UAAM,OAAO;AAHG;AACA;AAGhB,SAAK,OAAO;AAAA,EACd;AACF;;;ACaO,IAAM,uBAAN,MAA2B;AAAA,EAGhC,YAAY,QAAqD;AAzBnE;AA0BI,SAAK,aAAY,sCAAQ,uBAAR,YAA8B,yBAAyB;AAAA,EAC1E;AAAA,EAEQ,eAAe,WAAmB,OAAuB;AAC/D,UAAM,UAAU,2BAA2B,EAAE,WAAsB,OAAc,SAAS;AAAA,MACxF,QAAQ,0BAA0B,KAAK;AAAA,IACzC,EAAE,CAAC;AACH,UAAM,IAAI,mBAAmB,SAAS,WAAW,KAAK;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAuC;AAC3C,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,UAAU,IAAI,iBAAiB;AAClE,QAAI,MAAO,MAAK,eAAe,wBAAwB,KAAK;AAC5D,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,IAAI,UAA8C;AACtD,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,UAAU;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;AAAA,MAC/B;AAAA,IACF;AACA,QAAI;AACF,WAAK;AAAA,QACH,oCAAoC,QAAQ;AAAA,QAC5C;AAAA,MACF;AACF,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,QAAyD;AACpE,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,UAAU,KAAK,mBAAmB;AAAA,MACnE,MAAM;AAAA,IACR,CAAC;AACD,QAAI,MAAO,MAAK,eAAe,oBAAoB,KAAK;AACxD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,IAAY,QAAyD;AAChF,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,UAAU;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE;AAAA,QACvB,MAAM;AAAA,MACR;AAAA,IACF;AACA,QAAI;AACF,WAAK,eAAe,6BAA6B,EAAE,KAAK,KAAK;AAC/D,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,IAA8C;AACzD,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,UAAU;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE;AAAA,MACzB;AAAA,IACF;AACA,QAAI;AACF,WAAK,eAAe,6BAA6B,EAAE,KAAK,KAAK;AAC/D,WAAO;AAAA,EACT;AACF;","names":[]}