@bubblelab/bubble-core 0.1.9 → 0.1.11

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 (355) hide show
  1. package/dist/bubble-bundle.d.ts +633 -1658
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +165 -43
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubble-flow/bubble-flow-class.d.ts +22 -1
  6. package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -1
  7. package/dist/bubble-flow/bubble-flow-class.js +36 -0
  8. package/dist/bubble-flow/bubble-flow-class.js.map +1 -1
  9. package/dist/bubble-flow/sample/data-analyst-flow.d.ts +1 -1
  10. package/dist/bubble-flow/sample/data-analyst-flow.d.ts.map +1 -1
  11. package/dist/bubble-flow/sample/error-ts.d.ts +1 -1
  12. package/dist/bubble-flow/sample/error-ts.d.ts.map +1 -1
  13. package/dist/bubble-flow/sample/sanitytest.d.ts +1 -1
  14. package/dist/bubble-flow/sample/sanitytest.d.ts.map +1 -1
  15. package/dist/bubble-flow/sample/simple-webhook-2.d.ts +1 -1
  16. package/dist/bubble-flow/sample/simple-webhook-2.d.ts.map +1 -1
  17. package/dist/bubble-flow/sample/simple-webhook.d.ts +1 -1
  18. package/dist/bubble-flow/sample/simple-webhook.d.ts.map +1 -1
  19. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts +1 -1
  20. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -1
  21. package/dist/bubble-flow/sample/simplified-data-analysis.flow.js +6 -3
  22. package/dist/bubble-flow/sample/simplified-data-analysis.flow.js.map +1 -1
  23. package/dist/bubble-flow/sample/slack-v0.1.d.ts +1 -1
  24. package/dist/bubble-flow/sample/slack-v0.1.d.ts.map +1 -1
  25. package/dist/bubble-flow/sample/slackagenttest.d.ts +1 -1
  26. package/dist/bubble-flow/sample/slackagenttest.d.ts.map +1 -1
  27. package/dist/bubbles/service-bubble/agi-inc.d.ts +1121 -0
  28. package/dist/bubbles/service-bubble/agi-inc.d.ts.map +1 -0
  29. package/dist/bubbles/service-bubble/agi-inc.js +730 -0
  30. package/dist/bubbles/service-bubble/agi-inc.js.map +1 -0
  31. package/dist/bubbles/service-bubble/ai-agent.d.ts +297 -85
  32. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  33. package/dist/bubbles/service-bubble/ai-agent.js +535 -399
  34. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  35. package/dist/bubbles/service-bubble/airtable.d.ts +1753 -0
  36. package/dist/bubbles/service-bubble/airtable.d.ts.map +1 -0
  37. package/dist/bubbles/service-bubble/airtable.js +1173 -0
  38. package/dist/bubbles/service-bubble/airtable.js.map +1 -0
  39. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts +240 -0
  40. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts.map +1 -0
  41. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.js +119 -0
  42. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.js.map +1 -0
  43. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +38 -38
  44. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +56 -56
  45. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +137 -0
  46. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts.map +1 -0
  47. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.js +81 -0
  48. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.js.map +1 -0
  49. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +27 -27
  50. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +38 -38
  51. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +488 -0
  52. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts.map +1 -0
  53. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.js +463 -0
  54. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.js.map +1 -0
  55. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +262 -0
  56. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts.map +1 -0
  57. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.js +291 -0
  58. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.js.map +1 -0
  59. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +184 -0
  60. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts.map +1 -0
  61. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js +145 -0
  62. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js.map +1 -0
  63. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts +52 -0
  64. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts.map +1 -0
  65. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js +29 -0
  66. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js.map +1 -0
  67. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +1483 -123
  68. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts.map +1 -1
  69. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js +48 -0
  70. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js.map +1 -1
  71. package/dist/bubbles/service-bubble/apify/apify.d.ts +156 -11
  72. package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -1
  73. package/dist/bubbles/service-bubble/apify/apify.js +205 -32
  74. package/dist/bubbles/service-bubble/apify/apify.js.map +1 -1
  75. package/dist/bubbles/service-bubble/apify/index.d.ts +2 -0
  76. package/dist/bubbles/service-bubble/apify/index.d.ts.map +1 -1
  77. package/dist/bubbles/service-bubble/apify/index.js +3 -0
  78. package/dist/bubbles/service-bubble/apify/index.js.map +1 -1
  79. package/dist/bubbles/service-bubble/apify/types.js +1 -2
  80. package/dist/bubbles/service-bubble/apify/types.js.map +1 -1
  81. package/dist/bubbles/service-bubble/eleven-labs.d.ts +421 -0
  82. package/dist/bubbles/service-bubble/eleven-labs.d.ts.map +1 -0
  83. package/dist/bubbles/service-bubble/eleven-labs.js +479 -0
  84. package/dist/bubbles/service-bubble/eleven-labs.js.map +1 -0
  85. package/dist/bubbles/service-bubble/firecrawl.d.ts +37748 -0
  86. package/dist/bubbles/service-bubble/firecrawl.d.ts.map +1 -0
  87. package/dist/bubbles/service-bubble/firecrawl.js +1489 -0
  88. package/dist/bubbles/service-bubble/firecrawl.js.map +1 -0
  89. package/dist/bubbles/service-bubble/followupboss.d.ts +6822 -0
  90. package/dist/bubbles/service-bubble/followupboss.d.ts.map +1 -0
  91. package/dist/bubbles/service-bubble/followupboss.js +1394 -0
  92. package/dist/bubbles/service-bubble/followupboss.js.map +1 -0
  93. package/dist/bubbles/service-bubble/github.d.ts +2399 -0
  94. package/dist/bubbles/service-bubble/github.d.ts.map +1 -0
  95. package/dist/bubbles/service-bubble/github.js +1052 -0
  96. package/dist/bubbles/service-bubble/github.js.map +1 -0
  97. package/dist/bubbles/service-bubble/gmail.d.ts +726 -232
  98. package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -1
  99. package/dist/bubbles/service-bubble/gmail.js +435 -7
  100. package/dist/bubbles/service-bubble/gmail.js.map +1 -1
  101. package/dist/bubbles/service-bubble/google-calendar.d.ts +8 -8
  102. package/dist/bubbles/service-bubble/google-drive.d.ts +270 -40
  103. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
  104. package/dist/bubbles/service-bubble/google-drive.js +100 -78
  105. package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
  106. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +943 -0
  107. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts.map +1 -0
  108. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts +31 -0
  109. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts.map +1 -0
  110. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js +184 -0
  111. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js.map +1 -0
  112. package/dist/bubbles/service-bubble/google-sheets/google-sheets.js +401 -0
  113. package/dist/bubbles/service-bubble/google-sheets/google-sheets.js.map +1 -0
  114. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +1024 -0
  115. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts.map +1 -0
  116. package/dist/bubbles/service-bubble/{google-sheets.js → google-sheets/google-sheets.schema.js} +45 -409
  117. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.js.map +1 -0
  118. package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.d.ts +38 -0
  119. package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.d.ts.map +1 -0
  120. package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.js +183 -0
  121. package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.js.map +1 -0
  122. package/dist/bubbles/service-bubble/google-sheets/index.d.ts +4 -0
  123. package/dist/bubbles/service-bubble/google-sheets/index.d.ts.map +1 -0
  124. package/dist/bubbles/service-bubble/google-sheets/index.js +4 -0
  125. package/dist/bubbles/service-bubble/google-sheets/index.js.map +1 -0
  126. package/dist/bubbles/service-bubble/hello-world.js +2 -2
  127. package/dist/bubbles/service-bubble/hello-world.js.map +1 -1
  128. package/dist/bubbles/service-bubble/http.d.ts +6 -6
  129. package/dist/bubbles/service-bubble/http.d.ts.map +1 -1
  130. package/dist/bubbles/service-bubble/http.js +7 -1
  131. package/dist/bubbles/service-bubble/http.js.map +1 -1
  132. package/dist/bubbles/service-bubble/insforge-db.d.ts +140 -0
  133. package/dist/bubbles/service-bubble/insforge-db.d.ts.map +1 -0
  134. package/dist/bubbles/service-bubble/insforge-db.js +260 -0
  135. package/dist/bubbles/service-bubble/insforge-db.js.map +1 -0
  136. package/dist/bubbles/service-bubble/notion/index.d.ts +3 -0
  137. package/dist/bubbles/service-bubble/notion/index.d.ts.map +1 -0
  138. package/dist/bubbles/service-bubble/notion/index.js +3 -0
  139. package/dist/bubbles/service-bubble/notion/index.js.map +1 -0
  140. package/dist/bubbles/service-bubble/notion/notion.d.ts +35405 -0
  141. package/dist/bubbles/service-bubble/notion/notion.d.ts.map +1 -0
  142. package/dist/bubbles/service-bubble/notion/notion.js +1492 -0
  143. package/dist/bubbles/service-bubble/notion/notion.js.map +1 -0
  144. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +1148 -0
  145. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts.map +1 -0
  146. package/dist/bubbles/service-bubble/notion/property-schemas.js +341 -0
  147. package/dist/bubbles/service-bubble/notion/property-schemas.js.map +1 -0
  148. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  149. package/dist/bubbles/service-bubble/resend.d.ts +30 -9
  150. package/dist/bubbles/service-bubble/resend.d.ts.map +1 -1
  151. package/dist/bubbles/service-bubble/resend.js +133 -2
  152. package/dist/bubbles/service-bubble/resend.js.map +1 -1
  153. package/dist/bubbles/service-bubble/slack.d.ts +525 -525
  154. package/dist/bubbles/service-bubble/slack.d.ts.map +1 -1
  155. package/dist/bubbles/service-bubble/slack.js +2 -2
  156. package/dist/bubbles/service-bubble/slack.js.map +1 -1
  157. package/dist/bubbles/service-bubble/storage.d.ts +21 -17
  158. package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
  159. package/dist/bubbles/service-bubble/storage.js +59 -7
  160. package/dist/bubbles/service-bubble/storage.js.map +1 -1
  161. package/dist/bubbles/service-bubble/telegram.d.ts +7742 -0
  162. package/dist/bubbles/service-bubble/telegram.d.ts.map +1 -0
  163. package/dist/bubbles/service-bubble/telegram.js +1132 -0
  164. package/dist/bubbles/service-bubble/telegram.js.map +1 -0
  165. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +60 -4
  166. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts.map +1 -1
  167. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js +12 -0
  168. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js.map +1 -1
  169. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
  170. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +188 -0
  171. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts.map +1 -0
  172. package/dist/bubbles/tool-bubble/code-edit-tool.js +321 -0
  173. package/dist/bubbles/tool-bubble/code-edit-tool.js.map +1 -0
  174. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +8 -4
  175. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -1
  176. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +132 -19
  177. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -1
  178. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +455 -0
  179. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts.map +1 -0
  180. package/dist/bubbles/tool-bubble/google-maps-tool.js +205 -0
  181. package/dist/bubbles/tool-bubble/google-maps-tool.js.map +1 -0
  182. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +90 -90
  183. package/dist/bubbles/tool-bubble/instagram-tool.d.ts.map +1 -1
  184. package/dist/bubbles/tool-bubble/instagram-tool.js +2 -2
  185. package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -1
  186. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +808 -431
  187. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -1
  188. package/dist/bubbles/tool-bubble/linkedin-tool.js +232 -12
  189. package/dist/bubbles/tool-bubble/linkedin-tool.js.map +1 -1
  190. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
  191. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +21 -16
  192. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts.map +1 -1
  193. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js +97 -22
  194. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js.map +1 -1
  195. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +17 -16
  196. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts.map +1 -1
  197. package/dist/bubbles/tool-bubble/research-agent-tool.js +27 -17
  198. package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
  199. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  200. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +485 -0
  201. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts.map +1 -0
  202. package/dist/bubbles/tool-bubble/tiktok-tool.js +226 -0
  203. package/dist/bubbles/tool-bubble/tiktok-tool.js.map +1 -0
  204. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +947 -0
  205. package/dist/bubbles/tool-bubble/twitter-tool.d.ts.map +1 -0
  206. package/dist/bubbles/tool-bubble/twitter-tool.js +494 -0
  207. package/dist/bubbles/tool-bubble/twitter-tool.js.map +1 -0
  208. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +32 -26
  209. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts.map +1 -1
  210. package/dist/bubbles/tool-bubble/web-crawl-tool.js +58 -59
  211. package/dist/bubbles/tool-bubble/web-crawl-tool.js.map +1 -1
  212. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  213. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts.map +1 -1
  214. package/dist/bubbles/tool-bubble/web-extract-tool.js +17 -17
  215. package/dist/bubbles/tool-bubble/web-extract-tool.js.map +1 -1
  216. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +23 -115
  217. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts.map +1 -1
  218. package/dist/bubbles/tool-bubble/web-scrape-tool.js +51 -72
  219. package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -1
  220. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +18 -6
  221. package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -1
  222. package/dist/bubbles/tool-bubble/web-search-tool.js +46 -32
  223. package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -1
  224. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +394 -0
  225. package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -0
  226. package/dist/bubbles/tool-bubble/youtube-tool.js +352 -0
  227. package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -0
  228. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +78 -78
  229. package/dist/bubbles/workflow-bubble/generate-document.workflow.js +1 -1
  230. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +62 -62
  231. package/dist/bubbles/workflow-bubble/parse-document.workflow.js +1 -1
  232. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +80 -80
  233. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -1
  234. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js +4 -4
  235. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -1
  236. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +52 -52
  237. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts.map +1 -1
  238. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +2 -2
  239. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js.map +1 -1
  240. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +32 -32
  241. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts.map +1 -1
  242. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +6 -6
  243. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -1
  244. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +46 -46
  245. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts.map +1 -1
  246. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js +24 -4
  247. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js.map +1 -1
  248. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +27 -27
  249. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts.map +1 -1
  250. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +8 -8
  251. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -1
  252. package/dist/bubbles.json +251 -88
  253. package/dist/index.d.ts +27 -6
  254. package/dist/index.d.ts.map +1 -1
  255. package/dist/index.js +18 -4
  256. package/dist/index.js.map +1 -1
  257. package/dist/logging/BubbleLogger.d.ts +45 -16
  258. package/dist/logging/BubbleLogger.d.ts.map +1 -1
  259. package/dist/logging/BubbleLogger.js +197 -89
  260. package/dist/logging/BubbleLogger.js.map +1 -1
  261. package/dist/logging/StreamingBubbleLogger.d.ts +13 -1
  262. package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
  263. package/dist/logging/StreamingBubbleLogger.js +56 -13
  264. package/dist/logging/StreamingBubbleLogger.js.map +1 -1
  265. package/dist/logging/WebhookStreamLogger.d.ts +66 -0
  266. package/dist/logging/WebhookStreamLogger.d.ts.map +1 -0
  267. package/dist/logging/WebhookStreamLogger.js +291 -0
  268. package/dist/logging/WebhookStreamLogger.js.map +1 -0
  269. package/dist/types/available-tools.d.ts +1 -1
  270. package/dist/types/available-tools.d.ts.map +1 -1
  271. package/dist/types/available-tools.js +1 -0
  272. package/dist/types/available-tools.js.map +1 -1
  273. package/dist/types/base-bubble-class.d.ts +7 -5
  274. package/dist/types/base-bubble-class.d.ts.map +1 -1
  275. package/dist/types/base-bubble-class.js +63 -40
  276. package/dist/types/base-bubble-class.js.map +1 -1
  277. package/dist/types/bubble.d.ts +3 -10
  278. package/dist/types/bubble.d.ts.map +1 -1
  279. package/dist/types/bubble.js +1 -1
  280. package/dist/types/bubble.js.map +1 -1
  281. package/dist/types/service-bubble-class.d.ts +2 -2
  282. package/dist/types/service-bubble-class.d.ts.map +1 -1
  283. package/dist/types/service-bubble-class.js +2 -2
  284. package/dist/types/service-bubble-class.js.map +1 -1
  285. package/dist/types/tool-bubble-class.d.ts +2 -2
  286. package/dist/types/tool-bubble-class.d.ts.map +1 -1
  287. package/dist/types/tool-bubble-class.js +2 -4
  288. package/dist/types/tool-bubble-class.js.map +1 -1
  289. package/dist/types/workflow-bubble-class.d.ts +2 -2
  290. package/dist/types/workflow-bubble-class.d.ts.map +1 -1
  291. package/dist/types/workflow-bubble-class.js +2 -2
  292. package/dist/types/workflow-bubble-class.js.map +1 -1
  293. package/dist/utils/agent-formatter.d.ts +14 -2
  294. package/dist/utils/agent-formatter.d.ts.map +1 -1
  295. package/dist/utils/agent-formatter.js +176 -28
  296. package/dist/utils/agent-formatter.js.map +1 -1
  297. package/dist/utils/bubbleflow-validation.d.ts +7 -0
  298. package/dist/utils/bubbleflow-validation.d.ts.map +1 -1
  299. package/dist/utils/bubbleflow-validation.js +257 -35
  300. package/dist/utils/bubbleflow-validation.js.map +1 -1
  301. package/dist/utils/error-sanitizer.d.ts +12 -0
  302. package/dist/utils/error-sanitizer.d.ts.map +1 -0
  303. package/dist/utils/error-sanitizer.js +77 -0
  304. package/dist/utils/error-sanitizer.js.map +1 -0
  305. package/dist/utils/json-parsing.d.ts.map +1 -1
  306. package/dist/utils/json-parsing.js +146 -0
  307. package/dist/utils/json-parsing.js.map +1 -1
  308. package/dist/utils/safe-gemini-chat.d.ts +31 -0
  309. package/dist/utils/safe-gemini-chat.d.ts.map +1 -0
  310. package/dist/utils/safe-gemini-chat.js +93 -0
  311. package/dist/utils/safe-gemini-chat.js.map +1 -0
  312. package/dist/utils/schema-comparison.d.ts +92 -0
  313. package/dist/utils/schema-comparison.d.ts.map +1 -0
  314. package/dist/utils/schema-comparison.js +716 -0
  315. package/dist/utils/schema-comparison.js.map +1 -0
  316. package/dist/utils/zod-schema.d.ts +24 -0
  317. package/dist/utils/zod-schema.d.ts.map +1 -0
  318. package/dist/utils/zod-schema.js +56 -0
  319. package/dist/utils/zod-schema.js.map +1 -0
  320. package/package.json +7 -6
  321. package/dist/bubble-trigger/index.d.ts +0 -2
  322. package/dist/bubble-trigger/index.d.ts.map +0 -1
  323. package/dist/bubble-trigger/index.js +0 -2
  324. package/dist/bubble-trigger/index.js.map +0 -1
  325. package/dist/bubble-trigger/types.d.ts +0 -87
  326. package/dist/bubble-trigger/types.d.ts.map +0 -1
  327. package/dist/bubble-trigger/types.js +0 -14
  328. package/dist/bubble-trigger/types.js.map +0 -1
  329. package/dist/bubbles/service-bubble/apify/api-scraper.schema.d.ts +0 -370
  330. package/dist/bubbles/service-bubble/apify/api-scraper.schema.d.ts.map +0 -1
  331. package/dist/bubbles/service-bubble/apify/api-scraper.schema.js +0 -14
  332. package/dist/bubbles/service-bubble/apify/api-scraper.schema.js.map +0 -1
  333. package/dist/bubbles/service-bubble/apify.d.ts +0 -136
  334. package/dist/bubbles/service-bubble/apify.d.ts.map +0 -1
  335. package/dist/bubbles/service-bubble/apify.js +0 -282
  336. package/dist/bubbles/service-bubble/apify.js.map +0 -1
  337. package/dist/bubbles/service-bubble/google-sheets.d.ts +0 -1811
  338. package/dist/bubbles/service-bubble/google-sheets.d.ts.map +0 -1
  339. package/dist/bubbles/service-bubble/google-sheets.js.map +0 -1
  340. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +0 -114
  341. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +0 -1
  342. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +0 -782
  343. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +0 -1
  344. package/dist/types/ai-models.d.ts +0 -4
  345. package/dist/types/ai-models.d.ts.map +0 -1
  346. package/dist/types/ai-models.js +0 -20
  347. package/dist/types/ai-models.js.map +0 -1
  348. package/dist/types/api-scraper.schema.d.ts +0 -453
  349. package/dist/types/api-scraper.schema.d.ts.map +0 -1
  350. package/dist/types/api-scraper.schema.js +0 -160
  351. package/dist/types/api-scraper.schema.js.map +0 -1
  352. package/dist/utils/param-helper.d.ts +0 -2
  353. package/dist/utils/param-helper.d.ts.map +0 -1
  354. package/dist/utils/param-helper.js +0 -5
  355. package/dist/utils/param-helper.js.map +0 -1
@@ -1,282 +0,0 @@
1
- import { z } from 'zod';
2
- import { ServiceBubble } from '../../types/service-bubble-class.js';
3
- import { CredentialType } from '@bubblelab/shared-schemas';
4
- /**
5
- * Generic Apify Bubble - Works with ANY Apify Actor
6
- *
7
- * This is a universal service bubble that can run any Apify actor.
8
- * Actor-specific logic and data transformation should be handled by Tool Bubbles.
9
- *
10
- * Examples:
11
- * - InstagramTool uses this to run 'apify/instagram-scraper'
12
- * - RedditTool could use this to run 'apify/reddit-scraper'
13
- * - LinkedInTool could use this to run 'apify/linkedin-scraper'
14
- */
15
- // Define the parameters schema for Apify operations
16
- const ApifyParamsSchema = z.object({
17
- actorId: z
18
- .string()
19
- .describe('The Apify actor to run. Examples: "apify/instagram-scraper", "apify/reddit-scraper", etc.'),
20
- input: z
21
- .record(z.unknown())
22
- .describe('Input parameters for the actor. Structure depends on the specific actor being used.'),
23
- waitForFinish: z
24
- .boolean()
25
- .optional()
26
- .default(true)
27
- .describe('Whether to wait for the actor run to complete before returning'),
28
- timeout: z
29
- .number()
30
- .min(1000)
31
- .max(300000)
32
- .optional()
33
- .default(120000)
34
- .describe('Maximum time to wait for actor completion in milliseconds (default: 120000)'),
35
- credentials: z
36
- .record(z.nativeEnum(CredentialType), z.string())
37
- .optional()
38
- .describe('Object mapping credential types to values (injected at runtime)'),
39
- });
40
- // Result schema for Apify operations (generic for any actor)
41
- const ApifyResultSchema = z.object({
42
- runId: z.string().describe('Apify actor run ID'),
43
- status: z
44
- .string()
45
- .describe('Actor run status (READY, RUNNING, SUCCEEDED, FAILED, etc.)'),
46
- datasetId: z
47
- .string()
48
- .optional()
49
- .describe('Dataset ID where results are stored'),
50
- items: z
51
- .array(z.unknown())
52
- .optional()
53
- .describe('Array of scraped items (if waitForFinish is true). Structure depends on the actor.'),
54
- itemsCount: z.number().optional().describe('Total number of items scraped'),
55
- consoleUrl: z.string().describe('URL to view the actor run in Apify console'),
56
- success: z.boolean().describe('Whether the operation was successful'),
57
- error: z.string().describe('Error message if operation failed'),
58
- });
59
- export class ApifyBubble extends ServiceBubble {
60
- static service = 'apify';
61
- static authType = 'apikey';
62
- static bubbleName = 'apify';
63
- static type = 'service';
64
- static schema = ApifyParamsSchema;
65
- static resultSchema = ApifyResultSchema;
66
- static shortDescription = 'Run any Apify actor for web scraping and automation';
67
- static longDescription = `
68
- Universal integration with Apify platform for running any Apify actor.
69
-
70
- This is a generic service bubble that can execute any Apify actor with any input.
71
- Actor-specific logic and data transformation should be handled by Tool Bubbles.
72
-
73
- Supported Actors (examples):
74
- - apify/instagram-scraper - Instagram posts, profiles, hashtags
75
- - apify/reddit-scraper - Reddit posts, comments, subreddits
76
- - apify/linkedin-scraper - LinkedIn profiles, companies, jobs
77
- - apify/web-scraper - Generic web scraping
78
- - apify/google-search-scraper - Google search results
79
- - And any other Apify actor available in the marketplace
80
-
81
- Features:
82
- - Asynchronous actor execution with optional wait for completion
83
- - Automatic result fetching from datasets
84
- - Generic result handling (works with any actor output)
85
- - Configurable limits and timeouts
86
- - Direct access to Apify console for monitoring
87
-
88
- Use cases:
89
- - Social media scraping (Instagram, Reddit, LinkedIn, etc.)
90
- - Web scraping and data extraction
91
- - Search engine result scraping
92
- - E-commerce data collection
93
- - Market research and competitor analysis
94
-
95
- Architecture:
96
- - Service Bubble (this): Generic Apify API integration
97
- - Tool Bubbles (e.g. InstagramTool): Domain-specific data transformation
98
-
99
- Security:
100
- - API key authentication (APIFY_CRED)
101
- - Secure credential injection at runtime
102
- `;
103
- static alias = 'scrape';
104
- constructor(params = {
105
- actorId: 'apify/web-scraper',
106
- input: {
107
- startUrls: [{ url: 'https://example.com' }],
108
- maxRequestsPerCrawl: 10,
109
- },
110
- }, context) {
111
- super(params, context);
112
- }
113
- chooseCredential() {
114
- const credentials = this.params.credentials;
115
- if (!credentials || typeof credentials !== 'object') {
116
- return undefined;
117
- }
118
- return credentials[CredentialType.APIFY_CRED];
119
- }
120
- async testCredential() {
121
- const apiToken = this.chooseCredential();
122
- if (!apiToken) {
123
- return false;
124
- }
125
- try {
126
- // Test the credential by making a simple API call to get user info
127
- const response = await fetch('https://api.apify.com/v2/users/me', {
128
- headers: {
129
- Authorization: `Bearer ${apiToken}`,
130
- },
131
- });
132
- return response.ok;
133
- }
134
- catch {
135
- return false;
136
- }
137
- }
138
- async performAction(context) {
139
- void context;
140
- const apiToken = this.chooseCredential();
141
- if (!apiToken) {
142
- return {
143
- runId: '',
144
- status: 'FAILED',
145
- consoleUrl: '',
146
- success: false,
147
- error: 'Apify API token is required but was not provided',
148
- };
149
- }
150
- try {
151
- const { actorId, input, waitForFinish, timeout } = this.params;
152
- // Start the actor run
153
- const runResponse = await this.startActorRun(apiToken, actorId, input);
154
- if (!runResponse.data?.id) {
155
- return {
156
- runId: '',
157
- status: 'FAILED',
158
- consoleUrl: '',
159
- success: false,
160
- error: 'Failed to start actor run - no run ID returned',
161
- };
162
- }
163
- const runId = runResponse.data.id;
164
- const consoleUrl = `https://console.apify.com/actors/runs/${runId}`;
165
- // If not waiting for finish, return immediately
166
- if (!waitForFinish) {
167
- return {
168
- runId,
169
- status: runResponse.data.status,
170
- datasetId: runResponse.data.defaultDatasetId,
171
- consoleUrl,
172
- success: true,
173
- error: '',
174
- };
175
- }
176
- // Wait for actor to finish
177
- const finalStatus = await this.waitForActorCompletion(apiToken, runId, timeout || 120000);
178
- if (finalStatus.status !== 'SUCCEEDED') {
179
- return {
180
- runId,
181
- status: finalStatus.status,
182
- datasetId: finalStatus.defaultDatasetId,
183
- consoleUrl,
184
- success: false,
185
- error: `Actor run ${finalStatus.status.toLowerCase()}: ${finalStatus.status}`,
186
- };
187
- }
188
- // Fetch results from dataset
189
- const items = [];
190
- let itemsCount = 0;
191
- if (finalStatus.defaultDatasetId) {
192
- const datasetItems = await this.fetchDatasetItems(apiToken, finalStatus.defaultDatasetId);
193
- items.push(...datasetItems);
194
- itemsCount = items.length;
195
- }
196
- return {
197
- runId,
198
- status: finalStatus.status,
199
- datasetId: finalStatus.defaultDatasetId,
200
- items,
201
- itemsCount,
202
- consoleUrl,
203
- success: true,
204
- error: '',
205
- };
206
- }
207
- catch (error) {
208
- return {
209
- runId: '',
210
- status: 'FAILED',
211
- consoleUrl: '',
212
- success: false,
213
- error: error instanceof Error ? error.message : 'Unknown error occurred',
214
- };
215
- }
216
- }
217
- async startActorRun(apiToken, actorId, input) {
218
- // Replace '/' with '~' in actor ID for API endpoint
219
- const apiActorId = actorId.replace('/', '~');
220
- const url = `https://api.apify.com/v2/acts/${apiActorId}/runs`;
221
- const response = await fetch(url, {
222
- method: 'POST',
223
- headers: {
224
- 'Content-Type': 'application/json',
225
- Authorization: `Bearer ${apiToken}`,
226
- },
227
- body: JSON.stringify(input),
228
- });
229
- if (!response.ok) {
230
- const errorText = await response.text();
231
- throw new Error(`Failed to start Apify actor: ${response.status} - ${errorText}`);
232
- }
233
- return response.json();
234
- }
235
- async waitForActorCompletion(apiToken, runId, timeout) {
236
- const startTime = Date.now();
237
- const pollInterval = 2000; // Poll every 2 seconds
238
- while (Date.now() - startTime < timeout) {
239
- const status = await this.getRunStatus(apiToken, runId);
240
- if (status.status === 'SUCCEEDED' ||
241
- status.status === 'FAILED' ||
242
- status.status === 'ABORTED' ||
243
- status.status === 'TIMED-OUT') {
244
- return status;
245
- }
246
- // Wait before polling again
247
- await new Promise((resolve) => setTimeout(resolve, pollInterval));
248
- }
249
- throw new Error(`Actor run timed out after ${timeout}ms`);
250
- }
251
- async getRunStatus(apiToken, runId) {
252
- const url = `https://api.apify.com/v2/actor-runs/${runId}`;
253
- const response = await fetch(url, {
254
- headers: {
255
- Authorization: `Bearer ${apiToken}`,
256
- },
257
- });
258
- if (!response.ok) {
259
- throw new Error(`Failed to get run status: ${response.status}`);
260
- }
261
- const data = (await response.json());
262
- return {
263
- status: data.data.status,
264
- defaultDatasetId: data.data.defaultDatasetId,
265
- };
266
- }
267
- async fetchDatasetItems(apiToken, datasetId) {
268
- const url = `https://api.apify.com/v2/datasets/${datasetId}/items`;
269
- const response = await fetch(url, {
270
- headers: {
271
- Authorization: `Bearer ${apiToken}`,
272
- },
273
- });
274
- if (!response.ok) {
275
- throw new Error(`Failed to fetch dataset items: ${response.status}`);
276
- }
277
- // Apify returns items directly as an array, not wrapped in a data object
278
- const items = (await response.json());
279
- return items;
280
- }
281
- }
282
- //# sourceMappingURL=apify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apify.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/apify.ts"],"names":[],"mappings":"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"}