@gravity-platform/ingest 1.1.2

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 (326) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/Abyssale/node/executor.d.ts +12 -0
  3. package/dist/Abyssale/node/executor.d.ts.map +1 -0
  4. package/dist/Abyssale/node/executor.js +72 -0
  5. package/dist/Abyssale/node/executor.js.map +1 -0
  6. package/dist/Abyssale/node/index.d.ts +10 -0
  7. package/dist/Abyssale/node/index.d.ts.map +1 -0
  8. package/dist/Abyssale/node/index.js +90 -0
  9. package/dist/Abyssale/node/index.js.map +1 -0
  10. package/dist/Abyssale/service/abyssaleService.d.ts +45 -0
  11. package/dist/Abyssale/service/abyssaleService.d.ts.map +1 -0
  12. package/dist/Abyssale/service/abyssaleService.js +360 -0
  13. package/dist/Abyssale/service/abyssaleService.js.map +1 -0
  14. package/dist/Abyssale/util/types.d.ts +62 -0
  15. package/dist/Abyssale/util/types.d.ts.map +1 -0
  16. package/dist/Abyssale/util/types.js +6 -0
  17. package/dist/Abyssale/util/types.js.map +1 -0
  18. package/dist/AirtableInsert/node/executor.d.ts +7 -0
  19. package/dist/AirtableInsert/node/executor.d.ts.map +1 -0
  20. package/dist/AirtableInsert/node/executor.js +32 -0
  21. package/dist/AirtableInsert/node/executor.js.map +1 -0
  22. package/dist/AirtableInsert/node/index.d.ts +10 -0
  23. package/dist/AirtableInsert/node/index.d.ts.map +1 -0
  24. package/dist/AirtableInsert/node/index.js +98 -0
  25. package/dist/AirtableInsert/node/index.js.map +1 -0
  26. package/dist/AirtableInsert/service/airtableInsertService.d.ts +8 -0
  27. package/dist/AirtableInsert/service/airtableInsertService.d.ts.map +1 -0
  28. package/dist/AirtableInsert/service/airtableInsertService.js +99 -0
  29. package/dist/AirtableInsert/service/airtableInsertService.js.map +1 -0
  30. package/dist/AirtableInsert/util/types.d.ts +15 -0
  31. package/dist/AirtableInsert/util/types.d.ts.map +1 -0
  32. package/dist/AirtableInsert/util/types.js +3 -0
  33. package/dist/AirtableInsert/util/types.js.map +1 -0
  34. package/dist/ApifyResults/node/executor.d.ts +32 -0
  35. package/dist/ApifyResults/node/executor.d.ts.map +1 -0
  36. package/dist/ApifyResults/node/executor.js +204 -0
  37. package/dist/ApifyResults/node/executor.js.map +1 -0
  38. package/dist/ApifyResults/node/index.d.ts +10 -0
  39. package/dist/ApifyResults/node/index.d.ts.map +1 -0
  40. package/dist/ApifyResults/node/index.js +79 -0
  41. package/dist/ApifyResults/node/index.js.map +1 -0
  42. package/dist/ApifyResults/service/apifyService.d.ts +10 -0
  43. package/dist/ApifyResults/service/apifyService.d.ts.map +1 -0
  44. package/dist/ApifyResults/service/apifyService.js +85 -0
  45. package/dist/ApifyResults/service/apifyService.js.map +1 -0
  46. package/dist/ApifyResults/util/types.d.ts +93 -0
  47. package/dist/ApifyResults/util/types.d.ts.map +1 -0
  48. package/dist/ApifyResults/util/types.js +6 -0
  49. package/dist/ApifyResults/util/types.js.map +1 -0
  50. package/dist/ApifyStarter/node/executor.d.ts +12 -0
  51. package/dist/ApifyStarter/node/executor.d.ts.map +1 -0
  52. package/dist/ApifyStarter/node/executor.js +97 -0
  53. package/dist/ApifyStarter/node/executor.js.map +1 -0
  54. package/dist/ApifyStarter/node/index.d.ts +10 -0
  55. package/dist/ApifyStarter/node/index.d.ts.map +1 -0
  56. package/dist/ApifyStarter/node/index.js +87 -0
  57. package/dist/ApifyStarter/node/index.js.map +1 -0
  58. package/dist/ApifyStarter/service/apifyActorService.d.ts +11 -0
  59. package/dist/ApifyStarter/service/apifyActorService.d.ts.map +1 -0
  60. package/dist/ApifyStarter/service/apifyActorService.js +104 -0
  61. package/dist/ApifyStarter/service/apifyActorService.js.map +1 -0
  62. package/dist/ApifyStarter/util/types.d.ts +23 -0
  63. package/dist/ApifyStarter/util/types.d.ts.map +1 -0
  64. package/dist/ApifyStarter/util/types.js +6 -0
  65. package/dist/ApifyStarter/util/types.js.map +1 -0
  66. package/dist/ApifyStarter/util/validation.d.ts +9 -0
  67. package/dist/ApifyStarter/util/validation.d.ts.map +1 -0
  68. package/dist/ApifyStarter/util/validation.js +59 -0
  69. package/dist/ApifyStarter/util/validation.js.map +1 -0
  70. package/dist/ApolloCompany/node/executor.d.ts +8 -0
  71. package/dist/ApolloCompany/node/executor.d.ts.map +1 -0
  72. package/dist/ApolloCompany/node/executor.js +38 -0
  73. package/dist/ApolloCompany/node/executor.js.map +1 -0
  74. package/dist/ApolloCompany/node/index.d.ts +10 -0
  75. package/dist/ApolloCompany/node/index.d.ts.map +1 -0
  76. package/dist/ApolloCompany/node/index.js +120 -0
  77. package/dist/ApolloCompany/node/index.js.map +1 -0
  78. package/dist/ApolloCompany/service/apolloSearchCompanyService.d.ts +7 -0
  79. package/dist/ApolloCompany/service/apolloSearchCompanyService.d.ts.map +1 -0
  80. package/dist/ApolloCompany/service/apolloSearchCompanyService.js +124 -0
  81. package/dist/ApolloCompany/service/apolloSearchCompanyService.js.map +1 -0
  82. package/dist/ApolloCompany/util/types.d.ts +46 -0
  83. package/dist/ApolloCompany/util/types.d.ts.map +1 -0
  84. package/dist/ApolloCompany/util/types.js +6 -0
  85. package/dist/ApolloCompany/util/types.js.map +1 -0
  86. package/dist/ApolloCompanyEnrich/node/executor.d.ts +8 -0
  87. package/dist/ApolloCompanyEnrich/node/executor.d.ts.map +1 -0
  88. package/dist/ApolloCompanyEnrich/node/executor.js +25 -0
  89. package/dist/ApolloCompanyEnrich/node/executor.js.map +1 -0
  90. package/dist/ApolloCompanyEnrich/node/index.d.ts +10 -0
  91. package/dist/ApolloCompanyEnrich/node/index.d.ts.map +1 -0
  92. package/dist/ApolloCompanyEnrich/node/index.js +67 -0
  93. package/dist/ApolloCompanyEnrich/node/index.js.map +1 -0
  94. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.d.ts +9 -0
  95. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.d.ts.map +1 -0
  96. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.js +40 -0
  97. package/dist/ApolloCompanyEnrich/service/apolloCompanyEnrichService.js.map +1 -0
  98. package/dist/ApolloCompanyEnrich/util/types.d.ts +13 -0
  99. package/dist/ApolloCompanyEnrich/util/types.d.ts.map +1 -0
  100. package/dist/ApolloCompanyEnrich/util/types.js +6 -0
  101. package/dist/ApolloCompanyEnrich/util/types.js.map +1 -0
  102. package/dist/ApolloPeople/node/executor.d.ts +8 -0
  103. package/dist/ApolloPeople/node/executor.d.ts.map +1 -0
  104. package/dist/ApolloPeople/node/executor.js +41 -0
  105. package/dist/ApolloPeople/node/executor.js.map +1 -0
  106. package/dist/ApolloPeople/node/index.d.ts +10 -0
  107. package/dist/ApolloPeople/node/index.d.ts.map +1 -0
  108. package/dist/ApolloPeople/node/index.js +128 -0
  109. package/dist/ApolloPeople/node/index.js.map +1 -0
  110. package/dist/ApolloPeople/service/apolloSearchService.d.ts +6 -0
  111. package/dist/ApolloPeople/service/apolloSearchService.d.ts.map +1 -0
  112. package/dist/ApolloPeople/service/apolloSearchService.js +127 -0
  113. package/dist/ApolloPeople/service/apolloSearchService.js.map +1 -0
  114. package/dist/ApolloPeople/util/types.d.ts +70 -0
  115. package/dist/ApolloPeople/util/types.d.ts.map +1 -0
  116. package/dist/ApolloPeople/util/types.js +6 -0
  117. package/dist/ApolloPeople/util/types.js.map +1 -0
  118. package/dist/ApolloPeopleEnrich/node/executor.d.ts +8 -0
  119. package/dist/ApolloPeopleEnrich/node/executor.d.ts.map +1 -0
  120. package/dist/ApolloPeopleEnrich/node/executor.js +25 -0
  121. package/dist/ApolloPeopleEnrich/node/executor.js.map +1 -0
  122. package/dist/ApolloPeopleEnrich/node/index.d.ts +10 -0
  123. package/dist/ApolloPeopleEnrich/node/index.d.ts.map +1 -0
  124. package/dist/ApolloPeopleEnrich/node/index.js +116 -0
  125. package/dist/ApolloPeopleEnrich/node/index.js.map +1 -0
  126. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.d.ts +10 -0
  127. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.d.ts.map +1 -0
  128. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.js +54 -0
  129. package/dist/ApolloPeopleEnrich/service/apolloPeopleEnrichService.js.map +1 -0
  130. package/dist/ApolloPeopleEnrich/util/types.d.ts +20 -0
  131. package/dist/ApolloPeopleEnrich/util/types.d.ts.map +1 -0
  132. package/dist/ApolloPeopleEnrich/util/types.js +6 -0
  133. package/dist/ApolloPeopleEnrich/util/types.js.map +1 -0
  134. package/dist/ApolloSearch/node/executor.d.ts +9 -0
  135. package/dist/ApolloSearch/node/executor.d.ts.map +1 -0
  136. package/dist/ApolloSearch/node/executor.js +51 -0
  137. package/dist/ApolloSearch/node/executor.js.map +1 -0
  138. package/dist/ApolloSearch/node/index.d.ts +10 -0
  139. package/dist/ApolloSearch/node/index.d.ts.map +1 -0
  140. package/dist/ApolloSearch/node/index.js +128 -0
  141. package/dist/ApolloSearch/node/index.js.map +1 -0
  142. package/dist/ApolloSearch/service/apolloSearchService.d.ts +6 -0
  143. package/dist/ApolloSearch/service/apolloSearchService.d.ts.map +1 -0
  144. package/dist/ApolloSearch/service/apolloSearchService.js +127 -0
  145. package/dist/ApolloSearch/service/apolloSearchService.js.map +1 -0
  146. package/dist/ApolloSearch/util/types.d.ts +70 -0
  147. package/dist/ApolloSearch/util/types.d.ts.map +1 -0
  148. package/dist/ApolloSearch/util/types.js +6 -0
  149. package/dist/ApolloSearch/util/types.js.map +1 -0
  150. package/dist/ApolloSearchCompany/node/executor.d.ts +9 -0
  151. package/dist/ApolloSearchCompany/node/executor.d.ts.map +1 -0
  152. package/dist/ApolloSearchCompany/node/executor.js +49 -0
  153. package/dist/ApolloSearchCompany/node/executor.js.map +1 -0
  154. package/dist/ApolloSearchCompany/node/index.d.ts +10 -0
  155. package/dist/ApolloSearchCompany/node/index.d.ts.map +1 -0
  156. package/dist/ApolloSearchCompany/node/index.js +128 -0
  157. package/dist/ApolloSearchCompany/node/index.js.map +1 -0
  158. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.d.ts +7 -0
  159. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.d.ts.map +1 -0
  160. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.js +98 -0
  161. package/dist/ApolloSearchCompany/service/apolloSearchCompanyService.js.map +1 -0
  162. package/dist/ApolloSearchCompany/util/types.d.ts +48 -0
  163. package/dist/ApolloSearchCompany/util/types.d.ts.map +1 -0
  164. package/dist/ApolloSearchCompany/util/types.js +6 -0
  165. package/dist/ApolloSearchCompany/util/types.js.map +1 -0
  166. package/dist/Document/node/executor.d.ts +22 -0
  167. package/dist/Document/node/executor.d.ts.map +1 -0
  168. package/dist/Document/node/executor.js +85 -0
  169. package/dist/Document/node/executor.js.map +1 -0
  170. package/dist/Document/node/index.d.ts +10 -0
  171. package/dist/Document/node/index.d.ts.map +1 -0
  172. package/dist/Document/node/index.js +58 -0
  173. package/dist/Document/node/index.js.map +1 -0
  174. package/dist/Document/service/documentCache.d.ts +11 -0
  175. package/dist/Document/service/documentCache.d.ts.map +1 -0
  176. package/dist/Document/service/documentCache.js +166 -0
  177. package/dist/Document/service/documentCache.js.map +1 -0
  178. package/dist/Document/util/types.d.ts +70 -0
  179. package/dist/Document/util/types.d.ts.map +1 -0
  180. package/dist/Document/util/types.js +6 -0
  181. package/dist/Document/util/types.js.map +1 -0
  182. package/dist/DocumentParser/node/executor.d.ts +12 -0
  183. package/dist/DocumentParser/node/executor.d.ts.map +1 -0
  184. package/dist/DocumentParser/node/executor.js +200 -0
  185. package/dist/DocumentParser/node/executor.js.map +1 -0
  186. package/dist/DocumentParser/node/index.d.ts +10 -0
  187. package/dist/DocumentParser/node/index.d.ts.map +1 -0
  188. package/dist/DocumentParser/node/index.js +66 -0
  189. package/dist/DocumentParser/node/index.js.map +1 -0
  190. package/dist/DocumentParser/service/docxParser.d.ts +12 -0
  191. package/dist/DocumentParser/service/docxParser.d.ts.map +1 -0
  192. package/dist/DocumentParser/service/docxParser.js +27 -0
  193. package/dist/DocumentParser/service/docxParser.js.map +1 -0
  194. package/dist/DocumentParser/service/fileTypeDetector.d.ts +19 -0
  195. package/dist/DocumentParser/service/fileTypeDetector.d.ts.map +1 -0
  196. package/dist/DocumentParser/service/fileTypeDetector.js +75 -0
  197. package/dist/DocumentParser/service/fileTypeDetector.js.map +1 -0
  198. package/dist/DocumentParser/service/index.d.ts +5 -0
  199. package/dist/DocumentParser/service/index.d.ts.map +1 -0
  200. package/dist/DocumentParser/service/index.js +14 -0
  201. package/dist/DocumentParser/service/index.js.map +1 -0
  202. package/dist/DocumentParser/service/pdfParser.d.ts +16 -0
  203. package/dist/DocumentParser/service/pdfParser.d.ts.map +1 -0
  204. package/dist/DocumentParser/service/pdfParser.js +30 -0
  205. package/dist/DocumentParser/service/pdfParser.js.map +1 -0
  206. package/dist/DocumentParser/service/txtParser.d.ts +11 -0
  207. package/dist/DocumentParser/service/txtParser.d.ts.map +1 -0
  208. package/dist/DocumentParser/service/txtParser.js +35 -0
  209. package/dist/DocumentParser/service/txtParser.js.map +1 -0
  210. package/dist/DocumentParser/util/hashUtils.d.ts +17 -0
  211. package/dist/DocumentParser/util/hashUtils.d.ts.map +1 -0
  212. package/dist/DocumentParser/util/hashUtils.js +34 -0
  213. package/dist/DocumentParser/util/hashUtils.js.map +1 -0
  214. package/dist/DocumentParser/util/types.d.ts +43 -0
  215. package/dist/DocumentParser/util/types.d.ts.map +1 -0
  216. package/dist/DocumentParser/util/types.js +6 -0
  217. package/dist/DocumentParser/util/types.js.map +1 -0
  218. package/dist/ElevenLabs/node/executor.d.ts +12 -0
  219. package/dist/ElevenLabs/node/executor.d.ts.map +1 -0
  220. package/dist/ElevenLabs/node/executor.js +65 -0
  221. package/dist/ElevenLabs/node/executor.js.map +1 -0
  222. package/dist/ElevenLabs/node/index.d.ts +10 -0
  223. package/dist/ElevenLabs/node/index.d.ts.map +1 -0
  224. package/dist/ElevenLabs/node/index.js +92 -0
  225. package/dist/ElevenLabs/node/index.js.map +1 -0
  226. package/dist/ElevenLabs/service/elevenlabsService.d.ts +27 -0
  227. package/dist/ElevenLabs/service/elevenlabsService.d.ts.map +1 -0
  228. package/dist/ElevenLabs/service/elevenlabsService.js +278 -0
  229. package/dist/ElevenLabs/service/elevenlabsService.js.map +1 -0
  230. package/dist/ElevenLabs/util/types.d.ts +43 -0
  231. package/dist/ElevenLabs/util/types.d.ts.map +1 -0
  232. package/dist/ElevenLabs/util/types.js +7 -0
  233. package/dist/ElevenLabs/util/types.js.map +1 -0
  234. package/dist/GoogleSheet/node/executor.d.ts +21 -0
  235. package/dist/GoogleSheet/node/executor.d.ts.map +1 -0
  236. package/dist/GoogleSheet/node/executor.js +156 -0
  237. package/dist/GoogleSheet/node/executor.js.map +1 -0
  238. package/dist/GoogleSheet/node/index.d.ts +10 -0
  239. package/dist/GoogleSheet/node/index.d.ts.map +1 -0
  240. package/dist/GoogleSheet/node/index.js +90 -0
  241. package/dist/GoogleSheet/node/index.js.map +1 -0
  242. package/dist/GoogleSheet/service/googleSheetsService.d.ts +10 -0
  243. package/dist/GoogleSheet/service/googleSheetsService.d.ts.map +1 -0
  244. package/dist/GoogleSheet/service/googleSheetsService.js +44 -0
  245. package/dist/GoogleSheet/service/googleSheetsService.js.map +1 -0
  246. package/dist/GoogleSheet/util/types.d.ts +39 -0
  247. package/dist/GoogleSheet/util/types.d.ts.map +1 -0
  248. package/dist/GoogleSheet/util/types.js +6 -0
  249. package/dist/GoogleSheet/util/types.js.map +1 -0
  250. package/dist/Hyperbrowser/node/executor.d.ts +12 -0
  251. package/dist/Hyperbrowser/node/executor.d.ts.map +1 -0
  252. package/dist/Hyperbrowser/node/executor.js +67 -0
  253. package/dist/Hyperbrowser/node/executor.js.map +1 -0
  254. package/dist/Hyperbrowser/node/index.d.ts +10 -0
  255. package/dist/Hyperbrowser/node/index.d.ts.map +1 -0
  256. package/dist/Hyperbrowser/node/index.js +93 -0
  257. package/dist/Hyperbrowser/node/index.js.map +1 -0
  258. package/dist/Hyperbrowser/service/hyperbrowserService.d.ts +38 -0
  259. package/dist/Hyperbrowser/service/hyperbrowserService.d.ts.map +1 -0
  260. package/dist/Hyperbrowser/service/hyperbrowserService.js +108 -0
  261. package/dist/Hyperbrowser/service/hyperbrowserService.js.map +1 -0
  262. package/dist/Hyperbrowser/util/types.d.ts +44 -0
  263. package/dist/Hyperbrowser/util/types.d.ts.map +1 -0
  264. package/dist/Hyperbrowser/util/types.js +6 -0
  265. package/dist/Hyperbrowser/util/types.js.map +1 -0
  266. package/dist/PlaidTransactions/node/executor.d.ts +10 -0
  267. package/dist/PlaidTransactions/node/executor.d.ts.map +1 -0
  268. package/dist/PlaidTransactions/node/executor.js +142 -0
  269. package/dist/PlaidTransactions/node/executor.js.map +1 -0
  270. package/dist/PlaidTransactions/node/index.d.ts +10 -0
  271. package/dist/PlaidTransactions/node/index.d.ts.map +1 -0
  272. package/dist/PlaidTransactions/node/index.js +120 -0
  273. package/dist/PlaidTransactions/node/index.js.map +1 -0
  274. package/dist/PlaidTransactions/service/plaidService.d.ts +12 -0
  275. package/dist/PlaidTransactions/service/plaidService.d.ts.map +1 -0
  276. package/dist/PlaidTransactions/service/plaidService.js +179 -0
  277. package/dist/PlaidTransactions/service/plaidService.js.map +1 -0
  278. package/dist/PlaidTransactions/util/types.d.ts +90 -0
  279. package/dist/PlaidTransactions/util/types.d.ts.map +1 -0
  280. package/dist/PlaidTransactions/util/types.js +6 -0
  281. package/dist/PlaidTransactions/util/types.js.map +1 -0
  282. package/dist/SearchWeb/node/executor.d.ts +12 -0
  283. package/dist/SearchWeb/node/executor.d.ts.map +1 -0
  284. package/dist/SearchWeb/node/executor.js +56 -0
  285. package/dist/SearchWeb/node/executor.js.map +1 -0
  286. package/dist/SearchWeb/node/index.d.ts +10 -0
  287. package/dist/SearchWeb/node/index.d.ts.map +1 -0
  288. package/dist/SearchWeb/node/index.js +114 -0
  289. package/dist/SearchWeb/node/index.js.map +1 -0
  290. package/dist/SearchWeb/service/searchWebService.d.ts +23 -0
  291. package/dist/SearchWeb/service/searchWebService.d.ts.map +1 -0
  292. package/dist/SearchWeb/service/searchWebService.js +146 -0
  293. package/dist/SearchWeb/service/searchWebService.js.map +1 -0
  294. package/dist/SearchWeb/util/types.d.ts +50 -0
  295. package/dist/SearchWeb/util/types.d.ts.map +1 -0
  296. package/dist/SearchWeb/util/types.js +6 -0
  297. package/dist/SearchWeb/util/types.js.map +1 -0
  298. package/dist/SpatialIngest/node/executor.d.ts +8 -0
  299. package/dist/SpatialIngest/node/executor.d.ts.map +1 -0
  300. package/dist/SpatialIngest/node/executor.js +58 -0
  301. package/dist/SpatialIngest/node/executor.js.map +1 -0
  302. package/dist/SpatialIngest/node/index.d.ts +10 -0
  303. package/dist/SpatialIngest/node/index.d.ts.map +1 -0
  304. package/dist/SpatialIngest/node/index.js +99 -0
  305. package/dist/SpatialIngest/node/index.js.map +1 -0
  306. package/dist/SpatialIngest/service/spatialIngestService.d.ts +29 -0
  307. package/dist/SpatialIngest/service/spatialIngestService.d.ts.map +1 -0
  308. package/dist/SpatialIngest/service/spatialIngestService.js +306 -0
  309. package/dist/SpatialIngest/service/spatialIngestService.js.map +1 -0
  310. package/dist/SpatialIngest/util/types.d.ts +26 -0
  311. package/dist/SpatialIngest/util/types.d.ts.map +1 -0
  312. package/dist/SpatialIngest/util/types.js +3 -0
  313. package/dist/SpatialIngest/util/types.js.map +1 -0
  314. package/dist/credentials/index.d.ts +141 -0
  315. package/dist/credentials/index.d.ts.map +1 -0
  316. package/dist/credentials/index.js +180 -0
  317. package/dist/credentials/index.js.map +1 -0
  318. package/dist/index.d.ts +3 -0
  319. package/dist/index.d.ts.map +1 -0
  320. package/dist/index.js +104 -0
  321. package/dist/index.js.map +1 -0
  322. package/dist/shared/platform.d.ts +11 -0
  323. package/dist/shared/platform.d.ts.map +1 -0
  324. package/dist/shared/platform.js +21 -0
  325. package/dist/shared/platform.js.map +1 -0
  326. package/package.json +53 -0
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPlaidTransactions = getPlaidTransactions;
4
+ const platform_1 = require("../../shared/platform");
5
+ const PLAID_URLS = {
6
+ sandbox: "https://sandbox.plaid.com",
7
+ development: "https://development.plaid.com",
8
+ production: "https://production.plaid.com",
9
+ };
10
+ function getPlaidBaseUrl(environment = "sandbox") {
11
+ return PLAID_URLS[environment] || PLAID_URLS.sandbox;
12
+ }
13
+ /**
14
+ * Create a sandbox public token for testing
15
+ */
16
+ async function createSandboxPublicToken(credentials, institutionId, testUsername, testPassword, baseUrl, logger) {
17
+ logger.info("Creating sandbox public token", { institutionId, testUsername });
18
+ const response = await fetch(`${baseUrl}/sandbox/public_token/create`, {
19
+ method: "POST",
20
+ headers: {
21
+ "Content-Type": "application/json",
22
+ },
23
+ body: JSON.stringify({
24
+ client_id: credentials.clientId,
25
+ secret: credentials.secret,
26
+ institution_id: institutionId,
27
+ initial_products: ["transactions"],
28
+ options: {
29
+ override_username: testUsername,
30
+ override_password: testPassword,
31
+ },
32
+ }),
33
+ });
34
+ if (!response.ok) {
35
+ const errorData = (await response.json().catch(() => ({})));
36
+ throw new Error(`Failed to create sandbox public token: ${errorData.error_message || response.statusText}`);
37
+ }
38
+ const data = (await response.json());
39
+ logger.info("Sandbox public token created", { requestId: data.request_id });
40
+ return data.public_token;
41
+ }
42
+ /**
43
+ * Exchange public token for access token
44
+ */
45
+ async function exchangePublicToken(credentials, publicToken, baseUrl, logger) {
46
+ logger.info("Exchanging public token for access token");
47
+ const response = await fetch(`${baseUrl}/item/public_token/exchange`, {
48
+ method: "POST",
49
+ headers: {
50
+ "Content-Type": "application/json",
51
+ },
52
+ body: JSON.stringify({
53
+ client_id: credentials.clientId,
54
+ secret: credentials.secret,
55
+ public_token: publicToken,
56
+ }),
57
+ });
58
+ if (!response.ok) {
59
+ const errorData = (await response.json().catch(() => ({})));
60
+ throw new Error(`Failed to exchange public token: ${errorData.error_message || response.statusText}`);
61
+ }
62
+ const data = (await response.json());
63
+ logger.info("Access token obtained", { itemId: data.item_id, requestId: data.request_id });
64
+ return data.access_token;
65
+ }
66
+ /**
67
+ * Sleep helper
68
+ */
69
+ function sleep(ms) {
70
+ return new Promise((resolve) => setTimeout(resolve, ms));
71
+ }
72
+ /**
73
+ * Fetch transactions from Plaid with retry logic for PRODUCT_NOT_READY
74
+ */
75
+ async function fetchTransactions(credentials, accessToken, startDate, endDate, maxTransactions, baseUrl, logger) {
76
+ const maxRetries = 5;
77
+ const retryDelayMs = 2000; // 2 seconds between retries
78
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
79
+ logger.info("Fetching transactions", { startDate, endDate, maxTransactions, attempt, maxRetries });
80
+ const response = await fetch(`${baseUrl}/transactions/get`, {
81
+ method: "POST",
82
+ headers: {
83
+ "Content-Type": "application/json",
84
+ },
85
+ body: JSON.stringify({
86
+ client_id: credentials.clientId,
87
+ secret: credentials.secret,
88
+ access_token: accessToken,
89
+ start_date: startDate,
90
+ end_date: endDate,
91
+ options: {
92
+ count: maxTransactions,
93
+ offset: 0,
94
+ },
95
+ }),
96
+ });
97
+ const data = (await response.json());
98
+ // Check for PRODUCT_NOT_READY error - retry after delay
99
+ if (data.error_code === "PRODUCT_NOT_READY") {
100
+ if (attempt < maxRetries) {
101
+ logger.info(`Product not ready, retrying in ${retryDelayMs}ms...`, { attempt, maxRetries });
102
+ await sleep(retryDelayMs);
103
+ continue;
104
+ }
105
+ throw new Error(`Transactions not ready after ${maxRetries} attempts. Try again in a few seconds.`);
106
+ }
107
+ if (!response.ok || data.error_code) {
108
+ throw new Error(`Failed to fetch transactions: ${data.error_message || response.statusText}`);
109
+ }
110
+ logger.info("Transactions fetched", {
111
+ count: data.transactions.length,
112
+ total: data.total_transactions,
113
+ requestId: data.request_id,
114
+ });
115
+ return data;
116
+ }
117
+ throw new Error("Failed to fetch transactions after max retries");
118
+ }
119
+ /**
120
+ * Format date as YYYY-MM-DD
121
+ */
122
+ function formatDate(date) {
123
+ return date.toISOString().split("T")[0];
124
+ }
125
+ /**
126
+ * Main service function to fetch Plaid sandbox transactions
127
+ */
128
+ async function getPlaidTransactions(config, context) {
129
+ const logger = (0, platform_1.createLogger)("PlaidTransactionsService");
130
+ // Get Plaid credentials
131
+ const credentials = (await (0, platform_1.getNodeCredentials)(context, "plaidCredential"));
132
+ if (!credentials?.clientId || !credentials?.secret) {
133
+ throw new Error("Plaid credentials (clientId and secret) not found");
134
+ }
135
+ const { testUsername = "user_transactions_dynamic", testPassword = "pass_good", institutionId = "ins_109508", daysBack = 30, maxTransactions = 100, } = config;
136
+ // Calculate date range
137
+ const endDate = new Date();
138
+ const startDate = new Date();
139
+ startDate.setDate(startDate.getDate() - daysBack);
140
+ const startDateStr = formatDate(startDate);
141
+ const endDateStr = formatDate(endDate);
142
+ // Get base URL from credentials environment (default: sandbox)
143
+ const environment = credentials.environment || "sandbox";
144
+ const baseUrl = getPlaidBaseUrl(environment);
145
+ logger.info("Starting Plaid transaction fetch", {
146
+ testUsername,
147
+ institutionId,
148
+ daysBack,
149
+ maxTransactions,
150
+ startDate: startDateStr,
151
+ endDate: endDateStr,
152
+ environment,
153
+ baseUrl,
154
+ });
155
+ try {
156
+ // Step 1: Create sandbox public token
157
+ const publicToken = await createSandboxPublicToken(credentials, institutionId, testUsername, testPassword, baseUrl, logger);
158
+ // Step 2: Exchange for access token
159
+ const accessToken = await exchangePublicToken(credentials, publicToken, baseUrl, logger);
160
+ // Step 3: Fetch transactions
161
+ const transactionsData = await fetchTransactions(credentials, accessToken, startDateStr, endDateStr, maxTransactions, baseUrl, logger);
162
+ logger.info("Plaid transaction fetch complete", {
163
+ transactionCount: transactionsData.transactions.length,
164
+ accountCount: transactionsData.accounts.length,
165
+ });
166
+ return {
167
+ transactions: transactionsData.transactions,
168
+ accounts: transactionsData.accounts,
169
+ totalTransactions: transactionsData.total_transactions,
170
+ startDate: startDateStr,
171
+ endDate: endDateStr,
172
+ };
173
+ }
174
+ catch (error) {
175
+ logger.error("Plaid transaction fetch failed", { error: error.message });
176
+ throw new Error(`Plaid transaction fetch failed: ${error.message}`);
177
+ }
178
+ }
179
+ //# sourceMappingURL=plaidService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plaidService.js","sourceRoot":"","sources":["../../../src/PlaidTransactions/service/plaidService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Type definitions for PlaidTransactions node
3
+ */
4
+ export interface PlaidTransactionsConfig {
5
+ /** Test username for Plaid Sandbox */
6
+ testUsername: string;
7
+ /** Test password for Plaid Sandbox */
8
+ testPassword: string;
9
+ /** Institution ID (default: First Platypus Bank - ins_109508) */
10
+ institutionId: string;
11
+ /** Number of days of transactions to fetch */
12
+ daysBack: number;
13
+ /** Maximum number of transactions to return */
14
+ maxTransactions: number;
15
+ /** Enable Redis caching of transactions (default: true) */
16
+ useCache?: boolean;
17
+ /** Cache TTL in minutes (default: 60) */
18
+ cacheTTLMinutes?: number;
19
+ }
20
+ export interface PlaidTransactionsInput {
21
+ signal?: any;
22
+ }
23
+ export interface PlaidTransaction {
24
+ transaction_id: string;
25
+ account_id: string;
26
+ amount: number;
27
+ iso_currency_code: string | null;
28
+ unofficial_currency_code: string | null;
29
+ category: string[] | null;
30
+ category_id: string | null;
31
+ date: string;
32
+ datetime: string | null;
33
+ authorized_date: string | null;
34
+ authorized_datetime: string | null;
35
+ location: {
36
+ address: string | null;
37
+ city: string | null;
38
+ region: string | null;
39
+ postal_code: string | null;
40
+ country: string | null;
41
+ lat: number | null;
42
+ lon: number | null;
43
+ store_number: string | null;
44
+ };
45
+ name: string;
46
+ merchant_name: string | null;
47
+ payment_channel: string;
48
+ pending: boolean;
49
+ pending_transaction_id: string | null;
50
+ account_owner: string | null;
51
+ transaction_type: string;
52
+ logo_url: string | null;
53
+ website: string | null;
54
+ personal_finance_category: {
55
+ primary: string;
56
+ detailed: string;
57
+ confidence_level: string;
58
+ } | null;
59
+ }
60
+ export interface PlaidAccount {
61
+ account_id: string;
62
+ balances: {
63
+ available: number | null;
64
+ current: number | null;
65
+ iso_currency_code: string | null;
66
+ limit: number | null;
67
+ unofficial_currency_code: string | null;
68
+ };
69
+ mask: string | null;
70
+ name: string;
71
+ official_name: string | null;
72
+ subtype: string | null;
73
+ type: string;
74
+ }
75
+ export interface PlaidTransactionsOutput {
76
+ __outputs: {
77
+ transactions: PlaidTransaction[];
78
+ accounts: PlaidAccount[];
79
+ totalTransactions: number;
80
+ startDate: string;
81
+ endDate: string;
82
+ error?: string;
83
+ };
84
+ }
85
+ export interface PlaidCredentials {
86
+ clientId: string;
87
+ secret: string;
88
+ environment?: "sandbox" | "development" | "production";
89
+ }
90
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/PlaidTransactions/util/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for PlaidTransactions node
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/PlaidTransactions/util/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,12 @@
1
+ import { type NodeExecutionContext } from "@gravity-platform/plugin-base";
2
+ import { SearchWebConfig, SearchWebExecutorOutput } from "../util/types";
3
+ import { PromiseNode } from "../../shared/platform";
4
+ export declare class SearchWebExecutor extends PromiseNode<SearchWebConfig> {
5
+ constructor();
6
+ protected executeNode(inputs: Record<string, any>, config: SearchWebConfig, context: NodeExecutionContext): Promise<SearchWebExecutorOutput>;
7
+ /**
8
+ * Build credential context from execution context
9
+ */
10
+ private buildCredentialContext;
11
+ }
12
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/SearchWeb/node/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AAKlE,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,eAAe,CAAC;;cAKjD,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,uBAAuB,CAAC;IAqCnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAS/B"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchWebExecutor = void 0;
4
+ const platform_1 = require("../../shared/platform");
5
+ const searchWebService_1 = require("../service/searchWebService");
6
+ const NODE_TYPE = "SearchWeb";
7
+ class SearchWebExecutor extends platform_1.PromiseNode {
8
+ constructor() {
9
+ super(NODE_TYPE);
10
+ }
11
+ async executeNode(inputs, config, context) {
12
+ const logger = (0, platform_1.createLogger)("SearchWeb");
13
+ // Build credential context for service
14
+ const credentialContext = this.buildCredentialContext(context);
15
+ if (!config.query || config.query.trim() === "") {
16
+ throw new Error("Search query is required");
17
+ }
18
+ logger.info("Searching web", {
19
+ query: config.query,
20
+ numResults: config.numResults,
21
+ searchImages: config.searchImages,
22
+ });
23
+ try {
24
+ const results = await (0, searchWebService_1.searchWeb)(config, credentialContext);
25
+ logger.info("Search completed", {
26
+ webResultsCount: results.webResults.length,
27
+ imageResultsCount: results.imageResults.length,
28
+ });
29
+ // Return results mapped to output connectors
30
+ return {
31
+ __outputs: {
32
+ webResults: results.webResults,
33
+ imageResults: results.imageResults
34
+ }
35
+ };
36
+ }
37
+ catch (error) {
38
+ logger.error("Search failed", { error });
39
+ throw error;
40
+ }
41
+ }
42
+ /**
43
+ * Build credential context from execution context
44
+ */
45
+ buildCredentialContext(context) {
46
+ return {
47
+ credentials: context.credentials || {},
48
+ nodeType: NODE_TYPE,
49
+ workflowId: context.workflow?.id || "",
50
+ executionId: context.executionId || "",
51
+ nodeId: context.nodeId || "",
52
+ };
53
+ }
54
+ }
55
+ exports.SearchWebExecutor = SearchWebExecutor;
56
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/SearchWeb/node/executor.ts"],"names":[],"mappings":";;;AAEA,oDAAkE;AAClE,kEAAwD;AAExD,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B,MAAa,iBAAkB,SAAQ,sBAA4B;IACjE;QACE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAES,KAAK,CAAC,WAAW,CACzB,MAA2B,EAC3B,MAAuB,EACvB,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAA,uBAAY,EAAC,WAAW,CAAC,CAAC;QAEzC,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAS,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAE3D,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC9B,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;gBAC1C,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;aAC/C,CAAC,CAAC;YAEH,6CAA6C;YAC7C,OAAO;gBACL,SAAS,EAAE;oBACT,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,OAA6B;QAC1D,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;CACF;AA1DD,8CA0DC"}
@@ -0,0 +1,10 @@
1
+ import { type EnhancedNodeDefinition } from "@gravity-platform/plugin-base";
2
+ import { SearchWebExecutor } from "./executor";
3
+ export declare const NODE_TYPE = "SearchWeb";
4
+ declare function createNodeDefinition(): EnhancedNodeDefinition;
5
+ export declare const SearchWebNode: {
6
+ definition: any;
7
+ executor: typeof SearchWebExecutor;
8
+ };
9
+ export { createNodeDefinition };
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/SearchWeb/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,iBAAS,oBAAoB,IAAI,sBAAsB,CA0GtD;AAID,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchWebNode = 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 = "SearchWeb";
8
+ function createNodeDefinition() {
9
+ const { NodeInputType } = (0, plugin_base_1.getPlatformDependencies)();
10
+ return {
11
+ packageVersion: "1.1.1",
12
+ type: exports.NODE_TYPE,
13
+ name: "Search Web",
14
+ description: "Search the web using SearchAPI.io for web results and images",
15
+ category: "Ingest",
16
+ logoUrl: "https://cdn-icons-png.flaticon.com/512/3128/3128287.png",
17
+ color: "#4285F4",
18
+ inputs: [
19
+ {
20
+ name: "query",
21
+ type: NodeInputType.STRING,
22
+ description: "Search query",
23
+ },
24
+ ],
25
+ outputs: [
26
+ {
27
+ name: "webResults",
28
+ type: NodeInputType.ARRAY,
29
+ description: "Array of web search results",
30
+ },
31
+ {
32
+ name: "imageResults",
33
+ type: NodeInputType.ARRAY,
34
+ description: "Array of image search results",
35
+ },
36
+ ],
37
+ configSchema: {
38
+ type: "object",
39
+ properties: {
40
+ query: {
41
+ type: "string",
42
+ title: "Search Query",
43
+ description: "Query to search for",
44
+ default: "",
45
+ "ui:field": "template",
46
+ },
47
+ numResults: {
48
+ type: "number",
49
+ title: "Number of Results",
50
+ description: "Number of web results to return",
51
+ default: 20,
52
+ minimum: 1,
53
+ maximum: 100,
54
+ },
55
+ numImages: {
56
+ type: "number",
57
+ title: "Number of Images",
58
+ description: "Number of image results to return",
59
+ default: 10,
60
+ minimum: 0,
61
+ maximum: 50,
62
+ "ui:dependencies": {
63
+ searchImages: true,
64
+ },
65
+ },
66
+ searchImages: {
67
+ type: "boolean",
68
+ title: "Search Images",
69
+ description: "Whether to search for images",
70
+ default: true,
71
+ "ui:widget": "toggle",
72
+ },
73
+ safeSearch: {
74
+ type: "string",
75
+ title: "Safe Search",
76
+ description: "Safe search filter level",
77
+ enum: ["active", "moderate", "off"],
78
+ enumNames: ["Active", "Moderate", "Off"],
79
+ default: "active",
80
+ },
81
+ country: {
82
+ type: "string",
83
+ title: "Country",
84
+ description: "Country code for localized results (e.g., 'us', 'uk', 'ae')",
85
+ default: "us",
86
+ },
87
+ language: {
88
+ type: "string",
89
+ title: "Language",
90
+ description: "Language code for results (e.g., 'en', 'ar')",
91
+ default: "en",
92
+ },
93
+ },
94
+ required: ["query"],
95
+ },
96
+ credentials: [
97
+ {
98
+ name: "searchapiCredential",
99
+ required: true,
100
+ displayName: "SearchAPI",
101
+ description: "SearchAPI.io credentials for web search",
102
+ },
103
+ ],
104
+ capabilities: {
105
+ isTrigger: false,
106
+ },
107
+ };
108
+ }
109
+ const definition = createNodeDefinition();
110
+ exports.SearchWebNode = {
111
+ definition,
112
+ executor: executor_1.SearchWebExecutor,
113
+ };
114
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/SearchWeb/node/index.ts"],"names":[],"mappings":";;;AAwHS,oDAAoB;AAxH7B,+DAAqG;AACrG,yCAA+C;AAElC,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,SAAS,oBAAoB;IAC3B,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,qCAAuB,GAAE,CAAC;IAEpD,OAAO;QACL,cAAc,EAAE,OAAO;QACvB,IAAI,EAAE,iBAAS;QACf,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,8DAA8D;QAC3E,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,yDAAyD;QAClE,KAAK,EAAE,SAAS;QAEhB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,aAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,cAAc;aAC5B;SACF;QAED,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,aAAa,CAAC,KAAK;gBACzB,WAAW,EAAE,6BAA6B;aAC3C;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,aAAa,CAAC,KAAK;gBACzB,WAAW,EAAE,+BAA+B;aAC7C;SACF;QAED,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,cAAc;oBACrB,WAAW,EAAE,qBAAqB;oBAClC,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,UAAU;iBACvB;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,mBAAmB;oBAC1B,WAAW,EAAE,iCAAiC;oBAC9C,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;iBACb;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,kBAAkB;oBACzB,WAAW,EAAE,mCAAmC;oBAChD,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;oBACX,iBAAiB,EAAE;wBACjB,YAAY,EAAE,IAAI;qBACnB;iBACF;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,8BAA8B;oBAC3C,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,QAAQ;iBACtB;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,0BAA0B;oBACvC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;oBACnC,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;oBACxC,OAAO,EAAE,QAAQ;iBAClB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,6DAA6D;oBAC1E,OAAO,EAAE,IAAI;iBACd;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,8CAA8C;oBAC3D,OAAO,EAAE,IAAI;iBACd;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QAED,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,yCAAyC;aACvD;SACF;QAED,YAAY,EAAE;YACZ,SAAS,EAAE,KAAK;SACjB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;AAE7B,QAAA,aAAa,GAAG;IAC3B,UAAU;IACV,QAAQ,EAAE,4BAAiB;CAC5B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { SearchWebConfig } from "../util/types";
2
+ export interface WebResult {
3
+ title: string;
4
+ url: string;
5
+ source: string;
6
+ snippet?: string;
7
+ }
8
+ export interface ImageResult {
9
+ url: string;
10
+ title: string;
11
+ thumbnail?: string;
12
+ source_url?: string;
13
+ source_name?: string;
14
+ }
15
+ export interface SearchWebOutput {
16
+ webResults: WebResult[];
17
+ imageResults: ImageResult[];
18
+ }
19
+ /**
20
+ * Search the web using SearchAPI.io
21
+ */
22
+ export declare function searchWeb(config: SearchWebConfig, context: any): Promise<SearchWebOutput>;
23
+ //# sourceMappingURL=searchWebService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchWebService.d.ts","sourceRoot":"","sources":["../../../src/SearchWeb/service/searchWebService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAuGD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,eAAe,CAAC,CAkE1B"}