@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,7 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { ToolBubble } from '../../types/tool-bubble-class.js';
3
- import FirecrawlApp, {} from '@mendable/firecrawl-js';
3
+ import { FirecrawlBubble } from '../service-bubble/firecrawl.js';
4
4
  import { CredentialType } from '@bubblelab/shared-schemas';
5
+ // Firecrawl charges 2 credits per 10 search results
6
+ const CREDITS_PER_10_RESULTS = 2;
5
7
  // Define the parameters schema - simplified like the MCP server
6
8
  const WebSearchToolParamsSchema = z.object({
7
9
  query: z
@@ -10,10 +12,13 @@ const WebSearchToolParamsSchema = z.object({
10
12
  .describe('The search query to execute'),
11
13
  limit: z
12
14
  .number()
13
- .min(1, 'Minimum number of search results to return is 1')
14
- .max(5, 'Maximum number of search results to return is 5')
15
- .default(3)
15
+ .max(50, 'Maximum number of search results to return is 20')
16
+ .default(10)
16
17
  .describe('Maximum number of search results to return'),
18
+ categories: z
19
+ .array(z.enum(['research', 'pdf', 'github']))
20
+ .default([])
21
+ .describe('Categories to find most relevant search results (research, pdf, github)'),
17
22
  location: z
18
23
  .string()
19
24
  .optional()
@@ -35,10 +40,12 @@ const WebSearchToolResultSchema = z.object({
35
40
  query: z.string().describe('The original search query'),
36
41
  totalResults: z.number().describe('Number of results returned'),
37
42
  searchEngine: z.string().describe('Search engine used (Firecrawl)'),
43
+ creditsUsed: z.number().describe('Number of credits used'),
38
44
  success: z.boolean().describe('Whether the search was successful'),
39
45
  error: z.string().describe('Error message if search failed'),
40
46
  });
41
47
  export class WebSearchTool extends ToolBubble {
48
+ // Delay between searches in milliseconds
42
49
  // Required static metadata
43
50
  static bubbleName = 'web-search-tool';
44
51
  static schema = WebSearchToolParamsSchema;
@@ -69,27 +76,16 @@ export class WebSearchTool extends ToolBubble {
69
76
  }
70
77
  async performAction(context) {
71
78
  void context; // Context available but not currently used
72
- const { query, limit, location } = this.params;
79
+ const { query, limit, location, credentials } = this.params;
73
80
  try {
74
- // Validate limit range
75
- const limitedResults = Math.min(Math.max(limit, 1), 20);
76
- // Get Firecrawl API key from credentials
77
- const apiKey = this.params.credentials?.FIRECRAWL_API_KEY;
78
- if (!apiKey) {
79
- throw new Error('FIRECRAWL_API_KEY is required but not provided in credentials');
80
- }
81
- // Initialize Firecrawl client
82
- const firecrawl = new FirecrawlApp({ apiKey });
81
+ // Limit should be multiple of 10
82
+ const limitedResults = Math.ceil(limit / 10) * 10;
83
83
  // Build search parameters according to Firecrawl API with defaults
84
84
  const searchOptions = {
85
85
  limit: limitedResults,
86
86
  // Default sources to web search
87
87
  sources: ['web'],
88
- // Default scrape options for better content extraction
89
- scrapeOptions: {
90
- formats: ['markdown'],
91
- onlyMainContent: true,
92
- },
88
+ timeout: 30000,
93
89
  };
94
90
  // Add optional parameters if provided
95
91
  if (location) {
@@ -99,25 +95,38 @@ export class WebSearchTool extends ToolBubble {
99
95
  query,
100
96
  ...searchOptions,
101
97
  });
98
+ // Initialize Firecrawl bubble
99
+ const firecrawlParams = {
100
+ operation: 'search',
101
+ credentials,
102
+ query,
103
+ ...searchOptions,
104
+ };
105
+ const firecrawl = new FirecrawlBubble(firecrawlParams, this.context, 'web_search_tool_firecrawl');
102
106
  // Execute search using Firecrawl
103
- const searchResult = await firecrawl.search(query, searchOptions);
107
+ const response = await firecrawl.action();
104
108
  // Handle the response based on Firecrawl's actual API structure
105
109
  // The search API might return different structures, so handle both cases
106
110
  let resultsArray = [];
107
- if (Array.isArray(searchResult)) {
108
- resultsArray = searchResult;
111
+ if (!response.success) {
112
+ return {
113
+ results: [],
114
+ query,
115
+ creditsUsed: 0,
116
+ totalResults: 0,
117
+ searchEngine: 'Firecrawl',
118
+ success: false,
119
+ error: response.error || 'Search failed',
120
+ };
121
+ }
122
+ else if (response.data.web) {
123
+ resultsArray = response.data.web;
124
+ }
125
+ else if (response.data.other) {
126
+ resultsArray = response.data.other;
109
127
  }
110
128
  else {
111
- const response = searchResult;
112
- if (response?.data && Array.isArray(response.data)) {
113
- resultsArray = response.data;
114
- }
115
- else if (response?.web && Array.isArray(response.web)) {
116
- resultsArray = response.web;
117
- }
118
- else {
119
- throw new Error('No search results returned or unexpected response format');
120
- }
129
+ throw new Error('No search results returned or unexpected response format');
121
130
  }
122
131
  // Transform Firecrawl results to our format
123
132
  const results = resultsArray.map((item) => ({
@@ -129,11 +138,15 @@ export class WebSearchTool extends ToolBubble {
129
138
  item.markdown ||
130
139
  'No content available',
131
140
  }));
141
+ // Calculate credits: Firecrawl charges 2 credits per 10 results (rounded up)
142
+ // Token usage tracking is now centralized in FirecrawlBubble
143
+ const creditsUsed = Math.ceil(results.length / 10) * CREDITS_PER_10_RESULTS;
132
144
  return {
133
145
  results,
134
146
  query,
135
147
  totalResults: results.length,
136
148
  searchEngine: 'Firecrawl',
149
+ creditsUsed,
137
150
  success: true,
138
151
  error: '',
139
152
  };
@@ -144,6 +157,7 @@ export class WebSearchTool extends ToolBubble {
144
157
  return {
145
158
  results: [],
146
159
  query,
160
+ creditsUsed: 0,
147
161
  totalResults: 0,
148
162
  searchEngine: 'Firecrawl',
149
163
  success: false,
@@ -1 +1 @@
1
- {"version":3,"file":"web-search-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-search-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,YAAY,EAAE,EAAsB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAmB5E,gEAAgE;AAChE,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,iDAAiD,CAAC;SACzD,GAAG,CAAC,CAAC,EAAE,iDAAiD,CAAC;SACzD,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,4CAA4C,CAAC;IACzD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChD,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;CAChE,CAAC,CAAC;AAEH,+BAA+B;AAC/B,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACxD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KACvE,CAAC,CACH;SACA,QAAQ,CAAC,sDAAsD,CAAC;IACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACvD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CAC7D,CAAC,CAAC;AAOH,MAAM,OAAO,aAAc,SAAQ,UAGlC;IACC,2BAA2B;IAC3B,MAAM,CAAU,UAAU,GAAe,iBAAiB,CAAC;IAC3D,MAAM,CAAU,MAAM,GAAG,yBAAyB,CAAC;IACnD,MAAM,CAAU,YAAY,GAAG,yBAAyB,CAAC;IACzD,MAAM,CAAU,gBAAgB,GAC9B,gFAAgF,CAAC;IACnF,MAAM,CAAU,eAAe,GAAG;;;;;;;;;;;;;;;;;GAiBjC,CAAC;IACF,MAAM,CAAU,KAAK,GAAG,WAAW,CAAC;IACpC,MAAM,CAAU,IAAI,GAAG,MAAM,CAAC;IAE9B,YACE,SAAmC,EAAE,KAAK,EAAE,EAAE,EAAE,EAChD,OAAuB;QAEvB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAuB;QACzC,KAAK,OAAO,CAAC,CAAC,2CAA2C;QAEzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE/C,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAExD,yCAAyC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAE/C,mEAAmE;YACnE,MAAM,aAAa,GAAiC;gBAClD,KAAK,EAAE,cAAc;gBACrB,gCAAgC;gBAChC,OAAO,EAAE,CAAC,KAAK,CAAC;gBAChB,uDAAuD;gBACvD,aAAa,EAAE;oBACb,OAAO,EAAE,CAAC,UAAU,CAAC;oBACrB,eAAe,EAAE,IAAI;iBACtB;aACF,CAAC;YAEF,sCAAsC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACpC,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE;gBACpD,KAAK;gBACL,GAAG,aAAa;aACjB,CAAC,CAAC;YAEH,iCAAiC;YACjC,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAElE,gEAAgE;YAChE,yEAAyE;YACzE,IAAI,YAAY,GAA4B,EAAE,CAAC;YAE/C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,YAAY,GAAG,YAAuC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,YAAuC,CAAC;gBACzD,IAAI,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC/B,CAAC;qBAAM,IAAI,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxD,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAA2B,EAAE,EAAE,CAAC,CAAC;gBACjE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU;gBAC5C,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;gBAChC,OAAO,EACL,IAAI,CAAC,OAAO;oBACZ,IAAI,CAAC,WAAW;oBAChB,IAAI,CAAC,IAAI;oBACT,IAAI,CAAC,QAAQ;oBACb,sBAAsB;aACzB,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO;gBACP,KAAK;gBACL,YAAY,EAAE,OAAO,CAAC,MAAM;gBAC5B,YAAY,EAAE,WAAW;gBACzB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAEtD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAE3D,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,KAAK;gBACL,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,WAAW;gBACzB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"web-search-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-search-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,394 @@
1
+ import { z } from 'zod';
2
+ import { ToolBubble } from '../../types/tool-bubble-class.js';
3
+ import type { BubbleContext } from '../../types/bubble.js';
4
+ import { CredentialType, type BubbleName } from '@bubblelab/shared-schemas';
5
+ declare const YouTubeVideoSchema: z.ZodObject<{
6
+ title: z.ZodNullable<z.ZodString>;
7
+ id: z.ZodNullable<z.ZodString>;
8
+ url: z.ZodNullable<z.ZodString>;
9
+ viewCount: z.ZodNullable<z.ZodNumber>;
10
+ likes: z.ZodNullable<z.ZodNumber>;
11
+ date: z.ZodNullable<z.ZodString>;
12
+ channelName: z.ZodNullable<z.ZodString>;
13
+ channelUrl: z.ZodNullable<z.ZodString>;
14
+ subscribers: z.ZodNullable<z.ZodNumber>;
15
+ duration: z.ZodNullable<z.ZodString>;
16
+ description: z.ZodNullable<z.ZodString>;
17
+ comments: z.ZodNullable<z.ZodNumber>;
18
+ thumbnail: z.ZodNullable<z.ZodString>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ duration: string | null;
21
+ description: string | null;
22
+ title: string | null;
23
+ date: string | null;
24
+ url: string | null;
25
+ id: string | null;
26
+ thumbnail: string | null;
27
+ comments: number | null;
28
+ viewCount: number | null;
29
+ likes: number | null;
30
+ channelName: string | null;
31
+ channelUrl: string | null;
32
+ subscribers: number | null;
33
+ }, {
34
+ duration: string | null;
35
+ description: string | null;
36
+ title: string | null;
37
+ date: string | null;
38
+ url: string | null;
39
+ id: string | null;
40
+ thumbnail: string | null;
41
+ comments: number | null;
42
+ viewCount: number | null;
43
+ likes: number | null;
44
+ channelName: string | null;
45
+ channelUrl: string | null;
46
+ subscribers: number | null;
47
+ }>;
48
+ declare const YouTubeTranscriptSegmentSchema: z.ZodObject<{
49
+ start: z.ZodNullable<z.ZodString>;
50
+ duration: z.ZodNullable<z.ZodString>;
51
+ text: z.ZodNullable<z.ZodString>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ duration: string | null;
54
+ text: string | null;
55
+ start: string | null;
56
+ }, {
57
+ duration: string | null;
58
+ text: string | null;
59
+ start: string | null;
60
+ }>;
61
+ declare const YouTubeToolParamsSchema: z.ZodObject<{
62
+ operation: z.ZodEnum<["searchVideos", "getTranscript", "scrapeChannel"]>;
63
+ searchQueries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
64
+ videoUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
65
+ channelUrl: z.ZodOptional<z.ZodString>;
66
+ videoUrl: z.ZodOptional<z.ZodString>;
67
+ maxResults: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
68
+ includeShorts: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
69
+ credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ operation: "searchVideos" | "getTranscript" | "scrapeChannel";
72
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
73
+ maxResults?: number | undefined;
74
+ videoUrl?: string | undefined;
75
+ searchQueries?: string[] | undefined;
76
+ channelUrl?: string | undefined;
77
+ videoUrls?: string[] | undefined;
78
+ includeShorts?: boolean | undefined;
79
+ }, {
80
+ operation: "searchVideos" | "getTranscript" | "scrapeChannel";
81
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
82
+ maxResults?: number | undefined;
83
+ videoUrl?: string | undefined;
84
+ searchQueries?: string[] | undefined;
85
+ channelUrl?: string | undefined;
86
+ videoUrls?: string[] | undefined;
87
+ includeShorts?: boolean | undefined;
88
+ }>;
89
+ declare const YouTubeToolResultSchema: z.ZodObject<{
90
+ operation: z.ZodEnum<["searchVideos", "getTranscript", "scrapeChannel"]>;
91
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
92
+ title: z.ZodNullable<z.ZodString>;
93
+ id: z.ZodNullable<z.ZodString>;
94
+ url: z.ZodNullable<z.ZodString>;
95
+ viewCount: z.ZodNullable<z.ZodNumber>;
96
+ likes: z.ZodNullable<z.ZodNumber>;
97
+ date: z.ZodNullable<z.ZodString>;
98
+ channelName: z.ZodNullable<z.ZodString>;
99
+ channelUrl: z.ZodNullable<z.ZodString>;
100
+ subscribers: z.ZodNullable<z.ZodNumber>;
101
+ duration: z.ZodNullable<z.ZodString>;
102
+ description: z.ZodNullable<z.ZodString>;
103
+ comments: z.ZodNullable<z.ZodNumber>;
104
+ thumbnail: z.ZodNullable<z.ZodString>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ duration: string | null;
107
+ description: string | null;
108
+ title: string | null;
109
+ date: string | null;
110
+ url: string | null;
111
+ id: string | null;
112
+ thumbnail: string | null;
113
+ comments: number | null;
114
+ viewCount: number | null;
115
+ likes: number | null;
116
+ channelName: string | null;
117
+ channelUrl: string | null;
118
+ subscribers: number | null;
119
+ }, {
120
+ duration: string | null;
121
+ description: string | null;
122
+ title: string | null;
123
+ date: string | null;
124
+ url: string | null;
125
+ id: string | null;
126
+ thumbnail: string | null;
127
+ comments: number | null;
128
+ viewCount: number | null;
129
+ likes: number | null;
130
+ channelName: string | null;
131
+ channelUrl: string | null;
132
+ subscribers: number | null;
133
+ }>, "many">>;
134
+ transcript: z.ZodOptional<z.ZodArray<z.ZodObject<{
135
+ start: z.ZodNullable<z.ZodString>;
136
+ duration: z.ZodNullable<z.ZodString>;
137
+ text: z.ZodNullable<z.ZodString>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ duration: string | null;
140
+ text: string | null;
141
+ start: string | null;
142
+ }, {
143
+ duration: string | null;
144
+ text: string | null;
145
+ start: string | null;
146
+ }>, "many">>;
147
+ fullTranscriptText: z.ZodOptional<z.ZodString>;
148
+ totalResults: z.ZodNumber;
149
+ success: z.ZodBoolean;
150
+ error: z.ZodString;
151
+ }, "strip", z.ZodTypeAny, {
152
+ error: string;
153
+ success: boolean;
154
+ operation: "searchVideos" | "getTranscript" | "scrapeChannel";
155
+ totalResults: number;
156
+ videos?: {
157
+ duration: string | null;
158
+ description: string | null;
159
+ title: string | null;
160
+ date: string | null;
161
+ url: string | null;
162
+ id: string | null;
163
+ thumbnail: string | null;
164
+ comments: number | null;
165
+ viewCount: number | null;
166
+ likes: number | null;
167
+ channelName: string | null;
168
+ channelUrl: string | null;
169
+ subscribers: number | null;
170
+ }[] | undefined;
171
+ transcript?: {
172
+ duration: string | null;
173
+ text: string | null;
174
+ start: string | null;
175
+ }[] | undefined;
176
+ fullTranscriptText?: string | undefined;
177
+ }, {
178
+ error: string;
179
+ success: boolean;
180
+ operation: "searchVideos" | "getTranscript" | "scrapeChannel";
181
+ totalResults: number;
182
+ videos?: {
183
+ duration: string | null;
184
+ description: string | null;
185
+ title: string | null;
186
+ date: string | null;
187
+ url: string | null;
188
+ id: string | null;
189
+ thumbnail: string | null;
190
+ comments: number | null;
191
+ viewCount: number | null;
192
+ likes: number | null;
193
+ channelName: string | null;
194
+ channelUrl: string | null;
195
+ subscribers: number | null;
196
+ }[] | undefined;
197
+ transcript?: {
198
+ duration: string | null;
199
+ text: string | null;
200
+ start: string | null;
201
+ }[] | undefined;
202
+ fullTranscriptText?: string | undefined;
203
+ }>;
204
+ type YouTubeToolParams = z.output<typeof YouTubeToolParamsSchema>;
205
+ type YouTubeToolResult = z.output<typeof YouTubeToolResultSchema>;
206
+ type YouTubeToolParamsInput = z.input<typeof YouTubeToolParamsSchema>;
207
+ export type YouTubeVideo = z.output<typeof YouTubeVideoSchema>;
208
+ export type YouTubeTranscriptSegment = z.output<typeof YouTubeTranscriptSegmentSchema>;
209
+ /**
210
+ * Simple, dev-friendly YouTube tool
211
+ *
212
+ * Provides easy access to YouTube data through three operations:
213
+ * - searchVideos: Search YouTube or scrape video/channel/playlist URLs
214
+ * - getTranscript: Extract video transcripts with timestamps
215
+ * - scrapeChannel: Get all videos from a channel
216
+ */
217
+ export declare class YouTubeTool extends ToolBubble<YouTubeToolParams, YouTubeToolResult> {
218
+ static readonly bubbleName: BubbleName;
219
+ static readonly schema: z.ZodObject<{
220
+ operation: z.ZodEnum<["searchVideos", "getTranscript", "scrapeChannel"]>;
221
+ searchQueries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
222
+ videoUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
223
+ channelUrl: z.ZodOptional<z.ZodString>;
224
+ videoUrl: z.ZodOptional<z.ZodString>;
225
+ maxResults: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
226
+ includeShorts: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
227
+ credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ operation: "searchVideos" | "getTranscript" | "scrapeChannel";
230
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
231
+ maxResults?: number | undefined;
232
+ videoUrl?: string | undefined;
233
+ searchQueries?: string[] | undefined;
234
+ channelUrl?: string | undefined;
235
+ videoUrls?: string[] | undefined;
236
+ includeShorts?: boolean | undefined;
237
+ }, {
238
+ operation: "searchVideos" | "getTranscript" | "scrapeChannel";
239
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
240
+ maxResults?: number | undefined;
241
+ videoUrl?: string | undefined;
242
+ searchQueries?: string[] | undefined;
243
+ channelUrl?: string | undefined;
244
+ videoUrls?: string[] | undefined;
245
+ includeShorts?: boolean | undefined;
246
+ }>;
247
+ static readonly resultSchema: z.ZodObject<{
248
+ operation: z.ZodEnum<["searchVideos", "getTranscript", "scrapeChannel"]>;
249
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
250
+ title: z.ZodNullable<z.ZodString>;
251
+ id: z.ZodNullable<z.ZodString>;
252
+ url: z.ZodNullable<z.ZodString>;
253
+ viewCount: z.ZodNullable<z.ZodNumber>;
254
+ likes: z.ZodNullable<z.ZodNumber>;
255
+ date: z.ZodNullable<z.ZodString>;
256
+ channelName: z.ZodNullable<z.ZodString>;
257
+ channelUrl: z.ZodNullable<z.ZodString>;
258
+ subscribers: z.ZodNullable<z.ZodNumber>;
259
+ duration: z.ZodNullable<z.ZodString>;
260
+ description: z.ZodNullable<z.ZodString>;
261
+ comments: z.ZodNullable<z.ZodNumber>;
262
+ thumbnail: z.ZodNullable<z.ZodString>;
263
+ }, "strip", z.ZodTypeAny, {
264
+ duration: string | null;
265
+ description: string | null;
266
+ title: string | null;
267
+ date: string | null;
268
+ url: string | null;
269
+ id: string | null;
270
+ thumbnail: string | null;
271
+ comments: number | null;
272
+ viewCount: number | null;
273
+ likes: number | null;
274
+ channelName: string | null;
275
+ channelUrl: string | null;
276
+ subscribers: number | null;
277
+ }, {
278
+ duration: string | null;
279
+ description: string | null;
280
+ title: string | null;
281
+ date: string | null;
282
+ url: string | null;
283
+ id: string | null;
284
+ thumbnail: string | null;
285
+ comments: number | null;
286
+ viewCount: number | null;
287
+ likes: number | null;
288
+ channelName: string | null;
289
+ channelUrl: string | null;
290
+ subscribers: number | null;
291
+ }>, "many">>;
292
+ transcript: z.ZodOptional<z.ZodArray<z.ZodObject<{
293
+ start: z.ZodNullable<z.ZodString>;
294
+ duration: z.ZodNullable<z.ZodString>;
295
+ text: z.ZodNullable<z.ZodString>;
296
+ }, "strip", z.ZodTypeAny, {
297
+ duration: string | null;
298
+ text: string | null;
299
+ start: string | null;
300
+ }, {
301
+ duration: string | null;
302
+ text: string | null;
303
+ start: string | null;
304
+ }>, "many">>;
305
+ fullTranscriptText: z.ZodOptional<z.ZodString>;
306
+ totalResults: z.ZodNumber;
307
+ success: z.ZodBoolean;
308
+ error: z.ZodString;
309
+ }, "strip", z.ZodTypeAny, {
310
+ error: string;
311
+ success: boolean;
312
+ operation: "searchVideos" | "getTranscript" | "scrapeChannel";
313
+ totalResults: number;
314
+ videos?: {
315
+ duration: string | null;
316
+ description: string | null;
317
+ title: string | null;
318
+ date: string | null;
319
+ url: string | null;
320
+ id: string | null;
321
+ thumbnail: string | null;
322
+ comments: number | null;
323
+ viewCount: number | null;
324
+ likes: number | null;
325
+ channelName: string | null;
326
+ channelUrl: string | null;
327
+ subscribers: number | null;
328
+ }[] | undefined;
329
+ transcript?: {
330
+ duration: string | null;
331
+ text: string | null;
332
+ start: string | null;
333
+ }[] | undefined;
334
+ fullTranscriptText?: string | undefined;
335
+ }, {
336
+ error: string;
337
+ success: boolean;
338
+ operation: "searchVideos" | "getTranscript" | "scrapeChannel";
339
+ totalResults: number;
340
+ videos?: {
341
+ duration: string | null;
342
+ description: string | null;
343
+ title: string | null;
344
+ date: string | null;
345
+ url: string | null;
346
+ id: string | null;
347
+ thumbnail: string | null;
348
+ comments: number | null;
349
+ viewCount: number | null;
350
+ likes: number | null;
351
+ channelName: string | null;
352
+ channelUrl: string | null;
353
+ subscribers: number | null;
354
+ }[] | undefined;
355
+ transcript?: {
356
+ duration: string | null;
357
+ text: string | null;
358
+ start: string | null;
359
+ }[] | undefined;
360
+ fullTranscriptText?: string | undefined;
361
+ }>;
362
+ static readonly shortDescription = "Search YouTube videos, extract transcripts, and scrape channel content with a simple interface";
363
+ static readonly longDescription = "\n Universal YouTube tool for video search, transcript extraction, and channel scraping.\n\n **OPERATIONS:**\n 1. **searchVideos**: Search YouTube or scrape specific URLs\n - Search by keywords\n - Scrape videos, channels, playlists, or hashtags\n - Get video metadata, views, likes, channel info\n\n 2. **getTranscript**: Extract video transcripts\n - Get timestamped transcript segments\n - Full transcript text available\n - Perfect for content analysis or subtitles\n\n 3. **scrapeChannel**: Get all videos from a channel\n - Fetch recent videos from any channel\n - Sort by newest, popular, or oldest\n - Get comprehensive video data\n\n **WHEN TO USE THIS TOOL:**\n - YouTube video search and discovery\n - Content analysis and research\n - Transcript extraction for AI/ML\n - Channel monitoring and tracking\n - Video metadata collection\n\n **Simple Interface:**\n Just specify the operation and provide search terms or URLs.\n The tool handles service selection, data transformation, and error handling.\n\n **What you get:**\n - Clean, structured video data\n - Timestamped transcripts\n - Channel and engagement metrics\n - Ready for analysis or processing\n ";
364
+ static readonly alias = "yt";
365
+ static readonly type = "tool";
366
+ constructor(params?: YouTubeToolParamsInput, context?: BubbleContext, instanceId?: string);
367
+ performAction(): Promise<YouTubeToolResult>;
368
+ /**
369
+ * Create error result
370
+ */
371
+ private createErrorResult;
372
+ /**
373
+ * Handle searchVideos operation
374
+ */
375
+ private handleSearchVideos;
376
+ /**
377
+ * Handle getTranscript operation
378
+ */
379
+ private handleGetTranscript;
380
+ /**
381
+ * Handle scrapeChannel operation
382
+ */
383
+ private handleScrapeChannel;
384
+ /**
385
+ * Transform Apify video data to unified format
386
+ */
387
+ private transformVideos;
388
+ /**
389
+ * Create empty video object
390
+ */
391
+ private createEmptyVideo;
392
+ }
393
+ export {};
394
+ //# sourceMappingURL=youtube-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/youtube-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAK5E,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActB,CAAC;AAEH,QAAA,MAAM,8BAA8B;;;;;;;;;;;;EAIlC,CAAC;AAGH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsD3B,CAAC;AAGH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B3B,CAAC;AAGH,KAAK,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAClE,KAAK,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAClE,KAAK,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC/D,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAC7C,OAAO,8BAA8B,CACtC,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,WAAY,SAAQ,UAAU,CACzC,iBAAiB,EACjB,iBAAiB,CAClB;IACC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAkB;IACxD,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA2B;IACjD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA2B;IACvD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,oGACmE;IACnG,MAAM,CAAC,QAAQ,CAAC,eAAe,wwCAmC7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ;IAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;gBAG5B,MAAM,GAAE,sBAIP,EACD,OAAO,CAAC,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM;IAKf,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAsDjD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;YACW,kBAAkB;IAwChC;;OAEG;YACW,mBAAmB;IAsDjC;;OAEG;YACW,mBAAmB;IAqCjC;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAiBzB"}