smartlead-mcp-server
Version:
MCP server for Smartlead campaign management integration. Features include creating campaigns, updating campaign settings, and managing campaign sequences.
57 lines • 2.39 kB
JavaScript
// Type definitions for Smart Senders functionality
// Type guards
export function isGetVendorsParams(args) {
// Since this endpoint doesn't require specific parameters beyond the API key
// Any object is valid
return typeof args === 'object' && args !== null;
}
export function isSearchDomainParams(args) {
if (typeof args !== 'object' || args === null)
return false;
const params = args;
return (typeof params.domain_name === 'string' &&
typeof params.vendor_id === 'number');
}
export function isMailboxDetail(obj) {
if (typeof obj !== 'object' || obj === null)
return false;
const detail = obj;
return (typeof detail.first_name === 'string' &&
typeof detail.last_name === 'string' &&
(detail.profile_pic === undefined || typeof detail.profile_pic === 'string') &&
(detail.mailbox === undefined || typeof detail.mailbox === 'string'));
}
export function isDomainWithMailboxes(obj) {
if (typeof obj !== 'object' || obj === null)
return false;
const domain = obj;
return (typeof domain.domain_name === 'string' &&
Array.isArray(domain.mailbox_details) &&
domain.mailbox_details.every(detail => isMailboxDetail(detail)));
}
export function isAutoGenerateMailboxesParams(args) {
if (typeof args !== 'object' || args === null)
return false;
const params = args;
return (typeof params.vendor_id === 'number' &&
Array.isArray(params.domains) &&
params.domains.every(domain => isDomainWithMailboxes(domain)));
}
export function isPlaceOrderParams(args) {
if (typeof args !== 'object' || args === null)
return false;
const params = args;
// Check if domains have mailbox property in mailbox_details
const domainsHaveMailboxes = Array.isArray(params.domains) &&
params.domains.every(domain => isDomainWithMailboxes(domain) &&
domain.mailbox_details.every(detail => typeof detail.mailbox === 'string'));
return (typeof params.vendor_id === 'number' &&
typeof params.forwarding_domain === 'string' &&
domainsHaveMailboxes);
}
export function isGetDomainListParams(args) {
// Since this endpoint doesn't require specific parameters beyond the API key
// Any object is valid
return typeof args === 'object' && args !== null;
}
//# sourceMappingURL=smartSenders.js.map