@bubblelab/bubble-core 0.1.8 → 0.1.10

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 (224) hide show
  1. package/dist/bubble-bundle.d.ts +333 -1438
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +64 -28
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubble-flow/bubble-flow-class.d.ts +17 -1
  6. package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -1
  7. package/dist/bubble-flow/bubble-flow-class.js +16 -0
  8. package/dist/bubble-flow/bubble-flow-class.js.map +1 -1
  9. package/dist/bubble-flow/sample/data-analyst-flow.d.ts +1 -1
  10. package/dist/bubble-flow/sample/data-analyst-flow.d.ts.map +1 -1
  11. package/dist/bubble-flow/sample/error-ts.d.ts +1 -1
  12. package/dist/bubble-flow/sample/error-ts.d.ts.map +1 -1
  13. package/dist/bubble-flow/sample/sanitytest.d.ts +1 -1
  14. package/dist/bubble-flow/sample/sanitytest.d.ts.map +1 -1
  15. package/dist/bubble-flow/sample/simple-webhook-2.d.ts +1 -1
  16. package/dist/bubble-flow/sample/simple-webhook-2.d.ts.map +1 -1
  17. package/dist/bubble-flow/sample/simple-webhook.d.ts +1 -1
  18. package/dist/bubble-flow/sample/simple-webhook.d.ts.map +1 -1
  19. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts +1 -1
  20. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -1
  21. package/dist/bubble-flow/sample/slack-v0.1.d.ts +1 -1
  22. package/dist/bubble-flow/sample/slack-v0.1.d.ts.map +1 -1
  23. package/dist/bubble-flow/sample/slackagenttest.d.ts +1 -1
  24. package/dist/bubble-flow/sample/slackagenttest.d.ts.map +1 -1
  25. package/dist/bubbles/service-bubble/ai-agent.d.ts +115 -97
  26. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  27. package/dist/bubbles/service-bubble/ai-agent.js +276 -96
  28. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  29. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +805 -0
  30. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts.map +1 -0
  31. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.js +131 -0
  32. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.js.map +1 -0
  33. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +485 -0
  34. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts.map +1 -0
  35. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.js +176 -0
  36. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.js.map +1 -0
  37. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +302 -0
  38. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts.map +1 -0
  39. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.js +138 -0
  40. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.js.map +1 -0
  41. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +642 -0
  42. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts.map +1 -0
  43. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.js +123 -0
  44. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.js.map +1 -0
  45. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +184 -0
  46. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts.map +1 -0
  47. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js +145 -0
  48. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js.map +1 -0
  49. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts +52 -0
  50. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts.map +1 -0
  51. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js +29 -0
  52. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js.map +1 -0
  53. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +1999 -0
  54. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts.map +1 -0
  55. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js +54 -0
  56. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js.map +1 -0
  57. package/dist/bubbles/service-bubble/apify/apify.d.ts +143 -0
  58. package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -0
  59. package/dist/bubbles/service-bubble/apify/apify.js +276 -0
  60. package/dist/bubbles/service-bubble/apify/apify.js.map +1 -0
  61. package/dist/bubbles/service-bubble/apify/index.d.ts +6 -0
  62. package/dist/bubbles/service-bubble/apify/index.d.ts.map +1 -0
  63. package/dist/bubbles/service-bubble/apify/index.js +6 -0
  64. package/dist/bubbles/service-bubble/apify/index.js.map +1 -0
  65. package/dist/bubbles/service-bubble/apify/types.d.ts +7 -0
  66. package/dist/bubbles/service-bubble/apify/types.d.ts.map +1 -0
  67. package/dist/bubbles/service-bubble/apify/types.js +5 -0
  68. package/dist/bubbles/service-bubble/apify/types.js.map +1 -0
  69. package/dist/bubbles/service-bubble/gmail.d.ts +626 -132
  70. package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -1
  71. package/dist/bubbles/service-bubble/gmail.js +435 -7
  72. package/dist/bubbles/service-bubble/gmail.js.map +1 -1
  73. package/dist/bubbles/service-bubble/google-calendar.d.ts +36 -36
  74. package/dist/bubbles/service-bubble/google-drive.d.ts +233 -4
  75. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
  76. package/dist/bubbles/service-bubble/google-drive.js +65 -75
  77. package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
  78. package/dist/bubbles/service-bubble/google-sheets.d.ts +52 -52
  79. package/dist/bubbles/service-bubble/hello-world.js +2 -2
  80. package/dist/bubbles/service-bubble/hello-world.js.map +1 -1
  81. package/dist/bubbles/service-bubble/http.d.ts +6 -6
  82. package/dist/bubbles/service-bubble/postgresql.d.ts +4 -4
  83. package/dist/bubbles/service-bubble/resend.d.ts +5 -5
  84. package/dist/bubbles/service-bubble/resend.d.ts.map +1 -1
  85. package/dist/bubbles/service-bubble/resend.js +16 -5
  86. package/dist/bubbles/service-bubble/resend.js.map +1 -1
  87. package/dist/bubbles/service-bubble/slack.d.ts +18 -18
  88. package/dist/bubbles/service-bubble/storage.d.ts +4 -4
  89. package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
  90. package/dist/bubbles/service-bubble/storage.js +16 -5
  91. package/dist/bubbles/service-bubble/storage.js.map +1 -1
  92. package/dist/bubbles/service-bubble/x-twitter.d.ts +814 -0
  93. package/dist/bubbles/service-bubble/x-twitter.d.ts.map +1 -0
  94. package/dist/bubbles/service-bubble/x-twitter.js +445 -0
  95. package/dist/bubbles/service-bubble/x-twitter.js.map +1 -0
  96. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +20 -20
  97. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +16 -16
  98. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +14 -1
  99. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -1
  100. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +101 -47
  101. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -1
  102. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +435 -0
  103. package/dist/bubbles/tool-bubble/instagram-tool.d.ts.map +1 -0
  104. package/dist/bubbles/tool-bubble/instagram-tool.js +474 -0
  105. package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -0
  106. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +2136 -0
  107. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -0
  108. package/dist/bubbles/tool-bubble/linkedin-tool.js +608 -0
  109. package/dist/bubbles/tool-bubble/linkedin-tool.js.map +1 -0
  110. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +69 -64
  111. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts.map +1 -1
  112. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js +97 -22
  113. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js.map +1 -1
  114. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +6 -6
  115. package/dist/bubbles/tool-bubble/research-agent-tool.js +5 -5
  116. package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
  117. package/dist/bubbles/tool-bubble/tool-template.d.ts +8 -8
  118. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +14 -14
  119. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  120. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +28 -28
  121. package/dist/bubbles/tool-bubble/web-scrape-tool.js +1 -1
  122. package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -1
  123. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +5 -4
  124. package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -1
  125. package/dist/bubbles/tool-bubble/web-search-tool.js +6 -2
  126. package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -1
  127. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +394 -0
  128. package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -0
  129. package/dist/bubbles/tool-bubble/youtube-tool.js +352 -0
  130. package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -0
  131. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +47 -36
  132. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -1
  133. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +96 -65
  134. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -1
  135. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +38 -38
  136. package/dist/bubbles/workflow-bubble/generate-document.workflow.js +1 -1
  137. package/dist/bubbles/workflow-bubble/generate-document.workflow.js.map +1 -1
  138. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +42 -42
  139. package/dist/bubbles/workflow-bubble/parse-document.workflow.js +1 -1
  140. package/dist/bubbles/workflow-bubble/parse-document.workflow.js.map +1 -1
  141. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +22 -22
  142. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -1
  143. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js +1 -4
  144. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -1
  145. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +60 -60
  146. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts.map +1 -1
  147. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +2 -2
  148. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js.map +1 -1
  149. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +20 -20
  150. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +1 -1
  151. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -1
  152. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +66 -66
  153. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js +1 -1
  154. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js.map +1 -1
  155. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +18 -18
  156. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts.map +1 -1
  157. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +1 -2
  158. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -1
  159. package/dist/bubbles.json +489 -0
  160. package/dist/index.d.ts +16 -3
  161. package/dist/index.d.ts.map +1 -1
  162. package/dist/index.js +8 -1
  163. package/dist/index.js.map +1 -1
  164. package/dist/logging/BubbleLogger.d.ts +11 -0
  165. package/dist/logging/BubbleLogger.d.ts.map +1 -1
  166. package/dist/logging/BubbleLogger.js +87 -33
  167. package/dist/logging/BubbleLogger.js.map +1 -1
  168. package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
  169. package/dist/logging/StreamingBubbleLogger.js +23 -16
  170. package/dist/logging/StreamingBubbleLogger.js.map +1 -1
  171. package/dist/test-gm.d.ts +10 -0
  172. package/dist/test-gm.d.ts.map +1 -0
  173. package/dist/test-gm.js +95 -0
  174. package/dist/test-gm.js.map +1 -0
  175. package/dist/types/available-tools.d.ts +1 -1
  176. package/dist/types/available-tools.d.ts.map +1 -1
  177. package/dist/types/available-tools.js +2 -0
  178. package/dist/types/available-tools.js.map +1 -1
  179. package/dist/types/base-bubble-class.d.ts +6 -1
  180. package/dist/types/base-bubble-class.d.ts.map +1 -1
  181. package/dist/types/base-bubble-class.js +47 -24
  182. package/dist/types/base-bubble-class.js.map +1 -1
  183. package/dist/types/bubble.d.ts +3 -13
  184. package/dist/types/bubble.d.ts.map +1 -1
  185. package/dist/types/bubble.js +1 -1
  186. package/dist/types/bubble.js.map +1 -1
  187. package/dist/types/service-bubble-class.d.ts +5 -5
  188. package/dist/types/service-bubble-class.d.ts.map +1 -1
  189. package/dist/types/service-bubble-class.js +6 -7
  190. package/dist/types/service-bubble-class.js.map +1 -1
  191. package/dist/types/tool-bubble-class.d.ts +1 -1
  192. package/dist/types/tool-bubble-class.d.ts.map +1 -1
  193. package/dist/types/tool-bubble-class.js +9 -3
  194. package/dist/types/tool-bubble-class.js.map +1 -1
  195. package/dist/types/workflow-bubble-class.d.ts +1 -1
  196. package/dist/types/workflow-bubble-class.d.ts.map +1 -1
  197. package/dist/utils/agent-formatter.d.ts +17 -0
  198. package/dist/utils/agent-formatter.d.ts.map +1 -0
  199. package/dist/utils/agent-formatter.js +139 -0
  200. package/dist/utils/agent-formatter.js.map +1 -0
  201. package/dist/utils/bubbleflow-validation.d.ts.map +1 -1
  202. package/dist/utils/bubbleflow-validation.js +89 -32
  203. package/dist/utils/bubbleflow-validation.js.map +1 -1
  204. package/dist/utils/error-sanitizer.d.ts +12 -0
  205. package/dist/utils/error-sanitizer.d.ts.map +1 -0
  206. package/dist/utils/error-sanitizer.js +77 -0
  207. package/dist/utils/error-sanitizer.js.map +1 -0
  208. package/dist/utils/json-parsing.d.ts +1 -0
  209. package/dist/utils/json-parsing.d.ts.map +1 -1
  210. package/dist/utils/json-parsing.js +205 -32
  211. package/dist/utils/json-parsing.js.map +1 -1
  212. package/package.json +6 -5
  213. package/dist/bubble-trigger/index.d.ts +0 -2
  214. package/dist/bubble-trigger/index.d.ts.map +0 -1
  215. package/dist/bubble-trigger/index.js +0 -2
  216. package/dist/bubble-trigger/index.js.map +0 -1
  217. package/dist/bubble-trigger/types.d.ts +0 -87
  218. package/dist/bubble-trigger/types.d.ts.map +0 -1
  219. package/dist/bubble-trigger/types.js +0 -14
  220. package/dist/bubble-trigger/types.js.map +0 -1
  221. package/dist/types/ai-models.d.ts +0 -4
  222. package/dist/types/ai-models.d.ts.map +0 -1
  223. package/dist/types/ai-models.js +0 -16
  224. package/dist/types/ai-models.js.map +0 -1
@@ -8,10 +8,20 @@
8
8
  */
9
9
  import { z } from 'zod';
10
10
  import { WorkflowBubble } from '../../types/workflow-bubble-class.js';
11
- import { CredentialType } from '@bubblelab/shared-schemas';
11
+ import { CredentialType, GenerationResultSchema, CRITICAL_INSTRUCTIONS, VALIDATION_PROCESS, BUBBLE_SPECIFIC_INSTRUCTIONS, } from '@bubblelab/shared-schemas';
12
12
  import { AIAgentBubble, } from '../service-bubble/ai-agent.js';
13
13
  import { ToolMessage } from '@langchain/core/messages';
14
14
  import { BubbleFactory } from '../../bubble-factory.js';
15
+ /**
16
+ * Extract unique bubble names from validation result
17
+ */
18
+ function extractBubbleNames(validationResult) {
19
+ if (!validationResult?.bubbles) {
20
+ return [];
21
+ }
22
+ const bubbleNames = validationResult.bubbles.map((b) => b.bubbleName);
23
+ return Array.from(new Set(bubbleNames));
24
+ }
15
25
  /**
16
26
  * Parameters schema for the simple BubbleFlow generator
17
27
  */
@@ -25,26 +35,6 @@ const BubbleFlowGeneratorParamsSchema = z.object({
25
35
  .optional()
26
36
  .describe('Credentials for AI agent operations'),
27
37
  });
28
- /**
29
- * Result schema
30
- */
31
- const BubbleFlowGeneratorResultSchema = z.object({
32
- generatedCode: z
33
- .string()
34
- .describe('The generated BubbleFlow TypeScript code'),
35
- isValid: z.boolean().describe('Whether the generated code is valid'),
36
- success: z.boolean(),
37
- error: z.string(),
38
- toolCalls: z.array(z.any()).describe('The tool calls made by the AI agent'),
39
- summary: z
40
- .string()
41
- .default('')
42
- .describe('High-level instructions for using the validated flow'),
43
- inputsSchema: z
44
- .string()
45
- .default('')
46
- .describe('JSON Schema (string) representing the inputs of the flow'),
47
- });
48
38
  // Shared constants and prompts
49
39
  const AI_MODEL_CONFIG = {
50
40
  model: 'google/gemini-2.5-pro',
@@ -64,37 +54,7 @@ WORKFLOW:
64
54
  3. Write code using exact patterns from bubble details
65
55
  4. Use bubbleflow-validation iteratively until valid
66
56
  5. Do not provide a response until your code is fully validated`;
67
- const CRITICAL_INSTRUCTIONS = `CRITICAL INSTRUCTIONS:
68
- 1. Start with the exact boilerplate template above (it has all the correct imports and class structure), come up with a name for the flow based on the user's request, export class [name] extends BubbleFlow
69
- 2. Properly type the payload import and output interface based on the user's request, create typescript interfaces for them
70
- 2. BEFORE writing any code, identify which bubbles you plan to use from the available list
71
- 3. For EACH bubble you plan to use, ALWAYS call get-bubble-details-tool first to understand:
72
- - The correct input parameters and their types
73
- - The expected output structure in result.data
74
- - How to properly handle success/error cases
75
- 4. Replace the handle method with logic that fulfills the user's request
76
- 5. Use the exact parameter structures shown in the bubble details
77
- 6. If deterministic tool calls and branch logic are possible, there is no need to use AI agent.
78
- 7. Access bubble outputs safely using result.data with null checking (e.g., result.data?.someProperty or check if result.data exists first)
79
- 9. Return meaningful data from the handle method
80
- 10. DO NOT include credentials in bubble parameters - credentials are handled automatically
81
- 11. CRITICAL: Always use the pattern: const result = await new SomeBubble({params}).action() - NEVER use runBubble, this.runBubble, or any other method
82
- 12. When using AI Agent, ensure your prompt includes comprehensive context and explicitly pass in all relevant information needed for the task. Be thorough in providing complete data rather than expecting the AI to infer or assume missing details (unless the information must be retrieved from an online source)
83
- 13. When generating and dealing with images, process them one at a time to ensure proper handling and avoid overwhelming the system
84
- 14. When dealing with other async operations in for loops, batch the requests 5 at a time at most and use Promise.all to handle them efficiently. Always declare bubble instances separately outside of callbacks, loops, or maps before calling .action() - avoid instantiating bubbles directly within map(), forEach(), or other callback functions.
85
-
86
- CRITICAL: You MUST use get-bubble-details-tool for every bubble before using it in your code!`;
87
- const VALIDATION_PROCESS = `CRITICAL VALIDATION PROCESS:
88
- 1. After generating the initial code, ALWAYS use the bubbleflow-validation to validate it
89
- 2. If validation fails, you MUST analyze ALL errors carefully and fix EVERY single one
90
- 3. Use the bubbleflow-validation again to validate the fixed code
91
- 4. If there are still errors, fix them ALL and validate again
92
- 5. Repeat this validation-fix cycle until the code passes validation with NO ERRORS (valid: true)
93
- 6. Do NOT stop until you get a successful validation result with valid: true and no errors
94
- 7. NEVER provide code that has validation errors - keep fixing until it's completely error-free
95
- 8. IMPORTANT: Use .action() on the to call the bubble, (this is the only way to run a bubble) - NEVER use runBubble() or any other method
96
-
97
- Only return the final TypeScript code that passes validation. No explanations or markdown formatting.`;
57
+ // CRITICAL_INSTRUCTIONS and VALIDATION_PROCESS are now imported from @bubblelab/shared-schemas
98
58
  /**
99
59
  * Simple BubbleFlow Generator using AI agent with tools
100
60
  */
@@ -102,7 +62,7 @@ export class BubbleFlowGeneratorWorkflow extends WorkflowBubble {
102
62
  static type = 'workflow';
103
63
  static bubbleName = 'bubbleflow-generator';
104
64
  static schema = BubbleFlowGeneratorParamsSchema;
105
- static resultSchema = BubbleFlowGeneratorResultSchema;
65
+ static resultSchema = GenerationResultSchema;
106
66
  static shortDescription = 'Generate BubbleFlow code from natural language';
107
67
  static longDescription = `
108
68
  Simple BubbleFlow generator that uses AI with validation tools.
@@ -155,6 +115,7 @@ export class BubbleFlowGeneratorWorkflow extends WorkflowBubble {
155
115
  let validatedCode = code;
156
116
  let isValid = false;
157
117
  let validationError = 'Validation agent failed';
118
+ let bubblesUsed = [];
158
119
  // Handle both streaming (direct response) and non-streaming (wrapped in data) results
159
120
  const isStreamingResult = 'response' in validationRun;
160
121
  const response = isStreamingResult
@@ -193,12 +154,22 @@ export class BubbleFlowGeneratorWorkflow extends WorkflowBubble {
193
154
  else {
194
155
  validationContent = JSON.stringify(lastToolCall.output);
195
156
  }
196
- const validationResult = JSON.parse(validationContent);
157
+ const parsedResult = JSON.parse(validationContent);
158
+ console.log('[BubbleFlowGenerator] Raw validation result structure:', {
159
+ hasData: !!parsedResult.data,
160
+ hasTopLevelValid: 'valid' in parsedResult,
161
+ hasNestedValid: parsedResult.data && 'valid' in parsedResult.data,
162
+ });
163
+ // Unwrap the result if it's wrapped in a data object
164
+ const validationResult = parsedResult.data || parsedResult;
197
165
  isValid = validationResult.valid === true;
198
166
  validationError =
199
167
  validationResult.error ||
200
168
  (validationResult.errors && validationResult.errors.join('; ')) ||
201
169
  '';
170
+ // Extract bubble names from validation result
171
+ bubblesUsed = extractBubbleNames(validationResult);
172
+ console.log('[BubbleFlowGenerator] ✅ Validation parsed - valid:', isValid, 'error:', validationError || 'none', 'bubblesUsed:', bubblesUsed);
202
173
  }
203
174
  catch (e) {
204
175
  isValid = true;
@@ -212,6 +183,7 @@ export class BubbleFlowGeneratorWorkflow extends WorkflowBubble {
212
183
  isValid,
213
184
  validationError,
214
185
  toolCalls,
186
+ bubblesUsed,
215
187
  };
216
188
  }
217
189
  async runSummarizeAgent(validatedCode, credentials, streamingCallback) {
@@ -289,6 +261,8 @@ ${bubbleDescriptions}
289
261
 
290
262
  ${CRITICAL_INSTRUCTIONS}
291
263
 
264
+ ${BUBBLE_SPECIFIC_INSTRUCTIONS}
265
+
292
266
  ${VALIDATION_PROCESS}`;
293
267
  }
294
268
  createStreamingSystemPrompt(boilerplate, bubbleDescriptions) {
@@ -363,6 +337,7 @@ ${VALIDATION_PROCESS}`;
363
337
  error: result.error || 'Failed to generate code',
364
338
  summary: '',
365
339
  inputsSchema: '',
340
+ bubblesUsed: [],
366
341
  };
367
342
  }
368
343
  console.log('[BubbleFlowGenerator] Processing AI response...');
@@ -373,6 +348,7 @@ ${VALIDATION_PROCESS}`;
373
348
  // Check if the AI made any tool calls and get validation from the last one
374
349
  let isValid = true;
375
350
  let validationError = '';
351
+ let bubblesUsed = [];
376
352
  let needsValidationAgent = false;
377
353
  if (result.data.toolCalls && result.data.toolCalls.length > 0) {
378
354
  console.log('[BubbleFlowGenerator] Found', result.data.toolCalls.length, 'tool calls');
@@ -405,20 +381,33 @@ ${VALIDATION_PROCESS}`;
405
381
  console.log('[BubbleFlowGenerator] Unexpected output type:', typeof lastToolCall.output);
406
382
  validationContent = JSON.stringify(lastToolCall.output);
407
383
  }
408
- const validationResult = JSON.parse(validationContent);
384
+ const parsedResult = JSON.parse(validationContent);
385
+ console.log('[BubbleFlowGenerator] 🔍 Validation tool output structure:', {
386
+ hasData: !!parsedResult.data,
387
+ hasTopLevelValid: 'valid' in parsedResult,
388
+ hasNestedValid: parsedResult.data && 'valid' in parsedResult.data,
389
+ topLevelValid: parsedResult.valid,
390
+ nestedValid: parsedResult.data?.valid,
391
+ });
392
+ // Unwrap the result if it's wrapped in a data object
393
+ // The ToolBubble base class wraps results in { success, data, error }
394
+ const validationResult = parsedResult.data || parsedResult;
409
395
  isValid = validationResult.valid === true;
410
396
  validationError =
411
397
  validationResult.error ||
412
398
  (validationResult.errors && validationResult.errors.join('; ')) ||
413
399
  '';
414
- console.log('[BubbleFlowGenerator] Validation result from tool:', {
415
- valid: isValid,
416
- error: validationError,
417
- });
400
+ // Extract bubble names from validation result
401
+ bubblesUsed = extractBubbleNames(validationResult);
402
+ console.log('[BubbleFlowGenerator] ✅ Validation result - valid:', isValid, 'needsAgent:', !isValid, 'bubblesUsed:', bubblesUsed);
418
403
  // If validation ran but code is still invalid, trigger validationAgent to self-heal
419
404
  if (!isValid) {
405
+ console.log('[BubbleFlowGenerator] ⚠️ Validation FAILED, will spawn validation agent. Errors:', validationError);
420
406
  needsValidationAgent = true;
421
407
  }
408
+ else {
409
+ console.log('[BubbleFlowGenerator] ✓ Validation PASSED, no validation agent needed');
410
+ }
422
411
  }
423
412
  catch (parseError) {
424
413
  console.log('[BubbleFlowGenerator] Failed to parse validation output:', parseError);
@@ -437,9 +426,10 @@ ${VALIDATION_PROCESS}`;
437
426
  }
438
427
  if (needsValidationAgent) {
439
428
  console.log('[BubbleFlowGenerator] Spawning validationAgent to validate code...');
440
- const { validatedCode, isValid: validated, validationError: vErr, } = await this.runValidationAgent(generatedCode, this.params.credentials);
429
+ const { validatedCode, isValid: validated, validationError: vErr, bubblesUsed: validationBubbles, } = await this.runValidationAgent(generatedCode, this.params.credentials);
441
430
  isValid = validated;
442
431
  validationError = vErr;
432
+ bubblesUsed = validationBubbles;
443
433
  const { summary, inputsSchema } = isValid
444
434
  ? await this.runSummarizeAgent(validatedCode, this.params.credentials)
445
435
  : { summary: '', inputsSchema: '' };
@@ -451,6 +441,7 @@ ${VALIDATION_PROCESS}`;
451
441
  error: validationError,
452
442
  summary,
453
443
  inputsSchema,
444
+ bubblesUsed,
454
445
  };
455
446
  }
456
447
  console.log('[BubbleFlowGenerator] Generation completed');
@@ -469,6 +460,7 @@ ${VALIDATION_PROCESS}`;
469
460
  error: validationError, // Include validation error for reference
470
461
  summary,
471
462
  inputsSchema,
463
+ bubblesUsed,
472
464
  };
473
465
  }
474
466
  catch (error) {
@@ -483,6 +475,7 @@ ${VALIDATION_PROCESS}`;
483
475
  : 'Unknown error during generation',
484
476
  summary: '',
485
477
  inputsSchema: '',
478
+ bubblesUsed: [],
486
479
  };
487
480
  }
488
481
  }
@@ -491,7 +484,8 @@ ${VALIDATION_PROCESS}`;
491
484
  */
492
485
  async actionWithStreaming(streamingCallback, context) {
493
486
  void context;
494
- console.log('[BubbleFlowGenerator] Starting streaming generation process...');
487
+ console.log('[BubbleFlowGenerator] Starting streaming generation process with prompt: ' +
488
+ this.params.prompt);
495
489
  console.log('[BubbleFlowGenerator] Prompt:', this.params.prompt);
496
490
  try {
497
491
  await streamingCallback({
@@ -526,6 +520,10 @@ ${VALIDATION_PROCESS}`;
526
520
  type: 'tool_complete',
527
521
  data: {
528
522
  callId: 'discovery-1',
523
+ tool: 'bubble-discovery',
524
+ input: {
525
+ action: 'listing_available_bubbles',
526
+ },
529
527
  output: {
530
528
  availableBubbles: availableBubbles.length,
531
529
  descriptions: bubbleDescriptions,
@@ -547,6 +545,8 @@ ${VALIDATION_PROCESS}`;
547
545
  await streamingCallback({
548
546
  type: 'tool_complete',
549
547
  data: {
548
+ tool: 'template-generation',
549
+ input: { action: 'generating_boilerplate' },
550
550
  callId: 'template-1',
551
551
  output: { templateGenerated: true, length: boilerplate.length },
552
552
  duration: 50,
@@ -587,15 +587,17 @@ ${VALIDATION_PROCESS}`;
587
587
  error: result.error || 'Failed to generate code',
588
588
  summary: '',
589
589
  inputsSchema: '',
590
+ bubblesUsed: [],
590
591
  };
591
592
  }
592
- const generatedCode = result.response
593
+ let generatedCode = result.response
593
594
  .replace(/```typescript/g, '')
594
595
  .replace(/```/g, '')
595
596
  .trim();
596
597
  // Check validation status from tool calls
597
598
  let isValid = true;
598
599
  let validationError = '';
600
+ let bubblesUsed = [];
599
601
  console.log('[BubbleFlowGenerator] Checking validation status...');
600
602
  let needsValidationAgent = false;
601
603
  if (result.toolCalls && result.toolCalls.length > 0) {
@@ -607,6 +609,10 @@ ${VALIDATION_PROCESS}`;
607
609
  try {
608
610
  // Handle ToolMessage object with content property
609
611
  let validationContent;
612
+ console.log('[BubbleFlowGenerator] Last tool call output:', lastToolCall.input);
613
+ // Parse the input as a JSON object
614
+ const input = JSON.parse(lastToolCall.input.input);
615
+ generatedCode = input.code;
610
616
  if (lastToolCall.output instanceof ToolMessage) {
611
617
  const content = lastToolCall.output.content;
612
618
  validationContent =
@@ -626,16 +632,31 @@ ${VALIDATION_PROCESS}`;
626
632
  console.log('[BubbleFlowGenerator] Unexpected output type:', typeof lastToolCall.output);
627
633
  validationContent = JSON.stringify(lastToolCall.output);
628
634
  }
629
- const validationResult = JSON.parse(validationContent);
630
- console.log('[BubbleFlowGenerator] Parsed validation result:', validationResult);
635
+ const parsedResult = JSON.parse(validationContent);
636
+ console.log('[BubbleFlowGenerator] 🔍 Validation agent output structure:', {
637
+ hasData: !!parsedResult.data,
638
+ hasTopLevelValid: 'valid' in parsedResult,
639
+ hasNestedValid: parsedResult.data && 'valid' in parsedResult.data,
640
+ topLevelValid: parsedResult.valid,
641
+ nestedValid: parsedResult.data?.valid,
642
+ });
643
+ // Unwrap the result if it's wrapped in a data object
644
+ const validationResult = parsedResult.data || parsedResult;
631
645
  isValid = validationResult.valid === true;
632
646
  validationError =
633
647
  validationResult.error ||
634
648
  (validationResult.errors && validationResult.errors.join('; ')) ||
635
649
  '';
650
+ // Extract bubble names from validation result
651
+ bubblesUsed = extractBubbleNames(validationResult);
652
+ console.log('[BubbleFlowGenerator] ✅ Validation agent result - valid:', isValid, 'bubblesUsed:', bubblesUsed);
636
653
  if (!isValid) {
654
+ console.log('[BubbleFlowGenerator] ⚠️ Validation agent says INVALID, will try again. First error:', validationResult.errors?.[0]?.substring(0, 100));
637
655
  needsValidationAgent = true;
638
656
  }
657
+ else {
658
+ console.log('[BubbleFlowGenerator] ✓ Validation agent says VALID');
659
+ }
639
660
  }
640
661
  catch (parseError) {
641
662
  console.log('Failed to parse validation output:', parseError);
@@ -662,10 +683,12 @@ ${VALIDATION_PROCESS}`;
662
683
  callId: 'validation-agent-1',
663
684
  },
664
685
  });
665
- const { validatedCode, isValid: validated, validationError: vErr, } = await this.runValidationAgent(generatedCode, this.params.credentials, streamingCallback);
686
+ const { validatedCode, isValid: validated, validationError: vErr, bubblesUsed: validationBubbles, } = await this.runValidationAgent(generatedCode, this.params.credentials, streamingCallback);
666
687
  await streamingCallback({
667
688
  type: 'tool_complete',
668
689
  data: {
690
+ tool: 'validation-agent',
691
+ input: { action: 'validating_generated_code' },
669
692
  callId: 'validation-agent-1',
670
693
  output: { success: validated },
671
694
  duration: 100,
@@ -673,6 +696,7 @@ ${VALIDATION_PROCESS}`;
673
696
  });
674
697
  isValid = validated;
675
698
  validationError = vErr;
699
+ bubblesUsed = validationBubbles;
676
700
  let summary = '';
677
701
  let inputsSchema = '';
678
702
  if (isValid) {
@@ -691,6 +715,8 @@ ${VALIDATION_PROCESS}`;
691
715
  type: 'tool_complete',
692
716
  data: {
693
717
  callId: 'summary-agent-1',
718
+ tool: 'summary-agent',
719
+ input: { action: 'generating_summary_and_schema' },
694
720
  output: {
695
721
  summaryGenerated: !!summary,
696
722
  schemaGenerated: !!inputsSchema,
@@ -707,6 +733,7 @@ ${VALIDATION_PROCESS}`;
707
733
  error: validationError,
708
734
  summary,
709
735
  inputsSchema,
736
+ bubblesUsed,
710
737
  };
711
738
  }
712
739
  console.log('[BubbleFlowGenerator] Streaming generation completed');
@@ -731,6 +758,8 @@ ${VALIDATION_PROCESS}`;
731
758
  type: 'tool_complete',
732
759
  data: {
733
760
  callId: 'summary-agent-final',
761
+ tool: 'summary-agent',
762
+ input: { action: 'generating_summary_and_schema' },
734
763
  output: {
735
764
  summaryGenerated: !!summary,
736
765
  schemaGenerated: !!inputsSchema,
@@ -747,6 +776,7 @@ ${VALIDATION_PROCESS}`;
747
776
  error: validationError,
748
777
  summary,
749
778
  inputsSchema,
779
+ bubblesUsed,
750
780
  };
751
781
  }
752
782
  catch (error) {
@@ -770,6 +800,7 @@ ${VALIDATION_PROCESS}`;
770
800
  : 'Unknown error during generation',
771
801
  summary: '',
772
802
  inputsSchema: '',
803
+ bubblesUsed: [],
773
804
  };
774
805
  }
775
806
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bubbleflow-generator.workflow.js","sourceRoot":"","sources":["../../../src/bubbles/workflow-bubble/bubbleflow-generator.workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bubbleflow-generator.workflow.js","sourceRoot":"","sources":["../../../src/bubbles/workflow-bubble/bubbleflow-generator.workflow.ts"],"names":[],"mappings":"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"}