UNPKG

@sinch/mcp

Version:

Sinch MCP server

44 lines 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ttsCalloutHandler = exports.registerTtsCallout = void 0; const zod_1 = require("zod"); const voice_service_helper_1 = require("./utils/voice-service-helper"); const utils_1 = require("../../utils"); const types_1 = require("../../types"); const registerTtsCallout = (server, tags) => { if (!(0, utils_1.hasMatchingTag)(['all', 'voice', 'notification'], tags)) { return; } server.tool('tts-callout', 'Make a callout with a Text-To-Speech prompt', { phoneNumber: zod_1.z.string().describe('The phone number to call'), message: zod_1.z.string().describe('The message to read out loud') }, exports.ttsCalloutHandler); }; exports.registerTtsCallout = registerTtsCallout; const ttsCalloutHandler = async ({ phoneNumber, message }) => { const maybeVoiceService = (0, voice_service_helper_1.getVoiceService)(); if ((0, utils_1.isPromptResponse)(maybeVoiceService)) { return maybeVoiceService.promptResponse; } const voiceService = maybeVoiceService; const cli = process.env.CALLING_LINE_IDENTIFICATION; const request = { ttsCalloutRequestBody: { method: 'ttsCallout', ttsCallout: { destination: { type: 'number', endpoint: phoneNumber }, text: message } } }; if (cli) { request.ttsCalloutRequestBody.ttsCallout.cli = cli; } const response = await voiceService.callouts.tts(request); return new types_1.PromptResponse(`Calling ${phoneNumber}... The call ID is ${response.callId}`).promptResponse; }; exports.ttsCalloutHandler = ttsCalloutHandler; //# sourceMappingURL=tts-callout.js.map