@sinch/mcp
Version:
Sinch MCP server
41 lines • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getVoiceClient = void 0;
const types_1 = require("../../../types");
const sdk_core_1 = require("@sinch/sdk-core");
const utils_1 = require("../../../utils");
const addPropertiesToApi = (api, client) => {
api.client = client;
api.setHostname(sdk_core_1.VOICE_HOSTNAME.replace(sdk_core_1.REGION_PATTERN, sdk_core_1.VoiceRegion.DEFAULT));
};
const getVoiceClient = (toolName) => {
const applicationKey = process.env.VOICE_APPLICATION_KEY;
const applicationSecret = process.env.VOICE_APPLICATION_SECRET;
if (!applicationKey && !applicationSecret) {
return new types_1.PromptResponse('Missing environment variables: "VOICE_APPLICATION_KEY" and "VOICE_APPLICATION_SECRET".');
}
if (!applicationKey) {
return new types_1.PromptResponse('Missing environment variable: "VOICE_APPLICATION_KEY".');
}
if (!applicationSecret) {
return new types_1.PromptResponse('Missing environment variable: "VOICE_APPLICATION_SECRET".');
}
const sinchClient = new sdk_core_1.SinchClient({});
const apiFetchClient = new sdk_core_1.ApiFetchClient({
requestPlugins: [
new sdk_core_1.XTimestampRequest(),
new sdk_core_1.SigningRequest(applicationKey, applicationSecret),
new sdk_core_1.AdditionalHeadersRequest({
headers: (0, sdk_core_1.buildHeader)('User-Agent', (0, utils_1.formatUserAgent)(toolName, applicationKey)),
}),
],
});
const apis = [
sinchClient.voice.callouts,
sinchClient.voice.conferences,
];
apis.forEach((api) => addPropertiesToApi(api, apiFetchClient));
return sinchClient;
};
exports.getVoiceClient = getVoiceClient;
//# sourceMappingURL=voice-service-helper.js.map