{"version":3,"file":"client.mjs","names":[],"sources":["../src/client.ts"],"sourcesContent":["import ky, { type KyInstance } from \"ky\";\n\nconst EXA_API_BASE = \"https://api.exa.ai\";\n\nexport type ExaClient = {\n  search: (body: Record<string, unknown>) => Promise<unknown>;\n  contents: (body: Record<string, unknown>) => Promise<unknown>;\n  answer: (body: Record<string, unknown>) => Promise<unknown>;\n  context: (body: Record<string, unknown>) => Promise<unknown>;\n};\n\nexport type CreateExaClientOptions = {\n  /** Sent as x-api-key. Omit when using custom headers (e.g. platform proxy). */\n  apiKey?: string;\n  /** Defaults to https://api.exa.ai */\n  baseUrl?: string;\n  headers?: Record<string, string>;\n};\n\nfunction resolveCreateExaClientOptions(\n  options: CreateExaClientOptions | string,\n): CreateExaClientOptions {\n  return typeof options === \"string\" ? { apiKey: options } : options;\n}\n\nexport function createExaClient(options: CreateExaClientOptions | string): ExaClient {\n  const resolved = resolveCreateExaClientOptions(options);\n  const headers: Record<string, string> = {\n    \"Content-Type\": \"application/json\",\n    ...resolved.headers,\n  };\n\n  if (resolved.apiKey) {\n    headers[\"x-api-key\"] = resolved.apiKey;\n  }\n\n  const api: KyInstance = ky.create({\n    prefix: `${(resolved.baseUrl ?? EXA_API_BASE).replace(/\\/+$/, \"\")}/`,\n    headers,\n  });\n\n  return {\n    search: (body) => api.post(\"search\", { json: body }).json(),\n    contents: (body) => api.post(\"contents\", { json: body }).json(),\n    answer: (body) => api.post(\"answer\", { json: body }).json(),\n    context: (body) => api.post(\"context\", { json: body }).json(),\n  };\n}\n"],"mappings":";;AAEA,MAAM,eAAe;AAiBrB,SAAS,8BACP,SACwB;CACxB,OAAO,OAAO,YAAY,WAAW,EAAE,QAAQ,QAAQ,IAAI;AAC7D;AAEA,SAAgB,gBAAgB,SAAqD;CACnF,MAAM,WAAW,8BAA8B,OAAO;CACtD,MAAM,UAAkC;EACtC,gBAAgB;EAChB,GAAG,SAAS;CACd;CAEA,IAAI,SAAS,QACX,QAAQ,eAAe,SAAS;CAGlC,MAAM,MAAkB,GAAG,OAAO;EAChC,QAAQ,IAAI,SAAS,WAAW,cAAc,QAAQ,QAAQ,EAAE,EAAE;EAClE;CACF,CAAC;CAED,OAAO;EACL,SAAS,SAAS,IAAI,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC,EAAE,KAAK;EAC1D,WAAW,SAAS,IAAI,KAAK,YAAY,EAAE,MAAM,KAAK,CAAC,EAAE,KAAK;EAC9D,SAAS,SAAS,IAAI,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC,EAAE,KAAK;EAC1D,UAAU,SAAS,IAAI,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC,EAAE,KAAK;CAC9D;AACF"}