eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.41 kB
JavaScript
function emptyTwilioResponse(){return twimlResponse(`<Response></Response>`)}function sayTwilioResponse(e){return twimlResponse(`<Response><Say>${escapeXml(e)}</Say></Response>`)}function gatherSpeechTwilioResponse(e){let t=typeof e.hints==`string`?e.hints:e.hints?.join(`,`),n=[`input="speech"`,`action="${escapeXml(e.actionUrl)}"`,`method="POST"`,`actionOnEmptyResult="true"`,e.language?`language="${escapeXml(e.language)}"`:void 0,e.speechModel?`speechModel="${escapeXml(e.speechModel)}"`:void 0,e.timeoutSeconds===void 0?void 0:`timeout="${e.timeoutSeconds}"`,e.speechTimeout?`speechTimeout="${escapeXml(e.speechTimeout)}"`:void 0,t?`hints="${escapeXml(t)}"`:void 0,e.profanityFilter===void 0?void 0:`profanityFilter="${e.profanityFilter?`true`:`false`}"`].filter(e=>e!==void 0).join(` `),r=[e.voice?`voice="${escapeXml(e.voice)}"`:void 0,e.language?`language="${escapeXml(e.language)}"`:void 0].filter(e=>e!==void 0).join(` `);return twimlResponse(`<Response><Gather ${n}>${r?`<Say ${r}>`:`<Say>`}${escapeXml(e.prompt)}</Say></Gather></Response>`)}function twimlResponse(e){return new Response(e,{status:200,headers:{"content-type":`text/xml;charset=UTF-8`}})}function escapeXml(e){return e.replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}export{emptyTwilioResponse,escapeXml,gatherSpeechTwilioResponse,sayTwilioResponse,twimlResponse};