@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
@@ -1 +1 @@
1
- {"version":3,"file":"service-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/service-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,8BAAsB,aAAa,CACjC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAC7D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;IACpC,SAAgB,IAAI,EAAG,SAAS,CAAU;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,mBAAmB,CAAC;gBAExD,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;aAIpC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAElD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAEzD;;;OAGG;IAEG,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIpE;;;OAGG;IACH,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAIhD;IAED,QAAQ,CAAC,CAAC,SAAS,MAAM,OAAO,EAC9B,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,GACrB,IAAI;IAIP;;OAEG;IACH,IAAI,cAAc,IAAI,aAAa,GAAG,SAAS,CAE9C;CACF"}
1
+ {"version":3,"file":"service-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/service-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,8BAAsB,aAAa,CACjC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAC7D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;IACpC,SAAgB,IAAI,EAAG,SAAS,CAAU;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,mBAAmB,CAAC;gBAExD,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM;aAIzD,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAElD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAEzD;;;OAGG;IAEG,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIpE;;;OAGG;IACH,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAIhD;IAED,QAAQ,CAAC,CAAC,SAAS,MAAM,OAAO,EAC9B,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,GACrB,IAAI;IAIP;;OAEG;IACH,IAAI,cAAc,IAAI,aAAa,GAAG,SAAS,CAE9C;CACF"}
@@ -2,8 +2,8 @@ import { BaseBubble } from './base-bubble-class.js';
2
2
  export class ServiceBubble extends BaseBubble {
3
3
  type = 'service';
4
4
  authType;
5
- constructor(params, context) {
6
- super(params, context);
5
+ constructor(params, context, instanceId) {
6
+ super(params, context, instanceId);
7
7
  }
8
8
  /**
9
9
  * Abstract method to get the metadata of the credential
@@ -1 +1 @@
1
- {"version":3,"file":"service-bubble-class.js","sourceRoot":"","sources":["../../src/types/service-bubble-class.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,OAAgB,aAGpB,SAAQ,UAA4B;IACpB,IAAI,GAAG,SAAkB,CAAC;IACnC,QAAQ,CAAqD;IAEpE,YAAY,MAAe,EAAE,OAAuB;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAWD;;;OAGG;IACH,kDAAkD;IAClD,KAAK,CAAC,qBAAqB;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QACf,6DAA6D;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,MAA6B,CAAC;QACzE,OAAO,SAAyC,CAAC;IACnD,CAAC;IAED,QAAQ,CACN,SAAY,EACZ,UAAsB;QAEtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"service-bubble-class.js","sourceRoot":"","sources":["../../src/types/service-bubble-class.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,OAAgB,aAGpB,SAAQ,UAA4B;IACpB,IAAI,GAAG,SAAkB,CAAC;IACnC,QAAQ,CAAqD;IAEpE,YAAY,MAAe,EAAE,OAAuB,EAAE,UAAmB;QACvE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAWD;;;OAGG;IACH,kDAAkD;IAClD,KAAK,CAAC,qBAAqB;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QACf,6DAA6D;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,MAA6B,CAAC;QACzE,OAAO,SAAyC,CAAC;IACnD,CAAC;IAED,QAAQ,CACN,SAAY,EACZ,UAAsB;QAEtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -13,7 +13,7 @@ export interface LangGraphTool {
13
13
  */
14
14
  export declare abstract class ToolBubble<TParams extends ServiceBubbleParams = ServiceBubbleParams, TResult extends BubbleOperationResult = BubbleOperationResult> extends BaseBubble<TParams, TResult> implements IToolBubble<TResult> {
15
15
  readonly type: "tool";
16
- constructor(params: unknown, context?: BubbleContext);
16
+ constructor(params: unknown, context?: BubbleContext, instanceId?: string);
17
17
  static toolAgent(credentials?: Partial<Record<CredentialType, string>>, config?: Record<string, unknown>, context?: BubbleContext): LangGraphTool;
18
18
  }
19
19
  //# sourceMappingURL=tool-bubble-class.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,IAAI,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,EAChE,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,8BAAsB,UAAU,CAC5B,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAE/D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CACnC,YAAW,WAAW,CAAC,OAAO,CAAC;IAE/B,SAAgB,IAAI,EAAG,MAAM,CAAU;gBAE3B,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAOpD,MAAM,CAAC,SAAS,CACd,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,EACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,aAAa,GACtB,aAAa;CAoDjB"}
1
+ {"version":3,"file":"tool-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,IAAI,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,EAChE,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,8BAAsB,UAAU,CAC5B,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAE/D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CACnC,YAAW,WAAW,CAAC,OAAO,CAAC;IAE/B,SAAgB,IAAI,EAAG,MAAM,CAAU;gBAE3B,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM;IAOzE,MAAM,CAAC,SAAS,CACd,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,EACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,aAAa,GACtB,aAAa;CA+GjB"}
@@ -1,11 +1,12 @@
1
+ import { z } from 'zod';
1
2
  import { BaseBubble } from './base-bubble-class.js';
2
3
  /**
3
4
  * Abstract base class for all tool bubbles that can be converted to LangGraph tools
4
5
  */
5
6
  export class ToolBubble extends BaseBubble {
6
7
  type = 'tool';
7
- constructor(params, context) {
8
- super(params, context);
8
+ constructor(params, context, instanceId) {
9
+ super(params, context, instanceId);
9
10
  }
10
11
  // Static method - returns LangChain tool with credentials injected
11
12
  // Creates a LangGraph compatible tool with specific configurations that will
@@ -17,16 +18,65 @@ export class ToolBubble extends BaseBubble {
17
18
  if (!schema || !bubbleName || !shortDescription) {
18
19
  throw new Error(`${ToolClass.name} must define static schema, bubbleName, and shortDescription`);
19
20
  }
20
- // Remove credentials from schema for agent use
21
- // Remove config from schema for agent use
22
- let agentSchema = schema;
23
- if (schema.shape?.credentials) {
24
- agentSchema = schema.omit({ credentials: true });
21
+ // Remove credentials and config from schema for agent use
22
+ // Handle both ZodObject and ZodDiscriminatedUnion schemas
23
+ // For Gemini compatibility, convert discriminated unions to flat objects with enum
24
+ let agentSchema;
25
+ if (schema instanceof z.ZodDiscriminatedUnion) {
26
+ // For discriminated unions, convert to a flat object for Gemini compatibility
27
+ // Discriminated unions produce "const" in JSON Schema which Gemini doesn't support
28
+ const discriminator = schema.discriminator;
29
+ const options = schema.options;
30
+ // Collect all discriminator values and merge all fields
31
+ const discriminatorValues = [];
32
+ const mergedShape = {};
33
+ const descriptions = {};
34
+ for (const option of options) {
35
+ const shape = option.shape;
36
+ // Extract discriminator literal value
37
+ const discriminatorField = shape[discriminator];
38
+ if (discriminatorField instanceof z.ZodLiteral) {
39
+ discriminatorValues.push(discriminatorField.value);
40
+ }
41
+ // Merge all other fields (make them optional since they're operation-specific)
42
+ for (const [key, fieldSchema] of Object.entries(shape)) {
43
+ if (key === discriminator ||
44
+ key === 'credentials' ||
45
+ key === 'config')
46
+ continue;
47
+ if (!mergedShape[key]) {
48
+ // Make the field optional since it's only required for certain operations
49
+ const zodField = fieldSchema;
50
+ mergedShape[key] = zodField.isOptional()
51
+ ? zodField
52
+ : zodField.optional();
53
+ // Preserve description if available
54
+ if (zodField.description) {
55
+ descriptions[key] = zodField.description;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ // Build the flat schema with enum for discriminator
61
+ const flatShape = {
62
+ [discriminator]: z
63
+ .enum(discriminatorValues)
64
+ .describe(`Operation to perform. One of: ${discriminatorValues.join(', ')}`),
65
+ ...mergedShape,
66
+ };
67
+ agentSchema = z.object(flatShape).passthrough();
25
68
  }
26
- if (agentSchema.shape?.config) {
27
- agentSchema = agentSchema.omit({ config: true });
69
+ else {
70
+ // For regular ZodObject schemas
71
+ let objectSchema = schema;
72
+ if (objectSchema.shape?.credentials) {
73
+ objectSchema = objectSchema.omit({ credentials: true });
74
+ }
75
+ if (objectSchema.shape?.config) {
76
+ objectSchema = objectSchema.omit({ config: true });
77
+ }
78
+ agentSchema = objectSchema.passthrough();
28
79
  }
29
- agentSchema = agentSchema.passthrough();
30
80
  return {
31
81
  name: bubbleName,
32
82
  description: shortDescription,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-bubble-class.js","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAapD;;GAEG;AACH,MAAM,OAAgB,UAIpB,SAAQ,UAA4B;IAGpB,IAAI,GAAG,MAAe,CAAC;IAEvC,YAAY,MAAe,EAAE,OAAuB;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,mEAAmE;IACnE,6EAA6E;IAC7E,kCAAkC;IAClC,MAAM,CAAC,SAAS,CACd,WAAqD,EACrD,MAAgC,EAChC,OAAuB;QAEvB,4DAA4D;QAC5D,MAAM,SAAS,GAAG,IAIjB,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;QAE3D,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,CAAC,IAAI,8DAA8D,CAChF,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,0CAA0C;QAC1C,IAAI,WAAW,GAAqB,MAAM,CAAC;QAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;YAC9B,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC9B,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAExC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,gBAAgB;YAC7B,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE;gBAClC,uDAAuD;gBAEvD,4DAA4D;gBAC5D,sDAAsD;gBACtD,sFAAsF;gBACtF,0BAA0B;gBAE1B,MAAM,aAAa,GAAI,UAAsC,EAAE,MAAM,CAAC;gBACtE,MAAM,cAAc,GAAG;oBACrB,GAAI,UAAsC;oBAC1C,WAAW;oBACX,MAAM,EAAE,aAAa,IAAI,MAAM;iBAChC,CAAC;gBAEF,8CAA8C;gBAC9C,MAAM,QAAQ,GAAG,IAAK,SAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjE,yEAAyE;gBACzE,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"tool-bubble-class.js","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { BaseBubble } from './base-bubble-class.js';
12
12
  */
13
13
  export declare abstract class WorkflowBubble<TParams extends ServiceBubbleParams = ServiceBubbleParams, TResult extends BubbleOperationResult = BubbleOperationResult> extends BaseBubble<TParams, TResult> implements IWorkflowBubble<TResult> {
14
14
  readonly type: "workflow";
15
- constructor(params: unknown, context?: BubbleContext);
15
+ constructor(params: unknown, context?: BubbleContext, instanceId?: string);
16
16
  /**
17
17
  * Get the current parameters
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/workflow-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;GASG;AACH,8BAAsB,cAAc,CAChC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAE/D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CACnC,YAAW,eAAe,CAAC,OAAO,CAAC;IAEnC,SAAgB,IAAI,EAAG,UAAU,CAAU;gBAE/B,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAIpD;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,aAAa,GAAG,SAAS,CAE9C;CACF"}
1
+ {"version":3,"file":"workflow-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/workflow-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;GASG;AACH,8BAAsB,cAAc,CAChC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAE/D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CACnC,YAAW,eAAe,CAAC,OAAO,CAAC;IAEnC,SAAgB,IAAI,EAAG,UAAU,CAAU;gBAE/B,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM;IAIzE;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,aAAa,GAAG,SAAS,CAE9C;CACF"}
@@ -11,8 +11,8 @@ import { BaseBubble } from './base-bubble-class.js';
11
11
  */
12
12
  export class WorkflowBubble extends BaseBubble {
13
13
  type = 'workflow';
14
- constructor(params, context) {
15
- super(params, context);
14
+ constructor(params, context, instanceId) {
15
+ super(params, context, instanceId);
16
16
  }
17
17
  /**
18
18
  * Get the current parameters
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-bubble-class.js","sourceRoot":"","sources":["../../src/types/workflow-bubble-class.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,OAAgB,cAIpB,SAAQ,UAA4B;IAGpB,IAAI,GAAG,UAAmB,CAAC;IAE3C,YAAY,MAAe,EAAE,OAAuB;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"workflow-bubble-class.js","sourceRoot":"","sources":["../../src/types/workflow-bubble-class.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,OAAgB,cAIpB,SAAQ,UAA4B;IAGpB,IAAI,GAAG,UAAmB,CAAC;IAE3C,YAAY,MAAe,EAAE,OAAuB,EAAE,UAAmB;QACvE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -1,4 +1,16 @@
1
- import type { LLMResult } from '@langchain/core/outputs';
1
+ import type { MessageContent } from '@langchain/core/messages';
2
+ import type { LLMResult, Generation } from '@langchain/core/outputs';
3
+ /**
4
+ * Convert LangChain Generation[] to MessageContent for use with formatFinalResponse.
5
+ * Handles both simple Generation (with text) and ChatGeneration (with message).
6
+ *
7
+ * This is useful when processing LLMResult from callbacks like handleLLMEnd,
8
+ * where you have generations but want to use the unified formatFinalResponse.
9
+ *
10
+ * @param generations - Array of Generation objects (typically from LLMResult.generations.flat())
11
+ * @returns MessageContent that can be passed to formatFinalResponse
12
+ */
13
+ export declare function generationsToMessageContent(generations: Generation[]): MessageContent;
2
14
  /**
3
15
  * Extract and stream thinking tokens from different model providers
4
16
  */
@@ -6,7 +18,7 @@ export declare function extractAndStreamThinkingTokens(output: LLMResult): strin
6
18
  /**
7
19
  * Format final response with special handling for Gemini image models and JSON mode
8
20
  */
9
- export declare function formatFinalResponse(response: string | unknown, modelName: string, jsonMode?: boolean): {
21
+ export declare function formatFinalResponse(response: MessageContent, modelName: string, jsonMode?: boolean): {
10
22
  response: string;
11
23
  error?: string;
12
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"agent-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/agent-formatter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,GAChB,MAAM,GAAG,SAAS,CAqDpB;AACD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,OAAO,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAyDtC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CA2C5E"}
1
+ {"version":3,"file":"agent-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/agent-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAwCrE;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,UAAU,EAAE,GACxB,cAAc,CA6DhB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,GAChB,MAAM,GAAG,SAAS,CAmEpB;AACD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,OAAO,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA8GtC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CA2C5E"}
@@ -1,4 +1,98 @@
1
1
  import { parseJsonWithFallbacks } from './json-parsing';
2
+ /**
3
+ * Extract content from a generation's message.
4
+ * Handles both:
5
+ * - Class instances (BaseMessage with .content property)
6
+ * - Serialized form (object with .kwargs.content from LLMResult callbacks)
7
+ */
8
+ function extractMessageContent(message) {
9
+ if (!message || typeof message !== 'object') {
10
+ return undefined;
11
+ }
12
+ const msg = message;
13
+ // Check for direct .content property (BaseMessage class instance)
14
+ if ('content' in msg && msg.content !== undefined) {
15
+ return msg.content;
16
+ }
17
+ // Check for serialized form: message.kwargs.content
18
+ if ('kwargs' in msg &&
19
+ msg.kwargs &&
20
+ typeof msg.kwargs === 'object' &&
21
+ 'content' in msg.kwargs) {
22
+ return msg.kwargs.content;
23
+ }
24
+ return undefined;
25
+ }
26
+ /**
27
+ * Type guard to check if a Generation has a message property
28
+ */
29
+ function hasMessage(gen) {
30
+ return 'message' in gen && gen.message !== undefined;
31
+ }
32
+ /**
33
+ * Convert LangChain Generation[] to MessageContent for use with formatFinalResponse.
34
+ * Handles both simple Generation (with text) and ChatGeneration (with message).
35
+ *
36
+ * This is useful when processing LLMResult from callbacks like handleLLMEnd,
37
+ * where you have generations but want to use the unified formatFinalResponse.
38
+ *
39
+ * @param generations - Array of Generation objects (typically from LLMResult.generations.flat())
40
+ * @returns MessageContent that can be passed to formatFinalResponse
41
+ */
42
+ export function generationsToMessageContent(generations) {
43
+ if (generations.length === 0) {
44
+ return '';
45
+ }
46
+ // If there's only one generation, try to extract content directly
47
+ if (generations.length === 1) {
48
+ const gen = generations[0];
49
+ // Try to extract message content (handles both class and serialized form)
50
+ if (hasMessage(gen)) {
51
+ const content = extractMessageContent(gen.message);
52
+ if (content !== undefined) {
53
+ return content;
54
+ }
55
+ }
56
+ // Otherwise use the text property
57
+ return gen.text;
58
+ }
59
+ // Multiple generations - collect all content
60
+ const contentParts = [];
61
+ for (const gen of generations) {
62
+ if (hasMessage(gen)) {
63
+ const msgContent = extractMessageContent(gen.message);
64
+ if (typeof msgContent === 'string') {
65
+ if (msgContent.trim()) {
66
+ contentParts.push({ type: 'text', text: msgContent });
67
+ }
68
+ }
69
+ else if (Array.isArray(msgContent)) {
70
+ // Message content is already an array of content blocks
71
+ for (const block of msgContent) {
72
+ if (typeof block === 'object' &&
73
+ block !== null &&
74
+ 'type' in block &&
75
+ block.type === 'text' &&
76
+ 'text' in block &&
77
+ typeof block.text === 'string' &&
78
+ block.text.trim()) {
79
+ contentParts.push({ type: 'text', text: block.text });
80
+ }
81
+ }
82
+ }
83
+ }
84
+ else if (gen.text && gen.text.trim()) {
85
+ // Simple Generation - use text property
86
+ contentParts.push({ type: 'text', text: gen.text });
87
+ }
88
+ }
89
+ // If we only have one part, return just the string
90
+ if (contentParts.length === 1) {
91
+ return contentParts[0].text;
92
+ }
93
+ // Return as array of content blocks
94
+ return contentParts;
95
+ }
2
96
  /**
3
97
  * Extract and stream thinking tokens from different model providers
4
98
  */
@@ -30,15 +124,26 @@ export function extractAndStreamThinkingTokens(output) {
30
124
  }
31
125
  }
32
126
  if (rawResponse) {
33
- if (rawResponse.choices && Array.isArray(rawResponse.choices)) {
127
+ if (typeof rawResponse === 'object' &&
128
+ rawResponse !== null &&
129
+ 'choices' in rawResponse &&
130
+ Array.isArray(rawResponse.choices)) {
34
131
  for (const choice of rawResponse.choices) {
132
+ let reasoning;
35
133
  if (choice.delta?.reasoning) {
36
134
  // Stream thinking tokens for Grok models
37
- return choice.delta.reasoning;
135
+ reasoning = choice.delta.reasoning;
38
136
  }
39
137
  // Also check for reasoning in the choice itself (not just delta)
40
- if (choice.reasoning) {
41
- return choice.reasoning;
138
+ else if (choice.reasoning) {
139
+ reasoning = choice.reasoning;
140
+ }
141
+ // Strip <think> and </think> tags from the reasoning content
142
+ if (reasoning) {
143
+ return reasoning
144
+ .replace(/<think>/gi, '')
145
+ .replace(/<\/think>/gi, '')
146
+ .trim();
42
147
  }
43
148
  }
44
149
  }
@@ -60,32 +165,13 @@ export function extractAndStreamThinkingTokens(output) {
60
165
  * Format final response with special handling for Gemini image models and JSON mode
61
166
  */
62
167
  export function formatFinalResponse(response, modelName, jsonMode) {
63
- let finalResponse = typeof response === 'string' ? response : JSON.stringify(response);
168
+ const finalResponse = typeof response === 'string' ? response : JSON.stringify(response);
64
169
  // If response is an array, look for first parsable JSON in text
65
170
  console.log('[AIAgent] Checking if response is an array:', Array.isArray(response));
66
171
  console.log('[AIAgent] Response length:', typeof response === 'string' ? response.length : 'N/A (object)');
67
- if (Array.isArray(response)) {
68
- for (const item of response) {
69
- if (item &&
70
- typeof item === 'object' &&
71
- 'type' in item &&
72
- item.type === 'text') {
73
- try {
74
- const result = parseJsonWithFallbacks(item.text);
75
- if (result.success) {
76
- return { response: result.response };
77
- }
78
- }
79
- catch {
80
- // Continue to next item if not valid JSON
81
- continue;
82
- }
83
- }
84
- }
85
- }
86
172
  // Special handling for Gemini image models that return images in inlineData format
87
173
  if (modelName.includes('gemini') && modelName.includes('image')) {
88
- finalResponse = formatGeminiImageResponse(finalResponse);
174
+ return { response: formatGeminiImageResponse(finalResponse) };
89
175
  }
90
176
  else if (jsonMode && typeof finalResponse === 'string') {
91
177
  // Handle JSON mode: use the improved utility function
@@ -93,11 +179,73 @@ export function formatFinalResponse(response, modelName, jsonMode) {
93
179
  if (!result.success) {
94
180
  return {
95
181
  response: result.response,
96
- error: `AI Agent failed to generate valid JSON. Post-processing attempted but JSON is still malformed. Original response: ${finalResponse}`,
182
+ error: `${finalResponse}`,
97
183
  };
98
184
  }
99
185
  return { response: result.response };
100
186
  }
187
+ if (Array.isArray(response)) {
188
+ // Collect all text chunks from the array
189
+ const textChunks = [];
190
+ for (const item of response) {
191
+ if (!item || typeof item !== 'object') {
192
+ continue;
193
+ }
194
+ let text;
195
+ // Check for standard format: item.type === 'text' && item.text (more specific, check first)
196
+ if ('type' in item &&
197
+ item.type === 'text' &&
198
+ 'text' in item &&
199
+ typeof item.text === 'string') {
200
+ text = item.text;
201
+ }
202
+ // Check for direct text property (LangChain AIMessage format)
203
+ else if ('text' in item && typeof item.text === 'string') {
204
+ text = item.text;
205
+ }
206
+ // Check for nested LangChain message structure: item.message.kwargs.content[0].text
207
+ else if ('message' in item &&
208
+ item.message &&
209
+ typeof item.message === 'object' &&
210
+ 'kwargs' in item.message &&
211
+ item.message.kwargs &&
212
+ typeof item.message.kwargs === 'object' &&
213
+ 'content' in item.message.kwargs &&
214
+ Array.isArray(item.message.kwargs.content) &&
215
+ item.message.kwargs.content.length > 0) {
216
+ const firstContent = item.message.kwargs.content[0];
217
+ if (firstContent &&
218
+ typeof firstContent === 'object' &&
219
+ 'type' in firstContent &&
220
+ firstContent.type === 'text' &&
221
+ 'text' in firstContent &&
222
+ typeof firstContent.text === 'string') {
223
+ text = firstContent.text;
224
+ }
225
+ }
226
+ if (text) {
227
+ textChunks.push(text);
228
+ }
229
+ }
230
+ // If we collected text chunks, combine them and try to parse
231
+ if (textChunks.length > 0) {
232
+ const combinedText = textChunks.join('');
233
+ // If jsonMode is enabled, try to parse the combined text as JSON
234
+ if (jsonMode) {
235
+ try {
236
+ const result = parseJsonWithFallbacks(combinedText);
237
+ if (result.success) {
238
+ return { response: result.response };
239
+ }
240
+ }
241
+ catch {
242
+ // Continue to return combined text if not valid JSON
243
+ }
244
+ }
245
+ // Return the combined text (even if not JSON)
246
+ return { response: combinedText };
247
+ }
248
+ }
101
249
  console.log('[AIAgent] Final response length:', typeof finalResponse === 'string' ? finalResponse.length : 'N/A');
102
250
  return { response: finalResponse };
103
251
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-formatter.js","sourceRoot":"","sources":["../../src/utils/agent-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-formatter.js","sourceRoot":"","sources":["../../src/utils/agent-formatter.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,16 @@
1
1
  import type { BubbleFactory } from '../bubble-factory.js';
2
2
  import type { ParsedBubble } from '@bubblelab/shared-schemas';
3
+ export interface VariableTypeInfo {
4
+ name: string;
5
+ type: string;
6
+ line: number;
7
+ column: number;
8
+ }
3
9
  export interface ValidationResult {
4
10
  valid: boolean;
5
11
  errors?: string[];
6
12
  bubbleParameters?: Record<string, ParsedBubble>;
13
+ variableTypes?: VariableTypeInfo[];
7
14
  }
8
15
  export declare function validateBubbleFlow(code: string, bubbleFactory: BubbleFactory): Promise<ValidationResult>;
9
16
  //# sourceMappingURL=bubbleflow-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bubbleflow-validation.d.ts","sourceRoot":"","sources":["../../src/utils/bubbleflow-validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACjD;AA+ED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAsF3B"}
1
+ {"version":3,"file":"bubbleflow-validation.d.ts","sourceRoot":"","sources":["../../src/utils/bubbleflow-validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC;AA+ED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAkG3B"}