@bubblelab/bubble-core 0.1.0

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 (275) hide show
  1. package/LICENSE.txt +202 -0
  2. package/dist/bubble-bundle.d.ts +2021 -0
  3. package/dist/bubble-factory.d.ts +161 -0
  4. package/dist/bubble-factory.d.ts.map +1 -0
  5. package/dist/bubble-factory.js +426 -0
  6. package/dist/bubble-factory.js.map +1 -0
  7. package/dist/bubble-flow/bubble-flow-class.d.ts +19 -0
  8. package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -0
  9. package/dist/bubble-flow/bubble-flow-class.js +23 -0
  10. package/dist/bubble-flow/bubble-flow-class.js.map +1 -0
  11. package/dist/bubble-flow/sample/data-analyst-flow.d.ts +15 -0
  12. package/dist/bubble-flow/sample/data-analyst-flow.d.ts.map +1 -0
  13. package/dist/bubble-flow/sample/data-analyst-flow.js +63 -0
  14. package/dist/bubble-flow/sample/data-analyst-flow.js.map +1 -0
  15. package/dist/bubble-flow/sample/error-ts.d.ts +23 -0
  16. package/dist/bubble-flow/sample/error-ts.d.ts.map +1 -0
  17. package/dist/bubble-flow/sample/error-ts.js +31 -0
  18. package/dist/bubble-flow/sample/error-ts.js.map +1 -0
  19. package/dist/bubble-flow/sample/sanitytest.d.ts +10 -0
  20. package/dist/bubble-flow/sample/sanitytest.d.ts.map +1 -0
  21. package/dist/bubble-flow/sample/sanitytest.js +13 -0
  22. package/dist/bubble-flow/sample/sanitytest.js.map +1 -0
  23. package/dist/bubble-flow/sample/simple-webhook-2.d.ts +19 -0
  24. package/dist/bubble-flow/sample/simple-webhook-2.d.ts.map +1 -0
  25. package/dist/bubble-flow/sample/simple-webhook-2.js +23 -0
  26. package/dist/bubble-flow/sample/simple-webhook-2.js.map +1 -0
  27. package/dist/bubble-flow/sample/simple-webhook.d.ts +10 -0
  28. package/dist/bubble-flow/sample/simple-webhook.d.ts.map +1 -0
  29. package/dist/bubble-flow/sample/simple-webhook.js +18 -0
  30. package/dist/bubble-flow/sample/simple-webhook.js.map +1 -0
  31. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts +29 -0
  32. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -0
  33. package/dist/bubble-flow/sample/simplified-data-analysis.flow.js +150 -0
  34. package/dist/bubble-flow/sample/simplified-data-analysis.flow.js.map +1 -0
  35. package/dist/bubble-flow/sample/slack-v0.1.d.ts +10 -0
  36. package/dist/bubble-flow/sample/slack-v0.1.d.ts.map +1 -0
  37. package/dist/bubble-flow/sample/slack-v0.1.js +59 -0
  38. package/dist/bubble-flow/sample/slack-v0.1.js.map +1 -0
  39. package/dist/bubble-flow/sample/slackagenttest.d.ts +10 -0
  40. package/dist/bubble-flow/sample/slackagenttest.d.ts.map +1 -0
  41. package/dist/bubble-flow/sample/slackagenttest.js +59 -0
  42. package/dist/bubble-flow/sample/slackagenttest.js.map +1 -0
  43. package/dist/bubble-trigger/index.d.ts +2 -0
  44. package/dist/bubble-trigger/index.d.ts.map +1 -0
  45. package/dist/bubble-trigger/index.js +2 -0
  46. package/dist/bubble-trigger/index.js.map +1 -0
  47. package/dist/bubble-trigger/types.d.ts +87 -0
  48. package/dist/bubble-trigger/types.d.ts.map +1 -0
  49. package/dist/bubble-trigger/types.js +14 -0
  50. package/dist/bubble-trigger/types.js.map +1 -0
  51. package/dist/bubbles/service-bubble/ai-agent.d.ts +428 -0
  52. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -0
  53. package/dist/bubbles/service-bubble/ai-agent.js +881 -0
  54. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -0
  55. package/dist/bubbles/service-bubble/gmail.d.ts +3073 -0
  56. package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -0
  57. package/dist/bubbles/service-bubble/gmail.js +908 -0
  58. package/dist/bubbles/service-bubble/gmail.js.map +1 -0
  59. package/dist/bubbles/service-bubble/google-calendar.d.ts +3377 -0
  60. package/dist/bubbles/service-bubble/google-calendar.d.ts.map +1 -0
  61. package/dist/bubbles/service-bubble/google-calendar.js +527 -0
  62. package/dist/bubbles/service-bubble/google-calendar.js.map +1 -0
  63. package/dist/bubbles/service-bubble/google-drive.d.ts +1152 -0
  64. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -0
  65. package/dist/bubbles/service-bubble/google-drive.js +943 -0
  66. package/dist/bubbles/service-bubble/google-drive.js.map +1 -0
  67. package/dist/bubbles/service-bubble/google-sheets.d.ts +1811 -0
  68. package/dist/bubbles/service-bubble/google-sheets.d.ts.map +1 -0
  69. package/dist/bubbles/service-bubble/google-sheets.js +904 -0
  70. package/dist/bubbles/service-bubble/google-sheets.js.map +1 -0
  71. package/dist/bubbles/service-bubble/hello-world.d.ts +74 -0
  72. package/dist/bubbles/service-bubble/hello-world.d.ts.map +1 -0
  73. package/dist/bubbles/service-bubble/hello-world.js +67 -0
  74. package/dist/bubbles/service-bubble/hello-world.js.map +1 -0
  75. package/dist/bubbles/service-bubble/http.d.ts +134 -0
  76. package/dist/bubbles/service-bubble/http.d.ts.map +1 -0
  77. package/dist/bubbles/service-bubble/http.js +184 -0
  78. package/dist/bubbles/service-bubble/http.js.map +1 -0
  79. package/dist/bubbles/service-bubble/postgresql.d.ts +180 -0
  80. package/dist/bubbles/service-bubble/postgresql.d.ts.map +1 -0
  81. package/dist/bubbles/service-bubble/postgresql.js +448 -0
  82. package/dist/bubbles/service-bubble/postgresql.js.map +1 -0
  83. package/dist/bubbles/service-bubble/resend.d.ts +301 -0
  84. package/dist/bubbles/service-bubble/resend.d.ts.map +1 -0
  85. package/dist/bubbles/service-bubble/resend.js +253 -0
  86. package/dist/bubbles/service-bubble/resend.js.map +1 -0
  87. package/dist/bubbles/service-bubble/slack.d.ts +5869 -0
  88. package/dist/bubbles/service-bubble/slack.d.ts.map +1 -0
  89. package/dist/bubbles/service-bubble/slack.js +1536 -0
  90. package/dist/bubbles/service-bubble/slack.js.map +1 -0
  91. package/dist/bubbles/service-bubble/storage.d.ts +571 -0
  92. package/dist/bubbles/service-bubble/storage.d.ts.map +1 -0
  93. package/dist/bubbles/service-bubble/storage.js +504 -0
  94. package/dist/bubbles/service-bubble/storage.js.map +1 -0
  95. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +308 -0
  96. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts.map +1 -0
  97. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js +285 -0
  98. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js.map +1 -0
  99. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +416 -0
  100. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts.map +1 -0
  101. package/dist/bubbles/tool-bubble/chart-js-tool.js +570 -0
  102. package/dist/bubbles/tool-bubble/chart-js-tool.js.map +1 -0
  103. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +99 -0
  104. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -0
  105. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +645 -0
  106. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -0
  107. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +112 -0
  108. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts.map +1 -0
  109. package/dist/bubbles/tool-bubble/list-bubbles-tool.js +82 -0
  110. package/dist/bubbles/tool-bubble/list-bubbles-tool.js.map +1 -0
  111. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +413 -0
  112. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts.map +1 -0
  113. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js +327 -0
  114. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js.map +1 -0
  115. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +122 -0
  116. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts.map +1 -0
  117. package/dist/bubbles/tool-bubble/research-agent-tool.js +343 -0
  118. package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -0
  119. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +131 -0
  120. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts.map +1 -0
  121. package/dist/bubbles/tool-bubble/sql-query-tool.js +147 -0
  122. package/dist/bubbles/tool-bubble/sql-query-tool.js.map +1 -0
  123. package/dist/bubbles/tool-bubble/tool-template.d.ts +257 -0
  124. package/dist/bubbles/tool-bubble/tool-template.d.ts.map +1 -0
  125. package/dist/bubbles/tool-bubble/tool-template.js +238 -0
  126. package/dist/bubbles/tool-bubble/tool-template.js.map +1 -0
  127. package/dist/bubbles/tool-bubble/virtual-file-editor-example.d.ts +8 -0
  128. package/dist/bubbles/tool-bubble/virtual-file-editor-example.d.ts.map +1 -0
  129. package/dist/bubbles/tool-bubble/virtual-file-editor-example.js +65 -0
  130. package/dist/bubbles/tool-bubble/virtual-file-editor-example.js.map +1 -0
  131. package/dist/bubbles/tool-bubble/virtual-file-editor.tool.d.ts +125 -0
  132. package/dist/bubbles/tool-bubble/virtual-file-editor.tool.d.ts.map +1 -0
  133. package/dist/bubbles/tool-bubble/virtual-file-editor.tool.js +169 -0
  134. package/dist/bubbles/tool-bubble/virtual-file-editor.tool.js.map +1 -0
  135. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +218 -0
  136. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts.map +1 -0
  137. package/dist/bubbles/tool-bubble/web-crawl-tool.js +255 -0
  138. package/dist/bubbles/tool-bubble/web-crawl-tool.js.map +1 -0
  139. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +134 -0
  140. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts.map +1 -0
  141. package/dist/bubbles/tool-bubble/web-extract-tool.js +175 -0
  142. package/dist/bubbles/tool-bubble/web-extract-tool.js.map +1 -0
  143. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +228 -0
  144. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts.map +1 -0
  145. package/dist/bubbles/tool-bubble/web-scrape-tool.js +214 -0
  146. package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -0
  147. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +134 -0
  148. package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -0
  149. package/dist/bubbles/tool-bubble/web-search-tool.js +155 -0
  150. package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -0
  151. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +114 -0
  152. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -0
  153. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +777 -0
  154. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -0
  155. package/dist/bubbles/workflow-bubble/bubblscript-generateor.workflow.d.ts +97 -0
  156. package/dist/bubbles/workflow-bubble/bubblscript-generateor.workflow.d.ts.map +1 -0
  157. package/dist/bubbles/workflow-bubble/bubblscript-generateor.workflow.js +327 -0
  158. package/dist/bubbles/workflow-bubble/bubblscript-generateor.workflow.js.map +1 -0
  159. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +303 -0
  160. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts.map +1 -0
  161. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.js +297 -0
  162. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.js.map +1 -0
  163. package/dist/bubbles/workflow-bubble/file-editor-agent.workflow.d.ts +157 -0
  164. package/dist/bubbles/workflow-bubble/file-editor-agent.workflow.d.ts.map +1 -0
  165. package/dist/bubbles/workflow-bubble/file-editor-agent.workflow.js +310 -0
  166. package/dist/bubbles/workflow-bubble/file-editor-agent.workflow.js.map +1 -0
  167. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +543 -0
  168. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts.map +1 -0
  169. package/dist/bubbles/workflow-bubble/generate-document.workflow.js +628 -0
  170. package/dist/bubbles/workflow-bubble/generate-document.workflow.js.map +1 -0
  171. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +679 -0
  172. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts.map +1 -0
  173. package/dist/bubbles/workflow-bubble/parse-document.workflow.js +604 -0
  174. package/dist/bubbles/workflow-bubble/parse-document.workflow.js.map +1 -0
  175. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +1011 -0
  176. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -0
  177. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js +841 -0
  178. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -0
  179. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +883 -0
  180. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts.map +1 -0
  181. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +781 -0
  182. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js.map +1 -0
  183. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +300 -0
  184. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts.map +1 -0
  185. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +508 -0
  186. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -0
  187. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +731 -0
  188. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts.map +1 -0
  189. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js +690 -0
  190. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js.map +1 -0
  191. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +401 -0
  192. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts.map +1 -0
  193. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +382 -0
  194. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -0
  195. package/dist/bubbles/workflow-bubble/workflow-template.d.ts +144 -0
  196. package/dist/bubbles/workflow-bubble/workflow-template.d.ts.map +1 -0
  197. package/dist/bubbles/workflow-bubble/workflow-template.js +124 -0
  198. package/dist/bubbles/workflow-bubble/workflow-template.js.map +1 -0
  199. package/dist/index.d.ts +46 -0
  200. package/dist/index.d.ts.map +1 -0
  201. package/dist/index.js +53 -0
  202. package/dist/index.js.map +1 -0
  203. package/dist/logging/BubbleLogger.d.ts +146 -0
  204. package/dist/logging/BubbleLogger.d.ts.map +1 -0
  205. package/dist/logging/BubbleLogger.js +472 -0
  206. package/dist/logging/BubbleLogger.js.map +1 -0
  207. package/dist/logging/StreamingBubbleLogger.d.ts +85 -0
  208. package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -0
  209. package/dist/logging/StreamingBubbleLogger.js +340 -0
  210. package/dist/logging/StreamingBubbleLogger.js.map +1 -0
  211. package/dist/types/ai-models.d.ts +4 -0
  212. package/dist/types/ai-models.d.ts.map +1 -0
  213. package/dist/types/ai-models.js +14 -0
  214. package/dist/types/ai-models.js.map +1 -0
  215. package/dist/types/available-tools.d.ts +4 -0
  216. package/dist/types/available-tools.d.ts.map +1 -0
  217. package/dist/types/available-tools.js +19 -0
  218. package/dist/types/available-tools.js.map +1 -0
  219. package/dist/types/base-bubble-class.d.ts +47 -0
  220. package/dist/types/base-bubble-class.d.ts.map +1 -0
  221. package/dist/types/base-bubble-class.js +212 -0
  222. package/dist/types/base-bubble-class.js.map +1 -0
  223. package/dist/types/bubble-errors.d.ts +44 -0
  224. package/dist/types/bubble-errors.d.ts.map +1 -0
  225. package/dist/types/bubble-errors.js +51 -0
  226. package/dist/types/bubble-errors.js.map +1 -0
  227. package/dist/types/bubble.d.ts +73 -0
  228. package/dist/types/bubble.d.ts.map +1 -0
  229. package/dist/types/bubble.js +2 -0
  230. package/dist/types/bubble.js.map +1 -0
  231. package/dist/types/credentials.d.ts +6 -0
  232. package/dist/types/credentials.d.ts.map +1 -0
  233. package/dist/types/credentials.js +6 -0
  234. package/dist/types/credentials.js.map +1 -0
  235. package/dist/types/service-bubble-class.d.ts +31 -0
  236. package/dist/types/service-bubble-class.d.ts.map +1 -0
  237. package/dist/types/service-bubble-class.js +36 -0
  238. package/dist/types/service-bubble-class.js.map +1 -0
  239. package/dist/types/streaming-events.d.ts +18 -0
  240. package/dist/types/streaming-events.d.ts.map +1 -0
  241. package/dist/types/streaming-events.js +5 -0
  242. package/dist/types/streaming-events.js.map +1 -0
  243. package/dist/types/tool-bubble-class.d.ts +19 -0
  244. package/dist/types/tool-bubble-class.d.ts.map +1 -0
  245. package/dist/types/tool-bubble-class.js +48 -0
  246. package/dist/types/tool-bubble-class.js.map +1 -0
  247. package/dist/types/workflow-bubble-class.d.ts +25 -0
  248. package/dist/types/workflow-bubble-class.d.ts.map +1 -0
  249. package/dist/types/workflow-bubble-class.js +30 -0
  250. package/dist/types/workflow-bubble-class.js.map +1 -0
  251. package/dist/utils/bubbleflow-parser.d.ts +32 -0
  252. package/dist/utils/bubbleflow-parser.d.ts.map +1 -0
  253. package/dist/utils/bubbleflow-parser.js +332 -0
  254. package/dist/utils/bubbleflow-parser.js.map +1 -0
  255. package/dist/utils/bubbleflow-validation.d.ts +9 -0
  256. package/dist/utils/bubbleflow-validation.d.ts.map +1 -0
  257. package/dist/utils/bubbleflow-validation.js +116 -0
  258. package/dist/utils/bubbleflow-validation.js.map +1 -0
  259. package/dist/utils/json-parsing.d.ts +20 -0
  260. package/dist/utils/json-parsing.d.ts.map +1 -0
  261. package/dist/utils/json-parsing.js +394 -0
  262. package/dist/utils/json-parsing.js.map +1 -0
  263. package/dist/utils/mock-data-generator.d.ts +43 -0
  264. package/dist/utils/mock-data-generator.d.ts.map +1 -0
  265. package/dist/utils/mock-data-generator.js +312 -0
  266. package/dist/utils/mock-data-generator.js.map +1 -0
  267. package/dist/utils/param-helper.d.ts +2 -0
  268. package/dist/utils/param-helper.d.ts.map +1 -0
  269. package/dist/utils/param-helper.js +5 -0
  270. package/dist/utils/param-helper.js.map +1 -0
  271. package/dist/utils/source-bubble-parser.d.ts +31 -0
  272. package/dist/utils/source-bubble-parser.d.ts.map +1 -0
  273. package/dist/utils/source-bubble-parser.js +231 -0
  274. package/dist/utils/source-bubble-parser.js.map +1 -0
  275. package/package.json +63 -0
@@ -0,0 +1,340 @@
1
+ import { BubbleLogger, LogLevel, } from './BubbleLogger.js';
2
+ import { BubbleError } from '../types/bubble-errors';
3
+ /**
4
+ * Streaming version of BubbleLogger that emits real-time events
5
+ * Extends BubbleLogger to maintain all existing functionality
6
+ */
7
+ export class StreamingBubbleLogger extends BubbleLogger {
8
+ streamCallback;
9
+ constructor(flowName, options = {}) {
10
+ const { streamCallback, ...loggerConfig } = options;
11
+ super(flowName, loggerConfig);
12
+ this.streamCallback = streamCallback;
13
+ }
14
+ /**
15
+ * Override logLine to emit streaming events
16
+ */
17
+ logLine(lineNumber, message, additionalData) {
18
+ // Call parent method to maintain existing functionality and get the message
19
+ const logMessage = super.logLine(lineNumber, message, additionalData);
20
+ // Emit streaming event using the returned message
21
+ this.emitStreamEvent({
22
+ type: 'log_line',
23
+ timestamp: new Date().toISOString(),
24
+ lineNumber,
25
+ message: logMessage,
26
+ additionalData,
27
+ executionTime: this.getCurrentExecutionTime(),
28
+ memoryUsage: this.getCurrentMemoryUsage(),
29
+ });
30
+ return logMessage;
31
+ }
32
+ /**
33
+ * Override logBubbleInstantiation to emit streaming events
34
+ */
35
+ logBubbleInstantiation(variableId, bubbleName, variableName, parameters) {
36
+ // Call parent method and use the returned message
37
+ const logMessage = super.logBubbleInstantiation(variableId, bubbleName, variableName, parameters);
38
+ this.emitStreamEvent({
39
+ type: 'bubble_instantiation',
40
+ timestamp: new Date().toISOString(),
41
+ variableId,
42
+ message: logMessage,
43
+ bubbleName,
44
+ variableName,
45
+ additionalData: { parameters, variableId },
46
+ executionTime: this.getCurrentExecutionTime(),
47
+ memoryUsage: this.getCurrentMemoryUsage(),
48
+ });
49
+ return logMessage;
50
+ }
51
+ /**
52
+ * Override logBubbleExecution to emit streaming events
53
+ */
54
+ logBubbleExecution(variableId, bubbleName, variableName, parameters) {
55
+ // Call parent method and use the returned message
56
+ const logMessage = super.logBubbleExecution(variableId, bubbleName, variableName, parameters);
57
+ this.emitStreamEvent({
58
+ type: 'bubble_execution',
59
+ timestamp: new Date().toISOString(),
60
+ variableId,
61
+ message: logMessage,
62
+ bubbleName,
63
+ variableName,
64
+ additionalData: { parameters, variableId },
65
+ executionTime: this.getCurrentExecutionTime(),
66
+ memoryUsage: this.getCurrentMemoryUsage(),
67
+ });
68
+ return logMessage;
69
+ }
70
+ logBubbleExecutionComplete(variableId, bubbleName, variableName, result) {
71
+ // Call parent method and use the returned message
72
+ const logMessage = super.logBubbleExecutionComplete(variableId, bubbleName, variableName, result);
73
+ this.emitStreamEvent({
74
+ type: 'bubble_execution_complete',
75
+ timestamp: new Date().toISOString(),
76
+ message: logMessage,
77
+ variableId,
78
+ bubbleName,
79
+ variableName,
80
+ additionalData: { result, variableId },
81
+ executionTime: this.getCurrentExecutionTime(),
82
+ memoryUsage: this.getCurrentMemoryUsage(),
83
+ });
84
+ return logMessage;
85
+ }
86
+ /**
87
+ * Log execution completion
88
+ */
89
+ logExecutionComplete(success, finalResult, error) {
90
+ const message = success
91
+ ? 'Execution completed successfully in ' +
92
+ (this.getCurrentExecutionTime() / 1000).toFixed(2) +
93
+ 's. Total tokens used: ' +
94
+ this.getTokenUsage().inputTokens +
95
+ ' input + ' +
96
+ this.getTokenUsage().outputTokens +
97
+ ' output = ' +
98
+ this.getTokenUsage().totalTokens +
99
+ ' total tokens.'
100
+ : `Execution failed: ${error || 'Unknown error'}`;
101
+ this.logLine(0, message, {
102
+ success,
103
+ finalResult,
104
+ error,
105
+ });
106
+ this.emitStreamEvent({
107
+ type: 'execution_complete',
108
+ timestamp: new Date().toISOString(),
109
+ message,
110
+ additionalData: {
111
+ success,
112
+ finalResult,
113
+ error,
114
+ summary: this.getExecutionSummary(),
115
+ },
116
+ executionTime: this.getCurrentExecutionTime(),
117
+ memoryUsage: this.getCurrentMemoryUsage(),
118
+ });
119
+ }
120
+ /**
121
+ * Override trace method to emit streaming events
122
+ */
123
+ trace(message, metadata) {
124
+ super.trace(message, metadata);
125
+ this.emitStreamEvent({
126
+ type: 'trace',
127
+ timestamp: new Date().toISOString(),
128
+ message,
129
+ lineNumber: metadata?.lineNumber,
130
+ bubbleName: metadata?.bubbleName,
131
+ variableName: metadata?.variableName,
132
+ additionalData: metadata?.additionalData,
133
+ executionTime: this.getCurrentExecutionTime(),
134
+ memoryUsage: this.getCurrentMemoryUsage(),
135
+ logLevel: LogLevel[LogLevel.TRACE],
136
+ });
137
+ }
138
+ /**
139
+ * Override debug method to emit streaming events
140
+ */
141
+ debug(message, metadata) {
142
+ super.debug(message, metadata);
143
+ this.emitStreamEvent({
144
+ type: 'debug',
145
+ timestamp: new Date().toISOString(),
146
+ message,
147
+ lineNumber: metadata?.lineNumber,
148
+ bubbleName: metadata?.bubbleName,
149
+ variableName: metadata?.variableName,
150
+ additionalData: metadata?.additionalData,
151
+ executionTime: this.getCurrentExecutionTime(),
152
+ memoryUsage: this.getCurrentMemoryUsage(),
153
+ logLevel: LogLevel[LogLevel.DEBUG],
154
+ });
155
+ }
156
+ /**
157
+ * Override info method to emit streaming events
158
+ */
159
+ info(message, metadata) {
160
+ super.info(message, metadata);
161
+ this.emitStreamEvent({
162
+ type: 'info',
163
+ timestamp: new Date().toISOString(),
164
+ message,
165
+ lineNumber: metadata?.lineNumber,
166
+ bubbleName: metadata?.bubbleName,
167
+ variableName: metadata?.variableName,
168
+ additionalData: metadata?.additionalData,
169
+ executionTime: this.getCurrentExecutionTime(),
170
+ memoryUsage: this.getCurrentMemoryUsage(),
171
+ logLevel: LogLevel[LogLevel.INFO],
172
+ });
173
+ }
174
+ /**
175
+ * Override warn method to emit streaming events
176
+ */
177
+ warn(message, metadata) {
178
+ super.warn(message, metadata);
179
+ this.emitStreamEvent({
180
+ type: 'warn',
181
+ timestamp: new Date().toISOString(),
182
+ message,
183
+ lineNumber: metadata?.lineNumber,
184
+ bubbleName: metadata?.bubbleName,
185
+ variableName: metadata?.variableName,
186
+ additionalData: metadata?.additionalData,
187
+ executionTime: this.getCurrentExecutionTime(),
188
+ memoryUsage: this.getCurrentMemoryUsage(),
189
+ logLevel: LogLevel[LogLevel.WARN],
190
+ });
191
+ }
192
+ /**
193
+ * Override error method to emit streaming events
194
+ */
195
+ error(message, error, metadata) {
196
+ super.error(message, error, metadata);
197
+ this.emitStreamEvent({
198
+ type: 'error',
199
+ timestamp: new Date().toISOString(),
200
+ message,
201
+ lineNumber: metadata?.lineNumber,
202
+ bubbleName: error?.bubbleName,
203
+ variableId: error?.variableId,
204
+ additionalData: {
205
+ ...metadata?.additionalData,
206
+ error: error
207
+ ? {
208
+ message: error.message,
209
+ stack: error.stack,
210
+ name: error.name,
211
+ }
212
+ : undefined,
213
+ },
214
+ executionTime: this.getCurrentExecutionTime(),
215
+ memoryUsage: this.getCurrentMemoryUsage(),
216
+ logLevel: LogLevel[LogLevel.ERROR],
217
+ });
218
+ }
219
+ /**
220
+ * Override fatal method to emit streaming events
221
+ */
222
+ fatal(message, error, metadata) {
223
+ super.fatal(message, error, metadata);
224
+ this.emitStreamEvent({
225
+ type: 'fatal',
226
+ timestamp: new Date().toISOString(),
227
+ message,
228
+ lineNumber: metadata?.lineNumber,
229
+ bubbleName: error?.bubbleName,
230
+ variableId: error?.variableId,
231
+ additionalData: {
232
+ ...metadata?.additionalData,
233
+ error: error
234
+ ? {
235
+ message: error.message,
236
+ stack: error.stack,
237
+ name: error.name,
238
+ }
239
+ : undefined,
240
+ },
241
+ executionTime: this.getCurrentExecutionTime(),
242
+ memoryUsage: this.getCurrentMemoryUsage(),
243
+ logLevel: LogLevel[LogLevel.FATAL],
244
+ });
245
+ }
246
+ /**
247
+ * Override logToolCallStart to add streaming events
248
+ */
249
+ logToolCallStart(toolCallId, toolName, toolInput, message) {
250
+ // Call parent method to maintain existing functionality and get the message
251
+ const logMessage = super.logToolCallStart(toolCallId, toolName, toolInput, message);
252
+ // Emit streaming event using the returned message
253
+ this.emitStreamEvent({
254
+ type: 'tool_call_start',
255
+ timestamp: new Date().toISOString(),
256
+ message: logMessage,
257
+ bubbleName: 'ai-agent',
258
+ toolCallId,
259
+ toolName,
260
+ toolInput,
261
+ additionalData: { toolCallId, toolName, toolInput },
262
+ executionTime: this.getCurrentExecutionTime(),
263
+ memoryUsage: this.getCurrentMemoryUsage(),
264
+ logLevel: LogLevel[LogLevel.DEBUG],
265
+ });
266
+ return logMessage;
267
+ }
268
+ /**
269
+ * Override logToolCallComplete to add streaming events
270
+ */
271
+ logToolCallComplete(toolCallId, toolName, toolInput, toolOutput, duration, message) {
272
+ // Call parent method to maintain existing functionality and get the message
273
+ const logMessage = super.logToolCallComplete(toolCallId, toolName, toolInput, toolOutput, duration, message);
274
+ // Emit streaming event using the returned message
275
+ this.emitStreamEvent({
276
+ type: 'tool_call_complete',
277
+ timestamp: new Date().toISOString(),
278
+ message: logMessage,
279
+ bubbleName: 'ai-agent',
280
+ toolCallId,
281
+ toolName,
282
+ toolInput,
283
+ toolOutput,
284
+ toolDuration: duration,
285
+ additionalData: { toolCallId, toolName, toolInput, toolOutput, duration },
286
+ executionTime: this.getCurrentExecutionTime(),
287
+ memoryUsage: this.getCurrentMemoryUsage(),
288
+ logLevel: LogLevel[LogLevel.DEBUG],
289
+ });
290
+ return logMessage;
291
+ }
292
+ /**
293
+ * Set or update the stream callback
294
+ */
295
+ setStreamCallback(callback) {
296
+ this.streamCallback = callback;
297
+ }
298
+ /**
299
+ * Clear the stream callback
300
+ */
301
+ clearStreamCallback() {
302
+ this.streamCallback = undefined;
303
+ }
304
+ /**
305
+ * Emit a streaming event if callback is set
306
+ */
307
+ emitStreamEvent(event) {
308
+ if (this.streamCallback) {
309
+ try {
310
+ // Handle both sync and async callbacks
311
+ const result = this.streamCallback(event);
312
+ if (result instanceof Promise) {
313
+ result.catch((error) => {
314
+ console.error('Stream callback error:', error);
315
+ });
316
+ }
317
+ }
318
+ catch (error) {
319
+ console.error('Stream callback error:', error);
320
+ }
321
+ }
322
+ }
323
+ /**
324
+ * Get current execution time in milliseconds
325
+ */
326
+ getCurrentExecutionTime() {
327
+ const summary = this.getExecutionSummary();
328
+ return summary.totalDuration;
329
+ }
330
+ /**
331
+ * Get current memory usage in bytes
332
+ */
333
+ getCurrentMemoryUsage() {
334
+ if (typeof process !== 'undefined' && process.memoryUsage) {
335
+ return process.memoryUsage().heapUsed;
336
+ }
337
+ return 0;
338
+ }
339
+ }
340
+ //# sourceMappingURL=StreamingBubbleLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamingBubbleLogger.js","sourceRoot":"","sources":["../../src/logging/StreamingBubbleLogger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const AvailableModels: z.ZodEnum<["openai/gpt-5", "openai/gpt-5-mini", "openai/gpt-o4-mini", "google/gemini-2.5-pro", "google/gemini-2.5-flash", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash-image-preview"]>;
3
+ export type AvailableModel = z.infer<typeof AvailableModels>;
4
+ //# sourceMappingURL=ai-models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-models.d.ts","sourceRoot":"","sources":["../../src/types/ai-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe,qMAU1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ // Define available models with provider/name combinations
3
+ export const AvailableModels = z.enum([
4
+ // OpenAI models
5
+ 'openai/gpt-5',
6
+ 'openai/gpt-5-mini',
7
+ 'openai/gpt-o4-mini',
8
+ // Google Gemini models
9
+ 'google/gemini-2.5-pro',
10
+ 'google/gemini-2.5-flash',
11
+ 'google/gemini-2.5-flash-lite',
12
+ 'google/gemini-2.5-flash-image-preview',
13
+ ]);
14
+ //# sourceMappingURL=ai-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-models.js","sourceRoot":"","sources":["../../src/types/ai-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0DAA0D;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,8BAA8B;IAC9B,uCAAuC;CACxC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const AvailableTools: z.ZodEnum<["web-search-tool", "web-scrape-tool", "web-crawl-tool", "web-extract-tool", "research-agent-tool", "reddit-scrape-tool", "list-bubbles-tool", "get-bubble-details-tool", "bubbleflow-validation-tool", "chart-js-tool", "sql-query-tool"]>;
3
+ export type AvailableTool = z.infer<typeof AvailableTools>;
4
+ //# sourceMappingURL=available-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"available-tools.d.ts","sourceRoot":"","sources":["../../src/types/available-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc,uPAcgB,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ // Define available tool types that can be used in AI agents
3
+ // These should all be valid BubbleName values to ensure consistency
4
+ export const AvailableTools = z.enum([
5
+ // Web tools
6
+ 'web-search-tool',
7
+ 'web-scrape-tool',
8
+ 'web-crawl-tool',
9
+ 'web-extract-tool',
10
+ 'research-agent-tool',
11
+ 'reddit-scrape-tool',
12
+ // Existing bubble tools (for reference - these are handled by bubble names)
13
+ 'list-bubbles-tool',
14
+ 'get-bubble-details-tool',
15
+ 'bubbleflow-validation-tool',
16
+ 'chart-js-tool',
17
+ 'sql-query-tool',
18
+ ]);
19
+ //# sourceMappingURL=available-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"available-tools.js","sourceRoot":"","sources":["../../src/types/available-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,4DAA4D;AAC5D,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACnC,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,4EAA4E;IAC5E,mBAAmB;IACnB,yBAAyB;IACzB,4BAA4B;IAC5B,eAAe;IACf,gBAAgB;CACwB,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+ import type { IBubble, BubbleContext, BubbleResult, BubbleOperationResult } from './bubble.js';
3
+ /**
4
+ * Abstract base class for all bubble types
5
+ * Implements common properties and methods defined in IBubble interface
6
+ */
7
+ export declare abstract class BaseBubble<TParams = unknown, TResult extends BubbleOperationResult = BubbleOperationResult> implements IBubble<TResult> {
8
+ readonly name: string;
9
+ readonly schema: z.ZodObject<z.ZodRawShape>;
10
+ readonly resultSchema: z.ZodObject<z.ZodRawShape>;
11
+ readonly shortDescription: string;
12
+ readonly longDescription: string;
13
+ readonly alias?: string;
14
+ abstract readonly type: 'service' | 'workflow' | 'tool' | 'ui' | 'infra';
15
+ protected readonly params: TParams;
16
+ protected context?: BubbleContext;
17
+ previousResult: BubbleResult<BubbleOperationResult> | undefined;
18
+ constructor(params: unknown, context?: BubbleContext);
19
+ /**
20
+ * Compute child context based on dependency graph and current unique id.
21
+ * Finds the node matching currentUniqueId, then determines this child's unique id as
22
+ * `${currentUniqueId}.${this.name}#k` for the next ordinal k, and assigns the variableId from
23
+ * the dependency graph if present, otherwise keeps parent's variableId.
24
+ */
25
+ private computeChildContext;
26
+ saveResult<R extends BubbleOperationResult>(result: BubbleResult<R>): void;
27
+ clearSavedResult(): void;
28
+ /**
29
+ * Execute the bubble - just runs the action
30
+ */
31
+ action(): Promise<BubbleResult<TResult>>;
32
+ /**
33
+ * Generate mock result data based on the result schema
34
+ * Useful for testing and development when you need sample data
35
+ */
36
+ generateMockResult(): BubbleResult<TResult>;
37
+ /**
38
+ * Generate mock result with a specific seed for reproducible results
39
+ * Useful for consistent testing scenarios
40
+ */
41
+ generateMockResultWithSeed(seed: number): BubbleResult<TResult>;
42
+ /**
43
+ * Perform the actual bubble action - must be implemented by subclasses
44
+ */
45
+ protected abstract performAction(context?: BubbleContext): Promise<TResult>;
46
+ }
47
+ //# sourceMappingURL=base-bubble-class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/base-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAUrB;;;GAGG;AACH,8BAAsB,UAAU,CAC9B,OAAO,GAAG,OAAO,EACjB,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAC7D,YAAW,OAAO,CAAC,OAAO,CAAC;IAE3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACnD,SAAgB,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACzD,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAyB,IAAI,EACzB,SAAS,GACT,UAAU,GACV,MAAM,GACN,IAAI,GACJ,OAAO,CAAC;IAEZ,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAC3B,cAAc,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAC;gBAE3D,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAkEpD;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAqE3B,UAAU,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAI1E,gBAAgB,IAAI,IAAI;IAIxB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAyG9C;;;OAGG;IACH,kBAAkB,IAAI,YAAY,CAAC,OAAO,CAAC;IAI3C;;;OAGG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IAO/D;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAC5E"}