@bubblelab/bubble-runtime 0.1.222 → 0.1.225

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.
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,181 @@
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
+ }
115
+ }
116
+ }
117
+ const start = newExpr.getStart(sourceFile);
118
+ const end = newExpr.getEnd();
119
+ const lineStart = sourceFile.getLineAndCharacterOfPosition(start).line + 1;
120
+ const lineEnd = sourceFile.getLineAndCharacterOfPosition(end).line + 1;
121
+ return {
122
+ variableId: -1,
123
+ variableName: '',
124
+ bubbleName: info.bubbleName,
125
+ className: info.className,
126
+ parameters,
127
+ hasAwait: false,
128
+ hasActionCall: false,
129
+ nodeType: info.nodeType,
130
+ location: {
131
+ startLine: lineStart,
132
+ startCol: 0,
133
+ endLine: lineEnd,
134
+ endCol: 0,
135
+ },
136
+ };
137
+ }
138
+ function extractParameterValue(expression, sourceFile) {
139
+ const valueText = expression.getText(sourceFile);
140
+ // process.env detection (with or without non-null)
141
+ const isProcessEnv = (text) => text.startsWith('process.env.');
142
+ if (ts.isNonNullExpression(expression)) {
143
+ const inner = expression.expression;
144
+ if (ts.isPropertyAccessExpression(inner)) {
145
+ const full = inner.getText(sourceFile);
146
+ if (isProcessEnv(full))
147
+ return { value: valueText, type: BubbleParameterType.ENV };
148
+ }
149
+ }
150
+ if (ts.isPropertyAccessExpression(expression) ||
151
+ ts.isElementAccessExpression(expression)) {
152
+ const full = expression.getText(sourceFile);
153
+ if (isProcessEnv(full))
154
+ return { value: full, type: BubbleParameterType.ENV };
155
+ return { value: full, type: BubbleParameterType.VARIABLE };
156
+ }
157
+ // Identifiers treated as variable references
158
+ if (ts.isIdentifier(expression)) {
159
+ return { value: valueText, type: BubbleParameterType.VARIABLE };
160
+ }
161
+ // Literals and structured
162
+ if (ts.isStringLiteral(expression) || ts.isTemplateExpression(expression)) {
163
+ return { value: valueText, type: BubbleParameterType.STRING };
164
+ }
165
+ if (ts.isNumericLiteral(expression)) {
166
+ return { value: valueText, type: BubbleParameterType.NUMBER };
167
+ }
168
+ if (expression.kind === ts.SyntaxKind.TrueKeyword ||
169
+ expression.kind === ts.SyntaxKind.FalseKeyword) {
170
+ return { value: valueText, type: BubbleParameterType.BOOLEAN };
171
+ }
172
+ if (ts.isArrayLiteralExpression(expression)) {
173
+ return { value: valueText, type: BubbleParameterType.ARRAY };
174
+ }
175
+ if (ts.isObjectLiteralExpression(expression)) {
176
+ return { value: valueText, type: BubbleParameterType.OBJECT };
177
+ }
178
+ // Fallback
179
+ return { value: valueText, type: BubbleParameterType.UNKNOWN };
180
+ }
181
+ //# sourceMappingURL=traceDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traceDependencies.js","sourceRoot":"","sources":["../../src/parse/traceDependencies.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.222",
3
+ "version": "0.1.225",
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.222",
30
- "@bubblelab/ts-scope-manager": "0.1.222",
31
- "@bubblelab/shared-schemas": "0.1.222"
29
+ "@bubblelab/bubble-core": "0.1.225",
30
+ "@bubblelab/shared-schemas": "0.1.225",
31
+ "@bubblelab/ts-scope-manager": "0.1.225"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/bun": "^1.2.21",