@bubblelab/bubble-core 0.1.10 → 0.1.12

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 (350) hide show
  1. package/dist/bubble-bundle.d.ts +803 -351
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +130 -35
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubble-flow/bubble-flow-class.d.ts +5 -0
  6. package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -1
  7. package/dist/bubble-flow/bubble-flow-class.js +20 -0
  8. package/dist/bubble-flow/bubble-flow-class.js.map +1 -1
  9. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -1
  10. package/dist/bubble-flow/sample/simplified-data-analysis.flow.js +6 -3
  11. package/dist/bubble-flow/sample/simplified-data-analysis.flow.js.map +1 -1
  12. package/dist/bubbles/service-bubble/agi-inc.d.ts +1121 -0
  13. package/dist/bubbles/service-bubble/agi-inc.d.ts.map +1 -0
  14. package/dist/bubbles/service-bubble/agi-inc.js +730 -0
  15. package/dist/bubbles/service-bubble/agi-inc.js.map +1 -0
  16. package/dist/bubbles/service-bubble/ai-agent.d.ts +273 -61
  17. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  18. package/dist/bubbles/service-bubble/ai-agent.js +536 -405
  19. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  20. package/dist/bubbles/service-bubble/airtable.d.ts +1753 -0
  21. package/dist/bubbles/service-bubble/airtable.d.ts.map +1 -0
  22. package/dist/bubbles/service-bubble/airtable.js +1173 -0
  23. package/dist/bubbles/service-bubble/airtable.js.map +1 -0
  24. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts +240 -0
  25. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts.map +1 -0
  26. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.js +119 -0
  27. package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.js.map +1 -0
  28. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +4 -4
  29. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +14 -14
  30. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +137 -0
  31. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts.map +1 -0
  32. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.js +81 -0
  33. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.js.map +1 -0
  34. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +6 -6
  35. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +32 -32
  36. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +488 -0
  37. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts.map +1 -0
  38. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.js +463 -0
  39. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.js.map +1 -0
  40. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +262 -0
  41. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts.map +1 -0
  42. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.js +291 -0
  43. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.js.map +1 -0
  44. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
  45. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +1301 -170
  46. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts.map +1 -1
  47. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js +32 -0
  48. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js.map +1 -1
  49. package/dist/bubbles/service-bubble/apify/apify.d.ts +158 -13
  50. package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -1
  51. package/dist/bubbles/service-bubble/apify/apify.js +222 -37
  52. package/dist/bubbles/service-bubble/apify/apify.js.map +1 -1
  53. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +542 -0
  54. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -0
  55. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts +37 -0
  56. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts.map +1 -0
  57. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js +203 -0
  58. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js.map +1 -0
  59. package/dist/bubbles/service-bubble/browserbase/browserbase.js +593 -0
  60. package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -0
  61. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +518 -0
  62. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -0
  63. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +311 -0
  64. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -0
  65. package/dist/bubbles/service-bubble/browserbase/index.d.ts +3 -0
  66. package/dist/bubbles/service-bubble/browserbase/index.d.ts.map +1 -0
  67. package/dist/bubbles/service-bubble/browserbase/index.js +3 -0
  68. package/dist/bubbles/service-bubble/browserbase/index.js.map +1 -0
  69. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +1358 -0
  70. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts.map +1 -0
  71. package/dist/bubbles/service-bubble/crustdata/crustdata.js +219 -0
  72. package/dist/bubbles/service-bubble/crustdata/crustdata.js.map +1 -0
  73. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +1604 -0
  74. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts.map +1 -0
  75. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js +194 -0
  76. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js.map +1 -0
  77. package/dist/bubbles/service-bubble/crustdata/index.d.ts +3 -0
  78. package/dist/bubbles/service-bubble/crustdata/index.d.ts.map +1 -0
  79. package/dist/bubbles/service-bubble/crustdata/index.js +3 -0
  80. package/dist/bubbles/service-bubble/crustdata/index.js.map +1 -0
  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 +2393 -0
  94. package/dist/bubbles/service-bubble/github.d.ts.map +1 -0
  95. package/dist/bubbles/service-bubble/github.js +1046 -0
  96. package/dist/bubbles/service-bubble/github.js.map +1 -0
  97. package/dist/bubbles/service-bubble/gmail.d.ts +180 -180
  98. package/dist/bubbles/service-bubble/google-calendar.d.ts +60 -60
  99. package/dist/bubbles/service-bubble/google-drive.d.ts +69 -68
  100. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
  101. package/dist/bubbles/service-bubble/google-drive.js +35 -3
  102. package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
  103. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +943 -0
  104. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts.map +1 -0
  105. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts +31 -0
  106. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts.map +1 -0
  107. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js +184 -0
  108. package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js.map +1 -0
  109. package/dist/bubbles/service-bubble/google-sheets/google-sheets.js +401 -0
  110. package/dist/bubbles/service-bubble/google-sheets/google-sheets.js.map +1 -0
  111. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +1024 -0
  112. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts.map +1 -0
  113. package/dist/bubbles/service-bubble/{google-sheets.js → google-sheets/google-sheets.schema.js} +45 -409
  114. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.js.map +1 -0
  115. package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.d.ts +38 -0
  116. package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.d.ts.map +1 -0
  117. package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.js +183 -0
  118. package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.js.map +1 -0
  119. package/dist/bubbles/service-bubble/google-sheets/index.d.ts +4 -0
  120. package/dist/bubbles/service-bubble/google-sheets/index.d.ts.map +1 -0
  121. package/dist/bubbles/service-bubble/google-sheets/index.js +4 -0
  122. package/dist/bubbles/service-bubble/google-sheets/index.js.map +1 -0
  123. package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
  124. package/dist/bubbles/service-bubble/http.d.ts +17 -5
  125. package/dist/bubbles/service-bubble/http.d.ts.map +1 -1
  126. package/dist/bubbles/service-bubble/http.integration.flow.d.ts +49 -0
  127. package/dist/bubbles/service-bubble/http.integration.flow.d.ts.map +1 -0
  128. package/dist/bubbles/service-bubble/http.integration.flow.js +425 -0
  129. package/dist/bubbles/service-bubble/http.integration.flow.js.map +1 -0
  130. package/dist/bubbles/service-bubble/http.js +47 -5
  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 +12 -12
  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 +1741 -798
  154. package/dist/bubbles/service-bubble/slack.d.ts.map +1 -1
  155. package/dist/bubbles/service-bubble/slack.js +322 -28
  156. package/dist/bubbles/service-bubble/slack.js.map +1 -1
  157. package/dist/bubbles/service-bubble/storage.d.ts +26 -22
  158. package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
  159. package/dist/bubbles/service-bubble/storage.js +45 -4
  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/amazon-shopping-tool/amazon-shopping-tool.d.ts +494 -0
  166. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts.map +1 -0
  167. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts +31 -0
  168. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts.map +1 -0
  169. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js +100 -0
  170. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js.map +1 -0
  171. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.js +1301 -0
  172. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.js.map +1 -0
  173. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +473 -0
  174. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts.map +1 -0
  175. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.js +230 -0
  176. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.js.map +1 -0
  177. package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.d.ts +3 -0
  178. package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.d.ts.map +1 -0
  179. package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.js +3 -0
  180. package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.js.map +1 -0
  181. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +76 -20
  182. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts.map +1 -1
  183. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js +12 -0
  184. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js.map +1 -1
  185. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +14 -14
  186. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +188 -0
  187. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts.map +1 -0
  188. package/dist/bubbles/tool-bubble/code-edit-tool.js +321 -0
  189. package/dist/bubbles/tool-bubble/code-edit-tool.js.map +1 -0
  190. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +740 -0
  191. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts.map +1 -0
  192. package/dist/bubbles/tool-bubble/company-enrichment-tool.js +350 -0
  193. package/dist/bubbles/tool-bubble/company-enrichment-tool.js.map +1 -0
  194. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +8 -4
  195. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -1
  196. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +115 -10
  197. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -1
  198. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +455 -0
  199. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts.map +1 -0
  200. package/dist/bubbles/tool-bubble/google-maps-tool.js +206 -0
  201. package/dist/bubbles/tool-bubble/google-maps-tool.js.map +1 -0
  202. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +36 -36
  203. package/dist/bubbles/tool-bubble/instagram-tool.d.ts.map +1 -1
  204. package/dist/bubbles/tool-bubble/instagram-tool.js +4 -2
  205. package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -1
  206. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +830 -453
  207. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -1
  208. package/dist/bubbles/tool-bubble/linkedin-tool.js +236 -14
  209. package/dist/bubbles/tool-bubble/linkedin-tool.js.map +1 -1
  210. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
  211. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +66 -66
  212. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +17 -16
  213. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts.map +1 -1
  214. package/dist/bubbles/tool-bubble/research-agent-tool.js +32 -17
  215. package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
  216. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  217. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +485 -0
  218. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts.map +1 -0
  219. package/dist/bubbles/tool-bubble/tiktok-tool.js +226 -0
  220. package/dist/bubbles/tool-bubble/tiktok-tool.js.map +1 -0
  221. package/dist/bubbles/tool-bubble/tool-template.d.ts +8 -8
  222. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +947 -0
  223. package/dist/bubbles/tool-bubble/twitter-tool.d.ts.map +1 -0
  224. package/dist/bubbles/tool-bubble/twitter-tool.js +497 -0
  225. package/dist/bubbles/tool-bubble/twitter-tool.js.map +1 -0
  226. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +22 -16
  227. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts.map +1 -1
  228. package/dist/bubbles/tool-bubble/web-crawl-tool.js +58 -59
  229. package/dist/bubbles/tool-bubble/web-crawl-tool.js.map +1 -1
  230. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +8 -8
  231. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts.map +1 -1
  232. package/dist/bubbles/tool-bubble/web-extract-tool.js +17 -17
  233. package/dist/bubbles/tool-bubble/web-extract-tool.js.map +1 -1
  234. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +21 -113
  235. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts.map +1 -1
  236. package/dist/bubbles/tool-bubble/web-scrape-tool.js +55 -73
  237. package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -1
  238. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +20 -9
  239. package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -1
  240. package/dist/bubbles/tool-bubble/web-search-tool.js +45 -35
  241. package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -1
  242. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +25 -25
  243. package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -1
  244. package/dist/bubbles/tool-bubble/youtube-tool.js +8 -5
  245. package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -1
  246. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  247. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +30 -30
  248. package/dist/bubbles/workflow-bubble/generate-document.workflow.js +1 -1
  249. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +22 -22
  250. package/dist/bubbles/workflow-bubble/parse-document.workflow.js +1 -1
  251. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +70 -70
  252. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -1
  253. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js +4 -4
  254. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -1
  255. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +36 -36
  256. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +1 -1
  257. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +14 -14
  258. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts.map +1 -1
  259. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +6 -6
  260. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -1
  261. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +18 -18
  262. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts.map +1 -1
  263. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js +24 -4
  264. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js.map +1 -1
  265. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +19 -19
  266. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts.map +1 -1
  267. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +8 -8
  268. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -1
  269. package/dist/bubbles.json +260 -77
  270. package/dist/index.d.ts +25 -4
  271. package/dist/index.d.ts.map +1 -1
  272. package/dist/index.js +18 -3
  273. package/dist/index.js.map +1 -1
  274. package/dist/logging/BubbleLogger.d.ts +55 -16
  275. package/dist/logging/BubbleLogger.d.ts.map +1 -1
  276. package/dist/logging/BubbleLogger.js +192 -77
  277. package/dist/logging/BubbleLogger.js.map +1 -1
  278. package/dist/logging/StreamingBubbleLogger.d.ts +21 -1
  279. package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
  280. package/dist/logging/StreamingBubbleLogger.js +80 -8
  281. package/dist/logging/StreamingBubbleLogger.js.map +1 -1
  282. package/dist/logging/WebhookStreamLogger.d.ts +66 -0
  283. package/dist/logging/WebhookStreamLogger.d.ts.map +1 -0
  284. package/dist/logging/WebhookStreamLogger.js +291 -0
  285. package/dist/logging/WebhookStreamLogger.js.map +1 -0
  286. package/dist/types/available-tools.d.ts +1 -1
  287. package/dist/types/available-tools.d.ts.map +1 -1
  288. package/dist/types/available-tools.js +7 -0
  289. package/dist/types/available-tools.js.map +1 -1
  290. package/dist/types/base-bubble-class.d.ts +6 -4
  291. package/dist/types/base-bubble-class.d.ts.map +1 -1
  292. package/dist/types/base-bubble-class.js +30 -23
  293. package/dist/types/base-bubble-class.js.map +1 -1
  294. package/dist/types/bubble.d.ts +2 -0
  295. package/dist/types/bubble.d.ts.map +1 -1
  296. package/dist/types/service-bubble-class.d.ts +1 -1
  297. package/dist/types/service-bubble-class.d.ts.map +1 -1
  298. package/dist/types/service-bubble-class.js +2 -2
  299. package/dist/types/service-bubble-class.js.map +1 -1
  300. package/dist/types/tool-bubble-class.d.ts +1 -1
  301. package/dist/types/tool-bubble-class.d.ts.map +1 -1
  302. package/dist/types/tool-bubble-class.js +60 -10
  303. package/dist/types/tool-bubble-class.js.map +1 -1
  304. package/dist/types/workflow-bubble-class.d.ts +1 -1
  305. package/dist/types/workflow-bubble-class.d.ts.map +1 -1
  306. package/dist/types/workflow-bubble-class.js +2 -2
  307. package/dist/types/workflow-bubble-class.js.map +1 -1
  308. package/dist/utils/agent-formatter.d.ts +14 -2
  309. package/dist/utils/agent-formatter.d.ts.map +1 -1
  310. package/dist/utils/agent-formatter.js +174 -26
  311. package/dist/utils/agent-formatter.js.map +1 -1
  312. package/dist/utils/bubbleflow-validation.d.ts +7 -0
  313. package/dist/utils/bubbleflow-validation.d.ts.map +1 -1
  314. package/dist/utils/bubbleflow-validation.js +171 -6
  315. package/dist/utils/bubbleflow-validation.js.map +1 -1
  316. package/dist/utils/json-parsing.d.ts.map +1 -1
  317. package/dist/utils/json-parsing.js +146 -0
  318. package/dist/utils/json-parsing.js.map +1 -1
  319. package/dist/utils/safe-gemini-chat.d.ts +31 -0
  320. package/dist/utils/safe-gemini-chat.d.ts.map +1 -0
  321. package/dist/utils/safe-gemini-chat.js +93 -0
  322. package/dist/utils/safe-gemini-chat.js.map +1 -0
  323. package/dist/utils/schema-comparison.d.ts +92 -0
  324. package/dist/utils/schema-comparison.d.ts.map +1 -0
  325. package/dist/utils/schema-comparison.js +716 -0
  326. package/dist/utils/schema-comparison.js.map +1 -0
  327. package/dist/utils/zod-schema.d.ts +24 -0
  328. package/dist/utils/zod-schema.d.ts.map +1 -0
  329. package/dist/utils/zod-schema.js +56 -0
  330. package/dist/utils/zod-schema.js.map +1 -0
  331. package/package.json +6 -4
  332. package/dist/bubbles/service-bubble/google-sheets.d.ts +0 -1811
  333. package/dist/bubbles/service-bubble/google-sheets.d.ts.map +0 -1
  334. package/dist/bubbles/service-bubble/google-sheets.js.map +0 -1
  335. package/dist/bubbles/service-bubble/x-twitter.d.ts +0 -814
  336. package/dist/bubbles/service-bubble/x-twitter.d.ts.map +0 -1
  337. package/dist/bubbles/service-bubble/x-twitter.js +0 -445
  338. package/dist/bubbles/service-bubble/x-twitter.js.map +0 -1
  339. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +0 -125
  340. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +0 -1
  341. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +0 -808
  342. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +0 -1
  343. package/dist/test-gm.d.ts +0 -10
  344. package/dist/test-gm.d.ts.map +0 -1
  345. package/dist/test-gm.js +0 -95
  346. package/dist/test-gm.js.map +0 -1
  347. package/dist/utils/param-helper.d.ts +0 -2
  348. package/dist/utils/param-helper.d.ts.map +0 -1
  349. package/dist/utils/param-helper.js +0 -5
  350. package/dist/utils/param-helper.js.map +0 -1
@@ -0,0 +1,425 @@
1
+ import { BubbleFlow, HttpBubble } from '@bubblelab/bubble-core';
2
+ export class HttpBubbleIntegrationTest extends BubbleFlow {
3
+ // Test basic GET request
4
+ async testBasicGet(baseUrl) {
5
+ const result = await new HttpBubble({
6
+ url: `${baseUrl}/get`,
7
+ method: 'GET',
8
+ }).action();
9
+ const data = result.data;
10
+ return {
11
+ operation: 'basic_get',
12
+ success: result.success && data?.status === 200,
13
+ details: `Status: ${data?.status}, Response time: ${data?.responseTime}ms`,
14
+ status: data?.status,
15
+ responseTime: data?.responseTime,
16
+ };
17
+ }
18
+ // Test GET with query parameters
19
+ async testGetWithParams(baseUrl) {
20
+ const result = await new HttpBubble({
21
+ url: `${baseUrl}/get?foo=bar&baz=123`,
22
+ method: 'GET',
23
+ }).action();
24
+ const data = result.data;
25
+ const json = data?.json;
26
+ const args = json?.args;
27
+ const hasParams = args?.foo === 'bar' && args?.baz === '123';
28
+ return {
29
+ operation: 'get_with_params',
30
+ success: result.success && hasParams,
31
+ details: `Query params preserved: ${hasParams}`,
32
+ status: data?.status,
33
+ responseTime: data?.responseTime,
34
+ };
35
+ }
36
+ // Test POST with JSON body
37
+ async testPostJson(baseUrl) {
38
+ const testData = {
39
+ name: 'Integration Test',
40
+ value: 42,
41
+ nested: { key: 'value' },
42
+ };
43
+ const result = await new HttpBubble({
44
+ url: `${baseUrl}/post`,
45
+ method: 'POST',
46
+ body: testData,
47
+ }).action();
48
+ const data = result.data;
49
+ const json = data?.json;
50
+ const echoedJson = json?.json;
51
+ const bodyMatches = echoedJson?.name === 'Integration Test' && echoedJson?.value === 42;
52
+ return {
53
+ operation: 'post_json',
54
+ success: result.success && bodyMatches,
55
+ details: `JSON body echoed correctly: ${bodyMatches}`,
56
+ status: data?.status,
57
+ responseTime: data?.responseTime,
58
+ };
59
+ }
60
+ // Test POST with string body
61
+ async testPostString(baseUrl) {
62
+ const rawData = 'raw string data for testing';
63
+ const result = await new HttpBubble({
64
+ url: `${baseUrl}/post`,
65
+ method: 'POST',
66
+ body: rawData,
67
+ headers: {
68
+ 'Content-Type': 'text/plain',
69
+ },
70
+ }).action();
71
+ const data = result.data;
72
+ const json = data?.json;
73
+ const echoedData = json?.data;
74
+ return {
75
+ operation: 'post_string',
76
+ success: result.success && echoedData === rawData,
77
+ details: `String body echoed: ${echoedData === rawData}`,
78
+ status: data?.status,
79
+ responseTime: data?.responseTime,
80
+ };
81
+ }
82
+ // Test PUT request
83
+ async testPut(baseUrl) {
84
+ const result = await new HttpBubble({
85
+ url: `${baseUrl}/put`,
86
+ method: 'PUT',
87
+ body: { updated: true },
88
+ }).action();
89
+ const data = result.data;
90
+ const json = data?.json;
91
+ const echoedJson = json?.json;
92
+ return {
93
+ operation: 'put_request',
94
+ success: result.success && echoedJson?.updated === true,
95
+ details: `PUT successful`,
96
+ status: data?.status,
97
+ responseTime: data?.responseTime,
98
+ };
99
+ }
100
+ // Test PATCH request
101
+ async testPatch(baseUrl) {
102
+ const result = await new HttpBubble({
103
+ url: `${baseUrl}/patch`,
104
+ method: 'PATCH',
105
+ body: { patched: 'field' },
106
+ }).action();
107
+ const data = result.data;
108
+ const json = data?.json;
109
+ const echoedJson = json?.json;
110
+ return {
111
+ operation: 'patch_request',
112
+ success: result.success && echoedJson?.patched === 'field',
113
+ details: `PATCH successful`,
114
+ status: data?.status,
115
+ responseTime: data?.responseTime,
116
+ };
117
+ }
118
+ // Test DELETE request
119
+ async testDelete(baseUrl) {
120
+ const result = await new HttpBubble({
121
+ url: `${baseUrl}/delete`,
122
+ method: 'DELETE',
123
+ }).action();
124
+ const data = result.data;
125
+ return {
126
+ operation: 'delete_request',
127
+ success: result.success && data?.status === 200,
128
+ details: `DELETE successful`,
129
+ status: data?.status,
130
+ responseTime: data?.responseTime,
131
+ };
132
+ }
133
+ // Test custom headers
134
+ async testCustomHeaders(baseUrl) {
135
+ const result = await new HttpBubble({
136
+ url: `${baseUrl}/headers`,
137
+ method: 'GET',
138
+ headers: {
139
+ 'X-Custom-Header': 'test-value',
140
+ 'X-Another-Header': 'another-value',
141
+ },
142
+ }).action();
143
+ const data = result.data;
144
+ const json = data?.json;
145
+ const headers = json?.headers;
146
+ const headersReceived = headers?.['X-Custom-Header'] === 'test-value';
147
+ return {
148
+ operation: 'custom_headers',
149
+ success: result.success && headersReceived,
150
+ details: `Custom headers received: ${headersReceived}`,
151
+ status: data?.status,
152
+ responseTime: data?.responseTime,
153
+ };
154
+ }
155
+ // Test Bearer auth type (credentials injected at runtime)
156
+ async testBearerAuth(baseUrl) {
157
+ const result = await new HttpBubble({
158
+ url: `${baseUrl}/headers`,
159
+ method: 'GET',
160
+ authType: 'bearer',
161
+ // credentials will be injected at runtime by BubbleInjector
162
+ }).action();
163
+ const data = result.data;
164
+ const json = data?.json;
165
+ const headers = json?.headers;
166
+ const authHeader = headers?.Authorization;
167
+ const hasBearerToken = authHeader?.startsWith('Bearer ') ?? false;
168
+ return {
169
+ operation: 'bearer_auth',
170
+ success: result.success && hasBearerToken,
171
+ details: `Bearer auth header present: ${hasBearerToken}`,
172
+ status: data?.status,
173
+ responseTime: data?.responseTime,
174
+ };
175
+ }
176
+ // Test Basic auth type (credentials injected at runtime)
177
+ async testBasicAuth(baseUrl) {
178
+ const result = await new HttpBubble({
179
+ url: `${baseUrl}/headers`,
180
+ method: 'GET',
181
+ authType: 'basic',
182
+ // credentials will be injected at runtime by BubbleInjector
183
+ }).action();
184
+ const data = result.data;
185
+ const json = data?.json;
186
+ const headers = json?.headers;
187
+ const authHeader = headers?.Authorization;
188
+ const hasBasicToken = authHeader?.startsWith('Basic ') ?? false;
189
+ return {
190
+ operation: 'basic_auth',
191
+ success: result.success && hasBasicToken,
192
+ details: `Basic auth header present: ${hasBasicToken}`,
193
+ status: data?.status,
194
+ responseTime: data?.responseTime,
195
+ };
196
+ }
197
+ // Test X-API-Key auth type (credentials injected at runtime)
198
+ async testApiKeyAuth(baseUrl) {
199
+ const result = await new HttpBubble({
200
+ url: `${baseUrl}/headers`,
201
+ method: 'GET',
202
+ authType: 'api-key',
203
+ // credentials will be injected at runtime by BubbleInjector
204
+ }).action();
205
+ const data = result.data;
206
+ const json = data?.json;
207
+ const headers = json?.headers;
208
+ const apiKeyHeader = headers?.['X-Api-Key'];
209
+ const hasApiKey = !!apiKeyHeader;
210
+ return {
211
+ operation: 'api_key_auth',
212
+ success: result.success && hasApiKey,
213
+ details: `X-API-Key header present: ${hasApiKey}`,
214
+ status: data?.status,
215
+ responseTime: data?.responseTime,
216
+ };
217
+ }
218
+ // Test Api-Key header auth type (credentials injected at runtime)
219
+ async testApiKeyHeaderAuth(baseUrl) {
220
+ const result = await new HttpBubble({
221
+ url: `${baseUrl}/headers`,
222
+ method: 'GET',
223
+ authType: 'api-key-header',
224
+ // credentials will be injected at runtime by BubbleInjector
225
+ }).action();
226
+ const data = result.data;
227
+ const json = data?.json;
228
+ const headers = json?.headers;
229
+ const apiKeyHeader = headers?.['Api-Key'];
230
+ const hasApiKey = !!apiKeyHeader;
231
+ return {
232
+ operation: 'api_key_header_auth',
233
+ success: result.success && hasApiKey,
234
+ details: `Api-Key header present: ${hasApiKey}`,
235
+ status: data?.status,
236
+ responseTime: data?.responseTime,
237
+ };
238
+ }
239
+ // Test custom auth header (credentials injected at runtime)
240
+ async testCustomAuth(baseUrl) {
241
+ const result = await new HttpBubble({
242
+ url: `${baseUrl}/headers`,
243
+ method: 'GET',
244
+ authType: 'custom',
245
+ authHeader: 'X-Custom-Auth-Token',
246
+ // credentials will be injected at runtime by BubbleInjector
247
+ }).action();
248
+ const data = result.data;
249
+ const json = data?.json;
250
+ const headers = json?.headers;
251
+ const customHeader = headers?.['X-Custom-Auth-Token'];
252
+ const hasCustomAuth = !!customHeader;
253
+ return {
254
+ operation: 'custom_auth_header',
255
+ success: result.success && hasCustomAuth,
256
+ details: `Custom auth header present: ${hasCustomAuth}`,
257
+ status: data?.status,
258
+ responseTime: data?.responseTime,
259
+ };
260
+ }
261
+ // Test dynamic API key in headers (manual injection via headers parameter)
262
+ async testDynamicApiKeyInHeaders(baseUrl, authToken) {
263
+ const result = await new HttpBubble({
264
+ url: `${baseUrl}/headers`,
265
+ method: 'GET',
266
+ headers: {
267
+ Authorization: authToken,
268
+ 'Content-Type': 'application/json',
269
+ Accept: 'application/json',
270
+ 'x-ms-version': '2021-04-10',
271
+ },
272
+ }).action();
273
+ const data = result.data;
274
+ const json = data?.json;
275
+ const headers = json?.headers;
276
+ const authReceived = headers?.Authorization === authToken;
277
+ return {
278
+ operation: 'dynamic_api_key_headers',
279
+ success: result.success && authReceived,
280
+ details: `Dynamic auth header received: ${authReceived}`,
281
+ status: data?.status,
282
+ responseTime: data?.responseTime,
283
+ };
284
+ }
285
+ // Test HTTP error handling (404)
286
+ async testErrorHandling404(baseUrl) {
287
+ const result = await new HttpBubble({
288
+ url: `${baseUrl}/status/404`,
289
+ method: 'GET',
290
+ }).action();
291
+ const data = result.data;
292
+ return {
293
+ operation: 'error_handling_404',
294
+ success: !data?.success && data?.status === 404,
295
+ details: `404 handled correctly: ${data?.status === 404}`,
296
+ status: data?.status,
297
+ responseTime: data?.responseTime,
298
+ };
299
+ }
300
+ // Test HTTP error handling (500)
301
+ async testErrorHandling500(baseUrl) {
302
+ const result = await new HttpBubble({
303
+ url: `${baseUrl}/status/500`,
304
+ method: 'GET',
305
+ }).action();
306
+ const data = result.data;
307
+ return {
308
+ operation: 'error_handling_500',
309
+ success: !data?.success && data?.status === 500,
310
+ details: `500 handled correctly: ${data?.status === 500}`,
311
+ status: data?.status,
312
+ responseTime: data?.responseTime,
313
+ };
314
+ }
315
+ // Test response with different content types
316
+ async testHtmlResponse(baseUrl) {
317
+ const result = await new HttpBubble({
318
+ url: `${baseUrl}/html`,
319
+ method: 'GET',
320
+ }).action();
321
+ const data = result.data;
322
+ const isHtml = data?.body?.includes('<html>') || data?.body?.includes('<!DOCTYPE');
323
+ return {
324
+ operation: 'html_response',
325
+ success: result.success && isHtml,
326
+ details: `HTML response received: ${isHtml}`,
327
+ status: data?.status,
328
+ responseTime: data?.responseTime,
329
+ };
330
+ }
331
+ // Test timeout behavior
332
+ async testTimeout(baseUrl) {
333
+ const result = await new HttpBubble({
334
+ url: `${baseUrl}/delay/1`, // 1 second delay
335
+ method: 'GET',
336
+ timeout: 5000, // 5 second timeout (should succeed)
337
+ }).action();
338
+ const data = result.data;
339
+ return {
340
+ operation: 'timeout_handling',
341
+ success: result.success,
342
+ details: `Request with delay completed: ${result.success}`,
343
+ status: data?.status,
344
+ responseTime: data?.responseTime,
345
+ };
346
+ }
347
+ // Test redirect handling
348
+ async testRedirectFollow(baseUrl) {
349
+ const result = await new HttpBubble({
350
+ url: `${baseUrl}/redirect/2`, // 2 redirects
351
+ method: 'GET',
352
+ followRedirects: true,
353
+ }).action();
354
+ const data = result.data;
355
+ return {
356
+ operation: 'redirect_follow',
357
+ success: result.success && data?.status === 200,
358
+ details: `Redirects followed: ${result.success}`,
359
+ status: data?.status,
360
+ responseTime: data?.responseTime,
361
+ };
362
+ }
363
+ // Test redirect handling disabled
364
+ async testRedirectManual(baseUrl) {
365
+ const result = await new HttpBubble({
366
+ url: `${baseUrl}/redirect/1`,
367
+ method: 'GET',
368
+ followRedirects: false,
369
+ }).action();
370
+ const data = result.data;
371
+ const status = data?.status ?? 0;
372
+ // When followRedirects is false, we should get a 3xx status
373
+ const isRedirect = status >= 300 && status < 400;
374
+ return {
375
+ operation: 'redirect_manual',
376
+ success: isRedirect || status === 200, // Some implementations may still follow
377
+ details: `Manual redirect handling: status ${status}`,
378
+ status: data?.status,
379
+ responseTime: data?.responseTime,
380
+ };
381
+ }
382
+ async handle(payload) {
383
+ const baseUrl = payload.baseUrl || 'https://httpbin.org';
384
+ const results = [];
385
+ // Basic HTTP method tests
386
+ results.push(await this.testBasicGet(baseUrl));
387
+ results.push(await this.testGetWithParams(baseUrl));
388
+ results.push(await this.testPostJson(baseUrl));
389
+ results.push(await this.testPostString(baseUrl));
390
+ results.push(await this.testPut(baseUrl));
391
+ results.push(await this.testPatch(baseUrl));
392
+ results.push(await this.testDelete(baseUrl));
393
+ results.push(await this.testCustomHeaders(baseUrl));
394
+ // Auth type tests (credentials injected at runtime)
395
+ // Note: These tests will only pass when CUSTOM_AUTH_KEY credential is configured
396
+ results.push(await this.testBearerAuth(baseUrl));
397
+ results.push(await this.testBasicAuth(baseUrl));
398
+ results.push(await this.testApiKeyAuth(baseUrl));
399
+ results.push(await this.testApiKeyHeaderAuth(baseUrl));
400
+ results.push(await this.testCustomAuth(baseUrl));
401
+ // Dynamic API key in headers (manual approach)
402
+ results.push(await this.testDynamicApiKeyInHeaders(baseUrl, 'Bearer test-token-12345'));
403
+ // Error handling tests
404
+ results.push(await this.testErrorHandling404(baseUrl));
405
+ results.push(await this.testErrorHandling500(baseUrl));
406
+ // Response type tests
407
+ results.push(await this.testHtmlResponse(baseUrl));
408
+ // Timeout and redirect tests
409
+ results.push(await this.testTimeout(baseUrl));
410
+ results.push(await this.testRedirectFollow(baseUrl));
411
+ results.push(await this.testRedirectManual(baseUrl));
412
+ // Calculate summary
413
+ const passed = results.filter((r) => r.success).length;
414
+ const failed = results.filter((r) => !r.success).length;
415
+ return {
416
+ testResults: results,
417
+ summary: {
418
+ total: results.length,
419
+ passed,
420
+ failed,
421
+ },
422
+ };
423
+ }
424
+ }
425
+ //# sourceMappingURL=http.integration.flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.integration.flow.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/http.integration.flow.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,14 @@ const HttpParamsSchema = z.object({
36
36
  .boolean()
37
37
  .default(true)
38
38
  .describe('Whether to follow HTTP redirects (default: true)'),
39
+ authType: z
40
+ .enum(['none', 'bearer', 'basic', 'api-key', 'api-key-header', 'custom'])
41
+ .default('none')
42
+ .describe('Authentication type: none (default), bearer (Authorization: Bearer), basic (Authorization: Basic), api-key (X-API-Key), api-key-header (Api-Key), custom (user-specified header)'),
43
+ authHeader: z
44
+ .string()
45
+ .optional()
46
+ .describe('Custom header name when authType is "custom" (e.g., "X-Custom-Auth")'),
39
47
  credentials: z
40
48
  .record(z.nativeEnum(CredentialType), z.string())
41
49
  .optional()
@@ -57,7 +65,7 @@ const HttpResultSchema = z.object({
57
65
  });
58
66
  export class HttpBubble extends ServiceBubble {
59
67
  static service = 'nodex-core';
60
- static authType = 'none';
68
+ static authType = 'apikey';
61
69
  static bubbleName = 'http';
62
70
  static type = 'service';
63
71
  static schema = HttpParamsSchema;
@@ -90,8 +98,11 @@ export class HttpBubble extends ServiceBubble {
90
98
  super(params, context);
91
99
  }
92
100
  chooseCredential() {
93
- // HTTP bubble can work without credentials for public APIs
94
- return undefined;
101
+ const credentials = this.params.credentials;
102
+ if (!credentials || typeof credentials !== 'object') {
103
+ return undefined;
104
+ }
105
+ return credentials[CredentialType.CUSTOM_AUTH_KEY];
95
106
  }
96
107
  async testCredential() {
97
108
  // HTTP bubble doesn't require specific credentials to test
@@ -100,19 +111,49 @@ export class HttpBubble extends ServiceBubble {
100
111
  }
101
112
  async performAction(context) {
102
113
  void context; // Context available but not currently used
103
- const { url, method, headers, body, timeout, followRedirects } = this.params;
114
+ const { url, method, headers, body, timeout, followRedirects, authType, authHeader, } = this.params;
104
115
  const startTime = Date.now();
105
116
  try {
106
117
  console.log(`[HttpBubble] Making ${method} request to ${url}`);
118
+ // Create abort controller for timeout
119
+ const abortController = new AbortController();
120
+ const timeoutId = setTimeout(() => {
121
+ abortController.abort();
122
+ }, timeout);
123
+ // Build auth headers based on authType
124
+ const authHeaders = {};
125
+ const credential = this.chooseCredential();
126
+ if (credential && authType !== 'none') {
127
+ switch (authType) {
128
+ case 'bearer':
129
+ authHeaders['Authorization'] = `Bearer ${credential}`;
130
+ break;
131
+ case 'basic':
132
+ authHeaders['Authorization'] = `Basic ${credential}`;
133
+ break;
134
+ case 'api-key':
135
+ authHeaders['X-API-Key'] = credential;
136
+ break;
137
+ case 'api-key-header':
138
+ authHeaders['Api-Key'] = credential;
139
+ break;
140
+ case 'custom':
141
+ if (authHeader) {
142
+ authHeaders[authHeader] = credential;
143
+ }
144
+ break;
145
+ }
146
+ }
107
147
  // Prepare request options
108
148
  const requestOptions = {
109
149
  method,
110
150
  headers: {
111
151
  'User-Agent': 'NodeX-HttpBubble/1.0',
152
+ ...authHeaders,
112
153
  ...headers,
113
154
  },
114
155
  redirect: followRedirects ? 'follow' : 'manual',
115
- signal: AbortSignal.timeout(timeout),
156
+ signal: abortController.signal,
116
157
  };
117
158
  // Add body for non-GET methods
118
159
  if (body && method !== 'GET' && method !== 'HEAD') {
@@ -129,6 +170,7 @@ export class HttpBubble extends ServiceBubble {
129
170
  }
130
171
  // Make the request
131
172
  const response = await fetch(url, requestOptions);
173
+ clearTimeout(timeoutId); // Clear timeout if request completes
132
174
  const responseTime = Date.now() - startTime;
133
175
  // Read response body
134
176
  const responseText = await response.text();
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAE5E,oBAAoB;AACpB,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9B,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH,mDAAmD;AACnD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,qBAAqB,CAAC;SAC1B,QAAQ,CAAC,qCAAqC,CAAC;IAClD,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC9C,mCAAmC,CACpC;IACD,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC1C,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,GAAG,CAAC,MAAM,CAAC;SACX,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;SACxE,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,kLAAkL,CACnL;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sEAAsE,CACvE;IACH,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChD,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC,CAAC;AAKH,0CAA0C;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC7E,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,CAAC,4DAA4D,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACpD,CAAC,CAAC;AAIH,MAAM,OAAO,UAAW,SAAQ,aAAqC;IACnE,MAAM,CAAU,OAAO,GAAG,YAAY,CAAC;IACvC,MAAM,CAAU,QAAQ,GAAG,QAAiB,CAAC;IAC7C,MAAM,CAAU,UAAU,GAAe,MAAM,CAAC;IAChD,MAAM,CAAU,IAAI,GAAG,SAAkB,CAAC;IAC1C,MAAM,CAAU,MAAM,GAAG,gBAAgB,CAAC;IAC1C,MAAM,CAAU,YAAY,GAAG,gBAAgB,CAAC;IAChD,MAAM,CAAU,gBAAgB,GAC9B,mDAAmD,CAAC;IACtD,MAAM,CAAU,eAAe,GAAG;;;;;;;;;;;;;;;;;;GAkBjC,CAAC;IACF,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC;IAEhC,YACE,SAA0B;QACxB,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE,KAAK;KACd,EACD,OAAuB;QAEvB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAES,gBAAgB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,2DAA2D;QAC3D,sDAAsD;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,OAAuB;QACnD,KAAK,OAAO,CAAC,CAAC,2CAA2C;QAEzD,MAAM,EACJ,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,eAAe,EACf,QAAQ,EACR,UAAU,GACX,GAAG,IAAI,CAAC,MAAM,CAAC;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,eAAe,GAAG,EAAE,CAAC,CAAC;YAE/D,sCAAsC;YACtC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,uCAAuC;YACvC,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,IAAI,UAAU,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACtC,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,QAAQ;wBACX,WAAW,CAAC,eAAe,CAAC,GAAG,UAAU,UAAU,EAAE,CAAC;wBACtD,MAAM;oBACR,KAAK,OAAO;wBACV,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,UAAU,EAAE,CAAC;wBACrD,MAAM;oBACR,KAAK,SAAS;wBACZ,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;wBACtC,MAAM;oBACR,KAAK,gBAAgB;wBACnB,WAAW,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;wBACpC,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,UAAU,EAAE,CAAC;4BACf,WAAW,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;wBACvC,CAAC;wBACD,MAAM;gBACV,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,MAAM,cAAc,GAAgB;gBAClC,MAAM;gBACN,OAAO,EAAE;oBACP,YAAY,EAAE,sBAAsB;oBACpC,GAAG,WAAW;oBACd,GAAG,OAAO;iBACX;gBACD,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBAC/C,MAAM,EAAE,eAAe,CAAC,MAAM;aAC/B,CAAC;YAEF,+BAA+B;YAC/B,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,OAAO,GAAG;wBACvB,cAAc,EAAE,kBAAkB;wBAClC,GAAG,cAAc,CAAC,OAAO;qBAC1B,CAAC;oBACF,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAClD,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,qCAAqC;YAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE5C,qBAAqB;YACrB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YAEnD,uBAAuB;YACvB,IAAI,YAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;gBACxB,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC;YAED,kCAAkC;YAClC,MAAM,eAAe,GAA2B,EAAE,CAAC;YACnD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;gBACtD,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAe;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO,EAAE,eAAe;gBACxB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACpB,KAAK,EAAE,QAAQ,CAAC,EAAE;oBAChB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE;gBACrD,YAAY;gBACZ,IAAI,EAAE,YAAY;aACnB,CAAC;YAEF,OAAO,CAAC,GAAG,CACT,mCAAmC,QAAQ,CAAC,MAAM,KAAK,YAAY,KAAK,CACzE,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC5C,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAE3D,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;YAE5D,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,gBAAgB;gBAC5B,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;gBACnB,YAAY;gBACZ,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;IACH,CAAC"}