@bubblelab/bubble-core 0.1.9 → 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 (186) hide show
  1. package/dist/bubble-bundle.d.ts +252 -1686
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +51 -19
  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 +30 -30
  26. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  27. package/dist/bubbles/service-bubble/ai-agent.js +3 -1
  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 +34 -34
  30. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +42 -42
  31. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +21 -21
  32. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +6 -6
  33. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +184 -0
  34. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts.map +1 -0
  35. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js +145 -0
  36. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js.map +1 -0
  37. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts +52 -0
  38. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts.map +1 -0
  39. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js +29 -0
  40. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js.map +1 -0
  41. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +338 -109
  42. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts.map +1 -1
  43. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js +16 -0
  44. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js.map +1 -1
  45. package/dist/bubbles/service-bubble/apify/apify.d.ts +10 -10
  46. package/dist/bubbles/service-bubble/apify/index.d.ts +2 -0
  47. package/dist/bubbles/service-bubble/apify/index.d.ts.map +1 -1
  48. package/dist/bubbles/service-bubble/apify/index.js +3 -0
  49. package/dist/bubbles/service-bubble/apify/index.js.map +1 -1
  50. package/dist/bubbles/service-bubble/apify/types.js +1 -2
  51. package/dist/bubbles/service-bubble/apify/types.js.map +1 -1
  52. package/dist/bubbles/service-bubble/gmail.d.ts +678 -184
  53. package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -1
  54. package/dist/bubbles/service-bubble/gmail.js +435 -7
  55. package/dist/bubbles/service-bubble/gmail.js.map +1 -1
  56. package/dist/bubbles/service-bubble/google-calendar.d.ts +60 -60
  57. package/dist/bubbles/service-bubble/google-drive.d.ts +301 -72
  58. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
  59. package/dist/bubbles/service-bubble/google-drive.js +65 -75
  60. package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
  61. package/dist/bubbles/service-bubble/google-sheets.d.ts +76 -76
  62. package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
  63. package/dist/bubbles/service-bubble/hello-world.js +2 -2
  64. package/dist/bubbles/service-bubble/hello-world.js.map +1 -1
  65. package/dist/bubbles/service-bubble/http.d.ts +10 -10
  66. package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
  67. package/dist/bubbles/service-bubble/resend.d.ts +16 -16
  68. package/dist/bubbles/service-bubble/slack.d.ts +469 -469
  69. package/dist/bubbles/service-bubble/storage.d.ts +36 -36
  70. package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
  71. package/dist/bubbles/service-bubble/storage.js +16 -5
  72. package/dist/bubbles/service-bubble/storage.js.map +1 -1
  73. package/dist/bubbles/service-bubble/x-twitter.d.ts +814 -0
  74. package/dist/bubbles/service-bubble/x-twitter.d.ts.map +1 -0
  75. package/dist/bubbles/service-bubble/x-twitter.js +445 -0
  76. package/dist/bubbles/service-bubble/x-twitter.js.map +1 -0
  77. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +20 -20
  78. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +10 -10
  79. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -1
  80. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +17 -9
  81. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -1
  82. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +86 -86
  83. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +134 -134
  84. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +69 -64
  85. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts.map +1 -1
  86. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js +97 -22
  87. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js.map +1 -1
  88. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +6 -6
  89. package/dist/bubbles/tool-bubble/research-agent-tool.js +4 -4
  90. package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
  91. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  92. package/dist/bubbles/tool-bubble/tool-template.d.ts +8 -8
  93. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +10 -10
  94. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  95. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +12 -12
  96. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +11 -10
  97. package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -1
  98. package/dist/bubbles/tool-bubble/web-search-tool.js +5 -1
  99. package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -1
  100. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +394 -0
  101. package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -0
  102. package/dist/bubbles/tool-bubble/youtube-tool.js +352 -0
  103. package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -0
  104. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +47 -36
  105. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -1
  106. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +91 -65
  107. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -1
  108. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  109. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +70 -70
  110. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +66 -66
  111. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +56 -56
  112. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -1
  113. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -1
  114. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +44 -44
  115. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts.map +1 -1
  116. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +1 -1
  117. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js.map +1 -1
  118. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +32 -32
  119. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +58 -58
  120. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +18 -18
  121. package/dist/bubbles.json +69 -54
  122. package/dist/index.d.ts +4 -2
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +2 -1
  125. package/dist/index.js.map +1 -1
  126. package/dist/logging/BubbleLogger.d.ts.map +1 -1
  127. package/dist/logging/BubbleLogger.js +20 -13
  128. package/dist/logging/BubbleLogger.js.map +1 -1
  129. package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
  130. package/dist/logging/StreamingBubbleLogger.js +5 -5
  131. package/dist/logging/StreamingBubbleLogger.js.map +1 -1
  132. package/dist/test-gm.d.ts +10 -0
  133. package/dist/test-gm.d.ts.map +1 -0
  134. package/dist/test-gm.js +95 -0
  135. package/dist/test-gm.js.map +1 -0
  136. package/dist/types/base-bubble-class.d.ts +1 -1
  137. package/dist/types/base-bubble-class.d.ts.map +1 -1
  138. package/dist/types/base-bubble-class.js +29 -21
  139. package/dist/types/base-bubble-class.js.map +1 -1
  140. package/dist/types/bubble.d.ts +1 -10
  141. package/dist/types/bubble.d.ts.map +1 -1
  142. package/dist/types/bubble.js +1 -1
  143. package/dist/types/bubble.js.map +1 -1
  144. package/dist/types/service-bubble-class.d.ts +1 -1
  145. package/dist/types/service-bubble-class.d.ts.map +1 -1
  146. package/dist/types/tool-bubble-class.d.ts +1 -1
  147. package/dist/types/tool-bubble-class.d.ts.map +1 -1
  148. package/dist/types/tool-bubble-class.js +0 -2
  149. package/dist/types/tool-bubble-class.js.map +1 -1
  150. package/dist/types/workflow-bubble-class.d.ts +1 -1
  151. package/dist/types/workflow-bubble-class.d.ts.map +1 -1
  152. package/dist/utils/agent-formatter.d.ts.map +1 -1
  153. package/dist/utils/agent-formatter.js +2 -2
  154. package/dist/utils/agent-formatter.js.map +1 -1
  155. package/dist/utils/bubbleflow-validation.d.ts.map +1 -1
  156. package/dist/utils/bubbleflow-validation.js +89 -32
  157. package/dist/utils/bubbleflow-validation.js.map +1 -1
  158. package/dist/utils/error-sanitizer.d.ts +12 -0
  159. package/dist/utils/error-sanitizer.d.ts.map +1 -0
  160. package/dist/utils/error-sanitizer.js +77 -0
  161. package/dist/utils/error-sanitizer.js.map +1 -0
  162. package/package.json +4 -4
  163. package/dist/bubble-trigger/index.d.ts +0 -2
  164. package/dist/bubble-trigger/index.d.ts.map +0 -1
  165. package/dist/bubble-trigger/index.js +0 -2
  166. package/dist/bubble-trigger/index.js.map +0 -1
  167. package/dist/bubble-trigger/types.d.ts +0 -87
  168. package/dist/bubble-trigger/types.d.ts.map +0 -1
  169. package/dist/bubble-trigger/types.js +0 -14
  170. package/dist/bubble-trigger/types.js.map +0 -1
  171. package/dist/bubbles/service-bubble/apify/api-scraper.schema.d.ts +0 -370
  172. package/dist/bubbles/service-bubble/apify/api-scraper.schema.d.ts.map +0 -1
  173. package/dist/bubbles/service-bubble/apify/api-scraper.schema.js +0 -14
  174. package/dist/bubbles/service-bubble/apify/api-scraper.schema.js.map +0 -1
  175. package/dist/bubbles/service-bubble/apify.d.ts +0 -136
  176. package/dist/bubbles/service-bubble/apify.d.ts.map +0 -1
  177. package/dist/bubbles/service-bubble/apify.js +0 -282
  178. package/dist/bubbles/service-bubble/apify.js.map +0 -1
  179. package/dist/types/ai-models.d.ts +0 -4
  180. package/dist/types/ai-models.d.ts.map +0 -1
  181. package/dist/types/ai-models.js +0 -20
  182. package/dist/types/ai-models.js.map +0 -1
  183. package/dist/types/api-scraper.schema.d.ts +0 -453
  184. package/dist/types/api-scraper.schema.d.ts.map +0 -1
  185. package/dist/types/api-scraper.schema.js +0 -160
  186. package/dist/types/api-scraper.schema.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import type { DatabaseMetadata, CredentialOptions, DependencyGraphNode } from '@bubblelab/shared-schemas';
2
+ import type { DatabaseMetadata, CredentialOptions, DependencyGraphNode, BubbleOperationResult, BubbleResult } from '@bubblelab/shared-schemas';
3
3
  import type { BubbleLogger } from '../logging/BubbleLogger';
4
4
  export interface IBubble<TResult extends BubbleOperationResult = BubbleOperationResult> {
5
5
  readonly name: string;
@@ -38,16 +38,7 @@ export interface IInfraBubble extends IBubble {
38
38
  provider: 'aws' | 'gcp' | 'supabase';
39
39
  resourceType: string;
40
40
  }
41
- export interface BubbleOperationResult {
42
- success: boolean;
43
- error: string;
44
- }
45
41
  export type BubbleFlowOperationResult = unknown;
46
- export interface BubbleResult<T> extends BubbleOperationResult {
47
- data: T;
48
- executionId: string;
49
- timestamp: Date;
50
- }
51
42
  export interface BubbleContext {
52
43
  logger?: BubbleLogger;
53
44
  variableId?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"bubble.d.ts","sourceRoot":"","sources":["../../src/types/bubble.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,WAAW,OAAO,CACtB,OAAO,SAAS,qBAAqB,GAAG,qBAAqB;IAE7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAGhE,cAAc,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAC;IAEhE,MAAM,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7C,UAAU,EAAE,CAAC,CAAC,SAAS,qBAAqB,EAC1C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KACpB,IAAI,CAAC;IACV,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,0BAA0B,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;CACrE;AAGD,MAAM,WAAW,cAAc,CAC7B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAC7D,SAAQ,OAAO,CAAC,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,mBAAmB,CAAC;IAE7D,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,EAChC,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KACnB,IAAI,CAAC;IACV,qBAAqB,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;CACpE;AAGD,MAAM,WAAW,eAAe,CAC9B,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAC7D,SAAQ,OAAO,CAAC,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAGD,MAAM,WAAW,WAAW,CAC1B,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAC7D,SAAQ,OAAO,CAAC,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,SAAU,SAAQ,OAAO;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAGhD,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,qBAAqB;IAC5D,IAAI,EAAE,CAAC,CAAC;IACR,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG;IACjD,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"bubble.d.ts","sourceRoot":"","sources":["../../src/types/bubble.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { z } from 'zod';
1
+ export {};
2
2
  //# sourceMappingURL=bubble.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bubble.js","sourceRoot":"","sources":["../../src/types/bubble.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
1
+ {"version":3,"file":"bubble.js","sourceRoot":"","sources":["../../src/types/bubble.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import type { BubbleOperationResult, ServiceBubbleParams, BubbleContext } from './bubble.js';
1
+ import type { BubbleOperationResult, ServiceBubbleParams, BubbleContext } from '@bubblelab/bubble-core';
2
2
  import { BaseBubble } from './base-bubble-class.js';
3
3
  import type { DatabaseMetadata } from '@bubblelab/shared-schemas';
4
4
  export declare abstract class ServiceBubble<TParams extends ServiceBubbleParams = ServiceBubbleParams, TResult extends BubbleOperationResult = BubbleOperationResult> extends BaseBubble<TParams, TResult> {
@@ -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,aAAa,CAAC;AACrB,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;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,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import type { IToolBubble, ServiceBubbleParams, BubbleContext, BubbleOperationResult, BubbleResult } from './bubble.js';
2
+ import type { IToolBubble, ServiceBubbleParams, BubbleContext, BubbleOperationResult, BubbleResult } from '@bubblelab/bubble-core';
3
3
  import { BaseBubble } from './base-bubble-class.js';
4
4
  import { CredentialType } from '@bubblelab/shared-schemas';
5
5
  export interface LangGraphTool {
@@ -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,aAAa,CAAC;AACrB,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;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,6 +1,4 @@
1
- import { z } from 'zod';
2
1
  import { BaseBubble } from './base-bubble-class.js';
3
- import { CredentialType } from '@bubblelab/shared-schemas';
4
2
  /**
5
3
  * Abstract base class for all tool bubbles that can be converted to LangGraph tools
6
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-bubble-class.js","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAY3D;;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":"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,4 +1,4 @@
1
- import type { IWorkflowBubble, BubbleOperationResult, ServiceBubbleParams, BubbleContext } from './bubble.js';
1
+ import type { IWorkflowBubble, BubbleOperationResult, ServiceBubbleParams, BubbleContext } from '@bubblelab/bubble-core';
2
2
  import { BaseBubble } from './base-bubble-class.js';
3
3
  /**
4
4
  * WorkflowBubble - Higher-level abstraction that orchestrates ServiceBubbles
@@ -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,aAAa,CAAC;AACrB,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;IAIpD;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,aAAa,GAAG,SAAS,CAE9C;CACF"}
@@ -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,CAmDtC;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":"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"}
@@ -63,7 +63,7 @@ export function formatFinalResponse(response, modelName, jsonMode) {
63
63
  let finalResponse = typeof response === 'string' ? response : JSON.stringify(response);
64
64
  // If response is an array, look for first parsable JSON in text
65
65
  console.log('[AIAgent] Checking if response is an array:', Array.isArray(response));
66
- console.log('[AIAgent] Response:', response);
66
+ console.log('[AIAgent] Response length:', typeof response === 'string' ? response.length : 'N/A (object)');
67
67
  if (Array.isArray(response)) {
68
68
  for (const item of response) {
69
69
  if (item &&
@@ -98,7 +98,7 @@ export function formatFinalResponse(response, modelName, jsonMode) {
98
98
  }
99
99
  return { response: result.response };
100
100
  }
101
- console.log('[AIAgent] Final response:', finalResponse);
101
+ console.log('[AIAgent] Final response length:', typeof finalResponse === 'string' ? finalResponse.length : 'N/A');
102
102
  return { response: finalResponse };
103
103
  }
104
104
  /**
@@ -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 +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;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA4G3B"}
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,40 +1,88 @@
1
1
  import * as ts from 'typescript';
2
2
  import { parseBubbleFlow } from './bubbleflow-parser.js';
3
+ // Language Service-based validator (persistent across calls for performance)
4
+ let cachedLanguageService = null;
5
+ let cachedCompilerOptions = null;
6
+ const scriptVersions = new Map();
7
+ const scriptSnapshots = new Map();
8
+ function getOrCreateLanguageService() {
9
+ if (cachedLanguageService && cachedCompilerOptions) {
10
+ return cachedLanguageService;
11
+ }
12
+ // Get TypeScript compiler options (similar to bubble-core config)
13
+ // Disable file generation options for runtime validation performance
14
+ const compilerOptions = {
15
+ target: ts.ScriptTarget.ES2022,
16
+ module: ts.ModuleKind.ESNext,
17
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
18
+ esModuleInterop: true,
19
+ allowSyntheticDefaultImports: true,
20
+ strict: true,
21
+ noImplicitAny: false,
22
+ skipLibCheck: true,
23
+ forceConsistentCasingInFileNames: true,
24
+ declaration: false,
25
+ declarationMap: false,
26
+ sourceMap: false,
27
+ incremental: false,
28
+ noUnusedLocals: true,
29
+ noUnusedParameters: true,
30
+ noImplicitReturns: true,
31
+ noFallthroughCasesInSwitch: true,
32
+ resolveJsonModule: true,
33
+ isolatedModules: true,
34
+ };
35
+ // Create Language Service Host with full file system access
36
+ const host = {
37
+ getScriptFileNames: () => Array.from(scriptSnapshots.keys()),
38
+ getScriptVersion: (fileName) => scriptVersions.get(fileName)?.toString() ?? '0',
39
+ getScriptSnapshot: (fileName) => {
40
+ // First check our in-memory snapshots
41
+ const snapshot = scriptSnapshots.get(fileName);
42
+ if (snapshot) {
43
+ return snapshot;
44
+ }
45
+ // Then try to read from file system (for node_modules, etc.)
46
+ if (ts.sys.fileExists(fileName)) {
47
+ const text = ts.sys.readFile(fileName);
48
+ if (text !== undefined) {
49
+ return ts.ScriptSnapshot.fromString(text);
50
+ }
51
+ }
52
+ return undefined;
53
+ },
54
+ getCurrentDirectory: () => ts.sys.getCurrentDirectory(),
55
+ getCompilationSettings: () => compilerOptions,
56
+ getDefaultLibFileName: (options) => ts.getDefaultLibFilePath(options),
57
+ fileExists: ts.sys.fileExists,
58
+ readFile: ts.sys.readFile,
59
+ readDirectory: ts.sys.readDirectory,
60
+ directoryExists: ts.sys.directoryExists,
61
+ getDirectories: ts.sys.getDirectories,
62
+ useCaseSensitiveFileNames: () => ts.sys.useCaseSensitiveFileNames,
63
+ };
64
+ cachedCompilerOptions = compilerOptions;
65
+ cachedLanguageService = ts.createLanguageService(host, ts.createDocumentRegistry());
66
+ return cachedLanguageService;
67
+ }
3
68
  export async function validateBubbleFlow(code, bubbleFactory) {
4
69
  try {
5
70
  // Create a temporary file name for the validation
6
- const fileName = 'temp-bubble-flow.ts';
7
- // Get TypeScript compiler options (similar to bubble-core config)
8
- const compilerOptions = {
9
- target: ts.ScriptTarget.ES2022,
10
- module: ts.ModuleKind.ESNext,
11
- moduleResolution: ts.ModuleResolutionKind.Bundler,
12
- allowSyntheticDefaultImports: true,
13
- esModuleInterop: true,
14
- strict: true,
15
- noImplicitAny: true,
16
- skipLibCheck: true,
17
- verbatimModuleSyntax: true,
18
- paths: {
19
- '@bubblelab/bubble-core': ['../../packages/bubble-core/src'],
20
- },
21
- baseUrl: '.',
22
- };
23
- // Create a program with the code
24
- const sourceFile = ts.createSourceFile(fileName, code, ts.ScriptTarget.ES2022, true);
25
- // Create program
26
- const host = ts.createCompilerHost(compilerOptions);
27
- // Override getSourceFile to return our code
28
- const originalGetSourceFile = host.getSourceFile;
29
- host.getSourceFile = (name, languageVersion, onError, shouldCreateNewSourceFile) => {
30
- if (name === fileName) {
31
- return sourceFile;
32
- }
33
- return originalGetSourceFile.call(host, name, languageVersion, onError, shouldCreateNewSourceFile);
34
- };
35
- const program = ts.createProgram([fileName], compilerOptions, host);
36
- // Get diagnostics
37
- const diagnostics = ts.getPreEmitDiagnostics(program);
71
+ const fileName = 'virtual-bubble-flow.ts';
72
+ // Get or create the language service
73
+ const languageService = getOrCreateLanguageService();
74
+ // Update script version and snapshot
75
+ const version = (scriptVersions.get(fileName) ?? 0) + 1;
76
+ scriptVersions.set(fileName, version);
77
+ scriptSnapshots.set(fileName, ts.ScriptSnapshot.fromString(code));
78
+ // Get diagnostics using Language Service
79
+ const syntacticDiagnostics = languageService.getSyntacticDiagnostics(fileName);
80
+ const semanticDiagnostics = languageService.getSemanticDiagnostics(fileName);
81
+ // Filter out TS6133 (unused variables) like the server does
82
+ const diagnostics = [
83
+ ...syntacticDiagnostics,
84
+ ...semanticDiagnostics,
85
+ ].filter((d) => d.code !== 6133);
38
86
  if (diagnostics.length > 0) {
39
87
  const errors = diagnostics.map((diagnostic) => {
40
88
  if (diagnostic.file && diagnostic.start !== undefined) {
@@ -50,6 +98,15 @@ export async function validateBubbleFlow(code, bubbleFactory) {
50
98
  };
51
99
  }
52
100
  // Additional validation: Check if it extends BubbleFlow
101
+ // Get source file from language service for AST analysis
102
+ const program = languageService.getProgram();
103
+ const sourceFile = program?.getSourceFile(fileName);
104
+ if (!sourceFile) {
105
+ return {
106
+ valid: false,
107
+ errors: ['Failed to get source file for validation'],
108
+ };
109
+ }
53
110
  const hasValidBubbleFlow = validateBubbleFlowClass(sourceFile);
54
111
  if (!hasValidBubbleFlow.valid) {
55
112
  return hasValidBubbleFlow;
@@ -1 +1 @@
1
- {"version":3,"file":"bubbleflow-validation.js","sourceRoot":"","sources":["../../src/utils/bubbleflow-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bubbleflow-validation.js","sourceRoot":"","sources":["../../src/utils/bubbleflow-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Sanitizes error messages to remove sensitive credential information
3
+ */
4
+ /**
5
+ * Sanitizes error stack traces
6
+ */
7
+ export declare function sanitizeErrorStack(error: Error | undefined): string | undefined;
8
+ /**
9
+ * Sanitizes error messages
10
+ */
11
+ export declare function sanitizeErrorMessage(message: string): string;
12
+ //# sourceMappingURL=error-sanitizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-sanitizer.d.ts","sourceRoot":"","sources":["../../src/utils/error-sanitizer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwFH;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,GAAG,SAAS,GACvB,MAAM,GAAG,SAAS,CAGpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Sanitizes error messages to remove sensitive credential information
3
+ */
4
+ /**
5
+ * Sanitizes a string to remove credential patterns
6
+ */
7
+ function sanitizeString(str) {
8
+ if (!str)
9
+ return str;
10
+ let sanitized = str;
11
+ // Common credential field name patterns (case-insensitive)
12
+ const credentialFieldPatterns = [
13
+ 'api[_-]?key',
14
+ 'access[_-]?key',
15
+ 'secret[_-]?key',
16
+ 'secret',
17
+ 'token',
18
+ 'password',
19
+ 'passwd',
20
+ 'pwd',
21
+ 'auth[_-]?token',
22
+ 'bearer[_-]?token',
23
+ 'account[_-]?id',
24
+ 'client[_-]?id',
25
+ 'client[_-]?secret',
26
+ 'private[_-]?key',
27
+ 'public[_-]?key',
28
+ 'api[_-]?secret',
29
+ 'credential',
30
+ 'auth',
31
+ 'authentication',
32
+ ];
33
+ // Create pattern to match any credential field name
34
+ const credentialPattern = new RegExp(`(${credentialFieldPatterns.join('|')})["\\s]*:["\\s]*(["'])([^"']+)\\2`, 'gi');
35
+ // Replace credential values with [REDACTED]
36
+ sanitized = sanitized.replace(credentialPattern, (match, fieldName, quote, value) => {
37
+ // Only replace if it looks like a credential value (long alphanumeric/hex string)
38
+ if (value.length > 8 && /^[a-zA-Z0-9+/\-=]+$/.test(value)) {
39
+ return `${fieldName}: ${quote}[REDACTED]${quote}`;
40
+ }
41
+ return match;
42
+ });
43
+ // Sanitize entire credentials objects that might be in the error
44
+ // Match: credentials: { ... }
45
+ sanitized = sanitized.replace(/credentials["\s]*:["\s]*\{[^}]*\}/gi, 'credentials: { [REDACTED] }');
46
+ // Sanitize any object literal that contains credential-like keys
47
+ // This catches objects like { CLOUDFLARE_R2_ACCESS_KEY: "...", ... }
48
+ sanitized = sanitized.replace(/\{[^}]*\b(?:API[_-]?KEY|ACCESS[_-]?KEY|SECRET[_-]?KEY|SECRET|TOKEN|PASSWORD|CREDENTIAL)\b[^}]*\}/gi, (match) => {
49
+ // Replace all values in this object that look like credentials
50
+ return match.replace(/([\w_]+)["\s]*:["\s]*(["'])([^"']+)\2/g, (fullMatch, key, quote, value) => {
51
+ // Check if the key looks like a credential field
52
+ const isCredentialKey = credentialFieldPatterns.some((pattern) => new RegExp(pattern, 'i').test(key));
53
+ // Check if the value looks like a credential
54
+ const isCredentialValue = value.length > 8 && /^[a-zA-Z0-9+/\-=]+$/.test(value);
55
+ if (isCredentialKey || isCredentialValue) {
56
+ return `${key}: ${quote}[REDACTED]${quote}`;
57
+ }
58
+ return fullMatch;
59
+ });
60
+ });
61
+ return sanitized;
62
+ }
63
+ /**
64
+ * Sanitizes error stack traces
65
+ */
66
+ export function sanitizeErrorStack(error) {
67
+ if (!error || !error.stack)
68
+ return error?.stack;
69
+ return sanitizeString(error.stack);
70
+ }
71
+ /**
72
+ * Sanitizes error messages
73
+ */
74
+ export function sanitizeErrorMessage(message) {
75
+ return sanitizeString(message);
76
+ }
77
+ //# sourceMappingURL=error-sanitizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-sanitizer.js","sourceRoot":"","sources":["../../src/utils/error-sanitizer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IAErB,IAAI,SAAS,GAAG,GAAG,CAAC;IAEpB,2DAA2D;IAC3D,MAAM,uBAAuB,GAAG;QAC9B,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,QAAQ;QACR,OAAO;QACP,UAAU;QACV,QAAQ;QACR,KAAK;QACL,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,eAAe;QACf,mBAAmB;QACnB,iBAAiB;QACjB,gBAAgB;QAChB,gBAAgB;QAChB,YAAY;QACZ,MAAM;QACN,gBAAgB;KACjB,CAAC;IAEF,oDAAoD;IACpD,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,mCAAmC,EACxE,IAAI,CACL,CAAC;IAEF,4CAA4C;IAC5C,SAAS,GAAG,SAAS,CAAC,OAAO,CAC3B,iBAAiB,EACjB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,kFAAkF;QAClF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO,GAAG,SAAS,KAAK,KAAK,aAAa,KAAK,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,8BAA8B;IAC9B,SAAS,GAAG,SAAS,CAAC,OAAO,CAC3B,qCAAqC,EACrC,6BAA6B,CAC9B,CAAC;IAEF,iEAAiE;IACjE,qEAAqE;IACrE,SAAS,GAAG,SAAS,CAAC,OAAO,CAC3B,oGAAoG,EACpG,CAAC,KAAK,EAAE,EAAE;QACR,+DAA+D;QAC/D,OAAO,KAAK,CAAC,OAAO,CAClB,wCAAwC,EACxC,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,iDAAiD;YACjD,MAAM,eAAe,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/D,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACnC,CAAC;YAEF,6CAA6C;YAC7C,MAAM,iBAAiB,GACrB,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAExD,IAAI,eAAe,IAAI,iBAAiB,EAAE,CAAC;gBACzC,OAAO,GAAG,GAAG,KAAK,KAAK,aAAa,KAAK,EAAE,CAAC;YAC9C,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAwB;IAExB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,KAAK,EAAE,KAAK,CAAC;IAChD,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "@aws-sdk/client-s3": "^3.873.0",
26
26
  "@aws-sdk/s3-request-presigner": "^3.873.0",
27
- "@langchain/anthropic": "^0.3.30",
27
+ "@langchain/anthropic": "^0.3.32",
28
28
  "@langchain/community": "^0.3.53",
29
29
  "@langchain/core": "^0.3.66",
30
30
  "@langchain/google-genai": "^0.2.15",
@@ -39,13 +39,13 @@
39
39
  "resend": "^4.8.0",
40
40
  "zod": "^3.24.1",
41
41
  "zod-to-json-schema": "^3.24.6",
42
- "@bubblelab/shared-schemas": "0.1.9"
42
+ "@bubblelab/shared-schemas": "0.1.10"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^20.12.12",
46
46
  "@vitest/ui": "^3.2.4",
47
47
  "tsx": "^4.20.3",
48
- "typescript": "^5.4.5",
48
+ "typescript": "^5.8.3",
49
49
  "vitest": "^3.2.4"
50
50
  },
51
51
  "scripts": {
@@ -1,2 +0,0 @@
1
- export * from './types.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bubble-trigger/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './types.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bubble-trigger/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,87 +0,0 @@
1
- export interface BubbleTriggerEventRegistry {
2
- 'slack/bot_mentioned': SlackMentionEvent;
3
- 'slack/message_received': SlackMessageReceivedEvent;
4
- 'gmail/email_received': GmailEmailEvent;
5
- 'schedule/cron/daily': CronEvent;
6
- 'webhook/http': WebhookEvent;
7
- }
8
- export declare const BUBBLE_TRIGGER_EVENTS: {
9
- readonly 'slack/bot_mentioned': true;
10
- readonly 'slack/message_received': true;
11
- readonly 'gmail/email_received': true;
12
- readonly 'schedule/cron/daily': true;
13
- readonly 'webhook/http': true;
14
- };
15
- export declare function isValidBubbleTriggerEvent(eventType: string): eventType is keyof BubbleTriggerEventRegistry;
16
- export interface BubbleTriggerEvent {
17
- type: keyof BubbleTriggerEventRegistry;
18
- timestamp: string;
19
- path: string;
20
- [key: string]: unknown;
21
- }
22
- export interface SlackEventWrapper {
23
- token: string;
24
- team_id: string;
25
- api_app_id: string;
26
- event: SlackAppMentionEvent | SlackMessageEvent;
27
- type: 'event_callback';
28
- authorizations: Array<{
29
- enterprise_id?: string;
30
- team_id: string;
31
- user_id: string;
32
- is_bot: boolean;
33
- }>;
34
- event_context: string;
35
- event_id: string;
36
- event_time: number;
37
- }
38
- export interface SlackAppMentionEvent {
39
- type: 'app_mention';
40
- user: string;
41
- text: string;
42
- ts: string;
43
- channel: string;
44
- event_ts: string;
45
- thread_ts?: string;
46
- }
47
- export interface SlackMessageEvent {
48
- type: 'message';
49
- user: string;
50
- text: string;
51
- ts: string;
52
- channel: string;
53
- event_ts: string;
54
- channel_type: 'channel' | 'group' | 'im' | 'mpim';
55
- subtype?: string;
56
- }
57
- export interface SlackMentionEvent extends BubbleTriggerEvent {
58
- slack_event: SlackEventWrapper;
59
- channel: string;
60
- user: string;
61
- text: string;
62
- thread_ts?: string;
63
- }
64
- export interface SlackMessageReceivedEvent extends BubbleTriggerEvent {
65
- slack_event: SlackEventWrapper;
66
- channel: string;
67
- user: string;
68
- text: string;
69
- channel_type: 'channel' | 'group' | 'im' | 'mpim';
70
- subtype?: string;
71
- }
72
- export interface GmailEmailEvent extends BubbleTriggerEvent {
73
- email: string;
74
- }
75
- export interface CronEvent extends BubbleTriggerEvent {
76
- cron: string;
77
- }
78
- export interface WebhookEvent extends BubbleTriggerEvent {
79
- body?: Record<string, unknown>;
80
- }
81
- export interface BubbleTriggerOptions {
82
- name?: string;
83
- description?: string;
84
- timeout?: number;
85
- retries?: number;
86
- }
87
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bubble-trigger/types.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- // Runtime object that mirrors the interface keys
2
- // This allows us to validate event types at runtime
3
- export const BUBBLE_TRIGGER_EVENTS = {
4
- 'slack/bot_mentioned': true,
5
- 'slack/message_received': true,
6
- 'gmail/email_received': true,
7
- 'schedule/cron/daily': true,
8
- 'webhook/http': true,
9
- };
10
- // Helper function to check if an event type is valid
11
- export function isValidBubbleTriggerEvent(eventType) {
12
- return eventType in BUBBLE_TRIGGER_EVENTS;
13
- }
14
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bubble-trigger/types.ts"],"names":[],"mappings":"AAQA,iDAAiD;AACjD,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB,EAAE,IAAI;IAC3B,wBAAwB,EAAE,IAAI;IAC9B,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,cAAc,EAAE,IAAI;CAC6C,CAAC;AAEpE,qDAAqD;AACrD,MAAM,UAAU,yBAAyB,CACvC,SAAiB;IAEjB,OAAO,SAAS,IAAI,qBAAqB,CAAC;AAC5C,CAAC"}