UNPKG

@sinch/mcp

Version:

Sinch MCP server

35 lines 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.closeConferenceHandler = exports.registerCloseConference = void 0; const zod_1 = require("zod"); const utils_1 = require("../../utils"); const types_1 = require("../../types"); const voice_service_helper_1 = require("./utils/voice-service-helper"); const registerCloseConference = (server, tags) => { if (!(0, utils_1.hasMatchingTag)(['all', 'voice'], tags)) { return; } server.tool('close-conference', 'Close a conference callout', { conferenceId: zod_1.z.string().describe('The conference ID to close') }, exports.closeConferenceHandler); }; exports.registerCloseConference = registerCloseConference; const closeConferenceHandler = async ({ conferenceId }) => { const maybeVoiceService = (0, voice_service_helper_1.getVoiceService)(); if ((0, utils_1.isPromptResponse)(maybeVoiceService)) { return maybeVoiceService.promptResponse; } const voiceService = maybeVoiceService; try { await voiceService.conferences.kickAll({ conferenceId }); } catch (error) { console.error(`Error closing conference ${conferenceId}:`, error); return new types_1.PromptResponse(`An error occurred while trying to close the conference with ID ${conferenceId}. Please try again later.`).promptResponse; } return new types_1.PromptResponse(`The conference ${conferenceId} has been closed successfully.`).promptResponse; }; exports.closeConferenceHandler = closeConferenceHandler; //# sourceMappingURL=close-conference.js.map