@coldiq/mcp 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +26 -102
- package/dist/registry.js.map +1 -1
- package/dist/utils/provider-resolver.d.ts.map +1 -1
- package/dist/utils/provider-resolver.js +4 -10
- package/dist/utils/provider-resolver.js.map +1 -1
- package/dist/utils/selection-insight.d.ts.map +1 -1
- package/dist/utils/selection-insight.js +6 -8
- package/dist/utils/selection-insight.js.map +1 -1
- package/package.json +1 -1
- package/src/registry.ts +27 -98
- package/src/utils/provider-resolver.ts +4 -10
- package/src/utils/selection-insight.ts +6 -8
- package/tests/provider-availability.test.ts +4 -4
- package/tests/registry-polling.test.ts +4 -4
- package/tests/registry.test.ts +32 -81
- package/tests/tools/list-data-sources.test.ts +1 -1
- package/tests/utils/provider-resolver.test.ts +7 -7
- package/tests/utils/selection-insight.test.ts +2 -2
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;IACpC;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IACtD,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACtC,kDAAkD;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IACvG,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACrC,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;IAC1D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CACxE;AAED,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,oBAAoB,CAAA;AA4ExB,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAIlG;AA0BD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrD;AAgCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAclE;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAGpF;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;IACpC;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IACtD,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACtC,kDAAkD;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IACvG,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACrC,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;IAC1D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CACxE;AAED,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,oBAAoB,CAAA;AA4ExB,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAIlG;AA0BD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrD;AAgCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAclE;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAGpF;AA+0GD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CAE1E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,GACjB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,SAAS,CAE3D;AAKD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,EAAE,CAS9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,EAAE,CASpE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,GAAG,aAAa,EAAE,CAkB5E"}
|
package/dist/registry.js
CHANGED
|
@@ -1495,7 +1495,7 @@ const findEmailProviders = [
|
|
|
1495
1495
|
id: 'findymail',
|
|
1496
1496
|
endpoint: '/findymail/search/name',
|
|
1497
1497
|
method: 'POST',
|
|
1498
|
-
priority:
|
|
1498
|
+
priority: 1,
|
|
1499
1499
|
isApplicable: (input) => typeof input.first_name === 'string' && input.first_name.length > 0 &&
|
|
1500
1500
|
((typeof input.domain === 'string' && input.domain.length > 0) ||
|
|
1501
1501
|
(typeof input.company_name === 'string' && input.company_name.length > 0)),
|
|
@@ -1517,7 +1517,7 @@ const findEmailProviders = [
|
|
|
1517
1517
|
id: 'icypeas',
|
|
1518
1518
|
endpoint: '/icypeas/email-search',
|
|
1519
1519
|
method: 'POST',
|
|
1520
|
-
priority:
|
|
1520
|
+
priority: 7,
|
|
1521
1521
|
mapParams: (input) => ({
|
|
1522
1522
|
body: {
|
|
1523
1523
|
firstname: input.first_name,
|
|
@@ -1535,7 +1535,7 @@ const findEmailProviders = [
|
|
|
1535
1535
|
id: 'limadata-work-email',
|
|
1536
1536
|
endpoint: '/limadata/find/work-email',
|
|
1537
1537
|
method: 'POST',
|
|
1538
|
-
priority:
|
|
1538
|
+
priority: 6,
|
|
1539
1539
|
mapParams: (input) => {
|
|
1540
1540
|
const fullName = [input.first_name, input.last_name].filter(Boolean).join(' ');
|
|
1541
1541
|
return {
|
|
@@ -1588,96 +1588,43 @@ const findEmailProviders = [
|
|
|
1588
1588
|
},
|
|
1589
1589
|
},
|
|
1590
1590
|
{
|
|
1591
|
-
|
|
1592
|
-
|
|
1591
|
+
// Premium slot: live SMTP-verified reveal (partial = email-only depth).
|
|
1592
|
+
id: 'wiza',
|
|
1593
|
+
endpoint: '/wiza/individual-reveals',
|
|
1593
1594
|
method: 'POST',
|
|
1594
1595
|
priority: 4,
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
}),
|
|
1598
|
-
hasResult: (data) => {
|
|
1599
|
-
const d = data;
|
|
1600
|
-
return typeof d.email === 'string' && d.email.includes('@');
|
|
1601
|
-
},
|
|
1602
|
-
isApplicable: (input) => typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0,
|
|
1603
|
-
},
|
|
1604
|
-
{
|
|
1605
|
-
id: 'fullenrich',
|
|
1606
|
-
endpoint: '/fullenrich/contact/enrich/bulk',
|
|
1607
|
-
method: 'POST',
|
|
1608
|
-
priority: 8,
|
|
1596
|
+
isApplicable: (input) => (typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0) ||
|
|
1597
|
+
(!!input.first_name && !!input.last_name && !!(input.domain || input.company_name)),
|
|
1609
1598
|
mapParams: (input) => ({
|
|
1610
1599
|
body: {
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
domain: input.domain,
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
}],
|
|
1600
|
+
individual_reveal: input.linkedin_url
|
|
1601
|
+
? { profile_url: input.linkedin_url }
|
|
1602
|
+
: {
|
|
1603
|
+
full_name: [input.first_name, input.last_name].filter(Boolean).join(' '),
|
|
1604
|
+
...(input.domain ? { domain: input.domain } : { company: input.company_name }),
|
|
1605
|
+
},
|
|
1606
|
+
enrichment_level: 'partial',
|
|
1607
|
+
email_options: { accept_work: true, accept_personal: false },
|
|
1620
1608
|
},
|
|
1621
1609
|
}),
|
|
1622
1610
|
hasResult: (data) => {
|
|
1623
|
-
const d = data;
|
|
1624
|
-
|
|
1625
|
-
if (!Array.isArray(items) || items.length === 0)
|
|
1626
|
-
return false;
|
|
1627
|
-
const emails = items[0]?.emails;
|
|
1628
|
-
return Array.isArray(emails) && emails.length > 0;
|
|
1611
|
+
const d = data.data;
|
|
1612
|
+
return typeof d?.email === 'string' && d.email.includes('@');
|
|
1629
1613
|
},
|
|
1630
1614
|
async: {
|
|
1631
1615
|
extractId: (response) => {
|
|
1632
|
-
const d = response;
|
|
1633
|
-
return d.
|
|
1616
|
+
const d = response.data;
|
|
1617
|
+
return d?.id !== undefined && d?.id !== null ? String(d.id) : '';
|
|
1634
1618
|
},
|
|
1635
|
-
pollEndpoint: (id) => `/
|
|
1619
|
+
pollEndpoint: (id) => `/wiza/individual-reveals/${id}`,
|
|
1636
1620
|
pollIntervalMs: 2500,
|
|
1637
1621
|
timeoutMs: 60_000,
|
|
1622
|
+
// The MCP AsyncConfig has no isFailed; a 'failed' reveal is terminal via
|
|
1623
|
+
// isComplete and then reads as a miss (no email in the payload).
|
|
1638
1624
|
isComplete: (data) => {
|
|
1639
|
-
const d = data;
|
|
1640
|
-
|
|
1641
|
-
return status === 'DONE' || status === 'FAILED';
|
|
1642
|
-
},
|
|
1643
|
-
},
|
|
1644
|
-
},
|
|
1645
|
-
{
|
|
1646
|
-
id: 'limadata-work-email-linkedin',
|
|
1647
|
-
endpoint: '/limadata/find/work-email-linkedin',
|
|
1648
|
-
method: 'POST',
|
|
1649
|
-
priority: 5,
|
|
1650
|
-
mapParams: (input) => ({
|
|
1651
|
-
body: { linkedin_url: input.linkedin_url },
|
|
1652
|
-
}),
|
|
1653
|
-
hasResult: (data) => {
|
|
1654
|
-
const d = data;
|
|
1655
|
-
if (typeof d.email === 'string' && d.email.includes('@'))
|
|
1656
|
-
return true;
|
|
1657
|
-
if (Array.isArray(d.emails) && typeof d.emails[0] === 'string' && d.emails[0].includes('@'))
|
|
1658
|
-
return true;
|
|
1659
|
-
const nested = d.data;
|
|
1660
|
-
if (nested && typeof nested.email === 'string' && nested.email.includes('@'))
|
|
1661
|
-
return true;
|
|
1662
|
-
return false;
|
|
1663
|
-
},
|
|
1664
|
-
isApplicable: (input) => typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0,
|
|
1665
|
-
},
|
|
1666
|
-
{
|
|
1667
|
-
id: 'linkupapi',
|
|
1668
|
-
endpoint: '/linkupapi/data/mail/finder',
|
|
1669
|
-
method: 'POST',
|
|
1670
|
-
priority: 10,
|
|
1671
|
-
mapParams: (input) => ({
|
|
1672
|
-
body: {
|
|
1673
|
-
first_name: input.first_name,
|
|
1674
|
-
last_name: input.last_name,
|
|
1675
|
-
company_name: input.company_name || input.domain,
|
|
1625
|
+
const d = data.data;
|
|
1626
|
+
return d?.is_complete === true || d?.status === 'failed';
|
|
1676
1627
|
},
|
|
1677
|
-
}),
|
|
1678
|
-
hasResult: (data) => {
|
|
1679
|
-
const d = data;
|
|
1680
|
-
return typeof d.email === 'string' && d.email.includes('@');
|
|
1681
1628
|
},
|
|
1682
1629
|
},
|
|
1683
1630
|
// Mirror of the API registry additions (validation/listing only — execution order and
|
|
@@ -1686,7 +1633,7 @@ const findEmailProviders = [
|
|
|
1686
1633
|
id: 'apollo-people-match',
|
|
1687
1634
|
endpoint: '/apollo/people/match',
|
|
1688
1635
|
method: 'POST',
|
|
1689
|
-
priority:
|
|
1636
|
+
priority: 5,
|
|
1690
1637
|
isApplicable: (input) => (typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0) ||
|
|
1691
1638
|
(!!input.first_name && !!input.last_name && !!(input.domain || input.company_name)),
|
|
1692
1639
|
mapParams: (input) => ({
|
|
@@ -1708,29 +1655,6 @@ const findEmailProviders = [
|
|
|
1708
1655
|
person?.email_status !== 'unavailable');
|
|
1709
1656
|
},
|
|
1710
1657
|
},
|
|
1711
|
-
{
|
|
1712
|
-
id: 'pdl-person-enrich',
|
|
1713
|
-
endpoint: '/pdl/person/enrich',
|
|
1714
|
-
method: 'POST',
|
|
1715
|
-
priority: 9,
|
|
1716
|
-
isApplicable: (input) => (typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0) ||
|
|
1717
|
-
(!!input.first_name && !!input.last_name && !!(input.domain || input.company_name)),
|
|
1718
|
-
mapParams: (input) => ({
|
|
1719
|
-
body: {
|
|
1720
|
-
profile: input.linkedin_url,
|
|
1721
|
-
first_name: input.first_name,
|
|
1722
|
-
last_name: input.last_name,
|
|
1723
|
-
company: input.company_name ?? input.domain,
|
|
1724
|
-
},
|
|
1725
|
-
}),
|
|
1726
|
-
hasResult: (data) => {
|
|
1727
|
-
const d = data;
|
|
1728
|
-
if (d.status !== 200)
|
|
1729
|
-
return false;
|
|
1730
|
-
const rec = d.data;
|
|
1731
|
-
return !!rec && typeof rec.work_email === 'string' && rec.work_email.includes('@');
|
|
1732
|
-
},
|
|
1733
|
-
},
|
|
1734
1658
|
{
|
|
1735
1659
|
id: 'leadmagic',
|
|
1736
1660
|
endpoint: '/leadmagic/people/email-finder',
|