@activepieces/piece-dataforb2b 0.0.1 → 0.0.3

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 (41) hide show
  1. package/package.json +7 -12
  2. package/src/i18n/de.json +95 -0
  3. package/src/i18n/es.json +95 -0
  4. package/src/i18n/fr.json +95 -0
  5. package/src/i18n/ja.json +95 -0
  6. package/src/i18n/nl.json +95 -0
  7. package/src/i18n/pt.json +95 -0
  8. package/src/i18n/translation.json +95 -0
  9. package/src/i18n/zh.json +95 -0
  10. package/src/index.js +13 -42
  11. package/src/index.d.ts +0 -2
  12. package/src/index.d.ts.map +0 -1
  13. package/src/index.js.map +0 -1
  14. package/src/lib/actions/enrich-company.d.ts +0 -4
  15. package/src/lib/actions/enrich-company.d.ts.map +0 -1
  16. package/src/lib/actions/enrich-company.js +0 -28
  17. package/src/lib/actions/enrich-company.js.map +0 -1
  18. package/src/lib/actions/enrich-profile.d.ts +0 -9
  19. package/src/lib/actions/enrich-profile.d.ts.map +0 -1
  20. package/src/lib/actions/enrich-profile.js +0 -67
  21. package/src/lib/actions/enrich-profile.js.map +0 -1
  22. package/src/lib/actions/reasoning-search.d.ts +0 -9
  23. package/src/lib/actions/reasoning-search.d.ts.map +0 -1
  24. package/src/lib/actions/reasoning-search.js +0 -74
  25. package/src/lib/actions/reasoning-search.js.map +0 -1
  26. package/src/lib/actions/search-companies.d.ts +0 -9
  27. package/src/lib/actions/search-companies.d.ts.map +0 -1
  28. package/src/lib/actions/search-companies.js +0 -52
  29. package/src/lib/actions/search-companies.js.map +0 -1
  30. package/src/lib/actions/search-people.d.ts +0 -9
  31. package/src/lib/actions/search-people.d.ts.map +0 -1
  32. package/src/lib/actions/search-people.js +0 -52
  33. package/src/lib/actions/search-people.js.map +0 -1
  34. package/src/lib/actions/typeahead.d.ts +0 -6
  35. package/src/lib/actions/typeahead.d.ts.map +0 -1
  36. package/src/lib/actions/typeahead.js +0 -43
  37. package/src/lib/actions/typeahead.js.map +0 -1
  38. package/src/lib/common/index.d.ts +0 -40
  39. package/src/lib/common/index.d.ts.map +0 -1
  40. package/src/lib/common/index.js +0 -286
  41. package/src/lib/common/index.js.map +0 -1
@@ -1,286 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.typeaheadTypeOptions = exports.advancedFiltersProp = exports.filterLogicProp = exports.companyFilterFields = exports.peopleFilterFields = exports.operatorOptions = exports.operatorMap = exports.dataforb2bAuth = exports.DATAFORB2B_API_BASE_URL = void 0;
4
- exports.dataForB2BRequest = dataForB2BRequest;
5
- exports.dataForB2BGet = dataForB2BGet;
6
- exports.buildFiltersProp = buildFiltersProp;
7
- exports.buildConditions = buildConditions;
8
- exports.finalizeFilters = finalizeFilters;
9
- const tslib_1 = require("tslib");
10
- const pieces_framework_1 = require("@activepieces/pieces-framework");
11
- const pieces_common_1 = require("@activepieces/pieces-common");
12
- exports.DATAFORB2B_API_BASE_URL = 'https://api.dataforb2b.ai';
13
- // ─── Authentication ──────────────────────────────────────────────────────────
14
- exports.dataforb2bAuth = pieces_framework_1.PieceAuth.SecretText({
15
- displayName: 'API Key',
16
- required: true,
17
- description: 'Your DataForB2B API key. Get it from https://app.dataforb2b.ai',
18
- validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
19
- var _b;
20
- try {
21
- yield pieces_common_1.httpClient.sendRequest({
22
- method: pieces_common_1.HttpMethod.GET,
23
- url: `${exports.DATAFORB2B_API_BASE_URL}/account`,
24
- headers: { api_key: auth },
25
- });
26
- return { valid: true };
27
- }
28
- catch (e) {
29
- const status = (_b = e === null || e === void 0 ? void 0 : e.response) === null || _b === void 0 ? void 0 : _b.status;
30
- if (status === 401 || status === 403) {
31
- return {
32
- valid: false,
33
- error: 'Invalid API key. Check it at https://app.dataforb2b.ai',
34
- };
35
- }
36
- return {
37
- valid: false,
38
- error: `Could not reach DataForB2B to validate the key (status ${status !== null && status !== void 0 ? status : 'network error'}). Please try again.`,
39
- };
40
- }
41
- }),
42
- });
43
- // ─── Shared request helpers ──────────────────────────────────────────────────
44
- function dataForB2BRequest(apiKey, endpoint, body) {
45
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
- const response = yield pieces_common_1.httpClient.sendRequest({
47
- method: pieces_common_1.HttpMethod.POST,
48
- url: `${exports.DATAFORB2B_API_BASE_URL}${endpoint}`,
49
- headers: {
50
- api_key: apiKey,
51
- 'Content-Type': 'application/json',
52
- },
53
- body,
54
- });
55
- return response.body;
56
- });
57
- }
58
- function dataForB2BGet(apiKey, endpoint, queryParams) {
59
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
60
- const response = yield pieces_common_1.httpClient.sendRequest({
61
- method: pieces_common_1.HttpMethod.GET,
62
- url: `${exports.DATAFORB2B_API_BASE_URL}${endpoint}`,
63
- headers: { api_key: apiKey },
64
- queryParams,
65
- });
66
- return response.body;
67
- });
68
- }
69
- // ─── Operators ───────────────────────────────────────────────────────────────
70
- // UI value -> API operator
71
- exports.operatorMap = {
72
- eq: '=',
73
- neq: '!=',
74
- gt: '>',
75
- gte: '>=',
76
- lt: '<',
77
- lte: '<=',
78
- like: 'like',
79
- not_like: 'not_like',
80
- in: 'in',
81
- not_in: 'not_in',
82
- between: 'between',
83
- };
84
- exports.operatorOptions = [
85
- { label: 'Equals', value: 'eq' },
86
- { label: 'Not Equals', value: 'neq' },
87
- { label: 'Contains', value: 'like' },
88
- { label: 'Not Contains', value: 'not_like' },
89
- { label: 'In List (comma-separated)', value: 'in' },
90
- { label: 'Not In List (comma-separated)', value: 'not_in' },
91
- { label: 'Greater Than', value: 'gt' },
92
- { label: 'Greater Than or Equal', value: 'gte' },
93
- { label: 'Less Than', value: 'lt' },
94
- { label: 'Less Than or Equal', value: 'lte' },
95
- { label: 'Between (value, value2)', value: 'between' },
96
- ];
97
- // ─── Filter fields ───────────────────────────────────────────────────────────
98
- exports.peopleFilterFields = [
99
- // Profile
100
- { label: 'First Name', value: 'first_name' },
101
- { label: 'Last Name', value: 'last_name' },
102
- { label: 'Profile Location', value: 'profile_location' },
103
- { label: 'Profile Country', value: 'profile_country' },
104
- { label: 'Profile Industry', value: 'profile_industry' },
105
- { label: 'Follower Count', value: 'follower_count' },
106
- { label: 'Keyword (Full-text)', value: 'keyword' },
107
- // Current Job
108
- { label: 'Current Company', value: 'current_company' },
109
- { label: 'Current Title', value: 'current_title' },
110
- { label: 'Current Job Location', value: 'current_job_location' },
111
- { label: 'Current Company Industry', value: 'current_company_industry' },
112
- { label: 'Current Company Category', value: 'current_company_category' },
113
- { label: 'Current Company Size', value: 'current_company_size' },
114
- { label: 'Current Company ID', value: 'current_company_id' },
115
- { label: 'Current Employment Type', value: 'current_employment_type' },
116
- { label: 'Years in Current Position', value: 'years_in_current_position' },
117
- { label: 'Years at Current Company', value: 'years_at_current_company' },
118
- {
119
- label: 'Current Company Has Funding',
120
- value: 'current_company_has_funding',
121
- },
122
- {
123
- label: 'Current Company Funding Stage',
124
- value: 'current_company_funding_stage',
125
- },
126
- { label: 'Current Company Investor', value: 'current_company_investor' },
127
- // Past Jobs
128
- { label: 'Past Company', value: 'past_company' },
129
- { label: 'Past Title', value: 'past_title' },
130
- { label: 'Past Job Location', value: 'past_job_location' },
131
- { label: 'Past Company Industry', value: 'past_company_industry' },
132
- { label: 'Past Company Size', value: 'past_company_size' },
133
- { label: 'Past Company ID', value: 'past_company_id' },
134
- { label: 'Past Employment Type', value: 'past_employment_type' },
135
- { label: 'Years at Past Company', value: 'years_at_past_company' },
136
- // Skills
137
- { label: 'Skill', value: 'skill' },
138
- // Education
139
- { label: 'School', value: 'school' },
140
- { label: 'Degree', value: 'degree' },
141
- { label: 'Degree Level', value: 'degree_level' },
142
- { label: 'Field of Study', value: 'field_of_study' },
143
- // Languages
144
- { label: 'Language', value: 'language' },
145
- { label: 'Language ISO', value: 'language_iso' },
146
- { label: 'Language Proficiency', value: 'language_proficiency' },
147
- // Certifications
148
- { label: 'Certification', value: 'certification' },
149
- { label: 'Certification Authority', value: 'certification_authority' },
150
- // Experience
151
- { label: 'Years of Experience', value: 'years_of_experience' },
152
- { label: 'Number of Total Jobs', value: 'num_total_jobs' },
153
- { label: 'Is Currently Employed', value: 'is_currently_employed' },
154
- ];
155
- exports.companyFilterFields = [
156
- // Basic Info
157
- { label: 'Name', value: 'name' },
158
- { label: 'Tagline', value: 'tagline' },
159
- { label: 'Description', value: 'description' },
160
- { label: 'Domain', value: 'domain' },
161
- { label: 'Universal Name', value: 'universal_name' },
162
- { label: 'Keyword (Full-text)', value: 'keyword' },
163
- { label: 'Industry', value: 'industry' },
164
- // Size
165
- { label: 'Employee Count', value: 'employee_count' },
166
- // Headquarters
167
- { label: 'Country ISO Code', value: 'country_iso_code' },
168
- { label: 'City', value: 'city' },
169
- { label: 'Region', value: 'region' },
170
- // Offices
171
- { label: 'Office Country', value: 'office_country' },
172
- { label: 'Office City', value: 'office_city' },
173
- { label: 'Office Region', value: 'office_region' },
174
- // Growth
175
- { label: 'Employee Growth 1M (%)', value: 'employee_growth_1m' },
176
- { label: 'Employee Growth 6M (%)', value: 'employee_growth_6m' },
177
- { label: 'Employee Growth 12M (%)', value: 'employee_growth_12m' },
178
- { label: 'Recent Hires Count', value: 'recent_hires_count' },
179
- // Metadata
180
- { label: 'Founded Year', value: 'founded_year' },
181
- { label: 'Company Type', value: 'company_type' },
182
- { label: 'Follower Count', value: 'follower_count' },
183
- { label: 'Page Verified', value: 'page_verified' },
184
- { label: 'Category', value: 'category' },
185
- // Funding
186
- { label: 'Last Funding Amount (USD)', value: 'last_funding_amount_usd' },
187
- { label: 'Last Funding Date', value: 'last_funding_date' },
188
- { label: 'Funding Stage', value: 'funding_stage_normalized' },
189
- { label: 'Has Funding', value: 'has_funding' },
190
- ];
191
- exports.filterLogicProp = pieces_framework_1.Property.StaticDropdown({
192
- displayName: 'Filter Logic',
193
- description: 'How to combine multiple filters',
194
- required: false,
195
- defaultValue: 'and',
196
- options: {
197
- options: [
198
- { label: 'AND (all conditions must match)', value: 'and' },
199
- { label: 'OR (any condition can match)', value: 'or' },
200
- ],
201
- },
202
- });
203
- function buildFiltersProp(fields, defaultField) {
204
- return pieces_framework_1.Property.Array({
205
- displayName: 'Filters',
206
- description: 'Conditions used to filter the search',
207
- required: false,
208
- properties: {
209
- field: pieces_framework_1.Property.StaticDropdown({
210
- displayName: 'Field',
211
- required: true,
212
- defaultValue: defaultField,
213
- options: { options: fields },
214
- }),
215
- operator: pieces_framework_1.Property.StaticDropdown({
216
- displayName: 'Operator',
217
- required: true,
218
- defaultValue: 'like',
219
- options: { options: exports.operatorOptions },
220
- }),
221
- value: pieces_framework_1.Property.ShortText({
222
- displayName: 'Value',
223
- description: 'For "In List" / "Not In List" use comma-separated values',
224
- required: true,
225
- }),
226
- value2: pieces_framework_1.Property.ShortText({
227
- displayName: 'Value 2 (for Between)',
228
- description: 'Second value, only used with the "Between" operator',
229
- required: false,
230
- }),
231
- },
232
- });
233
- }
234
- function buildConditions(filters) {
235
- return (filters || []).map((cond) => {
236
- const apiOperator = exports.operatorMap[cond.operator] || cond.operator;
237
- const condition = {
238
- column: cond.field,
239
- type: apiOperator,
240
- value: apiOperator === 'in' || apiOperator === 'not_in'
241
- ? cond.value.split(',').map((v) => v.trim())
242
- : cond.value,
243
- };
244
- if (cond.operator === 'between' && cond.value2) {
245
- condition['value2'] = cond.value2;
246
- }
247
- return condition;
248
- });
249
- }
250
- /**
251
- * Combine the UI filter conditions (joined by `match` = and/or) with an optional
252
- * advanced filter group provided as raw JSON. Mirrors the Dify plugin behaviour.
253
- */
254
- function finalizeFilters(conditions, match, advanced) {
255
- const op = match === 'or' ? 'or' : 'and';
256
- const group = conditions.length > 0 ? { op, conditions } : undefined;
257
- if (advanced && typeof advanced === 'object') {
258
- const adv = Array.isArray(advanced)
259
- ? { op: 'and', conditions: advanced }
260
- : 'conditions' in advanced
261
- ? advanced
262
- : { op: 'and', conditions: [advanced] };
263
- return group ? { op: 'and', conditions: [group, adv] } : adv;
264
- }
265
- return group;
266
- }
267
- exports.advancedFiltersProp = pieces_framework_1.Property.Json({
268
- displayName: 'Advanced Filters (JSON)',
269
- description: 'Optional raw filter group, e.g. {"op":"or","conditions":[{"column":"skill","type":"like","value":"python"}]}. Merged with the filters above.',
270
- required: false,
271
- });
272
- // ─── Typeahead ───────────────────────────────────────────────────────────────
273
- exports.typeaheadTypeOptions = [
274
- { label: 'Company (returns org_id)', value: 'company' },
275
- { label: 'People industry (capitalized)', value: 'people_industry' },
276
- { label: 'Company industry (lowercase)', value: 'company_industry' },
277
- { label: 'Category (lowercase)', value: 'category' },
278
- { label: 'Location (profiles)', value: 'location' },
279
- { label: 'City (companies)', value: 'city' },
280
- { label: 'Region/state (companies)', value: 'region' },
281
- { label: 'School', value: 'school' },
282
- { label: 'Job title', value: 'title' },
283
- { label: 'Skill', value: 'skill' },
284
- { label: 'Investor', value: 'investor' },
285
- ];
286
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"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"}