@bubblelab/bubble-runtime 0.1.14 → 0.1.15

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 (69) hide show
  1. package/dist/extraction/BubbleParser.d.ts +186 -8
  2. package/dist/extraction/BubbleParser.d.ts.map +1 -1
  3. package/dist/extraction/BubbleParser.js +2255 -117
  4. package/dist/extraction/BubbleParser.js.map +1 -1
  5. package/dist/extraction/index.js +1 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/injection/BubbleInjector.d.ts +27 -1
  11. package/dist/injection/BubbleInjector.d.ts.map +1 -1
  12. package/dist/injection/BubbleInjector.js +341 -29
  13. package/dist/injection/BubbleInjector.js.map +1 -1
  14. package/dist/injection/LoggerInjector.d.ts +12 -1
  15. package/dist/injection/LoggerInjector.d.ts.map +1 -1
  16. package/dist/injection/LoggerInjector.js +301 -13
  17. package/dist/injection/LoggerInjector.js.map +1 -1
  18. package/dist/injection/index.js +1 -0
  19. package/dist/parse/BubbleScript.d.ts +46 -2
  20. package/dist/parse/BubbleScript.d.ts.map +1 -1
  21. package/dist/parse/BubbleScript.js +39 -11
  22. package/dist/parse/BubbleScript.js.map +1 -1
  23. package/dist/parse/index.d.ts +0 -1
  24. package/dist/parse/index.d.ts.map +1 -1
  25. package/dist/parse/index.js +1 -1
  26. package/dist/parse/index.js.map +1 -1
  27. package/dist/runtime/BubbleRunner.d.ts +8 -2
  28. package/dist/runtime/BubbleRunner.d.ts.map +1 -1
  29. package/dist/runtime/BubbleRunner.js +40 -18
  30. package/dist/runtime/BubbleRunner.js.map +1 -1
  31. package/dist/runtime/index.d.ts +1 -1
  32. package/dist/runtime/index.d.ts.map +1 -1
  33. package/dist/runtime/index.js +1 -0
  34. package/dist/runtime/index.js.map +1 -1
  35. package/dist/runtime/types.js +1 -0
  36. package/dist/types/index.js +1 -0
  37. package/dist/utils/bubble-helper.d.ts +2 -2
  38. package/dist/utils/bubble-helper.d.ts.map +1 -1
  39. package/dist/utils/bubble-helper.js +6 -1
  40. package/dist/utils/bubble-helper.js.map +1 -1
  41. package/dist/utils/normalize-control-flow.d.ts +14 -0
  42. package/dist/utils/normalize-control-flow.d.ts.map +1 -0
  43. package/dist/utils/normalize-control-flow.js +179 -0
  44. package/dist/utils/normalize-control-flow.js.map +1 -0
  45. package/dist/utils/parameter-formatter.d.ts +14 -5
  46. package/dist/utils/parameter-formatter.d.ts.map +1 -1
  47. package/dist/utils/parameter-formatter.js +164 -45
  48. package/dist/utils/parameter-formatter.js.map +1 -1
  49. package/dist/utils/sanitize-script.d.ts +11 -0
  50. package/dist/utils/sanitize-script.d.ts.map +1 -0
  51. package/dist/utils/sanitize-script.js +43 -0
  52. package/dist/utils/sanitize-script.js.map +1 -0
  53. package/dist/validation/BubbleValidator.d.ts +15 -0
  54. package/dist/validation/BubbleValidator.d.ts.map +1 -1
  55. package/dist/validation/BubbleValidator.js +168 -1
  56. package/dist/validation/BubbleValidator.js.map +1 -1
  57. package/dist/validation/index.d.ts +6 -3
  58. package/dist/validation/index.d.ts.map +1 -1
  59. package/dist/validation/index.js +32 -9
  60. package/dist/validation/index.js.map +1 -1
  61. package/dist/validation/lint-rules.d.ts +91 -0
  62. package/dist/validation/lint-rules.d.ts.map +1 -0
  63. package/dist/validation/lint-rules.js +755 -0
  64. package/dist/validation/lint-rules.js.map +1 -0
  65. package/package.json +4 -4
  66. package/dist/parse/traceDependencies.d.ts +0 -18
  67. package/dist/parse/traceDependencies.d.ts.map +0 -1
  68. package/dist/parse/traceDependencies.js +0 -195
  69. package/dist/parse/traceDependencies.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-rules.js","sourceRoot":"","sources":["../../src/validation/lint-rules.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-runtime",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -26,9 +26,9 @@
26
26
  "patch-package": "^8.0.0",
27
27
  "typescript": "^5.8.3",
28
28
  "zod": "=3.25.76",
29
- "@bubblelab/bubble-core": "0.1.10",
30
- "@bubblelab/shared-schemas": "0.1.10",
31
- "@bubblelab/ts-scope-manager": "0.1.10"
29
+ "@bubblelab/bubble-core": "0.1.11",
30
+ "@bubblelab/ts-scope-manager": "0.1.11",
31
+ "@bubblelab/shared-schemas": "0.1.11"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/bun": "^1.2.21",
@@ -1,18 +0,0 @@
1
- import { ParsedBubbleWithInfo } from '@bubblelab/shared-schemas';
2
- import { BubbleFactory } from '@bubblelab/bubble-core';
3
- export interface DependencyTraceResult {
4
- success: boolean;
5
- nodes: Record<string, ParsedBubbleWithInfo>;
6
- errors?: string[];
7
- }
8
- /**
9
- * Trace bubble dependencies from a validated BubbleFlow script.
10
- * - Parses AST, extracts bubble instantiations and their parameters
11
- * - Builds a className -> metadata mapping from BubbleFactory defaults
12
- * - Classifies each bubble node as service/tool/workflow using metadata
13
- *
14
- * Note: Only dependencies explicitly constructed in the script are captured.
15
- * Internal dependencies of workflow bubbles require explicit metadata.
16
- */
17
- export declare function traceBubbleDependencies(code: string, bubbleFactory: BubbleFactory): DependencyTraceResult;
18
- //# sourceMappingURL=traceDependencies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"traceDependencies.d.ts","sourceRoot":"","sources":["../../src/parse/traceDependencies.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,oBAAoB,EAGrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,GAC3B,qBAAqB,CAsEvB"}
@@ -1,195 +0,0 @@
1
- import ts from 'typescript';
2
- import { BubbleParameterType, } from '@bubblelab/shared-schemas';
3
- import { buildClassNameLookup } from '../utils/bubble-helper';
4
- /**
5
- * Trace bubble dependencies from a validated BubbleFlow script.
6
- * - Parses AST, extracts bubble instantiations and their parameters
7
- * - Builds a className -> metadata mapping from BubbleFactory defaults
8
- * - Classifies each bubble node as service/tool/workflow using metadata
9
- *
10
- * Note: Only dependencies explicitly constructed in the script are captured.
11
- * Internal dependencies of workflow bubbles require explicit metadata.
12
- */
13
- export function traceBubbleDependencies(code, bubbleFactory) {
14
- try {
15
- const sourceFile = ts.createSourceFile('bubbleflow.ts', code, ts.ScriptTarget.ES2022, true);
16
- // Build registry lookup from bubble-core
17
- const classNameToInfo = buildClassNameLookup(bubbleFactory);
18
- if (classNameToInfo.size === 0) {
19
- return {
20
- success: false,
21
- nodes: {},
22
- errors: ['No bubbles found in BubbleFactory'],
23
- };
24
- }
25
- const nodes = {};
26
- const errors = [];
27
- function visit(node) {
28
- // Capture variable declarations
29
- if (ts.isVariableDeclaration(node)) {
30
- const nameText = node.name.getText(sourceFile);
31
- // Bubble instantiation assigned to variable
32
- if (node.initializer) {
33
- const bubbleNode = extractBubbleFromExpression(node.initializer, sourceFile, classNameToInfo);
34
- if (bubbleNode) {
35
- nodes[nameText] = bubbleNode;
36
- }
37
- }
38
- }
39
- // Anonymous instantiations in expression statements
40
- if (ts.isExpressionStatement(node)) {
41
- const bubbleNode = extractBubbleFromExpression(node.expression, sourceFile, classNameToInfo);
42
- if (bubbleNode) {
43
- const synthetic = `_anonymous_${bubbleNode.className}_${Object.keys(nodes).length}`;
44
- nodes[synthetic] = { ...bubbleNode, variableName: synthetic };
45
- }
46
- }
47
- ts.forEachChild(node, visit);
48
- }
49
- visit(sourceFile);
50
- return {
51
- success: errors.length === 0,
52
- nodes,
53
- errors: errors.length ? errors : undefined,
54
- };
55
- }
56
- catch (error) {
57
- return {
58
- success: false,
59
- nodes: {},
60
- errors: [error instanceof Error ? error.message : String(error)],
61
- };
62
- }
63
- }
64
- function extractBubbleFromExpression(expr, sourceFile, classNameLookup) {
65
- // await new X(...)
66
- if (ts.isAwaitExpression(expr)) {
67
- const inner = extractBubbleFromExpression(expr.expression, sourceFile, classNameLookup);
68
- if (inner)
69
- inner.hasAwait = true;
70
- return inner;
71
- }
72
- // new X({...}) or new X({...}).action()
73
- if (ts.isNewExpression(expr)) {
74
- const newNode = extractFromNewExpression(expr, sourceFile, classNameLookup);
75
- if (newNode)
76
- return newNode;
77
- }
78
- // new X({...}).action() pattern
79
- if (ts.isCallExpression(expr) &&
80
- ts.isPropertyAccessExpression(expr.expression)) {
81
- const prop = expr.expression;
82
- if (prop.name.text === 'action' && ts.isNewExpression(prop.expression)) {
83
- const node = extractFromNewExpression(prop.expression, sourceFile, classNameLookup);
84
- if (node)
85
- node.hasActionCall = true;
86
- return node;
87
- }
88
- }
89
- return null;
90
- }
91
- function extractFromNewExpression(newExpr, sourceFile, classNameLookup) {
92
- if (!newExpr.expression || !ts.isIdentifier(newExpr.expression))
93
- return null;
94
- const className = newExpr.expression.text;
95
- const info = classNameLookup.get(className);
96
- if (!info)
97
- return null;
98
- const parameters = [];
99
- if (newExpr.arguments && newExpr.arguments.length > 0) {
100
- const firstArg = newExpr.arguments[0];
101
- if (ts.isObjectLiteralExpression(firstArg)) {
102
- for (const prop of firstArg.properties) {
103
- if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name)) {
104
- const name = prop.name.text;
105
- const value = extractParameterValue(prop.initializer, sourceFile);
106
- parameters.push({ name, ...value });
107
- }
108
- else if (ts.isShorthandPropertyAssignment(prop) &&
109
- ts.isIdentifier(prop.name)) {
110
- const name = prop.name.text;
111
- const value = extractParameterValue(prop.name, sourceFile);
112
- parameters.push({ name, ...value });
113
- }
114
- else if (ts.isSpreadAssignment(prop)) {
115
- // Spread properties like {...params}
116
- const spreadExpr = prop.expression;
117
- const value = extractParameterValue(spreadExpr, sourceFile);
118
- const spreadName = ts.isIdentifier(spreadExpr)
119
- ? spreadExpr.text
120
- : 'spread';
121
- parameters.push({ name: spreadName, ...value });
122
- }
123
- }
124
- }
125
- else {
126
- // Handle single variable parameter (e.g., new GoogleDriveBubble(config))
127
- const value = extractParameterValue(firstArg, sourceFile);
128
- const argName = ts.isIdentifier(firstArg) ? firstArg.text : 'arg0';
129
- parameters.push({ name: argName, ...value });
130
- }
131
- }
132
- const start = newExpr.getStart(sourceFile);
133
- const end = newExpr.getEnd();
134
- const lineStart = sourceFile.getLineAndCharacterOfPosition(start).line + 1;
135
- const lineEnd = sourceFile.getLineAndCharacterOfPosition(end).line + 1;
136
- return {
137
- variableId: -1,
138
- variableName: '',
139
- bubbleName: info.bubbleName,
140
- className: info.className,
141
- parameters,
142
- hasAwait: false,
143
- hasActionCall: false,
144
- nodeType: info.nodeType,
145
- location: {
146
- startLine: lineStart,
147
- startCol: 0,
148
- endLine: lineEnd,
149
- endCol: 0,
150
- },
151
- };
152
- }
153
- function extractParameterValue(expression, sourceFile) {
154
- const valueText = expression.getText(sourceFile);
155
- // process.env detection (with or without non-null)
156
- const isProcessEnv = (text) => text.startsWith('process.env.');
157
- if (ts.isNonNullExpression(expression)) {
158
- const inner = expression.expression;
159
- if (ts.isPropertyAccessExpression(inner)) {
160
- const full = inner.getText(sourceFile);
161
- if (isProcessEnv(full))
162
- return { value: valueText, type: BubbleParameterType.ENV };
163
- }
164
- }
165
- if (ts.isPropertyAccessExpression(expression) ||
166
- ts.isElementAccessExpression(expression)) {
167
- const full = expression.getText(sourceFile);
168
- if (isProcessEnv(full))
169
- return { value: full, type: BubbleParameterType.ENV };
170
- return { value: full, type: BubbleParameterType.VARIABLE };
171
- }
172
- // Identifiers treated as variable references
173
- if (ts.isIdentifier(expression)) {
174
- return { value: valueText, type: BubbleParameterType.VARIABLE };
175
- }
176
- // Literals and structured
177
- if (ts.isStringLiteral(expression) || ts.isTemplateExpression(expression)) {
178
- return { value: valueText, type: BubbleParameterType.STRING };
179
- }
180
- if (ts.isNumericLiteral(expression)) {
181
- return { value: valueText, type: BubbleParameterType.NUMBER };
182
- }
183
- if (expression.kind === ts.SyntaxKind.TrueKeyword ||
184
- expression.kind === ts.SyntaxKind.FalseKeyword) {
185
- return { value: valueText, type: BubbleParameterType.BOOLEAN };
186
- }
187
- if (ts.isArrayLiteralExpression(expression)) {
188
- return { value: valueText, type: BubbleParameterType.ARRAY };
189
- }
190
- if (ts.isObjectLiteralExpression(expression)) {
191
- return { value: valueText, type: BubbleParameterType.OBJECT };
192
- }
193
- // Fallback
194
- return { value: valueText, type: BubbleParameterType.UNKNOWN };
195
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"traceDependencies.js","sourceRoot":"","sources":["../../src/parse/traceDependencies.ts"],"names":[],"mappings":"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"}