@coldiq/mcp 0.3.40 → 0.4.0
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/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/enrich-company-bulk.d.ts +1 -0
- package/dist/tools/enrich-company-bulk.d.ts.map +1 -1
- package/dist/tools/enrich-company-bulk.js +1 -0
- package/dist/tools/enrich-company-bulk.js.map +1 -1
- package/dist/tools/enrich-company.d.ts +1 -0
- package/dist/tools/enrich-company.d.ts.map +1 -1
- package/dist/tools/enrich-company.js +1 -0
- package/dist/tools/enrich-company.js.map +1 -1
- package/dist/tools/enrich-person-bulk.d.ts +1 -0
- package/dist/tools/enrich-person-bulk.d.ts.map +1 -1
- package/dist/tools/enrich-person-bulk.js +1 -0
- package/dist/tools/enrich-person-bulk.js.map +1 -1
- package/dist/tools/enrich-person.d.ts +1 -0
- package/dist/tools/enrich-person.d.ts.map +1 -1
- package/dist/tools/enrich-person.js +1 -0
- package/dist/tools/enrich-person.js.map +1 -1
- package/dist/tools/find-docs.d.ts +28 -0
- package/dist/tools/find-docs.d.ts.map +1 -0
- package/dist/tools/find-docs.js +25 -0
- package/dist/tools/find-docs.js.map +1 -0
- package/dist/tools/find-email.d.ts +1 -0
- package/dist/tools/find-email.d.ts.map +1 -1
- package/dist/tools/find-email.js +1 -0
- package/dist/tools/find-email.js.map +1 -1
- package/dist/tools/find-emails-bulk.d.ts +1 -0
- package/dist/tools/find-emails-bulk.d.ts.map +1 -1
- package/dist/tools/find-emails-bulk.js +1 -0
- package/dist/tools/find-emails-bulk.js.map +1 -1
- package/dist/tools/find-emails.d.ts +1 -0
- package/dist/tools/find-emails.d.ts.map +1 -1
- package/dist/tools/find-emails.js +1 -0
- package/dist/tools/find-emails.js.map +1 -1
- package/dist/tools/find-phone-bulk.d.ts +1 -0
- package/dist/tools/find-phone-bulk.d.ts.map +1 -1
- package/dist/tools/find-phone-bulk.js +1 -0
- package/dist/tools/find-phone-bulk.js.map +1 -1
- package/dist/tools/find-phone.d.ts +1 -0
- package/dist/tools/find-phone.d.ts.map +1 -1
- package/dist/tools/find-phone.js +1 -0
- package/dist/tools/find-phone.js.map +1 -1
- package/dist/tools/list-data-sources.js +2 -2
- package/dist/tools/list-data-sources.js.map +1 -1
- package/dist/tools/verify-email.d.ts +1 -1
- package/dist/tools/verify-email.d.ts.map +1 -1
- package/dist/tools/verify-email.js +1 -1
- package/dist/tools/verify-email.js.map +1 -1
- package/dist/tools/verify-emails-bulk.d.ts +1 -0
- package/dist/tools/verify-emails-bulk.d.ts.map +1 -1
- package/dist/tools/verify-emails-bulk.js +2 -0
- package/dist/tools/verify-emails-bulk.js.map +1 -1
- package/dist/utils/provider-display.js +5 -5
- package/dist/utils/provider-display.js.map +1 -1
- package/dist/verb-client.d.ts.map +1 -1
- package/dist/verb-client.js +4 -1
- package/dist/verb-client.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +8 -0
- package/src/tools/enrich-company-bulk.ts +1 -0
- package/src/tools/enrich-company.ts +1 -0
- package/src/tools/enrich-person-bulk.ts +1 -0
- package/src/tools/enrich-person.ts +1 -0
- package/src/tools/find-docs.ts +25 -0
- package/src/tools/find-email.ts +1 -0
- package/src/tools/find-emails-bulk.ts +1 -0
- package/src/tools/find-emails.ts +1 -0
- package/src/tools/find-phone-bulk.ts +1 -0
- package/src/tools/find-phone.ts +1 -0
- package/src/tools/list-data-sources.ts +2 -2
- package/src/tools/verify-email.ts +1 -1
- package/src/tools/verify-emails-bulk.ts +2 -0
- package/src/utils/provider-display.ts +5 -5
- package/src/verb-client.ts +3 -1
- package/tests/gtm/README.md +2 -2
- package/tests/gtm/harness.ts +2 -1
- package/tests/tools/find-docs.test.ts +28 -0
- package/tests/tools/list-data-sources.test.ts +1 -1
- package/tests/utils/provider-display.test.ts +2 -2
- package/tests/version.test.ts +1 -2
package/dist/index.js
CHANGED
|
@@ -36,6 +36,7 @@ import { getPlaceReviewsName, getPlaceReviewsDescription, getPlaceReviewsSchema,
|
|
|
36
36
|
import { listDataSourcesName, listDataSourcesDescription, listDataSourcesSchema, listDataSourcesHandler, } from './tools/list-data-sources.js';
|
|
37
37
|
import { listSkillsName, listSkillsDescription, listSkillsSchema, listSkillsHandler, } from './tools/list-skills.js';
|
|
38
38
|
import { loadSkillName, loadSkillDescription, loadSkillSchema, loadSkillHandler, } from './tools/load-skill.js';
|
|
39
|
+
import { findDocsName, findDocsDescription, findDocsSchema, findDocsHandler, } from './tools/find-docs.js';
|
|
39
40
|
// Initialize HTTP client (reads env vars). A missing/empty COLDIQ_API_KEY is a
|
|
40
41
|
// user-config error, not a bug — print the message without a stack trace.
|
|
41
42
|
try {
|
|
@@ -90,6 +91,7 @@ server.tool(getSessionUsageName, getSessionUsageDescription, getSessionUsageSche
|
|
|
90
91
|
server.tool(listDataSourcesName, listDataSourcesDescription, listDataSourcesSchema, listDataSourcesHandler);
|
|
91
92
|
server.tool(listSkillsName, listSkillsDescription, listSkillsSchema, listSkillsHandler);
|
|
92
93
|
server.tool(loadSkillName, loadSkillDescription, loadSkillSchema, loadSkillHandler);
|
|
94
|
+
server.tool(findDocsName, findDocsDescription, findDocsSchema, findDocsHandler);
|
|
93
95
|
server.tool(extractPostEngagementName, extractPostEngagementDescription, extractPostEngagementSchema, extractPostEngagementHandler);
|
|
94
96
|
server.tool(getPlaceReviewsName, getPlaceReviewsDescription, getPlaceReviewsSchema, getPlaceReviewsHandler);
|
|
95
97
|
// Generic endpoint discovery + invoke: reach any integrated provider without a dedicated tool.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export declare const enrichCompanyBulkSchema: {
|
|
|
16
16
|
name?: string | undefined;
|
|
17
17
|
}>, "many">;
|
|
18
18
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
19
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
19
20
|
};
|
|
20
21
|
export declare function enrichCompanyBulkHandler(input: Record<string, unknown>): Promise<{
|
|
21
22
|
content: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich-company-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/enrich-company-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,qBAAqB,wBAAwB,CAAA;AAE1D,eAAO,MAAM,4BAA4B,QAIwE,CAAA;AAEjH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"enrich-company-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/enrich-company-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,qBAAqB,wBAAwB,CAAA;AAE1D,eAAO,MAAM,4BAA4B,QAIwE,CAAA;AAEjH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;CAcnC,CAAA;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAG5E"}
|
|
@@ -16,6 +16,7 @@ export const enrichCompanyBulkSchema = {
|
|
|
16
16
|
.max(5000)
|
|
17
17
|
.describe('Companies to enrich (1–5000). Each needs at least one of domain, linkedin_url, or name.'),
|
|
18
18
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
19
|
+
max_credits: z.number().positive().optional().describe('Per-row spend cap: a provider that would enrich the row but costs more than this is skipped (the row comes back not_found rather than overspending).'),
|
|
19
20
|
};
|
|
20
21
|
export async function enrichCompanyBulkHandler(input) {
|
|
21
22
|
const res = await callApi('POST', '/company/enrich/bulk/submit', input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich-company-bulk.js","sourceRoot":"","sources":["../../src/tools/enrich-company-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAA;AAE1D,MAAM,CAAC,MAAM,4BAA4B,GACvC,oLAAoL;IACpL,wGAAwG;IACxG,iIAAiI;IACjI,+GAA+G,CAAA;AAEjH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAC7E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KACtE,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,yFAAyF,CAAC;IACtG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"enrich-company-bulk.js","sourceRoot":"","sources":["../../src/tools/enrich-company-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAA;AAE1D,MAAM,CAAC,MAAM,4BAA4B,GACvC,oLAAoL;IACpL,wGAAwG;IACxG,iIAAiI;IACjI,+GAA+G,CAAA;AAEjH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAC7E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KACtE,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,yFAAyF,CAAC;IACtG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sJAAsJ,CAAC;CAC/M,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAA8B;IAC3E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,6BAA6B,EAAE,KAAK,CAAC,CAAA;IACvE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;AACnG,CAAC"}
|
|
@@ -6,6 +6,7 @@ export declare const enrichCompanySchema: {
|
|
|
6
6
|
linkedin_url: z.ZodOptional<z.ZodString>;
|
|
7
7
|
name: z.ZodOptional<z.ZodString>;
|
|
8
8
|
use_providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
9
10
|
};
|
|
10
11
|
export declare function enrichCompanyHandler(input: Record<string, unknown>): Promise<{
|
|
11
12
|
content: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich-company.d.ts","sourceRoot":"","sources":["../../src/tools/enrich-company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,iBAAiB,mBAAmB,CAAA;AAEjD,eAAO,MAAM,wBAAwB,QAEyJ,CAAA;AAE9L,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"enrich-company.d.ts","sourceRoot":"","sources":["../../src/tools/enrich-company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,iBAAiB,mBAAmB,CAAA;AAEjD,eAAO,MAAM,wBAAwB,QAEyJ,CAAA;AAE9L,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAA;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAExE"}
|
|
@@ -9,6 +9,7 @@ export const enrichCompanySchema = {
|
|
|
9
9
|
linkedin_url: z.string().url().optional().describe('Company LinkedIn URL (e.g. "https://www.linkedin.com/company/stripe")'),
|
|
10
10
|
name: z.string().optional().describe('Company name (e.g. "Stripe")'),
|
|
11
11
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('enrich_company').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
12
|
+
max_credits: z.number().positive().optional().describe('Per-record spend cap: a provider that would enrich this company but costs more than this is skipped, so you never pay more than N credits (returns not_found if nothing answers in budget).'),
|
|
12
13
|
};
|
|
13
14
|
export async function enrichCompanyHandler(input) {
|
|
14
15
|
return callVerb('/company/enrich', input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich-company.js","sourceRoot":"","sources":["../../src/tools/enrich-company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAA;AAEjD,MAAM,CAAC,MAAM,wBAAwB,GACnC,kUAAkU;IAClU,4LAA4L,CAAA;AAE9L,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;IAC3H,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACpE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;
|
|
1
|
+
{"version":3,"file":"enrich-company.js","sourceRoot":"","sources":["../../src/tools/enrich-company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAA;AAEjD,MAAM,CAAC,MAAM,wBAAwB,GACnC,kUAAkU;IAClU,4LAA4L,CAAA;AAE9L,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;IAC3H,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACpE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;IACnW,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6LAA6L,CAAC;CACtP,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAA8B;IACvE,OAAO,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC"}
|
|
@@ -25,6 +25,7 @@ export declare const enrichPersonBulkSchema: {
|
|
|
25
25
|
email?: string | undefined;
|
|
26
26
|
}>, "many">;
|
|
27
27
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
28
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
28
29
|
};
|
|
29
30
|
export declare function enrichPersonBulkHandler(input: Record<string, unknown>): Promise<{
|
|
30
31
|
content: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich-person-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/enrich-person-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAExD,eAAO,MAAM,2BAA2B,QAIuE,CAAA;AAE/G,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"enrich-person-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/enrich-person-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAExD,eAAO,MAAM,2BAA2B,QAIuE,CAAA;AAE/G,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;CAiBlC,CAAA;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAG3E"}
|
|
@@ -19,6 +19,7 @@ export const enrichPersonBulkSchema = {
|
|
|
19
19
|
.max(5000)
|
|
20
20
|
.describe('People to enrich (1–5000). Each needs an email, a linkedin_url, or name + company/domain.'),
|
|
21
21
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
22
|
+
max_credits: z.number().positive().optional().describe('Per-row spend cap: a provider that would enrich the row but costs more than this is skipped (the row comes back not_found rather than overspending).'),
|
|
22
23
|
};
|
|
23
24
|
export async function enrichPersonBulkHandler(input) {
|
|
24
25
|
const res = await callApi('POST', '/person/enrich/bulk/submit', input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich-person-bulk.js","sourceRoot":"","sources":["../../src/tools/enrich-person-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAExD,MAAM,CAAC,MAAM,2BAA2B,GACtC,6JAA6J;IAC7J,wGAAwG;IACxG,oIAAoI;IACpI,6GAA6G,CAAA;AAE/G,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC3E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACrF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAC9E,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,2FAA2F,CAAC;IACxG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"enrich-person-bulk.js","sourceRoot":"","sources":["../../src/tools/enrich-person-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAExD,MAAM,CAAC,MAAM,2BAA2B,GACtC,6JAA6J;IAC7J,wGAAwG;IACxG,oIAAoI;IACpI,6GAA6G,CAAA;AAE/G,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC3E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACrF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAC9E,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,2FAA2F,CAAC;IACxG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sJAAsJ,CAAC;CAC/M,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAA8B;IAC1E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAA;IACtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;AACnG,CAAC"}
|
|
@@ -10,6 +10,7 @@ export declare const enrichPersonSchema: {
|
|
|
10
10
|
linkedin_url: z.ZodOptional<z.ZodString>;
|
|
11
11
|
phone: z.ZodOptional<z.ZodString>;
|
|
12
12
|
use_providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
13
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
13
14
|
};
|
|
14
15
|
export declare function enrichPersonHandler(input: Record<string, unknown>): Promise<{
|
|
15
16
|
content: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich-person.d.ts","sourceRoot":"","sources":["../../src/tools/enrich-person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,gBAAgB,kBAAkB,CAAA;AAE/C,eAAO,MAAM,uBAAuB,QAOiI,CAAA;AAErK,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"enrich-person.d.ts","sourceRoot":"","sources":["../../src/tools/enrich-person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,gBAAgB,kBAAkB,CAAA;AAE/C,eAAO,MAAM,uBAAuB,QAOiI,CAAA;AAErK,eAAO,MAAM,kBAAkB;;;;;;;;;;CAU9B,CAAA;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAEvE"}
|
|
@@ -18,6 +18,7 @@ export const enrichPersonSchema = {
|
|
|
18
18
|
linkedin_url: z.string().url().optional().describe('LinkedIn profile URL for direct profile lookup (e.g. "https://www.linkedin.com/in/michel-lieben")'),
|
|
19
19
|
phone: z.string().optional().describe('Phone number for reverse phone lookup'),
|
|
20
20
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('enrich_person').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
21
|
+
max_credits: z.number().positive().optional().describe('Per-record spend cap: a provider that would enrich this person but costs more than this is skipped, so you never pay more than N credits (returns not_found if nothing answers in budget).'),
|
|
21
22
|
};
|
|
22
23
|
export async function enrichPersonHandler(input) {
|
|
23
24
|
return callVerb('/person/enrich', input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich-person.js","sourceRoot":"","sources":["../../src/tools/enrich-person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAA;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAClC,gEAAgE;IAChE,2FAA2F;IAC3F,4EAA4E;IAC5E,8IAA8I;IAC9I,oIAAoI;IACpI,6IAA6I;IAC7I,mKAAmK,CAAA;AAErK,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;IACxH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IAC/G,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAC1G,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mGAAmG,CAAC;IACvJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC9E,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;
|
|
1
|
+
{"version":3,"file":"enrich-person.js","sourceRoot":"","sources":["../../src/tools/enrich-person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAA;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAClC,gEAAgE;IAChE,2FAA2F;IAC3F,4EAA4E;IAC5E,8IAA8I;IAC9I,oIAAoI;IACpI,6IAA6I;IAC7I,mKAAmK,CAAA;AAErK,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;IACxH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IAC/G,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAC1G,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mGAAmG,CAAC;IACvJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC9E,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;IAClW,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4LAA4L,CAAC;CACrP,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA8B;IACtE,OAAO,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const findDocsName = "find_docs";
|
|
3
|
+
export declare const findDocsDescription = "Find the relevant ColdIQ GTM knowledge docs for a task \u2014 plays with endpoint waterfalls, provider deep-docs, and strategy guides. Describe what you are trying to do; returns the most relevant docs. FREE.";
|
|
4
|
+
export declare const findDocsSchema: {
|
|
5
|
+
query: z.ZodString;
|
|
6
|
+
types: z.ZodOptional<z.ZodArray<z.ZodEnum<["play", "provider", "strategy"]>, "many">>;
|
|
7
|
+
limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
8
|
+
include_bodies: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
9
|
+
};
|
|
10
|
+
export declare function findDocsHandler(input: {
|
|
11
|
+
query: string;
|
|
12
|
+
types?: string[];
|
|
13
|
+
limit?: number;
|
|
14
|
+
include_bodies?: boolean;
|
|
15
|
+
}): Promise<{
|
|
16
|
+
content: {
|
|
17
|
+
type: "text";
|
|
18
|
+
text: string;
|
|
19
|
+
}[];
|
|
20
|
+
isError: boolean;
|
|
21
|
+
} | {
|
|
22
|
+
content: {
|
|
23
|
+
type: "text";
|
|
24
|
+
text: string;
|
|
25
|
+
}[];
|
|
26
|
+
isError?: undefined;
|
|
27
|
+
}>;
|
|
28
|
+
//# sourceMappingURL=find-docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-docs.d.ts","sourceRoot":"","sources":["../../src/tools/find-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,YAAY,cAAc,CAAA;AACvC,eAAO,MAAM,mBAAmB,qNAAgN,CAAA;AAChP,eAAO,MAAM,cAAc;;;;;CAK1B,CAAA;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;GAYzH"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { callApi } from '../client.js';
|
|
3
|
+
export const findDocsName = 'find_docs';
|
|
4
|
+
export const findDocsDescription = 'Find the relevant ColdIQ GTM knowledge docs for a task — plays with endpoint waterfalls, provider deep-docs, and strategy guides. Describe what you are trying to do; returns the most relevant docs. FREE.';
|
|
5
|
+
export const findDocsSchema = {
|
|
6
|
+
query: z.string().trim().min(1).max(2_000).describe('Natural-language GTM task or question.'),
|
|
7
|
+
types: z.array(z.enum(['play', 'provider', 'strategy'])).max(3).optional(),
|
|
8
|
+
limit: z.number().int().min(1).max(15).default(5).optional(),
|
|
9
|
+
include_bodies: z.boolean().default(false).optional(),
|
|
10
|
+
};
|
|
11
|
+
export async function findDocsHandler(input) {
|
|
12
|
+
const res = await callApi('GET', '/knowledge/search', undefined, {
|
|
13
|
+
q: input.query,
|
|
14
|
+
types: input.types?.join(',') ?? '',
|
|
15
|
+
limit: String(input.limit ?? 5),
|
|
16
|
+
include_bodies: String(input.include_bodies ?? false),
|
|
17
|
+
});
|
|
18
|
+
if (!res.ok)
|
|
19
|
+
return {
|
|
20
|
+
content: [{ type: 'text', text: JSON.stringify({ error: 'Failed to find knowledge docs', status: res.status, data: res.data }) }],
|
|
21
|
+
isError: true,
|
|
22
|
+
};
|
|
23
|
+
return { content: [{ type: 'text', text: JSON.stringify({ data: res.data }) }] };
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=find-docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-docs.js","sourceRoot":"","sources":["../../src/tools/find-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAA;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,6MAA6M,CAAA;AAChP,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC7F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5D,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAoF;IACxH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE;QAC/D,CAAC,EAAE,KAAK,CAAC,KAAK;QACd,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QACnC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC;KACtD,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO;YAClB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1I,OAAO,EAAE,IAAI;SACd,CAAA;IACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAC3F,CAAC"}
|
|
@@ -9,6 +9,7 @@ export declare const findEmailSchema: {
|
|
|
9
9
|
linkedin_url: z.ZodOptional<z.ZodString>;
|
|
10
10
|
resolve_current_employer: z.ZodOptional<z.ZodBoolean>;
|
|
11
11
|
use_providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
12
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
12
13
|
};
|
|
13
14
|
export declare function findEmailHandler(input: Record<string, unknown>): Promise<{
|
|
14
15
|
content: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-email.d.ts","sourceRoot":"","sources":["../../src/tools/find-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,aAAa,eAAe,CAAA;AAEzC,eAAO,MAAM,oBAAoB,QAI2F,CAAA;AAE5H,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"find-email.d.ts","sourceRoot":"","sources":["../../src/tools/find-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,aAAa,eAAe,CAAA;AAEzC,eAAO,MAAM,oBAAoB,QAI2F,CAAA;AAE5H,eAAO,MAAM,eAAe;;;;;;;;;CAS3B,CAAA;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAEpE"}
|
package/dist/tools/find-email.js
CHANGED
|
@@ -14,6 +14,7 @@ export const findEmailSchema = {
|
|
|
14
14
|
linkedin_url: z.string().optional().describe('LinkedIn profile URL — alternative to name+domain'),
|
|
15
15
|
resolve_current_employer: z.boolean().optional().describe('Opt-in: on a miss with a linkedin_url, enrich the person to resolve their CURRENT employer\'s domain and retry once — recovers stale/acquired input domains (e.g. Atmel→microchip.com). Extra ~1 credit for the enrich hop, disclosed in _meta.employer_resolution. Default false.'),
|
|
16
16
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('find_email').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
17
|
+
max_credits: z.number().positive().optional().describe('Per-record spend cap: a provider that would find the email but costs more than this is skipped, so you never pay more than N credits for one email (returns not_found if nothing answers in budget). Stops one pricey provider (e.g. PDL ~17cr) from dominating a large run.'),
|
|
17
18
|
};
|
|
18
19
|
export async function findEmailHandler(input) {
|
|
19
20
|
return callVerb('/email/find', input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-email.js","sourceRoot":"","sources":["../../src/tools/find-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAA;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,mEAAmE;IACnE,mFAAmF;IACnF,4IAA4I;IAC5I,0HAA0H,CAAA;AAE5H,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACpF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IACjG,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oRAAoR,CAAC;IAC/U,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;
|
|
1
|
+
{"version":3,"file":"find-email.js","sourceRoot":"","sources":["../../src/tools/find-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAA;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,mEAAmE;IACnE,mFAAmF;IACnF,4IAA4I;IAC5I,0HAA0H,CAAA;AAE5H,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACpF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IACjG,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oRAAoR,CAAC;IAC/U,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;IAC/V,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8QAA8Q,CAAC;CACvU,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAA8B;IACnE,OAAO,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -26,6 +26,7 @@ export declare const findEmailsBulkSchema: {
|
|
|
26
26
|
}>, "many">;
|
|
27
27
|
resolve_current_employer: z.ZodOptional<z.ZodBoolean>;
|
|
28
28
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
29
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
29
30
|
};
|
|
30
31
|
export declare function findEmailsBulkHandler(input: Record<string, unknown>): Promise<{
|
|
31
32
|
content: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-emails-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/find-emails-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,kBAAkB,qBAAqB,CAAA;AAEpD,eAAO,MAAM,yBAAyB,QAUwC,CAAA;AAE9E,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"find-emails-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/find-emails-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,kBAAkB,qBAAqB,CAAA;AAEpD,eAAO,MAAM,yBAAyB,QAUwC,CAAA;AAE9E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBhC,CAAA;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAGzE"}
|
|
@@ -26,6 +26,7 @@ export const findEmailsBulkSchema = {
|
|
|
26
26
|
.describe('People to find emails for (1–5000). Searchable = linkedin_url alone, OR first_name + last_name + (domain or company_name).'),
|
|
27
27
|
resolve_current_employer: z.boolean().optional().describe('Opt-in, applies to every row: when a row misses and has a linkedin_url, enrich the person to resolve their CURRENT employer\'s domain and retry once — recovers stale/acquired input domains (e.g. Atmel→microchip.com). Extra ~1 credit per resolved row. Default false.'),
|
|
28
28
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
29
|
+
max_credits: z.number().positive().optional().describe('Per-row spend cap: a provider that would find the email but costs more than this is skipped (the row comes back not_found rather than overspending). Caps a pricey provider (e.g. PDL ~17cr) across the whole list.'),
|
|
29
30
|
};
|
|
30
31
|
export async function findEmailsBulkHandler(input) {
|
|
31
32
|
const res = await callApi('POST', '/email/find/bulk/submit', input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-emails-bulk.js","sourceRoot":"","sources":["../../src/tools/find-emails-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAA;AAEpD,MAAM,CAAC,MAAM,yBAAyB,GACpC,kHAAkH;IAClH,mHAAmH;IACnH,oDAAoD;IACpD,yLAAyL;IACzL,qKAAqK;IACrK,mKAAmK;IACnK,mGAAmG;IACnG,wHAAwH;IACxH,0HAA0H;IAC1H,4EAA4E,CAAA;AAE9E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yFAAyF,CAAC;QAC7H,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;QACzG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;KAC5H,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,4HAA4H,CAAC;IACzI,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2QAA2Q,CAAC;IACtU,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"find-emails-bulk.js","sourceRoot":"","sources":["../../src/tools/find-emails-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAA;AAEpD,MAAM,CAAC,MAAM,yBAAyB,GACpC,kHAAkH;IAClH,mHAAmH;IACnH,oDAAoD;IACpD,yLAAyL;IACzL,qKAAqK;IACrK,mKAAmK;IACnK,mGAAmG;IACnG,wHAAwH;IACxH,0HAA0H;IAC1H,4EAA4E,CAAA;AAE9E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yFAAyF,CAAC;QAC7H,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;QACzG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;KAC5H,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,4HAA4H,CAAC;IACzI,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2QAA2Q,CAAC;IACtU,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qNAAqN,CAAC;CAC9Q,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAA8B;IACxE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAA;IACnE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;AACnG,CAAC"}
|
|
@@ -23,6 +23,7 @@ export declare const findEmailsSchema: {
|
|
|
23
23
|
}>, "many">;
|
|
24
24
|
resolve_current_employer: z.ZodOptional<z.ZodBoolean>;
|
|
25
25
|
use_providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
26
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
26
27
|
};
|
|
27
28
|
type ToolResult = {
|
|
28
29
|
content: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-emails.d.ts","sourceRoot":"","sources":["../../src/tools/find-emails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAE3C,eAAO,MAAM,qBAAqB,QAUyB,CAAA;AAE3D,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"find-emails.d.ts","sourceRoot":"","sources":["../../src/tools/find-emails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAE3C,eAAO,MAAM,qBAAqB,QAUyB,CAAA;AAE3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;CAiB5B,CAAA;AASD,KAAK,UAAU,GAAG;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAMlF,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CA0C3F"}
|
|
@@ -26,6 +26,7 @@ export const findEmailsSchema = {
|
|
|
26
26
|
.describe('People to find emails for (max 50)'),
|
|
27
27
|
resolve_current_employer: z.boolean().optional().describe('Opt-in, applies to every person in the batch: on a miss with a linkedin_url, enrich the person to resolve their CURRENT employer\'s domain and retry once — recovers stale/acquired input domains (e.g. Atmel→microchip.com). Extra ~1 credit per resolved person. Default false.'),
|
|
28
28
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically run the best waterfall — recommended for most use cases. Available providers: ${FIND_EMAILS_PROVIDERS.join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
29
|
+
max_credits: z.number().positive().optional().describe('Per-person spend cap applied to every person in the batch: a provider that would find the email but costs more than this is skipped, so you never pay more than N credits per email. Stops one pricey provider (e.g. PDL ~17cr) from dominating a large run.'),
|
|
29
30
|
};
|
|
30
31
|
// Split large batches into sequential sub-batches so each HTTP call stays well
|
|
31
32
|
// under the server's bulk wall-clock budget (and thus Cloudflare's ~100s edge
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-emails.js","sourceRoot":"","sources":["../../src/tools/find-emails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAErE,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAA;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAChC,6DAA6D;IAC7D,mEAAmE;IACnE,0EAA0E;IAC1E,uDAAuD;IACvD,0FAA0F;IAC1F,kHAAkH;IAClH,sGAAsG;IACtG,uGAAuG;IACvG,oGAAoG;IACpG,yDAAyD,CAAA;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;QACjG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;KAC9H,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,oCAAoC,CAAC;IACjD,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mRAAmR,CAAC;IAC9U,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oKAAoK,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;
|
|
1
|
+
{"version":3,"file":"find-emails.js","sourceRoot":"","sources":["../../src/tools/find-emails.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ export declare const findPhoneBulkSchema: {
|
|
|
22
22
|
company_domain?: string | undefined;
|
|
23
23
|
}>, "many">;
|
|
24
24
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
25
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
25
26
|
};
|
|
26
27
|
export declare function findPhoneBulkHandler(input: Record<string, unknown>): Promise<{
|
|
27
28
|
content: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-phone-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/find-phone-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,iBAAiB,oBAAoB,CAAA;AAElD,eAAO,MAAM,wBAAwB,QAI6J,CAAA;AAElM,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"find-phone-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/find-phone-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,iBAAiB,oBAAoB,CAAA;AAElD,eAAO,MAAM,wBAAwB,QAI6J,CAAA;AAElM,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;CAgB/B,CAAA;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAGxE"}
|
|
@@ -18,6 +18,7 @@ export const findPhoneBulkSchema = {
|
|
|
18
18
|
.max(5000)
|
|
19
19
|
.describe('People to find phone numbers for (1–5000). Each needs a linkedin_url, or name + company_domain/name.'),
|
|
20
20
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
21
|
+
max_credits: z.number().positive().optional().describe('Per-row spend cap: a provider that would return a number but costs more than this is skipped (the row comes back not_found rather than overspending). Phone lookups can be 10+ credits — this bounds them.'),
|
|
21
22
|
};
|
|
22
23
|
export async function findPhoneBulkHandler(input) {
|
|
23
24
|
const res = await callApi('POST', '/phone/find/bulk/submit', input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-phone-bulk.js","sourceRoot":"","sources":["../../src/tools/find-phone-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAElD,MAAM,CAAC,MAAM,wBAAwB,GACnC,gJAAgJ;IAChJ,wGAAwG;IACxG,uIAAuI;IACvI,gMAAgM,CAAA;AAElM,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QAChG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACrF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KAC9F,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,sGAAsG,CAAC;IACnH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"find-phone-bulk.js","sourceRoot":"","sources":["../../src/tools/find-phone-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAElD,MAAM,CAAC,MAAM,wBAAwB,GACnC,gJAAgJ;IAChJ,wGAAwG;IACxG,uIAAuI;IACvI,gMAAgM,CAAA;AAElM,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QAChG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACrF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KAC9F,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,sGAAsG,CAAC;IACnH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4MAA4M,CAAC;CACrQ,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAA8B;IACvE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAA;IACnE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;AACnG,CAAC"}
|
|
@@ -8,6 +8,7 @@ export declare const findPhoneSchema: {
|
|
|
8
8
|
company_domain: z.ZodOptional<z.ZodString>;
|
|
9
9
|
company_name: z.ZodOptional<z.ZodString>;
|
|
10
10
|
use_providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
11
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
11
12
|
};
|
|
12
13
|
export declare function findPhoneHandler(input: Record<string, unknown>): Promise<{
|
|
13
14
|
content: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-phone.d.ts","sourceRoot":"","sources":["../../src/tools/find-phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,aAAa,eAAe,CAAA;AAEzC,eAAO,MAAM,oBAAoB,sMAC+J,CAAA;AAEhM,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"find-phone.d.ts","sourceRoot":"","sources":["../../src/tools/find-phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,aAAa,eAAe,CAAA;AAEzC,eAAO,MAAM,oBAAoB,sMAC+J,CAAA;AAEhM,eAAO,MAAM,eAAe;;;;;;;;CAQ3B,CAAA;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAGpE"}
|
package/dist/tools/find-phone.js
CHANGED
|
@@ -10,6 +10,7 @@ export const findPhoneSchema = {
|
|
|
10
10
|
company_domain: z.string().optional().describe('Company domain, e.g. coldiq.com'),
|
|
11
11
|
company_name: z.string().optional().describe('Company name (alternative to company_domain)'),
|
|
12
12
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('find_phone').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
13
|
+
max_credits: z.number().positive().optional().describe('Per-record spend cap: a provider that would return a number but costs more than this is skipped, so you never pay more than N credits for one phone (returns not_found if nothing answers in budget). Phone lookups can be 10+ credits — this bounds them.'),
|
|
13
14
|
};
|
|
14
15
|
export async function findPhoneHandler(input) {
|
|
15
16
|
// MCP schema predates the verb: `company_domain` → the verb's `domain`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-phone.js","sourceRoot":"","sources":["../../src/tools/find-phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAA;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,8LAA8L,CAAA;AAEhM,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACxF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACtF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACjF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC5F,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;
|
|
1
|
+
{"version":3,"file":"find-phone.js","sourceRoot":"","sources":["../../src/tools/find-phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAA;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,8LAA8L,CAAA;AAEhM,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACxF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACtF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACjF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC5F,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;IAC/V,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4PAA4P,CAAC;CACrT,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAA8B;IACnE,wEAAwE;IACxE,OAAO,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AAChF,CAAC"}
|
|
@@ -40,11 +40,11 @@ const CATALOG = [
|
|
|
40
40
|
// the accurate coverage. Keyed by capability -> branded display name.
|
|
41
41
|
const VENDOR_STRENGTH_OVERRIDES = {
|
|
42
42
|
search_companies: {
|
|
43
|
-
|
|
43
|
+
'Lima Data': 'LinkedIn-based company discovery, incl. Sales Navigator URLs',
|
|
44
44
|
LinkupAPI: 'live LinkedIn company search, incl. recently-funded and hiring companies',
|
|
45
45
|
},
|
|
46
46
|
find_email: {
|
|
47
|
-
|
|
47
|
+
'Lima Data': 'work-email lookup by name + domain or LinkedIn URL',
|
|
48
48
|
},
|
|
49
49
|
enrich_company: {
|
|
50
50
|
CompanyEnrich: 'firmographic enrichment from a domain, name or LinkedIn URL',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-data-sources.js","sourceRoot":"","sources":["../../src/tools/list-data-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAA0B,MAAM,+BAA+B,CAAA;AAE3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;AAEtD,MAAM,CAAC,MAAM,0BAA0B,GACrC,glBAAglB,CAAA;AAEllB,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4IAA4I,CAAC;CAC1J,CAAA;AAED,mFAAmF;AACnF,0EAA0E;AAC1E,iFAAiF;AACjF,wDAAwD;AACxD,MAAM,OAAO,GAA0E;IACrF,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACrF,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE;IAC1E,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,eAAe,EAAE;IACtF,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACjF,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE;IACxE,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACrF,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAClF,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IACrE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;IACzE,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IACrE,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;IAC7E,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE;IACtF,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC3F,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;IAC9E,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IACrE,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,yBAAyB,EAAE;IACtF,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE;CACxF,CAAA;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,iFAAiF;AACjF,sEAAsE;AACtE,MAAM,yBAAyB,GAA+D;IAC5F,gBAAgB,EAAE;QAChB,
|
|
1
|
+
{"version":3,"file":"list-data-sources.js","sourceRoot":"","sources":["../../src/tools/list-data-sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const verifyEmailName = "verify_email";
|
|
3
|
-
export declare const verifyEmailDescription = "Check whether an email address is valid and deliverable. Returns a normalized `status` field \u2014 one of \"valid\", \"invalid\", \"catch_all\", \"risky\", \"disposable\", \"unknown\" \u2014 alongside the raw provider response.
|
|
3
|
+
export declare const verifyEmailDescription = "Check whether an email address is valid and deliverable. Returns a normalized `status` field \u2014 one of \"valid\", \"invalid\", \"catch_all\", \"risky\", \"disposable\", \"unknown\" \u2014 alongside the raw provider response. BounceBan leads the waterfall: it resolves catch-all and risky addresses without sending (the gap most verifiers leave as \"unknown\"); if it cannot conclude, the chain falls through to leadmagic, findymail, icypeas, instantly, and linkupapi. Findymail only distinguishes valid vs invalid. Use before cold outreach to protect sender reputation. ColdIQ automatically runs the waterfall \u2014 pass use_providers only if you need a specific tool.";
|
|
4
4
|
export declare const verifyEmailSchema: {
|
|
5
5
|
email: z.ZodString;
|
|
6
6
|
use_providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-email.d.ts","sourceRoot":"","sources":["../../src/tools/verify-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"verify-email.d.ts","sourceRoot":"","sources":["../../src/tools/verify-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,eAAO,MAAM,sBAAsB,sqBACqmB,CAAA;AAExoB,eAAO,MAAM,iBAAiB;;;CAG7B,CAAA;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAEtE"}
|
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { callVerb } from '../verb-client.js';
|
|
3
3
|
import { getProvidersForCapability } from '../utils/provider-resolver.js';
|
|
4
4
|
export const verifyEmailName = 'verify_email';
|
|
5
|
-
export const verifyEmailDescription = 'Check whether an email address is valid and deliverable. Returns a normalized `status` field — one of "valid", "invalid", "catch_all", "risky", "disposable", "unknown" — alongside the raw provider response.
|
|
5
|
+
export const verifyEmailDescription = 'Check whether an email address is valid and deliverable. Returns a normalized `status` field — one of "valid", "invalid", "catch_all", "risky", "disposable", "unknown" — alongside the raw provider response. BounceBan leads the waterfall: it resolves catch-all and risky addresses without sending (the gap most verifiers leave as "unknown"); if it cannot conclude, the chain falls through to leadmagic, findymail, icypeas, instantly, and linkupapi. Findymail only distinguishes valid vs invalid. Use before cold outreach to protect sender reputation. ColdIQ automatically runs the waterfall — pass use_providers only if you need a specific tool.';
|
|
6
6
|
export const verifyEmailSchema = {
|
|
7
7
|
email: z.string().email().describe('Email address to verify'),
|
|
8
8
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('verify_email').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-email.js","sourceRoot":"","sources":["../../src/tools/verify-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAA;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GACjC,
|
|
1
|
+
{"version":3,"file":"verify-email.js","sourceRoot":"","sources":["../../src/tools/verify-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAA;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GACjC,soBAAsoB,CAAA;AAExoB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC7D,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,yBAAyB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC;CAClW,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAA8B;IACrE,OAAO,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;AACzC,CAAC"}
|
|
@@ -3,6 +3,7 @@ export declare const verifyEmailsBulkName = "verify_emails_bulk";
|
|
|
3
3
|
export declare const verifyEmailsBulkDescription: string;
|
|
4
4
|
export declare const verifyEmailsBulkSchema: {
|
|
5
5
|
emails: z.ZodArray<z.ZodString, "many">;
|
|
6
|
+
use_providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6
7
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
7
8
|
};
|
|
8
9
|
export declare function verifyEmailsBulkHandler(input: Record<string, unknown>): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-emails-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/verify-emails-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAExD,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"verify-emails-bulk.d.ts","sourceRoot":"","sources":["../../src/tools/verify-emails-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAExD,eAAO,MAAM,2BAA2B,QAUQ,CAAA;AAEhD,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAA;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;GAG3E"}
|
|
@@ -9,9 +9,11 @@ export const verifyEmailsBulkDescription = 'Verify up to 5,000 emails in one ASY
|
|
|
9
9
|
'means the address was SKIPPED (rate-limited / never checked) and is safe to re-submit — do not discard those contacts; ' +
|
|
10
10
|
'only `provider_indeterminate` (or no reason) is a real "couldn\'t determine". ' +
|
|
11
11
|
'The 202 response includes `credits_reserved` (worst-case hold, settled to actual on completion) and a `low_balance_warning` when low. ' +
|
|
12
|
+
'PROVIDER: runs on BounceBan by default — it resolves catch-all/risky addresses without sending (~0.2 credits per conclusively-verified email). If the BounceBan submit fails, the job AUTOMATICALLY falls back to Icypeas (0.1 credits/verified, no catch-all resolution) — bulk verify survives a single-provider outage. Pinning use_providers:["bounceban"] or ["icypeas"] is STRICT: a pinned backend\'s failure returns an error instead of switching. Any other verifier returns a clear error (never silently ignored). ' +
|
|
12
13
|
'For a single email use verify_email instead.';
|
|
13
14
|
export const verifyEmailsBulkSchema = {
|
|
14
15
|
emails: z.array(z.string()).min(1).max(5000).describe('Emails to verify (1–5000). Invalid/duplicate entries are dropped server-side.'),
|
|
16
|
+
use_providers: z.array(z.string()).optional().describe('Provider pin. Omit for the default: BounceBan (catch-all/risky resolution, ~0.2 cr/verified) with automatic Icypeas failover (0.1 cr/verified). An explicit "bounceban" or "icypeas" pin is strict — its backend\'s failure returns an error, never a silent switch. Any other verifier returns a clear error.'),
|
|
15
17
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
16
18
|
};
|
|
17
19
|
export async function verifyEmailsBulkHandler(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-emails-bulk.js","sourceRoot":"","sources":["../../src/tools/verify-emails-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAExD,MAAM,CAAC,MAAM,2BAA2B,GACtC,mHAAmH;IACnH,sIAAsI;IACtI,2HAA2H;IAC3H,4GAA4G;IAC5G,gIAAgI;IAChI,yHAAyH;IACzH,gFAAgF;IAChF,wIAAwI;IACxI,8CAA8C,CAAA;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,+EAA+E,CAAC;IACtI,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CACjG,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAA8B;IAC1E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAA;IACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;AACnG,CAAC"}
|
|
1
|
+
{"version":3,"file":"verify-emails-bulk.js","sourceRoot":"","sources":["../../src/tools/verify-emails-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAExD,MAAM,CAAC,MAAM,2BAA2B,GACtC,mHAAmH;IACnH,sIAAsI;IACtI,2HAA2H;IAC3H,4GAA4G;IAC5G,gIAAgI;IAChI,yHAAyH;IACzH,gFAAgF;IAChF,wIAAwI;IACxI,igBAAigB;IACjgB,8CAA8C,CAAA;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,+EAA+E,CAAC;IACtI,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gTAAgT,CAAC;IACxW,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CACjG,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAA8B;IAC1E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAA;IACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;AACnG,CAAC"}
|
|
@@ -31,11 +31,11 @@ const DISPLAY_NAMES = {
|
|
|
31
31
|
'signalbase-job-change': 'SignalBase',
|
|
32
32
|
blitzapi: 'BlitzAPI',
|
|
33
33
|
'blitzapi-reverse-email': 'BlitzAPI',
|
|
34
|
-
limadata: '
|
|
35
|
-
'limadata-prospect-filter': '
|
|
36
|
-
'limadata-prospect-url': '
|
|
37
|
-
'limadata-work-email': '
|
|
38
|
-
'limadata-work-email-linkedin': '
|
|
34
|
+
limadata: 'Lima Data',
|
|
35
|
+
'limadata-prospect-filter': 'Lima Data',
|
|
36
|
+
'limadata-prospect-url': 'Lima Data',
|
|
37
|
+
'limadata-work-email': 'Lima Data',
|
|
38
|
+
'limadata-work-email-linkedin': 'Lima Data',
|
|
39
39
|
predictleads: 'PredictLeads',
|
|
40
40
|
'predictleads-financing': 'PredictLeads',
|
|
41
41
|
'predictleads-news': 'PredictLeads',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-display.js","sourceRoot":"","sources":["../../src/utils/provider-display.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,yFAAyF;AACzF,+EAA+E;AAC/E,+EAA+E;AAC/E,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,kFAAkF;AAClF,kEAAkE;AAClE,8EAA8E;AAE9E,MAAM,aAAa,GAA2B;IAC5C,4EAA4E;IAC5E,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,eAAe;IACpC,MAAM,EAAE,QAAQ;IAChB,qBAAqB,EAAE,QAAQ;IAC/B,UAAU,EAAE,YAAY;IACxB,0BAA0B,EAAE,YAAY;IACxC,GAAG,EAAE,kBAAkB;IACvB,mBAAmB,EAAE,kBAAkB;IACvC,qBAAqB,EAAE,kBAAkB;IACzC,UAAU,EAAE,YAAY;IACxB,oBAAoB,EAAE,YAAY;IAClC,wBAAwB,EAAE,YAAY;IACtC,mBAAmB,EAAE,YAAY;IACjC,uBAAuB,EAAE,YAAY;IACrC,QAAQ,EAAE,UAAU;IACpB,wBAAwB,EAAE,UAAU;IACpC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"provider-display.js","sourceRoot":"","sources":["../../src/utils/provider-display.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verb-client.d.ts","sourceRoot":"","sources":["../src/verb-client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"verb-client.d.ts","sourceRoot":"","sources":["../src/verb-client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA6D3E"}
|
package/dist/verb-client.js
CHANGED
|
@@ -8,7 +8,7 @@ export async function callVerb(verbPath, input, opts) {
|
|
|
8
8
|
work[opts.remap[k] ?? k] = v;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
const { use_providers, fields, reveal, resolve_current_employer, ...rest } = work;
|
|
11
|
+
const { use_providers, fields, reveal, resolve_current_employer, max_credits, ...rest } = work;
|
|
12
12
|
// 2. Resolve the provider pin: explicit use_providers wins; otherwise a
|
|
13
13
|
// tool-specific provider field (e.g. search_places `provider`).
|
|
14
14
|
let providerPin = Array.isArray(use_providers) && use_providers.length ? use_providers : undefined;
|
|
@@ -37,6 +37,9 @@ export async function callVerb(verbPath, input, opts) {
|
|
|
37
37
|
envelope.reveal = reveal;
|
|
38
38
|
if (resolve_current_employer !== undefined)
|
|
39
39
|
envelope.resolve_current_employer = resolve_current_employer;
|
|
40
|
+
// Top-level (never inside `input`) so it applies to the single OR bulk envelope.
|
|
41
|
+
if (max_credits !== undefined)
|
|
42
|
+
envelope.max_credits = max_credits;
|
|
40
43
|
const res = await callApi('POST', verbPath, envelope);
|
|
41
44
|
// 4. Re-attach the per-item correlation id to bulk results (positional).
|
|
42
45
|
let data = res.data;
|
package/dist/verb-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verb-client.js","sourceRoot":"","sources":["../src/verb-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AA8BrC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAgB,EAChB,KAA8B,EAC9B,IAAsB;IAEtB,wEAAwE;IACxE,IAAI,IAAI,GAA4B,KAAK,CAAA;IACzC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;QAChB,IAAI,GAAG,EAAE,CAAA;QACT,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"verb-client.js","sourceRoot":"","sources":["../src/verb-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -183,6 +183,13 @@ import {
|
|
|
183
183
|
loadSkillHandler,
|
|
184
184
|
} from './tools/load-skill.js'
|
|
185
185
|
|
|
186
|
+
import {
|
|
187
|
+
findDocsName,
|
|
188
|
+
findDocsDescription,
|
|
189
|
+
findDocsSchema,
|
|
190
|
+
findDocsHandler,
|
|
191
|
+
} from './tools/find-docs.js'
|
|
192
|
+
|
|
186
193
|
// Initialize HTTP client (reads env vars). A missing/empty COLDIQ_API_KEY is a
|
|
187
194
|
// user-config error, not a bug — print the message without a stack trace.
|
|
188
195
|
try {
|
|
@@ -242,6 +249,7 @@ server.tool(getSessionUsageName, getSessionUsageDescription, getSessionUsageSche
|
|
|
242
249
|
server.tool(listDataSourcesName, listDataSourcesDescription, listDataSourcesSchema, listDataSourcesHandler)
|
|
243
250
|
server.tool(listSkillsName, listSkillsDescription, listSkillsSchema, listSkillsHandler)
|
|
244
251
|
server.tool(loadSkillName, loadSkillDescription, loadSkillSchema, loadSkillHandler)
|
|
252
|
+
server.tool(findDocsName, findDocsDescription, findDocsSchema, findDocsHandler)
|
|
245
253
|
server.tool(extractPostEngagementName, extractPostEngagementDescription, extractPostEngagementSchema, extractPostEngagementHandler)
|
|
246
254
|
server.tool(getPlaceReviewsName, getPlaceReviewsDescription, getPlaceReviewsSchema, getPlaceReviewsHandler)
|
|
247
255
|
// Generic endpoint discovery + invoke: reach any integrated provider without a dedicated tool.
|
|
@@ -22,6 +22,7 @@ export const enrichCompanyBulkSchema = {
|
|
|
22
22
|
.max(5000)
|
|
23
23
|
.describe('Companies to enrich (1–5000). Each needs at least one of domain, linkedin_url, or name.'),
|
|
24
24
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
25
|
+
max_credits: z.number().positive().optional().describe('Per-row spend cap: a provider that would enrich the row but costs more than this is skipped (the row comes back not_found rather than overspending).'),
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
export async function enrichCompanyBulkHandler(input: Record<string, unknown>) {
|
|
@@ -13,6 +13,7 @@ export const enrichCompanySchema = {
|
|
|
13
13
|
linkedin_url: z.string().url().optional().describe('Company LinkedIn URL (e.g. "https://www.linkedin.com/company/stripe")'),
|
|
14
14
|
name: z.string().optional().describe('Company name (e.g. "Stripe")'),
|
|
15
15
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('enrich_company').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
16
|
+
max_credits: z.number().positive().optional().describe('Per-record spend cap: a provider that would enrich this company but costs more than this is skipped, so you never pay more than N credits (returns not_found if nothing answers in budget).'),
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
export async function enrichCompanyHandler(input: Record<string, unknown>) {
|
|
@@ -25,6 +25,7 @@ export const enrichPersonBulkSchema = {
|
|
|
25
25
|
.max(5000)
|
|
26
26
|
.describe('People to enrich (1–5000). Each needs an email, a linkedin_url, or name + company/domain.'),
|
|
27
27
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
28
|
+
max_credits: z.number().positive().optional().describe('Per-row spend cap: a provider that would enrich the row but costs more than this is skipped (the row comes back not_found rather than overspending).'),
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
export async function enrichPersonBulkHandler(input: Record<string, unknown>) {
|
|
@@ -22,6 +22,7 @@ export const enrichPersonSchema = {
|
|
|
22
22
|
linkedin_url: z.string().url().optional().describe('LinkedIn profile URL for direct profile lookup (e.g. "https://www.linkedin.com/in/michel-lieben")'),
|
|
23
23
|
phone: z.string().optional().describe('Phone number for reverse phone lookup'),
|
|
24
24
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('enrich_person').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
25
|
+
max_credits: z.number().positive().optional().describe('Per-record spend cap: a provider that would enrich this person but costs more than this is skipped, so you never pay more than N credits (returns not_found if nothing answers in budget).'),
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
export async function enrichPersonHandler(input: Record<string, unknown>) {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
import { callApi } from '../client.js'
|
|
3
|
+
|
|
4
|
+
export const findDocsName = 'find_docs'
|
|
5
|
+
export const findDocsDescription = 'Find the relevant ColdIQ GTM knowledge docs for a task — plays with endpoint waterfalls, provider deep-docs, and strategy guides. Describe what you are trying to do; returns the most relevant docs. FREE.'
|
|
6
|
+
export const findDocsSchema = {
|
|
7
|
+
query: z.string().trim().min(1).max(2_000).describe('Natural-language GTM task or question.'),
|
|
8
|
+
types: z.array(z.enum(['play', 'provider', 'strategy'])).max(3).optional(),
|
|
9
|
+
limit: z.number().int().min(1).max(15).default(5).optional(),
|
|
10
|
+
include_bodies: z.boolean().default(false).optional(),
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export async function findDocsHandler(input: { query: string; types?: string[]; limit?: number; include_bodies?: boolean }) {
|
|
14
|
+
const res = await callApi('GET', '/knowledge/search', undefined, {
|
|
15
|
+
q: input.query,
|
|
16
|
+
types: input.types?.join(',') ?? '',
|
|
17
|
+
limit: String(input.limit ?? 5),
|
|
18
|
+
include_bodies: String(input.include_bodies ?? false),
|
|
19
|
+
})
|
|
20
|
+
if (!res.ok) return {
|
|
21
|
+
content: [{ type: 'text' as const, text: JSON.stringify({ error: 'Failed to find knowledge docs', status: res.status, data: res.data }) }],
|
|
22
|
+
isError: true,
|
|
23
|
+
}
|
|
24
|
+
return { content: [{ type: 'text' as const, text: JSON.stringify({ data: res.data }) }] }
|
|
25
|
+
}
|
package/src/tools/find-email.ts
CHANGED
|
@@ -18,6 +18,7 @@ export const findEmailSchema = {
|
|
|
18
18
|
linkedin_url: z.string().optional().describe('LinkedIn profile URL — alternative to name+domain'),
|
|
19
19
|
resolve_current_employer: z.boolean().optional().describe('Opt-in: on a miss with a linkedin_url, enrich the person to resolve their CURRENT employer\'s domain and retry once — recovers stale/acquired input domains (e.g. Atmel→microchip.com). Extra ~1 credit for the enrich hop, disclosed in _meta.employer_resolution. Default false.'),
|
|
20
20
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('find_email').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
21
|
+
max_credits: z.number().positive().optional().describe('Per-record spend cap: a provider that would find the email but costs more than this is skipped, so you never pay more than N credits for one email (returns not_found if nothing answers in budget). Stops one pricey provider (e.g. PDL ~17cr) from dominating a large run.'),
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
export async function findEmailHandler(input: Record<string, unknown>) {
|
|
@@ -32,6 +32,7 @@ export const findEmailsBulkSchema = {
|
|
|
32
32
|
.describe('People to find emails for (1–5000). Searchable = linkedin_url alone, OR first_name + last_name + (domain or company_name).'),
|
|
33
33
|
resolve_current_employer: z.boolean().optional().describe('Opt-in, applies to every row: when a row misses and has a linkedin_url, enrich the person to resolve their CURRENT employer\'s domain and retry once — recovers stale/acquired input domains (e.g. Atmel→microchip.com). Extra ~1 credit per resolved row. Default false.'),
|
|
34
34
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
35
|
+
max_credits: z.number().positive().optional().describe('Per-row spend cap: a provider that would find the email but costs more than this is skipped (the row comes back not_found rather than overspending). Caps a pricey provider (e.g. PDL ~17cr) across the whole list.'),
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
export async function findEmailsBulkHandler(input: Record<string, unknown>) {
|
package/src/tools/find-emails.ts
CHANGED
|
@@ -32,6 +32,7 @@ export const findEmailsSchema = {
|
|
|
32
32
|
.describe('People to find emails for (max 50)'),
|
|
33
33
|
resolve_current_employer: z.boolean().optional().describe('Opt-in, applies to every person in the batch: on a miss with a linkedin_url, enrich the person to resolve their CURRENT employer\'s domain and retry once — recovers stale/acquired input domains (e.g. Atmel→microchip.com). Extra ~1 credit per resolved person. Default false.'),
|
|
34
34
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically run the best waterfall — recommended for most use cases. Available providers: ${FIND_EMAILS_PROVIDERS.join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
35
|
+
max_credits: z.number().positive().optional().describe('Per-person spend cap applied to every person in the batch: a provider that would find the email but costs more than this is skipped, so you never pay more than N credits per email. Stops one pricey provider (e.g. PDL ~17cr) from dominating a large run.'),
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
// Split large batches into sequential sub-batches so each HTTP call stays well
|
|
@@ -24,6 +24,7 @@ export const findPhoneBulkSchema = {
|
|
|
24
24
|
.max(5000)
|
|
25
25
|
.describe('People to find phone numbers for (1–5000). Each needs a linkedin_url, or name + company_domain/name.'),
|
|
26
26
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
27
|
+
max_credits: z.number().positive().optional().describe('Per-row spend cap: a provider that would return a number but costs more than this is skipped (the row comes back not_found rather than overspending). Phone lookups can be 10+ credits — this bounds them.'),
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export async function findPhoneBulkHandler(input: Record<string, unknown>) {
|
package/src/tools/find-phone.ts
CHANGED
|
@@ -14,6 +14,7 @@ export const findPhoneSchema = {
|
|
|
14
14
|
company_domain: z.string().optional().describe('Company domain, e.g. coldiq.com'),
|
|
15
15
|
company_name: z.string().optional().describe('Company name (alternative to company_domain)'),
|
|
16
16
|
use_providers: z.array(z.string()).optional().describe(`Optional ordered list of providers to use. Leave empty to let ColdIQ automatically pick the best tool for your inputs — recommended for most use cases. Available providers: ${getProvidersForCapability('find_phone').join(', ')}. Provider names are matched fuzzily, so minor typos are tolerated.`),
|
|
17
|
+
max_credits: z.number().positive().optional().describe('Per-record spend cap: a provider that would return a number but costs more than this is skipped, so you never pay more than N credits for one phone (returns not_found if nothing answers in budget). Phone lookups can be 10+ credits — this bounds them.'),
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
export async function findPhoneHandler(input: Record<string, unknown>) {
|
|
@@ -46,11 +46,11 @@ const CATALOG: Array<{ capability: InsightCapability; tool: string; label: strin
|
|
|
46
46
|
// the accurate coverage. Keyed by capability -> branded display name.
|
|
47
47
|
const VENDOR_STRENGTH_OVERRIDES: Partial<Record<InsightCapability, Record<string, string>>> = {
|
|
48
48
|
search_companies: {
|
|
49
|
-
|
|
49
|
+
'Lima Data': 'LinkedIn-based company discovery, incl. Sales Navigator URLs',
|
|
50
50
|
LinkupAPI: 'live LinkedIn company search, incl. recently-funded and hiring companies',
|
|
51
51
|
},
|
|
52
52
|
find_email: {
|
|
53
|
-
|
|
53
|
+
'Lima Data': 'work-email lookup by name + domain or LinkedIn URL',
|
|
54
54
|
},
|
|
55
55
|
enrich_company: {
|
|
56
56
|
CompanyEnrich: 'firmographic enrichment from a domain, name or LinkedIn URL',
|
|
@@ -5,7 +5,7 @@ import { getProvidersForCapability } from '../utils/provider-resolver.js'
|
|
|
5
5
|
export const verifyEmailName = 'verify_email'
|
|
6
6
|
|
|
7
7
|
export const verifyEmailDescription =
|
|
8
|
-
'Check whether an email address is valid and deliverable. Returns a normalized `status` field — one of "valid", "invalid", "catch_all", "risky", "disposable", "unknown" — alongside the raw provider response.
|
|
8
|
+
'Check whether an email address is valid and deliverable. Returns a normalized `status` field — one of "valid", "invalid", "catch_all", "risky", "disposable", "unknown" — alongside the raw provider response. BounceBan leads the waterfall: it resolves catch-all and risky addresses without sending (the gap most verifiers leave as "unknown"); if it cannot conclude, the chain falls through to leadmagic, findymail, icypeas, instantly, and linkupapi. Findymail only distinguishes valid vs invalid. Use before cold outreach to protect sender reputation. ColdIQ automatically runs the waterfall — pass use_providers only if you need a specific tool.'
|
|
9
9
|
|
|
10
10
|
export const verifyEmailSchema = {
|
|
11
11
|
email: z.string().email().describe('Email address to verify'),
|
|
@@ -12,10 +12,12 @@ export const verifyEmailsBulkDescription =
|
|
|
12
12
|
'means the address was SKIPPED (rate-limited / never checked) and is safe to re-submit — do not discard those contacts; ' +
|
|
13
13
|
'only `provider_indeterminate` (or no reason) is a real "couldn\'t determine". ' +
|
|
14
14
|
'The 202 response includes `credits_reserved` (worst-case hold, settled to actual on completion) and a `low_balance_warning` when low. ' +
|
|
15
|
+
'PROVIDER: runs on BounceBan by default — it resolves catch-all/risky addresses without sending (~0.2 credits per conclusively-verified email). If the BounceBan submit fails, the job AUTOMATICALLY falls back to Icypeas (0.1 credits/verified, no catch-all resolution) — bulk verify survives a single-provider outage. Pinning use_providers:["bounceban"] or ["icypeas"] is STRICT: a pinned backend\'s failure returns an error instead of switching. Any other verifier returns a clear error (never silently ignored). ' +
|
|
15
16
|
'For a single email use verify_email instead.'
|
|
16
17
|
|
|
17
18
|
export const verifyEmailsBulkSchema = {
|
|
18
19
|
emails: z.array(z.string()).min(1).max(5000).describe('Emails to verify (1–5000). Invalid/duplicate entries are dropped server-side.'),
|
|
20
|
+
use_providers: z.array(z.string()).optional().describe('Provider pin. Omit for the default: BounceBan (catch-all/risky resolution, ~0.2 cr/verified) with automatic Icypeas failover (0.1 cr/verified). An explicit "bounceban" or "icypeas" pin is strict — its backend\'s failure returns an error, never a silent switch. Any other verifier returns a clear error.'),
|
|
19
21
|
webhook_url: z.string().optional().describe('Optional URL POSTed when the whole job completes.'),
|
|
20
22
|
}
|
|
21
23
|
|
|
@@ -32,11 +32,11 @@ const DISPLAY_NAMES: Record<string, string> = {
|
|
|
32
32
|
'signalbase-job-change': 'SignalBase',
|
|
33
33
|
blitzapi: 'BlitzAPI',
|
|
34
34
|
'blitzapi-reverse-email': 'BlitzAPI',
|
|
35
|
-
limadata: '
|
|
36
|
-
'limadata-prospect-filter': '
|
|
37
|
-
'limadata-prospect-url': '
|
|
38
|
-
'limadata-work-email': '
|
|
39
|
-
'limadata-work-email-linkedin': '
|
|
35
|
+
limadata: 'Lima Data',
|
|
36
|
+
'limadata-prospect-filter': 'Lima Data',
|
|
37
|
+
'limadata-prospect-url': 'Lima Data',
|
|
38
|
+
'limadata-work-email': 'Lima Data',
|
|
39
|
+
'limadata-work-email-linkedin': 'Lima Data',
|
|
40
40
|
predictleads: 'PredictLeads',
|
|
41
41
|
'predictleads-financing': 'PredictLeads',
|
|
42
42
|
'predictleads-news': 'PredictLeads',
|
package/src/verb-client.ts
CHANGED
|
@@ -42,7 +42,7 @@ export async function callVerb(
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
const { use_providers, fields, reveal, resolve_current_employer, ...rest } = work
|
|
45
|
+
const { use_providers, fields, reveal, resolve_current_employer, max_credits, ...rest } = work
|
|
46
46
|
|
|
47
47
|
// 2. Resolve the provider pin: explicit use_providers wins; otherwise a
|
|
48
48
|
// tool-specific provider field (e.g. search_places `provider`).
|
|
@@ -68,6 +68,8 @@ export async function callVerb(
|
|
|
68
68
|
if (fields !== undefined) envelope.fields = fields
|
|
69
69
|
if (reveal !== undefined) envelope.reveal = reveal
|
|
70
70
|
if (resolve_current_employer !== undefined) envelope.resolve_current_employer = resolve_current_employer
|
|
71
|
+
// Top-level (never inside `input`) so it applies to the single OR bulk envelope.
|
|
72
|
+
if (max_credits !== undefined) envelope.max_credits = max_credits
|
|
71
73
|
|
|
72
74
|
const res = await callApi('POST', verbPath, envelope)
|
|
73
75
|
|
package/tests/gtm/README.md
CHANGED
|
@@ -8,8 +8,8 @@ End-to-end scenarios that verify the MCP server routes plain-English prompts to
|
|
|
8
8
|
|---|---|
|
|
9
9
|
| `COLDIQ_API_KEY` | ColdIQ API key (live provider calls) |
|
|
10
10
|
| `COLDIQ_API_URL` | API base URL (default: `http://localhost:8787`) |
|
|
11
|
-
| `ANTHROPIC_API_KEY` | Anthropic API key
|
|
12
|
-
| `
|
|
11
|
+
| `ANTHROPIC_API_KEY` | Anthropic API key for this standalone evaluation driver |
|
|
12
|
+
| `GTM_EVAL_MODEL` | Optional evaluation override; defaults to the primary model in `src/agent/model-policy.ts` |
|
|
13
13
|
|
|
14
14
|
## Run commands
|
|
15
15
|
|
package/tests/gtm/harness.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as fs from 'node:fs'
|
|
|
4
4
|
import * as path from 'node:path'
|
|
5
5
|
import * as url from 'node:url'
|
|
6
6
|
|
|
7
|
+
import { MODEL_PROFILES } from '../../../src/agent/model-policy.js'
|
|
7
8
|
import { MCP_TOOLS } from './tools-bridge.js'
|
|
8
9
|
|
|
9
10
|
export interface ToolCall {
|
|
@@ -40,7 +41,7 @@ export async function runAgent(options: RunAgentOptions): Promise<AgentResult> {
|
|
|
40
41
|
const {
|
|
41
42
|
prompt,
|
|
42
43
|
maxToolCalls = 8,
|
|
43
|
-
model = process.env.
|
|
44
|
+
model = process.env.GTM_EVAL_MODEL ?? MODEL_PROFILES.agent.models[0].model,
|
|
44
45
|
} = options
|
|
45
46
|
|
|
46
47
|
const client = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY })
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
2
|
+
import { initClient } from '../../src/client.js'
|
|
3
|
+
import { findDocsHandler } from '../../src/tools/find-docs.js'
|
|
4
|
+
|
|
5
|
+
describe('find_docs', () => {
|
|
6
|
+
const originalFetch = globalThis.fetch
|
|
7
|
+
beforeEach(() => initClient('http://test-api.local', 'test-key'))
|
|
8
|
+
afterEach(() => { globalThis.fetch = originalFetch })
|
|
9
|
+
|
|
10
|
+
it('calls the free knowledge search endpoint with filters', async () => {
|
|
11
|
+
let requested = ''
|
|
12
|
+
globalThis.fetch = vi.fn(async (url: string | URL | Request) => {
|
|
13
|
+
requested = url.toString()
|
|
14
|
+
return new Response(JSON.stringify({ hits: [{ slug: 'find-influencers' }] }), { status: 200 })
|
|
15
|
+
}) as typeof fetch
|
|
16
|
+
const result = await findDocsHandler({ query: 'find creators', types: ['play'], limit: 3, include_bodies: true })
|
|
17
|
+
expect(requested).toContain('/v1/knowledge/search?')
|
|
18
|
+
expect(requested).toContain('q=find+creators')
|
|
19
|
+
expect(requested).toContain('types=play')
|
|
20
|
+
expect(result.isError).toBeFalsy()
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
it('returns a structured MCP error for API failures', async () => {
|
|
24
|
+
globalThis.fetch = vi.fn(async () => new Response(JSON.stringify({ error: 'nope' }), { status: 401 })) as typeof fetch
|
|
25
|
+
expect(await findDocsHandler({ query: 'find creators' })).toMatchObject({ isError: true })
|
|
26
|
+
})
|
|
27
|
+
})
|
|
28
|
+
|
|
@@ -45,7 +45,7 @@ describe('list_data_sources handler', () => {
|
|
|
45
45
|
const companies = rowFor(caps, 'search_companies')!
|
|
46
46
|
const names = companies.sources.map((s) => s.name)
|
|
47
47
|
// search_companies has limadata + limadata-prospect-* + linkupapi-* internally
|
|
48
|
-
expect(names.filter((n) => n === '
|
|
48
|
+
expect(names.filter((n) => n === 'Lima Data')).toHaveLength(1)
|
|
49
49
|
expect(names.filter((n) => n === 'LinkupAPI')).toHaveLength(1)
|
|
50
50
|
// every row carries the metadata a frontend needs
|
|
51
51
|
for (const cap of caps) {
|
|
@@ -9,8 +9,8 @@ describe('providerDisplayName', () => {
|
|
|
9
9
|
})
|
|
10
10
|
|
|
11
11
|
it('collapses vendor variants to one brand', () => {
|
|
12
|
-
expect(providerDisplayName('limadata-work-email')).toBe('
|
|
13
|
-
expect(providerDisplayName('limadata-prospect-url')).toBe('
|
|
12
|
+
expect(providerDisplayName('limadata-work-email')).toBe('Lima Data')
|
|
13
|
+
expect(providerDisplayName('limadata-prospect-url')).toBe('Lima Data')
|
|
14
14
|
expect(providerDisplayName('signalbase-funding')).toBe('SignalBase')
|
|
15
15
|
expect(providerDisplayName('linkupapi-by-domain')).toBe('LinkupAPI')
|
|
16
16
|
})
|
package/tests/version.test.ts
CHANGED
|
@@ -5,8 +5,7 @@ describe('readPackageVersion', () => {
|
|
|
5
5
|
it('reports the real package.json version relative to the caller URL', () => {
|
|
6
6
|
// This test file sits at mcp/tests/, so '../package.json' from here is mcp/package.json.
|
|
7
7
|
const version = readPackageVersion(import.meta.url)
|
|
8
|
-
expect(version).
|
|
9
|
-
expect(version).not.toBe('0.1.0') // the old hardcoded placeholder
|
|
8
|
+
expect(version).toBe('0.4.0')
|
|
10
9
|
})
|
|
11
10
|
|
|
12
11
|
it('falls back to 0.0.0 instead of throwing when package.json cannot be resolved', () => {
|