@sinch/mcp
Version:
Sinch MCP server
50 lines • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMissingEnvironmentVariables = exports.shouldRegisterTool = exports.getToolName = void 0;
const utils_1 = require("../../../utils");
const tools_config_1 = require("../../../tools-config");
const toolsConfig = {
closeConference: {
name: 'close-conference',
tags: ['all', 'voice', 'close-conference'],
},
conferenceCallout: {
name: 'conference-callout',
tags: ['all', 'voice', 'conference-callout'],
},
manageConferenceParticipant: {
name: 'manage-conference-participant',
tags: ['all', 'voice', 'manage-conference-participant'],
},
ttsCallout: {
name: 'tts-callout',
tags: ['all', 'voice', 'notification', 'tts-callout'],
}
};
const getToolName = (toolKey) => toolsConfig[toolKey].name;
exports.getToolName = getToolName;
const shouldRegisterTool = (toolKey, tags) => {
const filteringTags = toolsConfig[toolKey].tags;
const toolName = toolsConfig[toolKey].name;
if (!(0, utils_1.matchesAnyTag)(filteringTags, tags)) {
tools_config_1.toolsStatusMap[toolName] = `The filtering tags don't contain ${filteringTags.join(' or ')}`;
return false;
}
const missingCredentials = (0, exports.getMissingEnvironmentVariables)();
if (missingCredentials.length > 0) {
tools_config_1.toolsStatusMap[toolName] = `Incorrect configuration. The environment variables are not set: ${missingCredentials.join(', ')}`;
return false;
}
tools_config_1.toolsStatusMap[toolName] = tools_config_1.ENABLED;
return true;
};
exports.shouldRegisterTool = shouldRegisterTool;
const getMissingEnvironmentVariables = () => {
const requiredEnvVars = [
'VOICE_APPLICATION_KEY',
'VOICE_APPLICATION_SECRET',
];
return requiredEnvVars.filter((envVar) => !process.env[envVar]);
};
exports.getMissingEnvironmentVariables = getMissingEnvironmentVariables;
//# sourceMappingURL=voice-tools-helper.js.map