import { CHECK_SERVER_STATUS_ENDPOINT, SERVICE_URL, VALIDATE_API_KEY_ENDPOINT, } from "../consts/api.const"; import { FAILED_TO_VALIDATE_AGENTQL_API_KEY_ERROR_MESSAGE, FAILED_TO_CHECK_SERVER_STATUS_ERROR_MESSAGE, } from "../consts/agentql.const"; /** * Checks the status of the AgentQL server. * @returns a response object containing the status of the server. */ async function checkAgentQlServerStatus(): Promise { const _url = `${ process.env.AGENTQL_API_HOST || SERVICE_URL }${CHECK_SERVER_STATUS_ENDPOINT}`; try { const response = await fetch(_url); if (!response.ok) { const requestId = response.headers.get("x-request-id") ?? ""; console.error(FAILED_TO_CHECK_SERVER_STATUS_ERROR_MESSAGE(requestId)); } return response.ok; } catch (_) { return false; } } /** * Validates an API key. * @param apiKey The API key to validate. * @returns Whether the API key is valid. */ async function validateApiKey(apiKey: string): Promise { const url = `${ process.env.AGENTQL_API_HOST || SERVICE_URL }${VALIDATE_API_KEY_ENDPOINT}`; const headers = { "X-API-Key": apiKey, }; try { const response = await fetch(url, { headers: headers, }); if (!response.ok) { const requestId = response.headers.get("x-request-id") ?? ""; console.error( FAILED_TO_VALIDATE_AGENTQL_API_KEY_ERROR_MESSAGE(requestId) ); } return response.ok; } catch (_) { return false; } } export { checkAgentQlServerStatus, validateApiKey };