{"version":3,"sources":["../src/client-sdk/services/model-providers/model-providers-api.service.ts"],"sourcesContent":["import type { paths } from \"@/internal/generated/openapi/api-client\";\nimport {\n  createLangWatchApiClient,\n  type LangwatchApiClient,\n} from \"@/internal/api/client\";\nimport { type InternalConfig } from \"@/client-sdk/types\";\nimport {\n  extractStatusFromResponse,\n  formatApiErrorForOperation,\n} from \"@/client-sdk/services/_shared/format-api-error\";\n\nexport type ModelProvidersListResponse =\n  paths[\"/api/model-providers\"][\"get\"][\"responses\"][\"200\"][\"content\"][\"application/json\"];\n\nexport type UpdateModelProviderBody = NonNullable<\n  paths[\"/api/model-providers/{provider}\"][\"put\"][\"requestBody\"]\n>[\"content\"][\"application/json\"];\n\nexport class ModelProvidersApiError extends Error {\n  constructor(\n    message: string,\n    public readonly operation: string,\n    public readonly originalError?: unknown,\n  ) {\n    super(message);\n    this.name = \"ModelProvidersApiError\";\n  }\n}\n\nexport class ModelProvidersApiService {\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 ModelProvidersApiError(message, operation, error);\n  }\n\n  async list(): Promise<ModelProvidersListResponse> {\n    const { data, error } = await this.apiClient.GET(\"/api/model-providers\");\n    if (error) this.handleApiError(\"list model providers\", error);\n    return data;\n  }\n\n  async set(provider: string, params: UpdateModelProviderBody): Promise<ModelProvidersListResponse> {\n    const { data, error } = await this.apiClient.PUT(\n      \"/api/model-providers/{provider}\",\n      {\n        params: { path: { provider } },\n        body: params,\n      },\n    );\n    if (error)\n      this.handleApiError(`set model provider \"${provider}\"`, error);\n    return data;\n  }\n}\n"],"mappings":";;;;;;;;;AAkBO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAChD,YACE,SACgB,WACA,eAChB;AACA,UAAM,OAAO;AAHG;AACA;AAGhB,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,2BAAN,MAA+B;AAAA,EAGpC,YAAY,QAAqD;AAhCnE;AAiCI,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,uBAAuB,SAAS,WAAW,KAAK;AAAA,EAC5D;AAAA,EAEA,MAAM,OAA4C;AAChD,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,UAAU,IAAI,sBAAsB;AACvE,QAAI,MAAO,MAAK,eAAe,wBAAwB,KAAK;AAC5D,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,IAAI,UAAkB,QAAsE;AAChG,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,UAAU;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;AAAA,QAC7B,MAAM;AAAA,MACR;AAAA,IACF;AACA,QAAI;AACF,WAAK,eAAe,uBAAuB,QAAQ,KAAK,KAAK;AAC/D,WAAO;AAAA,EACT;AACF;","names":[]}