eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 2.08 kB
JavaScript
import{TwilioApiError,callTwilioApi as callTwilioApi$1,encodeTwilioForm,resolveTwilioCredential}from"#compiled/@chat-adapter/twilio/api.js";import{resolveTwilioAuthToken}from"#public/channels/twilio/verify.js";function twilioContinuationToken(e,t){return`${e}:${t??``}`}async function resolveTwilioAccountSid(e){try{return await resolveTwilioCredential(e,`TWILIO_ACCOUNT_SID`)}catch(e){throw e instanceof TwilioApiError&&e.status===0?Error(`TWILIO_ACCOUNT_SID is required.`):e}}async function callTwilioApi(e){let t=await resolveCredentials(e.credentials);return preserveTwilioApiResponse(callTwilioApi$1({apiBaseUrl:e.apiBaseUrl,body:encodeTwilioForm(e.body),credentials:t,fetch:e.fetch,path:e.path}))}async function sendTwilioMessage(e){if(!e.from&&!e.messagingServiceSid)throw Error(`twilioChannel: sending a message requires from or messagingServiceSid.`);let t=await resolveTwilioAccountSid(e.credentials?.accountSid),n=await resolveCredentials(e.credentials);return preserveTwilioApiResponse(callTwilioApi$1({apiBaseUrl:e.apiBaseUrl,body:encodeTwilioForm({Body:e.body,From:e.from,MessagingServiceSid:e.messagingServiceSid,StatusCallback:e.statusCallbackUrl,To:e.to}),credentials:n,fetch:e.fetch,path:`/2010-04-01/Accounts/${encodeURIComponent(t)}/Messages.json`}))}async function updateTwilioCall(e){let t=await resolveTwilioAccountSid(e.credentials?.accountSid),n=await resolveCredentials(e.credentials);return preserveTwilioApiResponse(callTwilioApi$1({apiBaseUrl:e.apiBaseUrl,body:encodeTwilioForm({Twiml:e.twiml}),credentials:n,fetch:e.fetch,path:`/2010-04-01/Accounts/${encodeURIComponent(t)}/Calls/${encodeURIComponent(e.callSid)}.json`}))}async function resolveCredentials(e){return{accountSid:await resolveTwilioAccountSid(e?.accountSid),authToken:await resolveTwilioAuthToken(e?.authToken)}}async function preserveTwilioApiResponse(e){try{return await e}catch(e){if(e instanceof TwilioApiError&&e.status!==0)return{body:e.body,ok:!1,status:e.status};throw e}}export{callTwilioApi,resolveTwilioAccountSid,sendTwilioMessage,twilioContinuationToken,updateTwilioCall};