Files
wehub-resource-sync 221778fa98
rowboat / apps/x Vitest suites (push) Has been cancelled
rowboat / apps/x Electron package smoke test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:33:34 +08:00

32 lines
734 B
TypeScript

import TwiML from "twilio/lib/twiml/TwiML";
import VoiceResponse from "twilio/lib/twiml/VoiceResponse";
import { z } from "zod";
export function XmlResponse(content: TwiML) {
return new Response(content.toString(), {
headers: {
"Content-Type": "text/xml",
},
});
}
export function reject(reason: VoiceResponse.RejectAttributes['reason']) {
return XmlResponse(new VoiceResponse()
.reject({
reason,
})
);
}
export function hangup() {
return XmlResponse(new VoiceResponse()
.hangup()
);
}
export const ZStandardRequestParams = z.object({
To: z.string(),
Direction: z.literal('inbound'),
CallSid: z.string(),
From: z.string(),
});