@gravity-platform/ingest 1.2.0 → 3.0.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.
Files changed (185) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/credentials/index.d.ts +0 -56
  3. package/dist/credentials/index.d.ts.map +1 -1
  4. package/dist/credentials/index.js +3 -69
  5. package/dist/credentials/index.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -38
  8. package/dist/index.js.map +1 -1
  9. package/package.json +5 -97
  10. package/dist/AirtableInsert/node/executor.d.ts +0 -7
  11. package/dist/AirtableInsert/node/executor.d.ts.map +0 -1
  12. package/dist/AirtableInsert/node/executor.js +0 -32
  13. package/dist/AirtableInsert/node/executor.js.map +0 -1
  14. package/dist/AirtableInsert/node/index.d.ts +0 -10
  15. package/dist/AirtableInsert/node/index.d.ts.map +0 -1
  16. package/dist/AirtableInsert/node/index.js +0 -98
  17. package/dist/AirtableInsert/node/index.js.map +0 -1
  18. package/dist/AirtableInsert/service/airtableInsertService.d.ts +0 -8
  19. package/dist/AirtableInsert/service/airtableInsertService.d.ts.map +0 -1
  20. package/dist/AirtableInsert/service/airtableInsertService.js +0 -99
  21. package/dist/AirtableInsert/service/airtableInsertService.js.map +0 -1
  22. package/dist/AirtableInsert/util/types.d.ts +0 -15
  23. package/dist/AirtableInsert/util/types.d.ts.map +0 -1
  24. package/dist/AirtableInsert/util/types.js +0 -3
  25. package/dist/AirtableInsert/util/types.js.map +0 -1
  26. package/dist/ApolloCompany/node/executor.d.ts +0 -8
  27. package/dist/ApolloCompany/node/executor.d.ts.map +0 -1
  28. package/dist/ApolloCompany/node/executor.js +0 -38
  29. package/dist/ApolloCompany/node/executor.js.map +0 -1
  30. package/dist/ApolloCompany/node/index.d.ts +0 -10
  31. package/dist/ApolloCompany/node/index.d.ts.map +0 -1
  32. package/dist/ApolloCompany/node/index.js +0 -121
  33. package/dist/ApolloCompany/node/index.js.map +0 -1
  34. package/dist/ApolloCompany/service/apolloSearchCompanyService.d.ts +0 -7
  35. package/dist/ApolloCompany/service/apolloSearchCompanyService.d.ts.map +0 -1
  36. package/dist/ApolloCompany/service/apolloSearchCompanyService.js +0 -124
  37. package/dist/ApolloCompany/service/apolloSearchCompanyService.js.map +0 -1
  38. package/dist/ApolloCompany/util/types.d.ts +0 -46
  39. package/dist/ApolloCompany/util/types.d.ts.map +0 -1
  40. package/dist/ApolloCompany/util/types.js +0 -6
  41. package/dist/ApolloCompany/util/types.js.map +0 -1
  42. package/dist/ApolloCompanyEnrich/node/executor.d.ts +0 -8
  43. package/dist/ApolloCompanyEnrich/node/executor.d.ts.map +0 -1
  44. package/dist/ApolloCompanyEnrich/node/executor.js +0 -25
  45. package/dist/ApolloCompanyEnrich/node/executor.js.map +0 -1
  46. package/dist/ApolloCompanyEnrich/node/index.d.ts +0 -10
  47. package/dist/ApolloCompanyEnrich/node/index.d.ts.map +0 -1
  48. package/dist/ApolloCompanyEnrich/node/index.js +0 -68
  49. package/dist/ApolloCompanyEnrich/node/index.js.map +0 -1
  50. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.d.ts +0 -9
  51. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.d.ts.map +0 -1
  52. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.js +0 -40
  53. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.js.map +0 -1
  54. package/dist/ApolloCompanyEnrich/util/types.d.ts +0 -13
  55. package/dist/ApolloCompanyEnrich/util/types.d.ts.map +0 -1
  56. package/dist/ApolloCompanyEnrich/util/types.js +0 -6
  57. package/dist/ApolloCompanyEnrich/util/types.js.map +0 -1
  58. package/dist/ApolloPeople/node/executor.d.ts +0 -8
  59. package/dist/ApolloPeople/node/executor.d.ts.map +0 -1
  60. package/dist/ApolloPeople/node/executor.js +0 -41
  61. package/dist/ApolloPeople/node/executor.js.map +0 -1
  62. package/dist/ApolloPeople/node/index.d.ts +0 -10
  63. package/dist/ApolloPeople/node/index.d.ts.map +0 -1
  64. package/dist/ApolloPeople/node/index.js +0 -129
  65. package/dist/ApolloPeople/node/index.js.map +0 -1
  66. package/dist/ApolloPeople/service/apolloSearchService.d.ts +0 -6
  67. package/dist/ApolloPeople/service/apolloSearchService.d.ts.map +0 -1
  68. package/dist/ApolloPeople/service/apolloSearchService.js +0 -127
  69. package/dist/ApolloPeople/service/apolloSearchService.js.map +0 -1
  70. package/dist/ApolloPeople/util/types.d.ts +0 -70
  71. package/dist/ApolloPeople/util/types.d.ts.map +0 -1
  72. package/dist/ApolloPeople/util/types.js +0 -6
  73. package/dist/ApolloPeople/util/types.js.map +0 -1
  74. package/dist/ApolloPeopleEnrich/node/executor.d.ts +0 -8
  75. package/dist/ApolloPeopleEnrich/node/executor.d.ts.map +0 -1
  76. package/dist/ApolloPeopleEnrich/node/executor.js +0 -25
  77. package/dist/ApolloPeopleEnrich/node/executor.js.map +0 -1
  78. package/dist/ApolloPeopleEnrich/node/index.d.ts +0 -10
  79. package/dist/ApolloPeopleEnrich/node/index.d.ts.map +0 -1
  80. package/dist/ApolloPeopleEnrich/node/index.js +0 -117
  81. package/dist/ApolloPeopleEnrich/node/index.js.map +0 -1
  82. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.d.ts +0 -10
  83. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.d.ts.map +0 -1
  84. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.js +0 -54
  85. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.js.map +0 -1
  86. package/dist/ApolloPeopleEnrich/util/types.d.ts +0 -20
  87. package/dist/ApolloPeopleEnrich/util/types.d.ts.map +0 -1
  88. package/dist/ApolloPeopleEnrich/util/types.js +0 -6
  89. package/dist/ApolloPeopleEnrich/util/types.js.map +0 -1
  90. package/dist/ApolloSearch/node/executor.d.ts +0 -9
  91. package/dist/ApolloSearch/node/executor.d.ts.map +0 -1
  92. package/dist/ApolloSearch/node/executor.js +0 -51
  93. package/dist/ApolloSearch/node/executor.js.map +0 -1
  94. package/dist/ApolloSearch/node/index.d.ts +0 -10
  95. package/dist/ApolloSearch/node/index.d.ts.map +0 -1
  96. package/dist/ApolloSearch/node/index.js +0 -128
  97. package/dist/ApolloSearch/node/index.js.map +0 -1
  98. package/dist/ApolloSearch/service/apolloSearchService.d.ts +0 -6
  99. package/dist/ApolloSearch/service/apolloSearchService.d.ts.map +0 -1
  100. package/dist/ApolloSearch/service/apolloSearchService.js +0 -127
  101. package/dist/ApolloSearch/service/apolloSearchService.js.map +0 -1
  102. package/dist/ApolloSearch/util/types.d.ts +0 -70
  103. package/dist/ApolloSearch/util/types.d.ts.map +0 -1
  104. package/dist/ApolloSearch/util/types.js +0 -6
  105. package/dist/ApolloSearch/util/types.js.map +0 -1
  106. package/dist/ApolloSearchCompany/node/executor.d.ts +0 -9
  107. package/dist/ApolloSearchCompany/node/executor.d.ts.map +0 -1
  108. package/dist/ApolloSearchCompany/node/executor.js +0 -49
  109. package/dist/ApolloSearchCompany/node/executor.js.map +0 -1
  110. package/dist/ApolloSearchCompany/node/index.d.ts +0 -10
  111. package/dist/ApolloSearchCompany/node/index.d.ts.map +0 -1
  112. package/dist/ApolloSearchCompany/node/index.js +0 -128
  113. package/dist/ApolloSearchCompany/node/index.js.map +0 -1
  114. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.d.ts +0 -7
  115. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.d.ts.map +0 -1
  116. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.js +0 -98
  117. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.js.map +0 -1
  118. package/dist/ApolloSearchCompany/util/types.d.ts +0 -48
  119. package/dist/ApolloSearchCompany/util/types.d.ts.map +0 -1
  120. package/dist/ApolloSearchCompany/util/types.js +0 -6
  121. package/dist/ApolloSearchCompany/util/types.js.map +0 -1
  122. package/dist/HunterDomainSearch/node/executor.d.ts +0 -8
  123. package/dist/HunterDomainSearch/node/executor.d.ts.map +0 -1
  124. package/dist/HunterDomainSearch/node/executor.js +0 -42
  125. package/dist/HunterDomainSearch/node/executor.js.map +0 -1
  126. package/dist/HunterDomainSearch/node/index.d.ts +0 -10
  127. package/dist/HunterDomainSearch/node/index.d.ts.map +0 -1
  128. package/dist/HunterDomainSearch/node/index.js +0 -140
  129. package/dist/HunterDomainSearch/node/index.js.map +0 -1
  130. package/dist/HunterDomainSearch/service/domainSearchService.d.ts +0 -7
  131. package/dist/HunterDomainSearch/service/domainSearchService.d.ts.map +0 -1
  132. package/dist/HunterDomainSearch/service/domainSearchService.js +0 -107
  133. package/dist/HunterDomainSearch/service/domainSearchService.js.map +0 -1
  134. package/dist/HunterDomainSearch/util/types.d.ts +0 -57
  135. package/dist/HunterDomainSearch/util/types.d.ts.map +0 -1
  136. package/dist/HunterDomainSearch/util/types.js +0 -6
  137. package/dist/HunterDomainSearch/util/types.js.map +0 -1
  138. package/dist/HunterEmailFinder/node/executor.d.ts +0 -8
  139. package/dist/HunterEmailFinder/node/executor.d.ts.map +0 -1
  140. package/dist/HunterEmailFinder/node/executor.js +0 -48
  141. package/dist/HunterEmailFinder/node/executor.js.map +0 -1
  142. package/dist/HunterEmailFinder/node/index.d.ts +0 -10
  143. package/dist/HunterEmailFinder/node/index.d.ts.map +0 -1
  144. package/dist/HunterEmailFinder/node/index.js +0 -116
  145. package/dist/HunterEmailFinder/node/index.js.map +0 -1
  146. package/dist/HunterEmailFinder/service/emailFinderService.d.ts +0 -7
  147. package/dist/HunterEmailFinder/service/emailFinderService.d.ts.map +0 -1
  148. package/dist/HunterEmailFinder/service/emailFinderService.js +0 -77
  149. package/dist/HunterEmailFinder/service/emailFinderService.js.map +0 -1
  150. package/dist/HunterEmailFinder/util/types.d.ts +0 -29
  151. package/dist/HunterEmailFinder/util/types.d.ts.map +0 -1
  152. package/dist/HunterEmailFinder/util/types.js +0 -6
  153. package/dist/HunterEmailFinder/util/types.js.map +0 -1
  154. package/dist/HunterEmailVerifier/node/executor.d.ts +0 -8
  155. package/dist/HunterEmailVerifier/node/executor.d.ts.map +0 -1
  156. package/dist/HunterEmailVerifier/node/executor.js +0 -46
  157. package/dist/HunterEmailVerifier/node/executor.js.map +0 -1
  158. package/dist/HunterEmailVerifier/node/index.d.ts +0 -10
  159. package/dist/HunterEmailVerifier/node/index.d.ts.map +0 -1
  160. package/dist/HunterEmailVerifier/node/index.js +0 -88
  161. package/dist/HunterEmailVerifier/node/index.js.map +0 -1
  162. package/dist/HunterEmailVerifier/service/emailVerifierService.d.ts +0 -7
  163. package/dist/HunterEmailVerifier/service/emailVerifierService.d.ts.map +0 -1
  164. package/dist/HunterEmailVerifier/service/emailVerifierService.js +0 -63
  165. package/dist/HunterEmailVerifier/service/emailVerifierService.js.map +0 -1
  166. package/dist/HunterEmailVerifier/util/types.d.ts +0 -25
  167. package/dist/HunterEmailVerifier/util/types.d.ts.map +0 -1
  168. package/dist/HunterEmailVerifier/util/types.js +0 -6
  169. package/dist/HunterEmailVerifier/util/types.js.map +0 -1
  170. package/dist/HunterEnrich/node/executor.d.ts +0 -8
  171. package/dist/HunterEnrich/node/executor.d.ts.map +0 -1
  172. package/dist/HunterEnrich/node/executor.js +0 -38
  173. package/dist/HunterEnrich/node/executor.js.map +0 -1
  174. package/dist/HunterEnrich/node/index.d.ts +0 -10
  175. package/dist/HunterEnrich/node/index.d.ts.map +0 -1
  176. package/dist/HunterEnrich/node/index.js +0 -85
  177. package/dist/HunterEnrich/node/index.js.map +0 -1
  178. package/dist/HunterEnrich/service/enrichService.d.ts +0 -10
  179. package/dist/HunterEnrich/service/enrichService.d.ts.map +0 -1
  180. package/dist/HunterEnrich/service/enrichService.js +0 -79
  181. package/dist/HunterEnrich/service/enrichService.js.map +0 -1
  182. package/dist/HunterEnrich/util/types.d.ts +0 -16
  183. package/dist/HunterEnrich/util/types.d.ts.map +0 -1
  184. package/dist/HunterEnrich/util/types.js +0 -6
  185. package/dist/HunterEnrich/util/types.js.map +0 -1
@@ -1,140 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HunterDomainSearchNode = exports.NODE_TYPE = void 0;
4
- exports.createNodeDefinition = createNodeDefinition;
5
- const plugin_base_1 = require("@gravity-platform/plugin-base");
6
- const executor_1 = require("./executor");
7
- exports.NODE_TYPE = "HunterDomainSearch";
8
- function createNodeDefinition() {
9
- return {
10
- packageVersion: "1.0.0",
11
- type: exports.NODE_TYPE,
12
- name: "Hunter Domain Search",
13
- description: "Find every email address Hunter.io has for a domain or company, with role, seniority, department and confidence score",
14
- whenToUse: "Pick to list all known email addresses at a domain/company. If you already know a person's name and just need their address use HunterEmailFinder; to check an address is deliverable use HunterEmailVerifier; for full person/company profiles use HunterEnrich.",
15
- category: "Ingest",
16
- logoUrl: "https://res.cloudinary.com/sonik/image/upload/v1781366295/gravity/icons/hunter.png",
17
- color: "#FF5500",
18
- inputs: [
19
- {
20
- name: "signal",
21
- type: plugin_base_1.NodeInputType.OBJECT,
22
- description: "Data from previous nodes that can be referenced in templates",
23
- },
24
- ],
25
- outputs: [
26
- {
27
- name: "emails",
28
- type: plugin_base_1.NodeInputType.ARRAY,
29
- description: "Array of found email addresses with owner name, position, seniority and confidence",
30
- },
31
- {
32
- name: "organization",
33
- type: plugin_base_1.NodeInputType.OBJECT,
34
- description: "Company metadata for the domain (name, industry, location, email pattern, socials)",
35
- },
36
- {
37
- name: "pattern",
38
- type: plugin_base_1.NodeInputType.STRING,
39
- description: "Detected email pattern for the domain (e.g. '{first}.{last}')",
40
- },
41
- {
42
- name: "totalResults",
43
- type: plugin_base_1.NodeInputType.NUMBER,
44
- description: "Total number of email addresses Hunter holds for this domain",
45
- },
46
- {
47
- name: "limit",
48
- type: plugin_base_1.NodeInputType.NUMBER,
49
- description: "Number of results requested per page",
50
- },
51
- {
52
- name: "offset",
53
- type: plugin_base_1.NodeInputType.NUMBER,
54
- description: "Result offset used for pagination",
55
- },
56
- ],
57
- configSchema: {
58
- type: "object",
59
- properties: {
60
- domain: {
61
- type: "string",
62
- title: "Domain",
63
- description: "Company domain to search (e.g. 'stripe.com'). Use this OR Company.",
64
- default: "",
65
- "ui:field": "template",
66
- },
67
- company: {
68
- type: "string",
69
- title: "Company",
70
- description: "Company name to search (e.g. 'Stripe'). Used when Domain is not provided.",
71
- default: "",
72
- "ui:field": "template",
73
- },
74
- type: {
75
- type: "string",
76
- title: "Email Type",
77
- description: "Filter to a kind of email address",
78
- default: "",
79
- enum: ["", "personal", "generic"],
80
- enumNames: ["Any", "Personal", "Generic"],
81
- },
82
- department: {
83
- type: "string",
84
- title: "Department",
85
- description: "Comma-separated departments (e.g. 'executive, it, sales, marketing, hr, finance, support')",
86
- default: "",
87
- "ui:field": "template",
88
- },
89
- seniority: {
90
- type: "string",
91
- title: "Seniority",
92
- description: "Comma-separated seniority levels (e.g. 'junior, senior, executive')",
93
- default: "",
94
- "ui:field": "template",
95
- },
96
- requiredField: {
97
- type: "string",
98
- title: "Required Field",
99
- description: "Only return emails that have this field populated",
100
- default: "",
101
- enum: ["", "full_name", "position", "phone_number"],
102
- enumNames: ["None", "Full name", "Position", "Phone number"],
103
- },
104
- limit: {
105
- type: "number",
106
- title: "Limit",
107
- description: "Number of emails to return (max 100)",
108
- default: 10,
109
- minimum: 1,
110
- maximum: 100,
111
- },
112
- offset: {
113
- type: "number",
114
- title: "Offset",
115
- description: "Number of emails to skip, for pagination",
116
- default: 0,
117
- minimum: 0,
118
- },
119
- },
120
- required: [],
121
- },
122
- credentials: [
123
- {
124
- name: "hunterCredential",
125
- required: true,
126
- displayName: "Hunter.io API",
127
- description: "Hunter.io API key for email discovery, verification and enrichment",
128
- },
129
- ],
130
- capabilities: {
131
- isTrigger: false,
132
- },
133
- };
134
- }
135
- const definition = createNodeDefinition();
136
- exports.HunterDomainSearchNode = {
137
- definition,
138
- executor: executor_1.HunterDomainSearchExecutor,
139
- };
140
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/HunterDomainSearch/node/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { HunterDomainSearchConfig, HunterDomainSearchOutput } from "../util/types";
2
- /**
3
- * Hunter Domain Search — return every email address Hunter has found for a domain.
4
- * https://hunter.io/api-documentation/v2#domain-search
5
- */
6
- export declare function hunterDomainSearch(config: HunterDomainSearchConfig, context: any): Promise<HunterDomainSearchOutput>;
7
- //# sourceMappingURL=domainSearchService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domainSearchService.d.ts","sourceRoot":"","sources":["../../../src/HunterDomainSearch/service/domainSearchService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,eAAe,CAAC;AAIvB;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,wBAAwB,CAAC,CA0GnC"}
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hunterDomainSearch = hunterDomainSearch;
4
- const platform_1 = require("../../shared/platform");
5
- const HUNTER_API_BASE = "https://api.hunter.io/v2";
6
- /**
7
- * Hunter Domain Search — return every email address Hunter has found for a domain.
8
- * https://hunter.io/api-documentation/v2#domain-search
9
- */
10
- async function hunterDomainSearch(config, context) {
11
- const logger = (0, platform_1.createLogger)("HunterDomainSearch");
12
- const available = context.credentials || {};
13
- let creds;
14
- for (const val of Object.values(available)) {
15
- if (val?.apiKey) {
16
- creds = val;
17
- break;
18
- }
19
- }
20
- const apiKey = creds?.apiKey;
21
- if (!apiKey) {
22
- throw new Error("Hunter API key not found in credentials");
23
- }
24
- const params = {
25
- api_key: apiKey,
26
- limit: Math.round(config.limit ?? 10),
27
- offset: Math.round(config.offset ?? 0),
28
- };
29
- if (config.domain?.trim())
30
- params.domain = config.domain.trim();
31
- if (config.company?.trim())
32
- params.company = config.company.trim();
33
- if (config.type?.trim())
34
- params.type = config.type.trim();
35
- if (config.department?.trim())
36
- params.department = config.department.trim();
37
- if (config.seniority?.trim())
38
- params.seniority = config.seniority.trim();
39
- if (config.requiredField?.trim())
40
- params.required_field = config.requiredField.trim();
41
- const url = new URL(`${HUNTER_API_BASE}/domain-search`);
42
- for (const [key, value] of Object.entries(params)) {
43
- url.searchParams.set(key, String(value));
44
- }
45
- logger.info("Calling Hunter Domain Search", {
46
- domain: params.domain,
47
- company: params.company,
48
- limit: params.limit,
49
- });
50
- const response = await fetch(url.toString(), {
51
- method: "GET",
52
- headers: { "Content-Type": "application/json" },
53
- });
54
- if (!response.ok) {
55
- const errorText = await response.text().catch(() => response.statusText);
56
- throw new Error(`Hunter API error ${response.status}: ${errorText}`);
57
- }
58
- const data = await response.json();
59
- const d = data.data || {};
60
- const emails = (d.emails || []).map((e) => ({
61
- value: e.value || "",
62
- type: e.type,
63
- confidence: e.confidence,
64
- first_name: e.first_name,
65
- last_name: e.last_name,
66
- position: e.position,
67
- seniority: e.seniority,
68
- department: e.department,
69
- linkedin: e.linkedin,
70
- twitter: e.twitter,
71
- phone_number: e.phone_number,
72
- verification_status: e.verification?.status,
73
- }));
74
- const organization = {
75
- domain: d.domain,
76
- organization: d.organization,
77
- pattern: d.pattern,
78
- industry: d.industry,
79
- description: d.description,
80
- twitter: d.twitter,
81
- facebook: d.facebook,
82
- linkedin: d.linkedin,
83
- country: d.country,
84
- state: d.state,
85
- city: d.city,
86
- headcount: d.headcount,
87
- company_type: d.company_type,
88
- disposable: d.disposable,
89
- webmail: d.webmail,
90
- accept_all: d.accept_all,
91
- };
92
- const totalResults = data.meta?.results ?? emails.length;
93
- logger.info("Hunter Domain Search complete", {
94
- domain: d.domain,
95
- emails: emails.length,
96
- totalResults,
97
- });
98
- return {
99
- emails,
100
- organization,
101
- pattern: d.pattern,
102
- totalResults,
103
- limit: data.meta?.limit ?? config.limit ?? 10,
104
- offset: data.meta?.offset ?? config.offset ?? 0,
105
- };
106
- }
107
- //# sourceMappingURL=domainSearchService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domainSearchService.js","sourceRoot":"","sources":["../../../src/HunterDomainSearch/service/domainSearchService.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Type definitions for the HunterDomainSearch node
3
- */
4
- export interface HunterDomainSearchConfig {
5
- domain: string;
6
- company: string;
7
- type: string;
8
- department: string;
9
- seniority: string;
10
- requiredField: string;
11
- limit: number;
12
- offset: number;
13
- }
14
- export interface HunterEmail {
15
- value: string;
16
- type?: string;
17
- confidence?: number;
18
- first_name?: string;
19
- last_name?: string;
20
- position?: string;
21
- seniority?: string;
22
- department?: string;
23
- linkedin?: string;
24
- twitter?: string;
25
- phone_number?: string;
26
- verification_status?: string;
27
- }
28
- export interface HunterDomainInfo {
29
- domain?: string;
30
- organization?: string;
31
- pattern?: string;
32
- industry?: string;
33
- description?: string;
34
- twitter?: string;
35
- facebook?: string;
36
- linkedin?: string;
37
- country?: string;
38
- state?: string;
39
- city?: string;
40
- headcount?: string;
41
- company_type?: string;
42
- disposable?: boolean;
43
- webmail?: boolean;
44
- accept_all?: boolean;
45
- }
46
- export interface HunterDomainSearchOutput {
47
- emails: HunterEmail[];
48
- organization: HunterDomainInfo;
49
- pattern?: string;
50
- totalResults: number;
51
- limit: number;
52
- offset: number;
53
- }
54
- export interface HunterDomainSearchExecutorOutput {
55
- __outputs: HunterDomainSearchOutput;
56
- }
57
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/HunterDomainSearch/util/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,wBAAwB,CAAC;CACrC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Type definitions for the HunterDomainSearch node
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/HunterDomainSearch/util/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,8 +0,0 @@
1
- import { type NodeExecutionContext } from "@gravity-platform/plugin-base";
2
- import { HunterEmailFinderConfig, HunterEmailFinderExecutorOutput } from "../util/types";
3
- import { PromiseNode } from "../../shared/platform";
4
- export declare class HunterEmailFinderExecutor extends PromiseNode<HunterEmailFinderConfig> {
5
- constructor();
6
- protected executeNode(inputs: Record<string, any>, config: HunterEmailFinderConfig, context: NodeExecutionContext): Promise<HunterEmailFinderExecutorOutput>;
7
- }
8
- //# sourceMappingURL=executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/HunterEmailFinder/node/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AAKlE,qBAAa,yBAA0B,SAAQ,WAAW,CAAC,uBAAuB,CAAC;;cAKjE,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,+BAA+B,CAAC;CAsC5C"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HunterEmailFinderExecutor = void 0;
4
- const platform_1 = require("../../shared/platform");
5
- const emailFinderService_1 = require("../service/emailFinderService");
6
- const NODE_TYPE = "HunterEmailFinder";
7
- class HunterEmailFinderExecutor extends platform_1.PromiseNode {
8
- constructor() {
9
- super(NODE_TYPE);
10
- }
11
- async executeNode(inputs, config, context) {
12
- const logger = (0, platform_1.createLogger)("HunterEmailFinder");
13
- logger.info("Starting Hunter Email Finder", {
14
- domain: config.domain,
15
- company: config.company,
16
- });
17
- try {
18
- const result = await (0, emailFinderService_1.hunterEmailFinder)(config, context);
19
- logger.info("Hunter Email Finder completed", {
20
- email: result.email,
21
- score: result.score,
22
- });
23
- return {
24
- __outputs: {
25
- email: result.email,
26
- score: result.score,
27
- first_name: result.first_name,
28
- last_name: result.last_name,
29
- position: result.position,
30
- domain: result.domain,
31
- company: result.company,
32
- twitter: result.twitter,
33
- linkedin_url: result.linkedin_url,
34
- phone_number: result.phone_number,
35
- accept_all: result.accept_all,
36
- verification_status: result.verification_status,
37
- sources_count: result.sources_count,
38
- },
39
- };
40
- }
41
- catch (error) {
42
- logger.error("Hunter Email Finder failed", { error });
43
- throw error;
44
- }
45
- }
46
- }
47
- exports.HunterEmailFinderExecutor = HunterEmailFinderExecutor;
48
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/HunterEmailFinder/node/executor.ts"],"names":[],"mappings":";;;AAEA,oDAAkE;AAClE,sEAAkE;AAElE,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC,MAAa,yBAA0B,SAAQ,sBAAoC;IACjF;QACE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAES,KAAK,CAAC,WAAW,CACzB,MAA2B,EAC3B,MAA+B,EAC/B,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAA,uBAAY,EAAC,mBAAmB,CAAC,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC1C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAExD,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO;gBACL,SAAS,EAAE;oBACT,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;oBAC/C,aAAa,EAAE,MAAM,CAAC,aAAa;iBACpC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA/CD,8DA+CC"}
@@ -1,10 +0,0 @@
1
- import { type EnhancedNodeDefinition } from "@gravity-platform/plugin-base";
2
- import { HunterEmailFinderExecutor } from "./executor";
3
- export declare const NODE_TYPE = "HunterEmailFinder";
4
- declare function createNodeDefinition(): EnhancedNodeDefinition;
5
- export declare const HunterEmailFinderNode: {
6
- definition: any;
7
- executor: typeof HunterEmailFinderExecutor;
8
- };
9
- export { createNodeDefinition };
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/HunterEmailFinder/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,SAAS,sBAAsB,CAAC;AAE7C,iBAAS,oBAAoB,IAAI,sBAAsB,CA6GtD;AAID,eAAO,MAAM,qBAAqB;;;CAGjC,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HunterEmailFinderNode = exports.NODE_TYPE = void 0;
4
- exports.createNodeDefinition = createNodeDefinition;
5
- const plugin_base_1 = require("@gravity-platform/plugin-base");
6
- const executor_1 = require("./executor");
7
- exports.NODE_TYPE = "HunterEmailFinder";
8
- function createNodeDefinition() {
9
- return {
10
- packageVersion: "1.0.0",
11
- type: exports.NODE_TYPE,
12
- name: "Hunter Email Finder",
13
- description: "Find the most likely email address for a specific person given their name and company domain, with a confidence score",
14
- whenToUse: "Pick when you already know a person's name and their company/domain and need their email address. To list every email at a domain use HunterDomainSearch; to check an address is deliverable use HunterEmailVerifier.",
15
- category: "Ingest",
16
- logoUrl: "https://res.cloudinary.com/sonik/image/upload/v1781366295/gravity/icons/hunter.png",
17
- color: "#FF5500",
18
- inputs: [
19
- {
20
- name: "signal",
21
- type: plugin_base_1.NodeInputType.OBJECT,
22
- description: "Data from previous nodes that can be referenced in templates",
23
- },
24
- ],
25
- outputs: [
26
- {
27
- name: "email",
28
- type: plugin_base_1.NodeInputType.STRING,
29
- description: "The most likely email address for the person (empty if none found)",
30
- },
31
- {
32
- name: "score",
33
- type: plugin_base_1.NodeInputType.NUMBER,
34
- description: "Confidence score 0-100 for the returned email",
35
- },
36
- {
37
- name: "position",
38
- type: plugin_base_1.NodeInputType.STRING,
39
- description: "Job position of the person, when known",
40
- },
41
- {
42
- name: "linkedin_url",
43
- type: plugin_base_1.NodeInputType.STRING,
44
- description: "LinkedIn profile URL, when known",
45
- },
46
- {
47
- name: "verification_status",
48
- type: plugin_base_1.NodeInputType.STRING,
49
- description: "Hunter's verification status for the email, when available",
50
- },
51
- {
52
- name: "sources_count",
53
- type: plugin_base_1.NodeInputType.NUMBER,
54
- description: "Number of public sources backing the email",
55
- },
56
- ],
57
- configSchema: {
58
- type: "object",
59
- properties: {
60
- domain: {
61
- type: "string",
62
- title: "Domain",
63
- description: "Company domain (e.g. 'stripe.com'). Use this OR Company.",
64
- default: "",
65
- "ui:field": "template",
66
- },
67
- company: {
68
- type: "string",
69
- title: "Company",
70
- description: "Company name (e.g. 'Stripe'). Used when Domain is not provided.",
71
- default: "",
72
- "ui:field": "template",
73
- },
74
- firstName: {
75
- type: "string",
76
- title: "First Name",
77
- description: "Person's first name (used with Last Name)",
78
- default: "",
79
- "ui:field": "template",
80
- },
81
- lastName: {
82
- type: "string",
83
- title: "Last Name",
84
- description: "Person's last name (used with First Name)",
85
- default: "",
86
- "ui:field": "template",
87
- },
88
- fullName: {
89
- type: "string",
90
- title: "Full Name",
91
- description: "Person's full name. Overrides First/Last Name when provided.",
92
- default: "",
93
- "ui:field": "template",
94
- },
95
- },
96
- required: [],
97
- },
98
- credentials: [
99
- {
100
- name: "hunterCredential",
101
- required: true,
102
- displayName: "Hunter.io API",
103
- description: "Hunter.io API key for email discovery, verification and enrichment",
104
- },
105
- ],
106
- capabilities: {
107
- isTrigger: false,
108
- },
109
- };
110
- }
111
- const definition = createNodeDefinition();
112
- exports.HunterEmailFinderNode = {
113
- definition,
114
- executor: executor_1.HunterEmailFinderExecutor,
115
- };
116
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/HunterEmailFinder/node/index.ts"],"names":[],"mappings":";;;AA2HS,oDAAoB;AA3H7B,+DAA2F;AAC3F,yCAAuD;AAE1C,QAAA,SAAS,GAAG,mBAAmB,CAAC;AAE7C,SAAS,oBAAoB;IAC3B,OAAO;QACL,cAAc,EAAE,OAAO;QACvB,IAAI,EAAE,iBAAS;QACf,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,uHAAuH;QACzH,SAAS,EACP,uNAAuN;QACzN,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,oFAAoF;QAC7F,KAAK,EAAE,SAAS;QAEhB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,8DAA8D;aAC5E;SACF;QAED,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,oEAAoE;aAClF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,+CAA+C;aAC7D;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,wCAAwC;aACtD;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,kCAAkC;aAChD;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,4DAA4D;aAC1E;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,4CAA4C;aAC1D;SACF;QAED,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,QAAQ;oBACf,WAAW,EAAE,0DAA0D;oBACvE,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,iEAAiE;oBAC9E,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,2CAA2C;oBACxD,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,2CAA2C;oBACxD,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,8DAA8D;oBAC3E,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;aACF;YACD,QAAQ,EAAE,EAAE;SACb;QAED,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,eAAe;gBAC5B,WAAW,EAAE,oEAAoE;aAClF;SACF;QAED,YAAY,EAAE;YACZ,SAAS,EAAE,KAAK;SACjB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;AAE7B,QAAA,qBAAqB,GAAG;IACnC,UAAU;IACV,QAAQ,EAAE,oCAAyB;CACpC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { HunterEmailFinderConfig, HunterEmailFinderOutput } from "../util/types";
2
- /**
3
- * Hunter Email Finder — find the most likely email address for a named person at a company.
4
- * https://hunter.io/api-documentation/v2#email-finder
5
- */
6
- export declare function hunterEmailFinder(config: HunterEmailFinderConfig, context: any): Promise<HunterEmailFinderOutput>;
7
- //# sourceMappingURL=emailFinderService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emailFinderService.d.ts","sourceRoot":"","sources":["../../../src/HunterEmailFinder/service/emailFinderService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAIjF;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,uBAAuB,CAAC,CAwElC"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hunterEmailFinder = hunterEmailFinder;
4
- const platform_1 = require("../../shared/platform");
5
- const HUNTER_API_BASE = "https://api.hunter.io/v2";
6
- /**
7
- * Hunter Email Finder — find the most likely email address for a named person at a company.
8
- * https://hunter.io/api-documentation/v2#email-finder
9
- */
10
- async function hunterEmailFinder(config, context) {
11
- const logger = (0, platform_1.createLogger)("HunterEmailFinder");
12
- const available = context.credentials || {};
13
- let creds;
14
- for (const val of Object.values(available)) {
15
- if (val?.apiKey) {
16
- creds = val;
17
- break;
18
- }
19
- }
20
- const apiKey = creds?.apiKey;
21
- if (!apiKey) {
22
- throw new Error("Hunter API key not found in credentials");
23
- }
24
- const params = { api_key: apiKey };
25
- if (config.domain?.trim())
26
- params.domain = config.domain.trim();
27
- if (config.company?.trim())
28
- params.company = config.company.trim();
29
- if (config.fullName?.trim()) {
30
- params.full_name = config.fullName.trim();
31
- }
32
- else {
33
- if (config.firstName?.trim())
34
- params.first_name = config.firstName.trim();
35
- if (config.lastName?.trim())
36
- params.last_name = config.lastName.trim();
37
- }
38
- const url = new URL(`${HUNTER_API_BASE}/email-finder`);
39
- for (const [key, value] of Object.entries(params)) {
40
- url.searchParams.set(key, String(value));
41
- }
42
- logger.info("Calling Hunter Email Finder", {
43
- domain: params.domain,
44
- company: params.company,
45
- name: params.full_name || `${params.first_name ?? ""} ${params.last_name ?? ""}`.trim(),
46
- });
47
- const response = await fetch(url.toString(), {
48
- method: "GET",
49
- headers: { "Content-Type": "application/json" },
50
- });
51
- if (!response.ok) {
52
- const errorText = await response.text().catch(() => response.statusText);
53
- throw new Error(`Hunter API error ${response.status}: ${errorText}`);
54
- }
55
- const data = await response.json();
56
- const d = data.data || {};
57
- logger.info("Hunter Email Finder complete", {
58
- email: d.email,
59
- score: d.score,
60
- });
61
- return {
62
- email: d.email || "",
63
- score: d.score ?? 0,
64
- first_name: d.first_name,
65
- last_name: d.last_name,
66
- position: d.position,
67
- domain: d.domain,
68
- company: d.company,
69
- twitter: d.twitter,
70
- linkedin_url: d.linkedin_url,
71
- phone_number: d.phone_number,
72
- accept_all: d.accept_all,
73
- verification_status: d.verification?.status,
74
- sources_count: Array.isArray(d.sources) ? d.sources.length : 0,
75
- };
76
- }
77
- //# sourceMappingURL=emailFinderService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emailFinderService.js","sourceRoot":"","sources":["../../../src/HunterEmailFinder/service/emailFinderService.ts"],"names":[],"mappings":"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"}