@activepieces/piece-dataforb2b 0.0.1

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 (33) hide show
  1. package/package.json +17 -0
  2. package/src/index.d.ts +2 -0
  3. package/src/index.d.ts.map +1 -0
  4. package/src/index.js +42 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/actions/enrich-company.d.ts +4 -0
  7. package/src/lib/actions/enrich-company.d.ts.map +1 -0
  8. package/src/lib/actions/enrich-company.js +28 -0
  9. package/src/lib/actions/enrich-company.js.map +1 -0
  10. package/src/lib/actions/enrich-profile.d.ts +9 -0
  11. package/src/lib/actions/enrich-profile.d.ts.map +1 -0
  12. package/src/lib/actions/enrich-profile.js +67 -0
  13. package/src/lib/actions/enrich-profile.js.map +1 -0
  14. package/src/lib/actions/reasoning-search.d.ts +9 -0
  15. package/src/lib/actions/reasoning-search.d.ts.map +1 -0
  16. package/src/lib/actions/reasoning-search.js +74 -0
  17. package/src/lib/actions/reasoning-search.js.map +1 -0
  18. package/src/lib/actions/search-companies.d.ts +9 -0
  19. package/src/lib/actions/search-companies.d.ts.map +1 -0
  20. package/src/lib/actions/search-companies.js +52 -0
  21. package/src/lib/actions/search-companies.js.map +1 -0
  22. package/src/lib/actions/search-people.d.ts +9 -0
  23. package/src/lib/actions/search-people.d.ts.map +1 -0
  24. package/src/lib/actions/search-people.js +52 -0
  25. package/src/lib/actions/search-people.js.map +1 -0
  26. package/src/lib/actions/typeahead.d.ts +6 -0
  27. package/src/lib/actions/typeahead.d.ts.map +1 -0
  28. package/src/lib/actions/typeahead.js +43 -0
  29. package/src/lib/actions/typeahead.js.map +1 -0
  30. package/src/lib/common/index.d.ts +40 -0
  31. package/src/lib/common/index.d.ts.map +1 -0
  32. package/src/lib/common/index.js +286 -0
  33. package/src/lib/common/index.js.map +1 -0
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@activepieces/piece-dataforb2b",
3
+ "version": "0.0.1",
4
+ "type": "commonjs",
5
+ "main": "./src/index.js",
6
+ "types": "./src/index.d.ts",
7
+ "dependencies": {
8
+ "@activepieces/pieces-common": "0.12.5",
9
+ "@activepieces/pieces-framework": "0.32.0",
10
+ "@activepieces/shared": "0.95.1",
11
+ "tslib": "2.6.2"
12
+ },
13
+ "scripts": {
14
+ "build": "tsc -p tsconfig.lib.json && cp package.json dist/",
15
+ "lint": "eslint 'src/**/*.ts'"
16
+ }
17
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const dataforb2b: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").SecretTextProperty<true>>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,UAAU,mHA4BrB,CAAC"}
package/src/index.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataforb2b = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const shared_1 = require("@activepieces/shared");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ const common_1 = require("./lib/common");
9
+ const search_people_1 = require("./lib/actions/search-people");
10
+ const search_companies_1 = require("./lib/actions/search-companies");
11
+ const reasoning_search_1 = require("./lib/actions/reasoning-search");
12
+ const typeahead_1 = require("./lib/actions/typeahead");
13
+ const enrich_profile_1 = require("./lib/actions/enrich-profile");
14
+ const enrich_company_1 = require("./lib/actions/enrich-company");
15
+ exports.dataforb2b = (0, pieces_framework_1.createPiece)({
16
+ displayName: 'DataForB2B',
17
+ description: 'Power your sales or recruiting AI agent with live B2B data. DataForB2B is a people and company search API with 70+ filters including job title, skills, company size, LinkedIn URL, funding stage, investor, past employers, certifications, years of experience, GitHub repositories, languages and more.',
18
+ auth: common_1.dataforb2bAuth,
19
+ minimumSupportedRelease: '0.36.1',
20
+ logoUrl: 'https://cdn.activepieces.com/pieces/dataforb2b.png',
21
+ categories: [shared_1.PieceCategory.SALES_AND_CRM],
22
+ authors: ['claude-dev-code', 'sanket-a11y'],
23
+ actions: [
24
+ search_people_1.searchPeople,
25
+ search_companies_1.searchCompanies,
26
+ reasoning_search_1.reasoningSearch,
27
+ typeahead_1.typeahead,
28
+ enrich_profile_1.enrichProfile,
29
+ enrich_company_1.enrichCompany,
30
+ (0, pieces_common_1.createCustomApiCallAction)({
31
+ auth: common_1.dataforb2bAuth,
32
+ baseUrl: () => common_1.DATAFORB2B_API_BASE_URL,
33
+ authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
34
+ return {
35
+ 'api_key': auth.secret_text,
36
+ };
37
+ }),
38
+ }),
39
+ ],
40
+ triggers: [],
41
+ });
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAA6D;AAC7D,iDAAqD;AACrD,+DAAwE;AACxE,yCAAuE;AACvE,+DAA2D;AAC3D,qEAAiE;AACjE,qEAAiE;AACjE,uDAAoD;AACpD,iEAA6D;AAC7D,iEAA6D;AAEhD,QAAA,UAAU,GAAG,IAAA,8BAAW,EAAC;IACpC,WAAW,EAAE,YAAY;IACzB,WAAW,EACT,4SAA4S;IAC9S,IAAI,EAAE,uBAAc;IACpB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,oDAAoD;IAC7D,UAAU,EAAE,CAAC,sBAAa,CAAC,aAAa,CAAC;IACzC,OAAO,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC;IAC3C,OAAO,EAAE;QACP,4BAAY;QACZ,kCAAe;QACf,kCAAe;QACf,qBAAS;QACT,8BAAa;QACb,8BAAa;QACb,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,uBAAc;YACpB,OAAO,EAAE,GAAG,EAAE,CAAC,gCAAuB;YACtC,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC1B,OAAO;oBACL,SAAS,EAAE,IAAI,CAAC,WAAW;iBAC5B,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KAEH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const enrichCompany: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ companyIdentifier: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ }>;
4
+ //# sourceMappingURL=enrich-company.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrich-company.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/enrich-company.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;EAkBxB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enrichCompany = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ exports.enrichCompany = (0, pieces_framework_1.createAction)({
8
+ auth: common_1.dataforb2bAuth,
9
+ name: 'enrich_company',
10
+ displayName: 'Enrich Company',
11
+ description: 'Retrieve comprehensive information about a company.',
12
+ props: {
13
+ companyIdentifier: pieces_framework_1.Property.ShortText({
14
+ displayName: 'Company Identifier',
15
+ description: 'Company slug, LinkedIn URL, or encoded ID',
16
+ required: true,
17
+ }),
18
+ },
19
+ run(context) {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
+ const { companyIdentifier } = context.propsValue;
22
+ return (0, common_1.dataForB2BRequest)(context.auth.secret_text, '/enrich/company', {
23
+ company_identifier: companyIdentifier,
24
+ });
25
+ });
26
+ },
27
+ });
28
+ //# sourceMappingURL=enrich-company.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrich-company.js","sourceRoot":"","sources":["../../../../src/lib/actions/enrich-company.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAA8D;AAEjD,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,uBAAc;IACpB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,qDAAqD;IAClE,KAAK,EAAE;QACL,iBAAiB,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACpC,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YACjD,OAAO,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE;gBACpE,kBAAkB,EAAE,iBAAiB;aACtC,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const enrichProfile: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ profileIdentifier: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ includeProfile: import("@activepieces/pieces-framework").CheckboxProperty<false>;
4
+ enrichWorkEmail: import("@activepieces/pieces-framework").CheckboxProperty<false>;
5
+ enrichPersonalEmail: import("@activepieces/pieces-framework").CheckboxProperty<false>;
6
+ enrichPhone: import("@activepieces/pieces-framework").CheckboxProperty<false>;
7
+ enrichGithub: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
+ }>;
9
+ //# sourceMappingURL=enrich-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrich-profile.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/enrich-profile.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;;;;;;EAqExB,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enrichProfile = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ exports.enrichProfile = (0, pieces_framework_1.createAction)({
8
+ auth: common_1.dataforb2bAuth,
9
+ name: 'enrich_profile',
10
+ displayName: 'Enrich Profile',
11
+ description: 'Retrieve detailed professional data, work/personal email and phone for a person.',
12
+ props: {
13
+ profileIdentifier: pieces_framework_1.Property.ShortText({
14
+ displayName: 'Profile Identifier',
15
+ description: 'LinkedIn URL, public ID, or encoded ID',
16
+ required: true,
17
+ }),
18
+ includeProfile: pieces_framework_1.Property.Checkbox({
19
+ displayName: 'Enrich Profile',
20
+ description: 'Retrieve full profile data',
21
+ required: false,
22
+ defaultValue: true,
23
+ }),
24
+ enrichWorkEmail: pieces_framework_1.Property.Checkbox({
25
+ displayName: 'Enrich Work Email',
26
+ description: 'Retrieve professional email',
27
+ required: false,
28
+ defaultValue: false,
29
+ }),
30
+ enrichPersonalEmail: pieces_framework_1.Property.Checkbox({
31
+ displayName: 'Enrich Personal Email',
32
+ description: 'Retrieve personal email',
33
+ required: false,
34
+ defaultValue: false,
35
+ }),
36
+ enrichPhone: pieces_framework_1.Property.Checkbox({
37
+ displayName: 'Enrich Phone',
38
+ description: 'Retrieve phone number',
39
+ required: false,
40
+ defaultValue: false,
41
+ }),
42
+ enrichGithub: pieces_framework_1.Property.Checkbox({
43
+ displayName: 'Enrich GitHub',
44
+ description: 'Retrieve GitHub profile and repositories',
45
+ required: false,
46
+ defaultValue: false,
47
+ }),
48
+ },
49
+ run(context) {
50
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ const { profileIdentifier, includeProfile, enrichWorkEmail, enrichPersonalEmail, enrichPhone, enrichGithub, } = context.propsValue;
52
+ const flags = {
53
+ enrich_profile: includeProfile !== null && includeProfile !== void 0 ? includeProfile : false,
54
+ enrich_work_email: enrichWorkEmail !== null && enrichWorkEmail !== void 0 ? enrichWorkEmail : false,
55
+ enrich_personal_email: enrichPersonalEmail !== null && enrichPersonalEmail !== void 0 ? enrichPersonalEmail : false,
56
+ enrich_phone: enrichPhone !== null && enrichPhone !== void 0 ? enrichPhone : false,
57
+ enrich_github: enrichGithub !== null && enrichGithub !== void 0 ? enrichGithub : false,
58
+ };
59
+ // The API requires at least one enrich_* flag — default to full profile.
60
+ if (!Object.values(flags).some(Boolean)) {
61
+ flags.enrich_profile = true;
62
+ }
63
+ return (0, common_1.dataForB2BRequest)(context.auth.secret_text, '/enrich/profile', Object.assign({ profile_identifier: profileIdentifier }, flags));
64
+ });
65
+ },
66
+ });
67
+ //# sourceMappingURL=enrich-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrich-profile.js","sourceRoot":"","sources":["../../../../src/lib/actions/enrich-profile.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAA8D;AAEjD,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,uBAAc;IACpB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,kFAAkF;IAC/F,KAAK,EAAE;QACL,iBAAiB,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACpC,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,cAAc,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAChC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACjC,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,mBAAmB,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACrC,WAAW,EAAE,uBAAuB;YACpC,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC7B,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC9B,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EACJ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,YAAY,GACb,GAAG,OAAO,CAAC,UAAU,CAAC;YAEvB,MAAM,KAAK,GAAG;gBACZ,cAAc,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,KAAK;gBACvC,iBAAiB,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,KAAK;gBAC3C,qBAAqB,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,KAAK;gBACnD,YAAY,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,KAAK;gBAClC,aAAa,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,KAAK;aACrC,CAAC;YACF,yEAAyE;YACzE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9B,CAAC;YAED,OAAO,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,kBAClE,kBAAkB,EAAE,iBAAiB,IAClC,KAAK,EACR,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const reasoningSearch: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ query: import("@activepieces/pieces-framework").LongTextProperty<false>;
3
+ category: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
4
+ maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
5
+ sessionId: import("@activepieces/pieces-framework").ShortTextProperty<false>;
6
+ answers: import("@activepieces/pieces-framework").JsonProperty<false>;
7
+ enrichLive: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
+ }>;
9
+ //# sourceMappingURL=reasoning-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-search.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/reasoning-search.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;;;;EAuE1B,CAAC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reasoningSearch = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ exports.reasoningSearch = (0, pieces_framework_1.createAction)({
8
+ auth: common_1.dataforb2bAuth,
9
+ name: 'reasoning_search',
10
+ displayName: 'Reasoning Search',
11
+ description: 'Describe who you are looking for in plain language. An AI agent builds the best filters and runs the search. It may return status "needs_input" with questions — answer by calling again with the returned session_id and an answers object.',
12
+ props: {
13
+ query: pieces_framework_1.Property.LongText({
14
+ displayName: 'Query',
15
+ description: 'Plain-language description, e.g. "Heads of Sales at French fintech scale-ups" (max 3000 chars). Required on the first call.',
16
+ required: false,
17
+ }),
18
+ category: pieces_framework_1.Property.StaticDropdown({
19
+ displayName: 'Category',
20
+ description: 'Whether to search people or companies',
21
+ required: false,
22
+ defaultValue: 'people',
23
+ options: {
24
+ options: [
25
+ { label: 'People', value: 'people' },
26
+ { label: 'Companies', value: 'companies' },
27
+ ],
28
+ },
29
+ }),
30
+ maxResults: pieces_framework_1.Property.Number({
31
+ displayName: 'Max Results',
32
+ description: 'Number of results for the final search (1-100)',
33
+ required: false,
34
+ defaultValue: 25,
35
+ }),
36
+ sessionId: pieces_framework_1.Property.ShortText({
37
+ displayName: 'Session ID',
38
+ description: 'Session id returned by a previous call. Send it back to answer questions or refine the same search.',
39
+ required: false,
40
+ }),
41
+ answers: pieces_framework_1.Property.Json({
42
+ displayName: 'Answers (JSON)',
43
+ description: 'Answers to a needs_input turn, e.g. {"company_size":"201-500"}. Requires Session ID.',
44
+ required: false,
45
+ }),
46
+ enrichLive: pieces_framework_1.Property.Checkbox({
47
+ displayName: 'Enrich Live',
48
+ description: 'Enrich results with fresh live data instead of cached data',
49
+ required: false,
50
+ defaultValue: false,
51
+ }),
52
+ },
53
+ run(context) {
54
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
55
+ const { query, category, maxResults, sessionId, answers, enrichLive } = context.propsValue;
56
+ if (!query && !(sessionId && answers)) {
57
+ throw new Error("Provide 'query' (first call) or 'session_id' + 'answers' (to resolve a needs_input turn).");
58
+ }
59
+ const body = {
60
+ category: category !== null && category !== void 0 ? category : 'people',
61
+ max_results: maxResults !== null && maxResults !== void 0 ? maxResults : 25,
62
+ enrich_live: enrichLive !== null && enrichLive !== void 0 ? enrichLive : false,
63
+ };
64
+ if (query)
65
+ body['query'] = query;
66
+ if (sessionId)
67
+ body['session_id'] = sessionId;
68
+ if (answers)
69
+ body['answers'] = answers;
70
+ return (0, common_1.dataForB2BRequest)(context.auth.secret_text, '/search/reasoning', body);
71
+ });
72
+ },
73
+ });
74
+ //# sourceMappingURL=reasoning-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-search.js","sourceRoot":"","sources":["../../../../src/lib/actions/reasoning-search.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAA8D;AAEjD,QAAA,eAAe,GAAG,IAAA,+BAAY,EAAC;IAC1C,IAAI,EAAE,uBAAc;IACpB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EACT,8OAA8O;IAChP,KAAK,EAAE;QACL,KAAK,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACvB,WAAW,EAAE,OAAO;YACpB,WAAW,EACT,6HAA6H;YAC/H,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACpC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;iBAC3C;aACF;SACF,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,YAAY;YACzB,WAAW,EACT,qGAAqG;YACvG,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,IAAI,CAAC;YACrB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EACT,sFAAsF;YACxF,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC5B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GACnE,OAAO,CAAC,UAAU,CAAC;YAErB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAA4B;gBACpC,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,QAAQ;gBAC9B,WAAW,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;gBAC7B,WAAW,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,KAAK;aACjC,CAAC;YACF,IAAI,KAAK;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACjC,IAAI,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;YAC9C,IAAI,OAAO;gBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAEvC,OAAO,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAChF,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const searchCompanies: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ match: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
3
+ filters: import("@activepieces/pieces-framework").ArrayProperty<false> | import("@activepieces/pieces-framework").ArrayProperty<true>;
4
+ advancedFilters: import("@activepieces/pieces-framework").JsonProperty<false>;
5
+ count: import("@activepieces/pieces-framework").NumberProperty<false>;
6
+ offset: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ enrichLive: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
+ }>;
9
+ //# sourceMappingURL=search-companies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-companies.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/search-companies.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe;;;;;;;EA6C1B,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchCompanies = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ exports.searchCompanies = (0, pieces_framework_1.createAction)({
8
+ auth: common_1.dataforb2bAuth,
9
+ name: 'search_companies',
10
+ displayName: 'Search Companies',
11
+ description: 'Find companies with advanced filters (industry, LinkedIn URL, size, location, growth, funding, investor...).',
12
+ props: {
13
+ match: common_1.filterLogicProp,
14
+ filters: (0, common_1.buildFiltersProp)(common_1.companyFilterFields, 'name'),
15
+ advancedFilters: common_1.advancedFiltersProp,
16
+ count: pieces_framework_1.Property.Number({
17
+ displayName: 'Count',
18
+ description: 'Number of results to return (max 1000)',
19
+ required: false,
20
+ defaultValue: 25,
21
+ }),
22
+ offset: pieces_framework_1.Property.Number({
23
+ displayName: 'Offset',
24
+ description: 'Pagination offset - number of results to skip',
25
+ required: false,
26
+ defaultValue: 0,
27
+ }),
28
+ enrichLive: pieces_framework_1.Property.Checkbox({
29
+ displayName: 'Enrich Live',
30
+ description: 'Enrich results with fresh live data',
31
+ required: false,
32
+ defaultValue: false,
33
+ }),
34
+ },
35
+ run(context) {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ const { match, filters, advancedFilters, count, offset, enrichLive } = context.propsValue;
38
+ const conditions = (0, common_1.buildConditions)((filters !== null && filters !== void 0 ? filters : []));
39
+ const finalFilters = (0, common_1.finalizeFilters)(conditions, match !== null && match !== void 0 ? match : 'and', advancedFilters);
40
+ if (!finalFilters) {
41
+ throw new Error('Provide at least one filter or an advanced filter group.');
42
+ }
43
+ return (0, common_1.dataForB2BRequest)(context.auth.secret_text, '/search/companies', {
44
+ filters: finalFilters,
45
+ count: count !== null && count !== void 0 ? count : 25,
46
+ offset: offset !== null && offset !== void 0 ? offset : 0,
47
+ enrich_live: enrichLive !== null && enrichLive !== void 0 ? enrichLive : false,
48
+ });
49
+ });
50
+ },
51
+ });
52
+ //# sourceMappingURL=search-companies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-companies.js","sourceRoot":"","sources":["../../../../src/lib/actions/search-companies.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAUmB;AAEN,QAAA,eAAe,GAAG,IAAA,+BAAY,EAAC;IAC1C,IAAI,EAAE,uBAAc;IACpB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,8GAA8G;IAC3H,KAAK,EAAE;QACL,KAAK,EAAE,wBAAe;QACtB,OAAO,EAAE,IAAA,yBAAgB,EAAC,4BAAmB,EAAE,MAAM,CAAC;QACtD,eAAe,EAAE,4BAAmB;QACpC,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC5B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAClE,OAAO,CAAC,UAAU,CAAC;YACrB,MAAM,UAAU,GAAG,IAAA,wBAAe,EAAC,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAgB,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,UAAU,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,EAAE,eAAe,CAAC,CAAC;YAElF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,EAAE;gBACtE,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;gBAClB,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC;gBACnB,WAAW,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,KAAK;aACjC,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const searchPeople: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ match: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
3
+ filters: import("@activepieces/pieces-framework").ArrayProperty<false> | import("@activepieces/pieces-framework").ArrayProperty<true>;
4
+ advancedFilters: import("@activepieces/pieces-framework").JsonProperty<false>;
5
+ count: import("@activepieces/pieces-framework").NumberProperty<false>;
6
+ offset: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ enrichLive: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
+ }>;
9
+ //# sourceMappingURL=search-people.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-people.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/search-people.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY;;;;;;;EA6CvB,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchPeople = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ exports.searchPeople = (0, pieces_framework_1.createAction)({
8
+ auth: common_1.dataforb2bAuth,
9
+ name: 'search_people',
10
+ displayName: 'Search People',
11
+ description: 'Find professionals using 50+ filters (title, company, LinkedIn URL, skills, location, education, funding...).',
12
+ props: {
13
+ match: common_1.filterLogicProp,
14
+ filters: (0, common_1.buildFiltersProp)(common_1.peopleFilterFields, 'current_title'),
15
+ advancedFilters: common_1.advancedFiltersProp,
16
+ count: pieces_framework_1.Property.Number({
17
+ displayName: 'Count',
18
+ description: 'Number of results to return (max 1000)',
19
+ required: false,
20
+ defaultValue: 25,
21
+ }),
22
+ offset: pieces_framework_1.Property.Number({
23
+ displayName: 'Offset',
24
+ description: 'Pagination offset - number of results to skip',
25
+ required: false,
26
+ defaultValue: 0,
27
+ }),
28
+ enrichLive: pieces_framework_1.Property.Checkbox({
29
+ displayName: 'Enrich Live',
30
+ description: 'Enrich results with fresh live data',
31
+ required: false,
32
+ defaultValue: false,
33
+ }),
34
+ },
35
+ run(context) {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ const { match, filters, advancedFilters, count, offset, enrichLive } = context.propsValue;
38
+ const conditions = (0, common_1.buildConditions)((filters !== null && filters !== void 0 ? filters : []));
39
+ const finalFilters = (0, common_1.finalizeFilters)(conditions, match !== null && match !== void 0 ? match : 'and', advancedFilters);
40
+ if (!finalFilters) {
41
+ throw new Error('Provide at least one filter or an advanced filter group.');
42
+ }
43
+ return (0, common_1.dataForB2BRequest)(context.auth.secret_text, '/search/people', {
44
+ filters: finalFilters,
45
+ count: count !== null && count !== void 0 ? count : 25,
46
+ offset: offset !== null && offset !== void 0 ? offset : 0,
47
+ enrich_live: enrichLive !== null && enrichLive !== void 0 ? enrichLive : false,
48
+ });
49
+ });
50
+ },
51
+ });
52
+ //# sourceMappingURL=search-people.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-people.js","sourceRoot":"","sources":["../../../../src/lib/actions/search-people.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAUmB;AAEN,QAAA,YAAY,GAAG,IAAA,+BAAY,EAAC;IACvC,IAAI,EAAE,uBAAc;IACpB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,+GAA+G;IAC5H,KAAK,EAAE;QACL,KAAK,EAAE,wBAAe;QACtB,OAAO,EAAE,IAAA,yBAAgB,EAAC,2BAAkB,EAAE,eAAe,CAAC;QAC9D,eAAe,EAAE,4BAAmB;QACpC,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC5B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAClE,OAAO,CAAC,UAAU,CAAC;YACrB,MAAM,UAAU,GAAG,IAAA,wBAAe,EAAC,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAgB,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,UAAU,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,EAAE,eAAe,CAAC,CAAC;YAElF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE;gBACnE,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;gBAClB,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC;gBACnB,WAAW,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,KAAK;aACjC,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const typeahead: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ type: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
3
+ q: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ limit: import("@activepieces/pieces-framework").NumberProperty<false>;
5
+ }>;
6
+ //# sourceMappingURL=typeahead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeahead.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/typeahead.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS;;;;EAkCpB,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.typeahead = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ exports.typeahead = (0, pieces_framework_1.createAction)({
8
+ auth: common_1.dataforb2bAuth,
9
+ name: 'typeahead',
10
+ displayName: 'Typeahead',
11
+ description: 'Resolve the exact stored value for a search filter (company, industry, category, location, school, title, skill, investor). Use it before filtering, or when a search returns few/no results.',
12
+ props: {
13
+ type: pieces_framework_1.Property.StaticDropdown({
14
+ displayName: 'Type',
15
+ description: 'The category to autocomplete',
16
+ required: true,
17
+ options: { options: common_1.typeaheadTypeOptions },
18
+ }),
19
+ q: pieces_framework_1.Property.ShortText({
20
+ displayName: 'Query',
21
+ description: 'Partial text to autocomplete (1-100 characters), e.g. "pyth"',
22
+ required: true,
23
+ }),
24
+ limit: pieces_framework_1.Property.Number({
25
+ displayName: 'Limit',
26
+ description: 'Maximum number of results (1-20)',
27
+ required: false,
28
+ defaultValue: 20,
29
+ }),
30
+ },
31
+ run(context) {
32
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
+ const { type, q, limit } = context.propsValue;
34
+ const clamped = Math.max(1, Math.min(Number(limit !== null && limit !== void 0 ? limit : 20), 20));
35
+ return (0, common_1.dataForB2BGet)(context.auth.secret_text, '/typeahead', {
36
+ type: type,
37
+ q: q,
38
+ limit: String(clamped),
39
+ });
40
+ });
41
+ },
42
+ });
43
+ //# sourceMappingURL=typeahead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeahead.js","sourceRoot":"","sources":["../../../../src/lib/actions/typeahead.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAAgF;AAEnE,QAAA,SAAS,GAAG,IAAA,+BAAY,EAAC;IACpC,IAAI,EAAE,uBAAc;IACpB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,WAAW;IACxB,WAAW,EACT,+LAA+L;IACjM,KAAK,EAAE;QACL,IAAI,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAC5B,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,6BAAoB,EAAE;SAC3C,CAAC;QACF,CAAC,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACpB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,8DAA8D;YAC3E,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,EAAE;SACjB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAA,sBAAa,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE;gBAC3D,IAAI,EAAE,IAAc;gBACpB,CAAC,EAAE,CAAW;gBACd,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ export declare const DATAFORB2B_API_BASE_URL = "https://api.dataforb2b.ai";
2
+ export declare const dataforb2bAuth: import("@activepieces/pieces-framework").SecretTextProperty<true>;
3
+ export declare function dataForB2BRequest<T = unknown>(apiKey: string, endpoint: string, body: Record<string, unknown>): Promise<T>;
4
+ export declare function dataForB2BGet<T = unknown>(apiKey: string, endpoint: string, queryParams: Record<string, string>): Promise<T>;
5
+ export declare const operatorMap: Record<string, string>;
6
+ export declare const operatorOptions: {
7
+ label: string;
8
+ value: string;
9
+ }[];
10
+ export declare const peopleFilterFields: {
11
+ label: string;
12
+ value: string;
13
+ }[];
14
+ export declare const companyFilterFields: {
15
+ label: string;
16
+ value: string;
17
+ }[];
18
+ export type RawFilter = {
19
+ field: string;
20
+ operator: string;
21
+ value: string;
22
+ value2?: string;
23
+ };
24
+ export declare const filterLogicProp: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
25
+ export declare function buildFiltersProp(fields: {
26
+ label: string;
27
+ value: string;
28
+ }[], defaultField: string): import("@activepieces/pieces-framework").ArrayProperty<false> | import("@activepieces/pieces-framework").ArrayProperty<true>;
29
+ export declare function buildConditions(filters: RawFilter[]): Record<string, unknown>[];
30
+ /**
31
+ * Combine the UI filter conditions (joined by `match` = and/or) with an optional
32
+ * advanced filter group provided as raw JSON. Mirrors the Dify plugin behaviour.
33
+ */
34
+ export declare function finalizeFilters(conditions: Record<string, unknown>[], match: string, advanced: unknown): Record<string, unknown> | undefined;
35
+ export declare const advancedFiltersProp: import("@activepieces/pieces-framework").JsonProperty<false>;
36
+ export declare const typeaheadTypeOptions: {
37
+ label: string;
38
+ value: string;
39
+ }[];
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAInE,eAAO,MAAM,cAAc,mEA6BzB,CAAC;AAIH,wBAAsB,iBAAiB,CAAC,CAAC,GAAG,OAAO,EACjD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,CAAC,CAAC,CAQZ;AAKD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY9C,CAAC;AAEF,eAAO,MAAM,eAAe;;;GAY3B,CAAC;AAIF,eAAO,MAAM,kBAAkB;;;GAwD9B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;GAmC/B,CAAC;AAIF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,gFAW1B,CAAC;AAEH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAC1C,YAAY,EAAE,MAAM,gIA+BrB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,6BAgBnD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACrC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAcrC;AAED,eAAO,MAAM,mBAAmB,8DAK9B,CAAC;AAIH,eAAO,MAAM,oBAAoB;;;GAYhC,CAAC"}
@@ -0,0 +1,286 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"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"}