@coldiq/mcp 0.2.8 → 0.3.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 +4 -0
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +99 -15
- package/dist/registry.js.map +1 -1
- package/dist/tools/extract-post-engagement.d.ts +21 -0
- package/dist/tools/extract-post-engagement.d.ts.map +1 -0
- package/dist/tools/extract-post-engagement.js +117 -0
- package/dist/tools/extract-post-engagement.js.map +1 -0
- package/dist/tools/find-influencers.d.ts +1 -1
- package/dist/tools/find-influencers.d.ts.map +1 -1
- package/dist/tools/find-influencers.js +2 -1
- package/dist/tools/find-influencers.js.map +1 -1
- package/dist/tools/find-signals.d.ts.map +1 -1
- package/dist/tools/find-signals.js +27 -10
- package/dist/tools/find-signals.js.map +1 -1
- package/dist/tools/get-place-reviews.d.ts +24 -0
- package/dist/tools/get-place-reviews.d.ts.map +1 -0
- package/dist/tools/get-place-reviews.js +46 -0
- package/dist/tools/get-place-reviews.js.map +1 -0
- package/dist/tools/search-ads.d.ts +1 -1
- package/dist/tools/search-ads.d.ts.map +1 -1
- package/dist/tools/search-ads.js +1 -1
- package/dist/tools/search-ads.js.map +1 -1
- package/dist/tools/search-places.d.ts +1 -1
- package/dist/tools/search-places.d.ts.map +1 -1
- package/dist/tools/search-places.js +23 -3
- package/dist/tools/search-places.js.map +1 -1
- package/dist/tools/search-reddit.js +1 -1
- package/dist/tools/search-reddit.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +16 -0
- package/src/registry.ts +90 -4
- package/src/tools/extract-post-engagement.ts +135 -0
- package/src/tools/find-influencers.ts +2 -1
- package/src/tools/find-signals.ts +28 -11
- package/src/tools/get-place-reviews.ts +50 -0
- package/src/tools/search-ads.ts +1 -1
- package/src/tools/search-places.ts +22 -3
- package/src/tools/search-reddit.ts +1 -1
- package/tests/registry-find-signals.test.ts +66 -0
- package/tests/tools/extract-post-engagement.test.ts +76 -0
- package/tests/tools/find-signals.test.ts +5 -2
- package/tests/tools/get-place-reviews.test.ts +73 -0
- package/tests/tools/search-reddit.test.ts +69 -0
package/dist/index.js
CHANGED
|
@@ -20,6 +20,8 @@ import { searchSeoName, searchSeoDescription, searchSeoSchema, searchSeoHandler,
|
|
|
20
20
|
import { findSignalsName, findSignalsDescription, findSignalsSchema, findSignalsHandler, } from './tools/find-signals.js';
|
|
21
21
|
import { fetchPageContentName, fetchPageContentDescription, fetchPageContentSchema, fetchPageContentHandler, } from './tools/fetch-page-content.js';
|
|
22
22
|
import { getCreditBalanceName, getCreditBalanceDescription, getCreditBalanceSchema, getCreditBalanceHandler, } from './tools/get-credit-balance.js';
|
|
23
|
+
import { extractPostEngagementName, extractPostEngagementDescription, extractPostEngagementSchema, extractPostEngagementHandler, } from './tools/extract-post-engagement.js';
|
|
24
|
+
import { getPlaceReviewsName, getPlaceReviewsDescription, getPlaceReviewsSchema, getPlaceReviewsHandler, } from './tools/get-place-reviews.js';
|
|
23
25
|
// Initialize HTTP client (reads env vars)
|
|
24
26
|
initClient();
|
|
25
27
|
const server = new McpServer({
|
|
@@ -45,6 +47,8 @@ server.tool(searchSeoName, searchSeoDescription, searchSeoSchema, searchSeoHandl
|
|
|
45
47
|
server.tool(findSignalsName, findSignalsDescription, findSignalsSchema, findSignalsHandler);
|
|
46
48
|
server.tool(fetchPageContentName, fetchPageContentDescription, fetchPageContentSchema, fetchPageContentHandler);
|
|
47
49
|
server.tool(getCreditBalanceName, getCreditBalanceDescription, getCreditBalanceSchema, getCreditBalanceHandler);
|
|
50
|
+
server.tool(extractPostEngagementName, extractPostEngagementDescription, extractPostEngagementSchema, extractPostEngagementHandler);
|
|
51
|
+
server.tool(getPlaceReviewsName, getPlaceReviewsDescription, getPlaceReviewsSchema, getPlaceReviewsHandler);
|
|
48
52
|
// Connect via stdio transport
|
|
49
53
|
const transport = new StdioServerTransport();
|
|
50
54
|
await server.connect(transport);
|
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":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,8BAA8B,CAAA;AAErC,0CAA0C;AAC1C,UAAU,EAAE,CAAA;AAEZ,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF,qBAAqB;AACrB,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,CAAA;AAC3G,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;AACvF,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAA;AACnF,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;AAC/F,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;AACvF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;AAC3F,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAA;AACnF,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAA;AACnG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAA;AACnF,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;AACvF,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAA;AACnF,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;AAC/F,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,CAAA;AAC3G,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;AAC/F,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAA;AACnF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;AAC3F,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,uBAAuB,CAAC,CAAA;AAC/G,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,uBAAuB,CAAC,CAAA;AAC/G,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,4BAA4B,CAAC,CAAA;AACnI,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,CAAA;AAE3G,8BAA8B;AAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;AAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface ProviderEntry {
|
|
|
39
39
|
*/
|
|
40
40
|
postFilter?: (data: unknown, input: Record<string, unknown>) => unknown;
|
|
41
41
|
}
|
|
42
|
-
export type Capability = 'search_companies' | 'find_people' | 'find_email' | 'verify_email' | 'find_phone' | 'enrich_company' | 'enrich_person' | 'search_web' | 'search_jobs' | 'search_ads' | 'search_places' | 'find_influencers' | 'search_reddit' | 'search_seo' | 'find_signals' | 'fetch_page_content';
|
|
42
|
+
export type Capability = 'search_companies' | 'find_people' | 'find_email' | 'verify_email' | 'find_phone' | 'enrich_company' | 'enrich_person' | 'search_web' | 'search_jobs' | 'search_ads' | 'search_places' | 'get_place_reviews' | 'find_influencers' | 'search_reddit' | 'search_seo' | 'find_signals' | 'fetch_page_content';
|
|
43
43
|
export declare function prospeoHeadcountBuckets(min: number | undefined, max: number | undefined): string[];
|
|
44
44
|
export declare function isoCountryToName(code: string): string;
|
|
45
45
|
export declare function nameToIsoCountry(input: string): string | undefined;
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAIA,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,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,oBAAoB,CAAA;AAkCxB,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":"AAIA,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;AAkCxB,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;AAmmGD;;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,CAI3D;AAID;;;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
|
@@ -2401,6 +2401,29 @@ const searchPlacesProviders = [
|
|
|
2401
2401
|
},
|
|
2402
2402
|
];
|
|
2403
2403
|
// ---------------------------------------------------------------------------
|
|
2404
|
+
// get_place_reviews
|
|
2405
|
+
// ---------------------------------------------------------------------------
|
|
2406
|
+
const getPlaceReviewsProviders = [
|
|
2407
|
+
{
|
|
2408
|
+
id: 'google_maps_reviews',
|
|
2409
|
+
endpoint: '/google-maps/reviews',
|
|
2410
|
+
method: 'POST',
|
|
2411
|
+
priority: 1,
|
|
2412
|
+
mapParams: (input) => ({
|
|
2413
|
+
body: {
|
|
2414
|
+
startUrls: input.place_urls.map((url) => ({ url })),
|
|
2415
|
+
maxReviews: input.max_reviews,
|
|
2416
|
+
reviewsSort: input.sort,
|
|
2417
|
+
language: input.language,
|
|
2418
|
+
},
|
|
2419
|
+
}),
|
|
2420
|
+
// A completed job is a valid result even with an empty reviews array (a place
|
|
2421
|
+
// may genuinely have no reviews) — only failed/timed_out should fall through.
|
|
2422
|
+
hasResult: (data) => data.status === 'done',
|
|
2423
|
+
async: { ..._placesSharedAsync, pollEndpoint: (id) => `/google-maps/reviews/${id}` },
|
|
2424
|
+
},
|
|
2425
|
+
];
|
|
2426
|
+
// ---------------------------------------------------------------------------
|
|
2404
2427
|
// find_influencers
|
|
2405
2428
|
// ---------------------------------------------------------------------------
|
|
2406
2429
|
const findInfluencersProviders = [
|
|
@@ -2471,6 +2494,23 @@ const _redditSharedAsync = {
|
|
|
2471
2494
|
return s === 'done' || s === 'failed' || s === 'timed_out';
|
|
2472
2495
|
},
|
|
2473
2496
|
};
|
|
2497
|
+
// A bare subreddit URL (e.g. https://www.reddit.com/r/sales or .../r/sales/)
|
|
2498
|
+
// makes the Apify actor ENUMERATE that subreddit's feed and ignore the search
|
|
2499
|
+
// keyword entirely. When the caller also passes a `query`, rewrite bare
|
|
2500
|
+
// subreddit URLs into in-subreddit search URLs so the keyword is actually
|
|
2501
|
+
// applied. Already-formed search/post URLs are left untouched.
|
|
2502
|
+
const _BARE_SUBREDDIT_RE = /^(https?:\/\/(?:www\.)?reddit\.com\/r\/[A-Za-z0-9_]+)\/?$/i;
|
|
2503
|
+
function _toRedditSearchUrl(url, query, opts) {
|
|
2504
|
+
const m = url.match(_BARE_SUBREDDIT_RE);
|
|
2505
|
+
if (!m)
|
|
2506
|
+
return url;
|
|
2507
|
+
const params = new URLSearchParams({ q: query, restrict_sr: '1' });
|
|
2508
|
+
if (typeof opts.sort === 'string' && opts.sort)
|
|
2509
|
+
params.set('sort', opts.sort);
|
|
2510
|
+
if (typeof opts.time === 'string' && opts.time)
|
|
2511
|
+
params.set('t', opts.time);
|
|
2512
|
+
return `${m[1]}/search/?${params.toString()}`;
|
|
2513
|
+
}
|
|
2474
2514
|
const searchRedditProviders = [
|
|
2475
2515
|
{
|
|
2476
2516
|
id: 'reddit',
|
|
@@ -2478,21 +2518,38 @@ const searchRedditProviders = [
|
|
|
2478
2518
|
method: 'POST',
|
|
2479
2519
|
priority: 1,
|
|
2480
2520
|
isApplicable: (input) => isNonEmptyArray(input.start_urls) || typeof input.query === 'string',
|
|
2481
|
-
mapParams: (input) =>
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2521
|
+
mapParams: (input) => {
|
|
2522
|
+
const query = typeof input.query === 'string' && input.query ? input.query : undefined;
|
|
2523
|
+
const rawStartUrls = input.start_urls;
|
|
2524
|
+
let startUrls = rawStartUrls?.map((url) => ({ url }));
|
|
2525
|
+
let searchQueries = query ? [query] : undefined;
|
|
2526
|
+
// If a query is provided alongside start_urls, embed it into any bare
|
|
2527
|
+
// subreddit URLs (which would otherwise ignore it). The keyword then lives
|
|
2528
|
+
// in the URL, so drop the top-level searchQueries to avoid a conflicting
|
|
2529
|
+
// global search.
|
|
2530
|
+
if (query && rawStartUrls && rawStartUrls.length > 0) {
|
|
2531
|
+
const rewritten = rawStartUrls.map((u) => _toRedditSearchUrl(u, query, { sort: input.sort, time: input.time }));
|
|
2532
|
+
if (rewritten.some((u, i) => u !== rawStartUrls[i])) {
|
|
2533
|
+
startUrls = rewritten.map((url) => ({ url }));
|
|
2534
|
+
searchQueries = undefined;
|
|
2535
|
+
}
|
|
2536
|
+
}
|
|
2537
|
+
return {
|
|
2538
|
+
body: {
|
|
2539
|
+
searchQueries,
|
|
2540
|
+
startUrls,
|
|
2541
|
+
searchType: input.search_type ?? 'posts',
|
|
2542
|
+
searchCommunityName: input.search_community_name,
|
|
2543
|
+
sort: input.sort,
|
|
2544
|
+
time: input.time,
|
|
2545
|
+
maxItems: Math.min(Math.max(input.limit ?? 10, 1), 200),
|
|
2546
|
+
maxComments: input.max_comments,
|
|
2547
|
+
includeComments: input.include_comments,
|
|
2548
|
+
postDateLimit: input.post_date_limit,
|
|
2549
|
+
commentDateLimit: input.comment_date_limit,
|
|
2550
|
+
},
|
|
2551
|
+
};
|
|
2552
|
+
},
|
|
2496
2553
|
hasResult: (data) => isNonEmptyArray(data.items),
|
|
2497
2554
|
async: {
|
|
2498
2555
|
..._redditSharedAsync,
|
|
@@ -3090,6 +3147,32 @@ const findSignalsProviders = [
|
|
|
3090
3147
|
hasResult: (data) => isNonEmptyArray(data.data),
|
|
3091
3148
|
},
|
|
3092
3149
|
{
|
|
3150
|
+
// Topic-based DISCOVERY: "which companies show intent on topic X" with no
|
|
3151
|
+
// company list known in advance. Routes to /theirstack/companies/search,
|
|
3152
|
+
// which returns a list of companies filtered by buying-intent keyword slugs.
|
|
3153
|
+
// This is the GTM-primary use case (find prospects by intent), distinct from
|
|
3154
|
+
// theirstack-buying-intents which verifies intent on companies you already have.
|
|
3155
|
+
id: 'theirstack-intent-discovery',
|
|
3156
|
+
endpoint: '/theirstack/companies/search',
|
|
3157
|
+
method: 'POST',
|
|
3158
|
+
priority: 5,
|
|
3159
|
+
isApplicable: (input) => input.signal_type === 'intent' &&
|
|
3160
|
+
isNonEmptyArray(input.topics) &&
|
|
3161
|
+
!isNonEmptyArray(input.companies) &&
|
|
3162
|
+
!isNonEmptyArray(input.domains),
|
|
3163
|
+
mapParams: (input) => ({
|
|
3164
|
+
body: {
|
|
3165
|
+
company_keyword_slug_or: input.topics,
|
|
3166
|
+
...(isNonEmptyArray(input.industries) && { industry_or: input.industries }),
|
|
3167
|
+
...(isNonEmptyArray(input.countries) && { company_country_code_or: input.countries }),
|
|
3168
|
+
limit: Math.min(input.limit ?? 25, 100),
|
|
3169
|
+
include_total_results: true,
|
|
3170
|
+
},
|
|
3171
|
+
}),
|
|
3172
|
+
hasResult: (data) => isNonEmptyArray(data.data),
|
|
3173
|
+
},
|
|
3174
|
+
{
|
|
3175
|
+
// Verify intent on KNOWN companies/domains.
|
|
3093
3176
|
id: 'theirstack-buying-intents',
|
|
3094
3177
|
endpoint: '/theirstack/companies/buying_intents',
|
|
3095
3178
|
method: 'POST',
|
|
@@ -3186,6 +3269,7 @@ const registry = {
|
|
|
3186
3269
|
search_jobs: searchJobsProviders,
|
|
3187
3270
|
search_ads: searchAdsProviders,
|
|
3188
3271
|
search_places: searchPlacesProviders,
|
|
3272
|
+
get_place_reviews: getPlaceReviewsProviders,
|
|
3189
3273
|
find_influencers: findInfluencersProviders,
|
|
3190
3274
|
search_reddit: searchRedditProviders,
|
|
3191
3275
|
search_seo: searchSeoProviders,
|