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(r,i){let a=AbortSignal.timeout(1e4),o=i===void 0?a:AbortSignal.any([i,a]);try{return await createGateway({apiKey:r,fetch:(e,n)=>vercelGatewayFetch(e,{...n,signal:o})}).getCredits(),{kind:`valid`}}catch(t){if(i?.aborted===!0)throw t;return isGatewayAuthRejection(t)?{kind:`invalid`,message:`The AI Gateway rejected this key.`}:{kind:`inconclusive`,message:toErrorMessage(t)}}}export{validateGatewayApiKey};