eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 747 B
JavaScript
import{toErrorMessage}from"#shared/errors.js";import{vercelGatewayFetch}from"#internal/gateway.js";import{createGateway}from"ai";function isGatewayAuthRejection(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`authentication_error`||t.name===`GatewayAuthenticationError`||t.statusCode===401}async function validateGatewayApiKey(e,t){let n=AbortSignal.timeout(1e4),r=t===void 0?n:AbortSignal.any([t,n]);try{return await createGateway({apiKey:e,fetch:(e,t)=>vercelGatewayFetch(e,{...t,signal:r})}).getCredits(),{kind:`valid`}}catch(e){if(t?.aborted===!0)throw e;return isGatewayAuthRejection(e)?{kind:`invalid`,message:`The AI Gateway rejected this key.`}:{kind:`inconclusive`,message:toErrorMessage(e)}}}export{validateGatewayApiKey};