@gravity-platform/ingest 1.1.7 → 2.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 (153) hide show
  1. package/dist/Abyssale/node/index.d.ts.map +1 -1
  2. package/dist/Abyssale/node/index.js +0 -8
  3. package/dist/Abyssale/node/index.js.map +1 -1
  4. package/dist/ApifyResults/node/index.d.ts.map +1 -1
  5. package/dist/ApifyResults/node/index.js +0 -3
  6. package/dist/ApifyResults/node/index.js.map +1 -1
  7. package/dist/ApifyStarter/node/index.d.ts.map +1 -1
  8. package/dist/ApifyStarter/node/index.js +0 -5
  9. package/dist/ApifyStarter/node/index.js.map +1 -1
  10. package/dist/Document/node/index.d.ts.map +1 -1
  11. package/dist/Document/node/index.js +0 -4
  12. package/dist/Document/node/index.js.map +1 -1
  13. package/dist/DocumentParser/node/index.d.ts.map +1 -1
  14. package/dist/DocumentParser/node/index.js +0 -5
  15. package/dist/DocumentParser/node/index.js.map +1 -1
  16. package/dist/ElevenLabs/node/index.d.ts.map +1 -1
  17. package/dist/ElevenLabs/node/index.js +0 -5
  18. package/dist/ElevenLabs/node/index.js.map +1 -1
  19. package/dist/GoogleSheet/node/index.d.ts.map +1 -1
  20. package/dist/GoogleSheet/node/index.js +0 -5
  21. package/dist/GoogleSheet/node/index.js.map +1 -1
  22. package/dist/Hyperbrowser/node/index.d.ts.map +1 -1
  23. package/dist/Hyperbrowser/node/index.js +0 -5
  24. package/dist/Hyperbrowser/node/index.js.map +1 -1
  25. package/dist/PlaidTransactions/node/index.d.ts.map +1 -1
  26. package/dist/PlaidTransactions/node/index.js +0 -5
  27. package/dist/PlaidTransactions/node/index.js.map +1 -1
  28. package/dist/SearchWeb/node/index.d.ts.map +1 -1
  29. package/dist/SearchWeb/node/index.js +0 -6
  30. package/dist/SearchWeb/node/index.js.map +1 -1
  31. package/dist/SpatialIngest/node/index.d.ts.map +1 -1
  32. package/dist/SpatialIngest/node/index.js +0 -5
  33. package/dist/SpatialIngest/node/index.js.map +1 -1
  34. package/dist/credentials/index.d.ts +0 -14
  35. package/dist/credentials/index.d.ts.map +1 -1
  36. package/dist/credentials/index.js +2 -18
  37. package/dist/credentials/index.js.map +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -14
  40. package/dist/index.js.map +1 -1
  41. package/package.json +1 -36
  42. package/dist/AirtableInsert/node/executor.d.ts +0 -7
  43. package/dist/AirtableInsert/node/executor.d.ts.map +0 -1
  44. package/dist/AirtableInsert/node/executor.js +0 -32
  45. package/dist/AirtableInsert/node/executor.js.map +0 -1
  46. package/dist/AirtableInsert/node/index.d.ts +0 -10
  47. package/dist/AirtableInsert/node/index.d.ts.map +0 -1
  48. package/dist/AirtableInsert/node/index.js +0 -98
  49. package/dist/AirtableInsert/node/index.js.map +0 -1
  50. package/dist/AirtableInsert/service/airtableInsertService.d.ts +0 -8
  51. package/dist/AirtableInsert/service/airtableInsertService.d.ts.map +0 -1
  52. package/dist/AirtableInsert/service/airtableInsertService.js +0 -99
  53. package/dist/AirtableInsert/service/airtableInsertService.js.map +0 -1
  54. package/dist/AirtableInsert/util/types.d.ts +0 -15
  55. package/dist/AirtableInsert/util/types.d.ts.map +0 -1
  56. package/dist/AirtableInsert/util/types.js +0 -3
  57. package/dist/AirtableInsert/util/types.js.map +0 -1
  58. package/dist/ApolloCompany/node/executor.d.ts +0 -8
  59. package/dist/ApolloCompany/node/executor.d.ts.map +0 -1
  60. package/dist/ApolloCompany/node/executor.js +0 -38
  61. package/dist/ApolloCompany/node/executor.js.map +0 -1
  62. package/dist/ApolloCompany/node/index.d.ts +0 -10
  63. package/dist/ApolloCompany/node/index.d.ts.map +0 -1
  64. package/dist/ApolloCompany/node/index.js +0 -127
  65. package/dist/ApolloCompany/node/index.js.map +0 -1
  66. package/dist/ApolloCompany/service/apolloSearchCompanyService.d.ts +0 -7
  67. package/dist/ApolloCompany/service/apolloSearchCompanyService.d.ts.map +0 -1
  68. package/dist/ApolloCompany/service/apolloSearchCompanyService.js +0 -124
  69. package/dist/ApolloCompany/service/apolloSearchCompanyService.js.map +0 -1
  70. package/dist/ApolloCompany/util/types.d.ts +0 -46
  71. package/dist/ApolloCompany/util/types.d.ts.map +0 -1
  72. package/dist/ApolloCompany/util/types.js +0 -6
  73. package/dist/ApolloCompany/util/types.js.map +0 -1
  74. package/dist/ApolloCompanyEnrich/node/executor.d.ts +0 -8
  75. package/dist/ApolloCompanyEnrich/node/executor.d.ts.map +0 -1
  76. package/dist/ApolloCompanyEnrich/node/executor.js +0 -25
  77. package/dist/ApolloCompanyEnrich/node/executor.js.map +0 -1
  78. package/dist/ApolloCompanyEnrich/node/index.d.ts +0 -10
  79. package/dist/ApolloCompanyEnrich/node/index.d.ts.map +0 -1
  80. package/dist/ApolloCompanyEnrich/node/index.js +0 -71
  81. package/dist/ApolloCompanyEnrich/node/index.js.map +0 -1
  82. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.d.ts +0 -9
  83. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.d.ts.map +0 -1
  84. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.js +0 -40
  85. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.js.map +0 -1
  86. package/dist/ApolloCompanyEnrich/util/types.d.ts +0 -13
  87. package/dist/ApolloCompanyEnrich/util/types.d.ts.map +0 -1
  88. package/dist/ApolloCompanyEnrich/util/types.js +0 -6
  89. package/dist/ApolloCompanyEnrich/util/types.js.map +0 -1
  90. package/dist/ApolloPeople/node/executor.d.ts +0 -8
  91. package/dist/ApolloPeople/node/executor.d.ts.map +0 -1
  92. package/dist/ApolloPeople/node/executor.js +0 -41
  93. package/dist/ApolloPeople/node/executor.js.map +0 -1
  94. package/dist/ApolloPeople/node/index.d.ts +0 -10
  95. package/dist/ApolloPeople/node/index.d.ts.map +0 -1
  96. package/dist/ApolloPeople/node/index.js +0 -135
  97. package/dist/ApolloPeople/node/index.js.map +0 -1
  98. package/dist/ApolloPeople/service/apolloSearchService.d.ts +0 -6
  99. package/dist/ApolloPeople/service/apolloSearchService.d.ts.map +0 -1
  100. package/dist/ApolloPeople/service/apolloSearchService.js +0 -127
  101. package/dist/ApolloPeople/service/apolloSearchService.js.map +0 -1
  102. package/dist/ApolloPeople/util/types.d.ts +0 -70
  103. package/dist/ApolloPeople/util/types.d.ts.map +0 -1
  104. package/dist/ApolloPeople/util/types.js +0 -6
  105. package/dist/ApolloPeople/util/types.js.map +0 -1
  106. package/dist/ApolloPeopleEnrich/node/executor.d.ts +0 -8
  107. package/dist/ApolloPeopleEnrich/node/executor.d.ts.map +0 -1
  108. package/dist/ApolloPeopleEnrich/node/executor.js +0 -25
  109. package/dist/ApolloPeopleEnrich/node/executor.js.map +0 -1
  110. package/dist/ApolloPeopleEnrich/node/index.d.ts +0 -10
  111. package/dist/ApolloPeopleEnrich/node/index.d.ts.map +0 -1
  112. package/dist/ApolloPeopleEnrich/node/index.js +0 -121
  113. package/dist/ApolloPeopleEnrich/node/index.js.map +0 -1
  114. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.d.ts +0 -10
  115. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.d.ts.map +0 -1
  116. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.js +0 -54
  117. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.js.map +0 -1
  118. package/dist/ApolloPeopleEnrich/util/types.d.ts +0 -20
  119. package/dist/ApolloPeopleEnrich/util/types.d.ts.map +0 -1
  120. package/dist/ApolloPeopleEnrich/util/types.js +0 -6
  121. package/dist/ApolloPeopleEnrich/util/types.js.map +0 -1
  122. package/dist/ApolloSearch/node/executor.d.ts +0 -9
  123. package/dist/ApolloSearch/node/executor.d.ts.map +0 -1
  124. package/dist/ApolloSearch/node/executor.js +0 -51
  125. package/dist/ApolloSearch/node/executor.js.map +0 -1
  126. package/dist/ApolloSearch/node/index.d.ts +0 -10
  127. package/dist/ApolloSearch/node/index.d.ts.map +0 -1
  128. package/dist/ApolloSearch/node/index.js +0 -128
  129. package/dist/ApolloSearch/node/index.js.map +0 -1
  130. package/dist/ApolloSearch/service/apolloSearchService.d.ts +0 -6
  131. package/dist/ApolloSearch/service/apolloSearchService.d.ts.map +0 -1
  132. package/dist/ApolloSearch/service/apolloSearchService.js +0 -127
  133. package/dist/ApolloSearch/service/apolloSearchService.js.map +0 -1
  134. package/dist/ApolloSearch/util/types.d.ts +0 -70
  135. package/dist/ApolloSearch/util/types.d.ts.map +0 -1
  136. package/dist/ApolloSearch/util/types.js +0 -6
  137. package/dist/ApolloSearch/util/types.js.map +0 -1
  138. package/dist/ApolloSearchCompany/node/executor.d.ts +0 -9
  139. package/dist/ApolloSearchCompany/node/executor.d.ts.map +0 -1
  140. package/dist/ApolloSearchCompany/node/executor.js +0 -49
  141. package/dist/ApolloSearchCompany/node/executor.js.map +0 -1
  142. package/dist/ApolloSearchCompany/node/index.d.ts +0 -10
  143. package/dist/ApolloSearchCompany/node/index.d.ts.map +0 -1
  144. package/dist/ApolloSearchCompany/node/index.js +0 -128
  145. package/dist/ApolloSearchCompany/node/index.js.map +0 -1
  146. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.d.ts +0 -7
  147. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.d.ts.map +0 -1
  148. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.js +0 -98
  149. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.js.map +0 -1
  150. package/dist/ApolloSearchCompany/util/types.d.ts +0 -48
  151. package/dist/ApolloSearchCompany/util/types.d.ts.map +0 -1
  152. package/dist/ApolloSearchCompany/util/types.js +0 -6
  153. package/dist/ApolloSearchCompany/util/types.js.map +0 -1
@@ -1,10 +0,0 @@
1
- import { type EnhancedNodeDefinition } from "@gravity-platform/plugin-base";
2
- import AirtableInsertExecutor from "./executor";
3
- export declare const NODE_TYPE = "AirtableInsert";
4
- declare function createNodeDefinition(): EnhancedNodeDefinition;
5
- export declare const AirtableInsertNode: {
6
- definition: any;
7
- executor: typeof AirtableInsertExecutor;
8
- };
9
- export { createNodeDefinition };
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AirtableInsert/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAE1C,iBAAS,oBAAoB,IAAI,sBAAsB,CAkFtD;AAID,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,98 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AirtableInsertNode = exports.NODE_TYPE = void 0;
7
- exports.createNodeDefinition = createNodeDefinition;
8
- const plugin_base_1 = require("@gravity-platform/plugin-base");
9
- const executor_1 = __importDefault(require("./executor"));
10
- exports.NODE_TYPE = "AirtableInsert";
11
- function createNodeDefinition() {
12
- return {
13
- packageVersion: "1.0.0",
14
- type: exports.NODE_TYPE,
15
- name: "Airtable Insert",
16
- description: "Append records to an Airtable table with optional dedup. Accepts an object or array of objects.",
17
- category: "Storage",
18
- color: "#18BFFF",
19
- logoUrl: "https://res.cloudinary.com/sonik/image/upload/v1775377626/gravity/icons/airtable.png",
20
- inputs: [
21
- {
22
- name: "signal",
23
- type: plugin_base_1.NodeInputType.OBJECT,
24
- description: "Records to insert — object or array of objects",
25
- },
26
- ],
27
- outputs: [
28
- {
29
- name: "inserted",
30
- type: plugin_base_1.NodeInputType.NUMBER,
31
- description: "Number of records inserted",
32
- },
33
- {
34
- name: "skipped",
35
- type: plugin_base_1.NodeInputType.NUMBER,
36
- description: "Number of records skipped (duplicates)",
37
- },
38
- {
39
- name: "total",
40
- type: plugin_base_1.NodeInputType.NUMBER,
41
- description: "Total records received",
42
- },
43
- {
44
- name: "errors",
45
- type: plugin_base_1.NodeInputType.ARRAY,
46
- description: "Any batch errors",
47
- },
48
- ],
49
- configSchema: {
50
- type: "object",
51
- required: ["baseId", "tableId", "records"],
52
- properties: {
53
- baseId: {
54
- type: "string",
55
- title: "Base ID",
56
- description: "Airtable Base ID (starts with 'app', found in the API docs for your base)",
57
- default: "",
58
- "ui:field": "template",
59
- },
60
- tableId: {
61
- type: "string",
62
- title: "Table Name or ID",
63
- description: "Table name (e.g. 'Companies') or table ID (starts with 'tbl')",
64
- default: "",
65
- "ui:field": "template",
66
- },
67
- records: {
68
- type: "object",
69
- title: "Records",
70
- description: "Object or array of objects to insert. Keys must match Airtable column names exactly.",
71
- default: {},
72
- "ui:field": "template",
73
- },
74
- dedupField: {
75
- type: "string",
76
- title: "Dedup Field (optional)",
77
- description: "Field name to check for duplicates before inserting (e.g. 'id' or 'primary_domain'). Leave blank to skip dedup.",
78
- default: "",
79
- },
80
- },
81
- },
82
- credentials: [
83
- {
84
- name: "airtableCredential",
85
- required: true,
86
- },
87
- ],
88
- capabilities: {
89
- isTrigger: false,
90
- },
91
- };
92
- }
93
- const definition = createNodeDefinition();
94
- exports.AirtableInsertNode = {
95
- definition,
96
- executor: executor_1.default,
97
- };
98
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AirtableInsert/node/index.ts"],"names":[],"mappings":";;;;;;AAgGS,oDAAoB;AAhG7B,+DAA2F;AAC3F,0DAAgD;AAEnC,QAAA,SAAS,GAAG,gBAAgB,CAAC;AAE1C,SAAS,oBAAoB;IAC3B,OAAO;QACL,cAAc,EAAE,OAAO;QACvB,IAAI,EAAE,iBAAS;QACf,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,iGAAiG;QAC9G,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,sFAAsF;QAC/F,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,gDAAgD;aAC9D;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,4BAA4B;aAC1C;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,wCAAwC;aACtD;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,2BAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,2BAAa,CAAC,KAAK;gBACzB,WAAW,EAAE,kBAAkB;aAChC;SACF;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;YAC1C,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,2EAA2E;oBACxF,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,kBAAkB;oBACzB,WAAW,EAAE,+DAA+D;oBAC5E,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,sFAAsF;oBACnG,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,wBAAwB;oBAC/B,WAAW,EACT,iHAAiH;oBACnH,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;QACD,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,IAAI;aACf;SACF;QACD,YAAY,EAAE;YACZ,SAAS,EAAE,KAAK;SACjB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;AAE7B,QAAA,kBAAkB,GAAG;IAChC,UAAU;IACV,QAAQ,EAAE,kBAAsB;CACjC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { AirtableInsertConfig } from "../util/types";
2
- export declare function insertAirtableRecords(config: AirtableInsertConfig, context: any): Promise<{
3
- inserted: number;
4
- skipped: number;
5
- total: number;
6
- errors: string[];
7
- }>;
8
- //# sourceMappingURL=airtableInsertService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"airtableInsertService.d.ts","sourceRoot":"","sources":["../../../src/AirtableInsert/service/airtableInsertService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIrD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,GAAG,GACX,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0GjF"}
@@ -1,99 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.insertAirtableRecords = insertAirtableRecords;
4
- const platform_1 = require("../../shared/platform");
5
- const AIRTABLE_API_BASE = "https://api.airtable.com/v0";
6
- async function insertAirtableRecords(config, context) {
7
- const logger = (0, platform_1.createLogger)("AirtableInsert");
8
- const credentials = context.credentials?.airtableCredential || context.credentials;
9
- const pat = credentials?.personalAccessToken;
10
- if (!pat) {
11
- throw new Error("Airtable Personal Access Token not found in credentials");
12
- }
13
- const { baseId, tableId, dedupField } = config;
14
- const rawRecords = config.records;
15
- const rawArray = Array.isArray(rawRecords) ? rawRecords : [rawRecords];
16
- if (rawArray.length === 0) {
17
- return { inserted: 0, skipped: 0, total: 0, errors: [] };
18
- }
19
- const RESERVED_FIELDS = { id: "apollo_id" };
20
- const records = rawArray.map((r) => {
21
- const remapped = {};
22
- for (const [k, v] of Object.entries(r)) {
23
- remapped[RESERVED_FIELDS[k] ?? k] = v;
24
- }
25
- return remapped;
26
- });
27
- const effectiveDedupField = config.dedupField && RESERVED_FIELDS[config.dedupField] ? RESERVED_FIELDS[config.dedupField] : config.dedupField;
28
- const headers = {
29
- Authorization: `Bearer ${pat}`,
30
- "Content-Type": "application/json",
31
- };
32
- let existingValues = new Set();
33
- if (effectiveDedupField && effectiveDedupField.trim()) {
34
- logger.info("Fetching existing records for dedup", { baseId, tableId, dedupField: effectiveDedupField });
35
- try {
36
- let offset;
37
- do {
38
- const params = new URLSearchParams({
39
- fields: [effectiveDedupField],
40
- ...(offset ? { offset } : {}),
41
- });
42
- const res = await fetch(`${AIRTABLE_API_BASE}/${baseId}/${encodeURIComponent(tableId)}?${params}`, { headers });
43
- if (res.ok) {
44
- const data = await res.json();
45
- for (const rec of data.records || []) {
46
- const val = rec.fields?.[effectiveDedupField];
47
- if (val)
48
- existingValues.add(String(val));
49
- }
50
- offset = data.offset;
51
- }
52
- else {
53
- break;
54
- }
55
- } while (offset);
56
- logger.info(`Found ${existingValues.size} existing values for dedup`);
57
- }
58
- catch (e) {
59
- logger.warn("Dedup fetch failed, proceeding without dedup", { error: e.message });
60
- }
61
- }
62
- const toInsert = effectiveDedupField && effectiveDedupField.trim()
63
- ? records.filter((r) => !existingValues.has(String(r[effectiveDedupField] ?? "")))
64
- : records;
65
- const skipped = records.length - toInsert.length;
66
- let inserted = 0;
67
- const errors = [];
68
- const BATCH_SIZE = 10;
69
- for (let i = 0; i < toInsert.length; i += BATCH_SIZE) {
70
- const batch = toInsert.slice(i, i + BATCH_SIZE);
71
- const body = {
72
- records: batch.map((r) => ({ fields: r })),
73
- };
74
- try {
75
- const res = await fetch(`${AIRTABLE_API_BASE}/${baseId}/${encodeURIComponent(tableId)}`, {
76
- method: "POST",
77
- headers,
78
- body: JSON.stringify(body),
79
- });
80
- if (!res.ok) {
81
- const errText = await res.text();
82
- errors.push(`Batch ${i / BATCH_SIZE + 1}: ${res.status} ${errText}`);
83
- logger.error("Airtable batch insert failed", { status: res.status, error: errText });
84
- }
85
- else {
86
- const data = await res.json();
87
- inserted += data.records?.length ?? batch.length;
88
- logger.info(`Inserted batch ${i / BATCH_SIZE + 1}`, { count: data.records?.length });
89
- }
90
- }
91
- catch (e) {
92
- errors.push(`Batch ${i / BATCH_SIZE + 1}: ${e.message}`);
93
- logger.error("Airtable batch insert threw", { error: e.message });
94
- }
95
- }
96
- logger.info("Airtable insert complete", { inserted, skipped, total: records.length, errors: errors.length });
97
- return { inserted, skipped, total: records.length, errors };
98
- }
99
- //# sourceMappingURL=airtableInsertService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"airtableInsertService.js","sourceRoot":"","sources":["../../../src/AirtableInsert/service/airtableInsertService.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- export interface AirtableInsertConfig {
2
- baseId: string;
3
- tableId: string;
4
- records: any;
5
- dedupField: string;
6
- }
7
- export interface AirtableInsertExecutorOutput {
8
- __outputs: {
9
- inserted: number;
10
- skipped: number;
11
- total: number;
12
- errors: string[];
13
- };
14
- }
15
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/AirtableInsert/util/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/AirtableInsert/util/types.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { type NodeExecutionContext } from "@gravity-platform/plugin-base";
2
- import { ApolloSearchCompanyConfig, ApolloSearchCompanyExecutorOutput } from "../util/types";
3
- import { PromiseNode } from "../../shared/platform";
4
- export declare class ApolloCompanyExecutor extends PromiseNode<ApolloSearchCompanyConfig> {
5
- constructor();
6
- protected executeNode(inputs: Record<string, any>, config: ApolloSearchCompanyConfig, context: NodeExecutionContext): Promise<ApolloSearchCompanyExecutorOutput>;
7
- }
8
- //# sourceMappingURL=executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/ApolloCompany/node/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AAKlE,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,yBAAyB,CAAC;;cAK/D,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iCAAiC,CAAC;CA4B9C"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApolloCompanyExecutor = void 0;
4
- const platform_1 = require("../../shared/platform");
5
- const apolloSearchCompanyService_1 = require("../service/apolloSearchCompanyService");
6
- const NODE_TYPE = "ApolloCompany";
7
- class ApolloCompanyExecutor extends platform_1.PromiseNode {
8
- constructor() {
9
- super(NODE_TYPE);
10
- }
11
- async executeNode(inputs, config, context) {
12
- const logger = (0, platform_1.createLogger)("ApolloCompany");
13
- logger.info("Starting Apollo Company Search", {
14
- limit: config.limit,
15
- });
16
- try {
17
- const results = await (0, apolloSearchCompanyService_1.searchApolloCompanies)(config, context);
18
- logger.info("Apollo Company Search completed", {
19
- companies: results.companies.length,
20
- totalCount: results.totalCount,
21
- });
22
- return {
23
- __outputs: {
24
- companies: results.companies,
25
- totalCount: results.totalCount,
26
- page: results.page,
27
- perPage: results.perPage,
28
- },
29
- };
30
- }
31
- catch (error) {
32
- logger.error("Apollo Company Search failed", { error });
33
- throw error;
34
- }
35
- }
36
- }
37
- exports.ApolloCompanyExecutor = ApolloCompanyExecutor;
38
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/ApolloCompany/node/executor.ts"],"names":[],"mappings":";;;AAEA,oDAAkE;AAClE,sFAA8E;AAE9E,MAAM,SAAS,GAAG,eAAe,CAAC;AAElC,MAAa,qBAAsB,SAAQ,sBAAsC;IAC/E;QACE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAES,KAAK,CAAC,WAAW,CACzB,MAA2B,EAC3B,MAAiC,EACjC,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAA,uBAAY,EAAC,eAAe,CAAC,CAAC;QAE7C,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC5C,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,kDAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE7D,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBAC7C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;gBACnC,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YAEH,OAAO;gBACL,SAAS,EAAE;oBACT,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AArCD,sDAqCC"}
@@ -1,10 +0,0 @@
1
- import { type EnhancedNodeDefinition } from "@gravity-platform/plugin-base";
2
- import { ApolloCompanyExecutor } from "./executor";
3
- export declare const NODE_TYPE = "ApolloCompany";
4
- declare function createNodeDefinition(): EnhancedNodeDefinition;
5
- export declare const ApolloCompanyNode: {
6
- definition: any;
7
- executor: typeof ApolloCompanyExecutor;
8
- };
9
- export { createNodeDefinition };
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ApolloCompany/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,iBAAS,oBAAoB,IAAI,sBAAsB,CA2HtD;AAID,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApolloCompanyNode = 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 = "ApolloCompany";
8
- function createNodeDefinition() {
9
- return {
10
- packageVersion: "1.0.0",
11
- type: exports.NODE_TYPE,
12
- name: "Apollo Company",
13
- description: "Search Apollo.io for companies by keyword/description (e.g. 'AI consultancy'), name, domain, industry, location and size",
14
- whenToUse: "Pick to discover companies matching criteria (keywords, industry, location, size). If you already know a company's domain and need its profile, use ApolloCompanyEnrich; to find people use ApolloPeople.",
15
- configExample: {
16
- keywords: "AI consultancy, machine learning",
17
- organizationLocations: "London, New York",
18
- organizationNumEmployeesRanges: "11,50;51,200",
19
- limit: 25,
20
- },
21
- category: "Ingest",
22
- logoUrl: "https://res.cloudinary.com/sonik/image/upload/v1775374180/gravity/icons/apollo.jpg",
23
- color: "#F5D800",
24
- inputs: [
25
- {
26
- name: "signal",
27
- type: plugin_base_1.NodeInputType.OBJECT,
28
- description: "Data from previous nodes that can be referenced in templates",
29
- },
30
- ],
31
- outputs: [
32
- {
33
- name: "companies",
34
- type: plugin_base_1.NodeInputType.ARRAY,
35
- description: "Array of matched companies with profile, industry and contact details",
36
- },
37
- {
38
- name: "totalCount",
39
- type: plugin_base_1.NodeInputType.NUMBER,
40
- description: "Total number of matching records in the Apollo database",
41
- },
42
- {
43
- name: "page",
44
- type: plugin_base_1.NodeInputType.NUMBER,
45
- description: "Current page number returned",
46
- },
47
- {
48
- name: "perPage",
49
- type: plugin_base_1.NodeInputType.NUMBER,
50
- description: "Number of results per page",
51
- },
52
- ],
53
- configSchema: {
54
- type: "object",
55
- properties: {
56
- keywords: {
57
- type: "string",
58
- title: "Keywords / Description",
59
- description: "Comma-separated keywords or descriptions to match against company profiles (e.g. 'AI consultancy, machine learning, SaaS')",
60
- default: "",
61
- "ui:field": "template",
62
- },
63
- organizationNames: {
64
- type: "string",
65
- title: "Company Names",
66
- description: "Comma-separated exact company names to filter by (e.g. 'Google, Meta')",
67
- default: "",
68
- "ui:field": "template",
69
- },
70
- organizationDomains: {
71
- type: "string",
72
- title: "Company Domains",
73
- description: "Comma-separated company domains to filter by (e.g. 'google.com, meta.com')",
74
- default: "",
75
- "ui:field": "template",
76
- },
77
- organizationLocations: {
78
- type: "string",
79
- title: "Locations",
80
- description: "Comma-separated HQ locations (e.g. 'London, New York, San Francisco')",
81
- default: "",
82
- "ui:field": "template",
83
- },
84
- industries: {
85
- type: "string",
86
- title: "Industries",
87
- description: "Comma-separated industry names to filter by (e.g. 'information technology, financial services, healthcare')",
88
- default: "",
89
- "ui:field": "template",
90
- },
91
- organizationNumEmployeesRanges: {
92
- type: "string",
93
- title: "Company Size Ranges",
94
- description: "Semicolon-separated employee count ranges (e.g. '1,10;11,50;51,200'). Each range is min,max. Common: '1,10' '11,50' '51,200' '201,500' '501,1000' '1001,5000' '5001,10000'",
95
- default: "",
96
- "ui:field": "template",
97
- },
98
- limit: {
99
- type: "number",
100
- title: "Number of Results",
101
- description: "Number of companies to return. Fetches multiple pages automatically if over 100.",
102
- default: 25,
103
- minimum: 1,
104
- maximum: 500,
105
- },
106
- },
107
- required: [],
108
- },
109
- credentials: [
110
- {
111
- name: "apolloCredential",
112
- required: true,
113
- displayName: "Apollo.io API",
114
- description: "Apollo.io master API key for company search",
115
- },
116
- ],
117
- capabilities: {
118
- isTrigger: false,
119
- },
120
- };
121
- }
122
- const definition = createNodeDefinition();
123
- exports.ApolloCompanyNode = {
124
- definition,
125
- executor: executor_1.ApolloCompanyExecutor,
126
- };
127
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApolloCompany/node/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { ApolloSearchCompanyConfig, ApolloSearchCompanyOutput } from "../util/types";
2
- /**
3
- * Search Apollo.io for organisations/companies
4
- * Uses /mixed_companies/search — supports keyword/description search + name, domain, location, industry, size
5
- */
6
- export declare function searchApolloCompanies(config: ApolloSearchCompanyConfig, context: any): Promise<ApolloSearchCompanyOutput>;
7
- //# sourceMappingURL=apolloSearchCompanyService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apolloSearchCompanyService.d.ts","sourceRoot":"","sources":["../../../src/ApolloCompany/service/apolloSearchCompanyService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAiB,MAAM,eAAe,CAAC;AAoBpG;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,yBAAyB,CAAC,CAiHpC"}
@@ -1,124 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.searchApolloCompanies = searchApolloCompanies;
4
- const platform_1 = require("../../shared/platform");
5
- const APOLLO_API_BASE = "https://api.apollo.io/api/v1";
6
- function parseList(value) {
7
- if (!value || value.trim() === "")
8
- return [];
9
- return value
10
- .split(",")
11
- .map((s) => s.trim())
12
- .filter(Boolean);
13
- }
14
- function parseRanges(value) {
15
- if (!value || value.trim() === "")
16
- return [];
17
- return value
18
- .split(";")
19
- .map((s) => s.trim())
20
- .filter(Boolean);
21
- }
22
- /**
23
- * Search Apollo.io for organisations/companies
24
- * Uses /mixed_companies/search — supports keyword/description search + name, domain, location, industry, size
25
- */
26
- async function searchApolloCompanies(config, context) {
27
- const logger = (0, platform_1.createLogger)("ApolloSearchCompany");
28
- const credentials = context.credentials?.apolloCredential || context.credentials;
29
- const apiKey = credentials?.apiKey;
30
- if (!apiKey) {
31
- throw new Error("Apollo API key not found in credentials");
32
- }
33
- const limit = Math.round(config.limit ?? 25);
34
- const perPage = Math.min(limit, 100);
35
- const baseBody = { per_page: perPage };
36
- const keywords = parseList(config.keywords);
37
- if (keywords.length)
38
- baseBody.q_organization_keyword_tags = keywords;
39
- const industries = parseList(config.industries);
40
- if (industries.length)
41
- baseBody.organization_industries = industries.map((s) => s.toLowerCase());
42
- const organizationNames = parseList(config.organizationNames);
43
- if (organizationNames.length)
44
- baseBody.organization_names = organizationNames;
45
- const organizationDomains = parseList(config.organizationDomains);
46
- if (organizationDomains.length)
47
- baseBody.organization_domains = organizationDomains;
48
- const organizationLocations = parseList(config.organizationLocations);
49
- if (organizationLocations.length)
50
- baseBody.organization_locations = organizationLocations;
51
- const numEmployeesRanges = parseRanges(config.organizationNumEmployeesRanges);
52
- if (numEmployeesRanges.length)
53
- baseBody.organization_num_employees_ranges = numEmployeesRanges;
54
- logger.info("Calling Apollo Organization Search", {
55
- limit,
56
- per_page: perPage,
57
- filters: Object.keys(baseBody).filter((k) => k !== "per_page"),
58
- q_organization_keyword_tags: baseBody.q_organization_keyword_tags,
59
- });
60
- const allOrgs = new Map();
61
- let totalCount = 0;
62
- let page = 1;
63
- while (allOrgs.size < limit) {
64
- const response = await fetch(`${APOLLO_API_BASE}/mixed_companies/search`, {
65
- method: "POST",
66
- headers: {
67
- "Content-Type": "application/json",
68
- "Cache-Control": "no-cache",
69
- "x-api-key": apiKey,
70
- },
71
- body: JSON.stringify({ ...baseBody, page }),
72
- });
73
- if (!response.ok) {
74
- const errorText = await response.text().catch(() => response.statusText);
75
- throw new Error(`Apollo API error ${response.status}: ${errorText}`);
76
- }
77
- const data = await response.json();
78
- if (page === 1) {
79
- totalCount = data.pagination?.total_entries ?? 0;
80
- logger.info("Apollo mixed_companies response keys", { keys: Object.keys(data) });
81
- }
82
- for (const o of data.organizations || [])
83
- allOrgs.set(o.id, o);
84
- for (const o of data.accounts || []) {
85
- const existing = allOrgs.get(o.id);
86
- allOrgs.set(o.id, existing ? { ...existing, ...o } : o);
87
- }
88
- const pageCount = (data.organizations?.length ?? 0) || (data.accounts?.length ?? 0);
89
- if (pageCount < perPage || allOrgs.size >= totalCount)
90
- break;
91
- page++;
92
- }
93
- const rawOrgs = Array.from(allOrgs.values()).slice(0, limit);
94
- const companies = rawOrgs.map((o) => ({
95
- id: o.id || "",
96
- name: o.name || "",
97
- website_url: o.website_url,
98
- linkedin_url: o.linkedin_url,
99
- twitter_url: o.twitter_url,
100
- facebook_url: o.facebook_url,
101
- primary_domain: o.primary_domain,
102
- industry: o.industry,
103
- estimated_num_employees: o.estimated_num_employees,
104
- city: o.city,
105
- state: o.state,
106
- country: o.country,
107
- short_description: o.short_description,
108
- founded_year: o.founded_year,
109
- annual_revenue: o.annual_revenue,
110
- phone: o.phone,
111
- }));
112
- logger.info("Apollo Organization Search complete", {
113
- companies: companies.length,
114
- totalCount,
115
- pages: page,
116
- });
117
- return {
118
- companies,
119
- totalCount,
120
- page,
121
- perPage,
122
- };
123
- }
124
- //# sourceMappingURL=apolloSearchCompanyService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apolloSearchCompanyService.js","sourceRoot":"","sources":["../../../src/ApolloCompany/service/apolloSearchCompanyService.ts"],"names":[],"mappings":"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"}