@bubblelab/bubble-runtime 0.1.13 → 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.
- package/dist/extraction/BubbleParser.d.ts +188 -8
- package/dist/extraction/BubbleParser.d.ts.map +1 -1
- package/dist/extraction/BubbleParser.js +2265 -99
- package/dist/extraction/BubbleParser.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/injection/BubbleInjector.d.ts +31 -5
- package/dist/injection/BubbleInjector.d.ts.map +1 -1
- package/dist/injection/BubbleInjector.js +349 -28
- package/dist/injection/BubbleInjector.js.map +1 -1
- package/dist/injection/LoggerInjector.d.ts +17 -0
- package/dist/injection/LoggerInjector.d.ts.map +1 -1
- package/dist/injection/LoggerInjector.js +319 -9
- package/dist/injection/LoggerInjector.js.map +1 -1
- package/dist/parse/BubbleScript.d.ts +54 -5
- package/dist/parse/BubbleScript.d.ts.map +1 -1
- package/dist/parse/BubbleScript.js +112 -24
- package/dist/parse/BubbleScript.js.map +1 -1
- package/dist/parse/index.d.ts +0 -1
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js +0 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/runtime/BubbleRunner.d.ts +9 -2
- package/dist/runtime/BubbleRunner.d.ts.map +1 -1
- package/dist/runtime/BubbleRunner.js +76 -49
- package/dist/runtime/BubbleRunner.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/utils/bubble-helper.d.ts +2 -2
- package/dist/utils/bubble-helper.d.ts.map +1 -1
- package/dist/utils/bubble-helper.js +5 -1
- package/dist/utils/bubble-helper.js.map +1 -1
- package/dist/utils/error-sanitizer.d.ts +16 -0
- package/dist/utils/error-sanitizer.d.ts.map +1 -0
- package/dist/utils/error-sanitizer.js +111 -0
- package/dist/utils/error-sanitizer.js.map +1 -0
- package/dist/utils/normalize-control-flow.d.ts +14 -0
- package/dist/utils/normalize-control-flow.d.ts.map +1 -0
- package/dist/utils/normalize-control-flow.js +179 -0
- package/dist/utils/normalize-control-flow.js.map +1 -0
- package/dist/utils/parameter-formatter.d.ts +14 -5
- package/dist/utils/parameter-formatter.d.ts.map +1 -1
- package/dist/utils/parameter-formatter.js +166 -51
- package/dist/utils/parameter-formatter.js.map +1 -1
- package/dist/utils/sanitize-script.d.ts +11 -0
- package/dist/utils/sanitize-script.d.ts.map +1 -0
- package/dist/utils/sanitize-script.js +43 -0
- package/dist/utils/sanitize-script.js.map +1 -0
- package/dist/validation/BubbleValidator.d.ts +15 -0
- package/dist/validation/BubbleValidator.d.ts.map +1 -1
- package/dist/validation/BubbleValidator.js +171 -1
- package/dist/validation/BubbleValidator.js.map +1 -1
- package/dist/validation/index.d.ts +7 -3
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +63 -12
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/lint-rules.d.ts +91 -0
- package/dist/validation/lint-rules.d.ts.map +1 -0
- package/dist/validation/lint-rules.js +755 -0
- package/dist/validation/lint-rules.js.map +1 -0
- package/package.json +5 -5
- package/dist/parse/traceDependencies.d.ts +0 -18
- package/dist/parse/traceDependencies.d.ts.map +0 -1
- package/dist/parse/traceDependencies.js +0 -196
- package/dist/parse/traceDependencies.js.map +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { BubbleParameterType, BUBBLE_CREDENTIAL_OPTIONS, } from '@bubblelab/shared-schemas';
|
|
1
|
+
import { CredentialType, BubbleParameterType, BUBBLE_CREDENTIAL_OPTIONS, } from '@bubblelab/shared-schemas';
|
|
2
2
|
import { LoggerInjector } from './LoggerInjector';
|
|
3
3
|
import { replaceBubbleInstantiation } from '../utils/parameter-formatter';
|
|
4
|
+
const INVOCATION_GRAPH_START_MARKER = '// __BUBBLE_INVOCATION_DEPENDENCY_MAP_START__';
|
|
5
|
+
const INVOCATION_GRAPH_END_MARKER = '// __BUBBLE_INVOCATION_DEPENDENCY_MAP_END__';
|
|
4
6
|
export class BubbleInjector {
|
|
5
7
|
bubbleScript;
|
|
6
8
|
loggerInjector;
|
|
@@ -14,13 +16,22 @@ export class BubbleInjector {
|
|
|
14
16
|
* @param bubbleParameters - Parsed bubble parameters with info
|
|
15
17
|
* @returns Record mapping bubble variable IDs to their required credential types (excluding system credentials)
|
|
16
18
|
*/
|
|
17
|
-
findCredentials(
|
|
19
|
+
findCredentials() {
|
|
18
20
|
const requiredCredentials = {};
|
|
19
21
|
// Iterate through each bubble and check its credential requirements
|
|
20
|
-
for (const [, bubble] of Object.entries(
|
|
22
|
+
for (const [, bubble] of Object.entries(this.bubbleScript.getParsedBubbles())) {
|
|
21
23
|
const allCredentialTypes = new Set();
|
|
22
24
|
// Get bubble-level credentials
|
|
23
|
-
|
|
25
|
+
let credentialOptions = BUBBLE_CREDENTIAL_OPTIONS[bubble.bubbleName];
|
|
26
|
+
// For AI agent bubbles, optimize credential requirements based on model
|
|
27
|
+
if (bubble.bubbleName === 'ai-agent' && credentialOptions) {
|
|
28
|
+
const modelCredentialTypes = this.extractModelCredentialType(bubble);
|
|
29
|
+
if (modelCredentialTypes !== null) {
|
|
30
|
+
// Model is static - only include the credentials needed for primary and backup models
|
|
31
|
+
credentialOptions = credentialOptions.filter((credType) => modelCredentialTypes.includes(credType));
|
|
32
|
+
}
|
|
33
|
+
// If modelCredentialTypes is null, model is dynamic - include all credentials
|
|
34
|
+
}
|
|
24
35
|
if (credentialOptions && Array.isArray(credentialOptions)) {
|
|
25
36
|
for (const credType of credentialOptions) {
|
|
26
37
|
allCredentialTypes.add(credType);
|
|
@@ -42,6 +53,111 @@ export class BubbleInjector {
|
|
|
42
53
|
}
|
|
43
54
|
return requiredCredentials;
|
|
44
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Extracts the required credential types from AI agent model parameter (including backup model)
|
|
58
|
+
* @param bubble - The parsed bubble to extract model from
|
|
59
|
+
* @returns Array of credential types needed for the models, or null if dynamic (needs all)
|
|
60
|
+
*/
|
|
61
|
+
extractModelCredentialType(bubble) {
|
|
62
|
+
console.log('[BubbleInjector] Extracting model credential type for bubble:', bubble.bubbleName);
|
|
63
|
+
if (bubble.bubbleName !== 'ai-agent') {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
// Find the model parameter
|
|
67
|
+
const modelParam = bubble.parameters.find((param) => param.name === 'model');
|
|
68
|
+
if (!modelParam) {
|
|
69
|
+
console.log('[BubbleInjector] No model parameter found');
|
|
70
|
+
// No model parameter, use default (google) or return null to include all
|
|
71
|
+
return [CredentialType.GOOGLE_GEMINI_CRED];
|
|
72
|
+
}
|
|
73
|
+
// Try to extract the model string from the model object
|
|
74
|
+
let modelString;
|
|
75
|
+
let backupModelString;
|
|
76
|
+
if (modelParam.type === BubbleParameterType.OBJECT) {
|
|
77
|
+
// Model is an object, try to extract the nested 'model' property
|
|
78
|
+
try {
|
|
79
|
+
// parse the string to json
|
|
80
|
+
if (typeof modelParam.value !== 'string') {
|
|
81
|
+
throw new Error('Model parameter value must be a string');
|
|
82
|
+
}
|
|
83
|
+
// Remove single-line comments (// ...) before parsing
|
|
84
|
+
// This handles cases like: { model: 'google/gemini-3-pro-preview', temperature: 0.1 // Low temperature }
|
|
85
|
+
const withoutComments = modelParam.value.replace(/\/\/[^\n]*/g, '');
|
|
86
|
+
// Convert single quotes to double quotes (handle escaped quotes)
|
|
87
|
+
const jsonStr = withoutComments
|
|
88
|
+
.replace(/'/g, '"')
|
|
89
|
+
.replace(/(\w+):/g, '"$1":')
|
|
90
|
+
.replace(/,(\s*[}\]])/g, '$1'); // Remove trailing commas
|
|
91
|
+
const modelObj = JSON.parse(jsonStr);
|
|
92
|
+
// Extract primary model
|
|
93
|
+
const nestedModel = modelObj.model;
|
|
94
|
+
if (typeof nestedModel === 'string') {
|
|
95
|
+
modelString = nestedModel;
|
|
96
|
+
}
|
|
97
|
+
// Extract backup model if present
|
|
98
|
+
if (modelObj.backupModel &&
|
|
99
|
+
typeof modelObj.backupModel.model === 'string') {
|
|
100
|
+
backupModelString = modelObj.backupModel.model;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
console.error('[BubbleInjector] Failed to parse model parameter as JSON:', error);
|
|
105
|
+
// If parsing fails, treat as dynamic model
|
|
106
|
+
modelString = undefined;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// If we couldn't extract a static model string, treat as dynamic
|
|
110
|
+
if (!modelString) {
|
|
111
|
+
return [
|
|
112
|
+
CredentialType.GOOGLE_GEMINI_CRED,
|
|
113
|
+
CredentialType.OPENAI_CRED,
|
|
114
|
+
CredentialType.ANTHROPIC_CRED,
|
|
115
|
+
CredentialType.OPENROUTER_CRED,
|
|
116
|
+
];
|
|
117
|
+
}
|
|
118
|
+
const credentialTypes = [];
|
|
119
|
+
// Get credential for primary model
|
|
120
|
+
const primaryCredential = this.getCredentialTypeForProvider(modelString);
|
|
121
|
+
if (primaryCredential === null) {
|
|
122
|
+
return null; // Unknown provider, include all
|
|
123
|
+
}
|
|
124
|
+
credentialTypes.push(primaryCredential);
|
|
125
|
+
// Get credential for backup model if present
|
|
126
|
+
if (backupModelString) {
|
|
127
|
+
const backupCredential = this.getCredentialTypeForProvider(backupModelString);
|
|
128
|
+
if (backupCredential === null) {
|
|
129
|
+
return null; // Unknown provider, include all
|
|
130
|
+
}
|
|
131
|
+
if (!credentialTypes.includes(backupCredential)) {
|
|
132
|
+
credentialTypes.push(backupCredential);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return credentialTypes;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Maps a model string to its credential type
|
|
139
|
+
* @param modelString - Model string in format "provider/model-name"
|
|
140
|
+
* @returns The credential type for the provider, or null if unknown
|
|
141
|
+
*/
|
|
142
|
+
getCredentialTypeForProvider(modelString) {
|
|
143
|
+
const slashIndex = modelString.indexOf('/');
|
|
144
|
+
if (slashIndex === -1) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
const provider = modelString.substring(0, slashIndex).toLowerCase();
|
|
148
|
+
switch (provider) {
|
|
149
|
+
case 'openai':
|
|
150
|
+
return CredentialType.OPENAI_CRED;
|
|
151
|
+
case 'google':
|
|
152
|
+
return CredentialType.GOOGLE_GEMINI_CRED;
|
|
153
|
+
case 'anthropic':
|
|
154
|
+
return CredentialType.ANTHROPIC_CRED;
|
|
155
|
+
case 'openrouter':
|
|
156
|
+
return CredentialType.OPENROUTER_CRED;
|
|
157
|
+
default:
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
45
161
|
/**
|
|
46
162
|
* Extracts tool credential requirements from AI agent bubble parameters
|
|
47
163
|
* @param bubble - The parsed bubble to extract tool requirements from
|
|
@@ -111,16 +227,25 @@ export class BubbleInjector {
|
|
|
111
227
|
* @param systemCredentials - System-provided credentials (environment variables)
|
|
112
228
|
* @returns Result of credential injection
|
|
113
229
|
*/
|
|
114
|
-
injectCredentials(
|
|
230
|
+
injectCredentials(userCredentials = [], systemCredentials = {}) {
|
|
115
231
|
try {
|
|
116
|
-
const modifiedBubbles = { ...
|
|
232
|
+
const modifiedBubbles = { ...this.bubbleScript.getParsedBubbles() };
|
|
117
233
|
const injectedCredentials = {};
|
|
118
234
|
const errors = [];
|
|
119
235
|
// Iterate through each bubble to determine if it needs credential injection
|
|
120
236
|
for (const [_, bubble] of Object.entries(modifiedBubbles)) {
|
|
121
237
|
const bubbleName = bubble.bubbleName;
|
|
122
238
|
// Get the credential options for this bubble from the registry
|
|
123
|
-
|
|
239
|
+
let bubbleCredentialOptions = BUBBLE_CREDENTIAL_OPTIONS[bubbleName] || [];
|
|
240
|
+
// For AI agent bubbles, optimize credential injection based on model
|
|
241
|
+
if (bubble.bubbleName === 'ai-agent') {
|
|
242
|
+
const modelCredentialTypes = this.extractModelCredentialType(bubble);
|
|
243
|
+
if (modelCredentialTypes !== null) {
|
|
244
|
+
// Model is static - only inject the credentials needed for primary and backup models
|
|
245
|
+
bubbleCredentialOptions = bubbleCredentialOptions.filter((credType) => modelCredentialTypes.includes(credType));
|
|
246
|
+
}
|
|
247
|
+
// If modelCredentialTypes is null, model is dynamic - include all credentials
|
|
248
|
+
}
|
|
124
249
|
// For AI agent bubbles, also collect tool-level credential requirements
|
|
125
250
|
const toolCredentialOptions = bubble.bubbleName === 'ai-agent'
|
|
126
251
|
? this.extractToolCredentials(bubble)
|
|
@@ -137,6 +262,11 @@ export class BubbleInjector {
|
|
|
137
262
|
for (const credentialType of allCredentialOptions) {
|
|
138
263
|
if (systemCredentials[credentialType]) {
|
|
139
264
|
credentialMapping[credentialType] = this.escapeString(systemCredentials[credentialType]);
|
|
265
|
+
injectedCredentials[`${bubble.variableId}.${credentialType}`] = {
|
|
266
|
+
isUserCredential: false,
|
|
267
|
+
credentialType: credentialType,
|
|
268
|
+
credentialValue: this.maskCredential(systemCredentials[credentialType]),
|
|
269
|
+
};
|
|
140
270
|
}
|
|
141
271
|
}
|
|
142
272
|
// Then inject user credentials (these override system credentials)
|
|
@@ -145,21 +275,21 @@ export class BubbleInjector {
|
|
|
145
275
|
const userCredType = userCred.credentialType;
|
|
146
276
|
if (allCredentialOptions.includes(userCredType)) {
|
|
147
277
|
credentialMapping[userCredType] = this.escapeString(userCred.secret);
|
|
278
|
+
injectedCredentials[`${bubble.variableId}.${userCredType}`] = {
|
|
279
|
+
isUserCredential: true,
|
|
280
|
+
credentialType: userCredType,
|
|
281
|
+
credentialValue: this.maskCredential(userCred.secret),
|
|
282
|
+
};
|
|
148
283
|
}
|
|
149
284
|
}
|
|
150
285
|
// Inject credentials into bubble parameters
|
|
151
286
|
if (Object.keys(credentialMapping).length > 0) {
|
|
152
287
|
this.injectCredentialsIntoBubble(bubble, credentialMapping);
|
|
153
|
-
// Track injected credentials for debugging (mask values)
|
|
154
|
-
for (const [credType, value] of Object.entries(credentialMapping)) {
|
|
155
|
-
injectedCredentials[`${bubble.variableId}.${credType}`] =
|
|
156
|
-
this.maskCredential(value);
|
|
157
|
-
}
|
|
158
288
|
}
|
|
159
289
|
}
|
|
160
290
|
// Apply the modified bubbles back to the script
|
|
161
|
-
const finalScript = this.reapplyBubbleInstantiations(
|
|
162
|
-
console.
|
|
291
|
+
const finalScript = this.reapplyBubbleInstantiations();
|
|
292
|
+
console.log('Final script:', this.bubbleScript.showScript('[BubbleInjector] Final script'));
|
|
163
293
|
return {
|
|
164
294
|
success: errors.length === 0,
|
|
165
295
|
code: finalScript,
|
|
@@ -239,27 +369,75 @@ export class BubbleInjector {
|
|
|
239
369
|
* and deleting old multi-line parameters. Processes bubbles in order and
|
|
240
370
|
* tracks line shifts to adjust subsequent bubble locations.
|
|
241
371
|
*/
|
|
242
|
-
reapplyBubbleInstantiations(
|
|
372
|
+
reapplyBubbleInstantiations() {
|
|
373
|
+
const bubbles = Object.values(this.bubbleScript.getParsedBubbles()).filter((bubble) => !bubble.invocationCallSiteKey);
|
|
243
374
|
const lines = this.bubbleScript.currentBubbleScript.split('\n');
|
|
244
|
-
|
|
245
|
-
// Sort bubbles by start line to process in order
|
|
375
|
+
// Sort bubbles by start line
|
|
246
376
|
const sortedBubbles = [...bubbles].sort((a, b) => a.location.startLine - b.location.startLine);
|
|
247
|
-
//
|
|
248
|
-
|
|
377
|
+
// Identify which bubbles are nested inside another bubble's location range.
|
|
378
|
+
// Parent bubbles contain other bubbles (e.g., AIAgentBubble with customTools).
|
|
379
|
+
const nestedBubbleIds = new Set();
|
|
380
|
+
const parentBubbleIds = new Set();
|
|
249
381
|
for (const bubble of sortedBubbles) {
|
|
250
|
-
|
|
382
|
+
for (const other of sortedBubbles) {
|
|
383
|
+
if (other.variableId !== bubble.variableId &&
|
|
384
|
+
other.location.startLine < bubble.location.startLine &&
|
|
385
|
+
other.location.endLine > bubble.location.endLine) {
|
|
386
|
+
// bubble is completely contained within other's range
|
|
387
|
+
nestedBubbleIds.add(bubble.variableId);
|
|
388
|
+
parentBubbleIds.add(other.variableId);
|
|
389
|
+
break;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
// Separate into nested and non-nested bubbles
|
|
394
|
+
const nestedBubbles = sortedBubbles.filter((b) => nestedBubbleIds.has(b.variableId));
|
|
395
|
+
const nonNestedBubbles = sortedBubbles.filter((b) => !nestedBubbleIds.has(b.variableId));
|
|
396
|
+
// PHASE 1: Process nested bubbles first (in reverse order to handle line shifts correctly)
|
|
397
|
+
// This updates the source code for inner bubbles before their parent reads it.
|
|
398
|
+
// Process from bottom to top so line deletions don't affect earlier bubbles.
|
|
399
|
+
const nestedBubblesReversed = [...nestedBubbles].sort((a, b) => b.location.startLine - a.location.startLine);
|
|
400
|
+
// Track total lines deleted during phase 1 for adjusting parent bubble locations
|
|
401
|
+
let phase1LinesDeleted = 0;
|
|
402
|
+
for (const bubble of nestedBubblesReversed) {
|
|
403
|
+
const linesBefore = lines.length;
|
|
404
|
+
replaceBubbleInstantiation(lines, bubble);
|
|
405
|
+
const linesAfter = lines.length;
|
|
406
|
+
phase1LinesDeleted += linesBefore - linesAfter;
|
|
407
|
+
}
|
|
408
|
+
// PHASE 2: Process non-nested bubbles (including parent bubbles)
|
|
409
|
+
// For parent bubbles, refresh their parameters that contain nested bubble code
|
|
410
|
+
// from the now-updated lines array.
|
|
411
|
+
for (const bubble of nonNestedBubbles) {
|
|
412
|
+
if (parentBubbleIds.has(bubble.variableId)) {
|
|
413
|
+
// Adjust parent bubble's end line to account for lines deleted from nested bubbles
|
|
414
|
+
const adjustedEndLine = bubble.location.endLine - phase1LinesDeleted;
|
|
415
|
+
this.refreshBubbleParametersFromSource(bubble, lines, adjustedEndLine);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
// Now process non-nested bubbles in order, tracking line shifts
|
|
419
|
+
// For parent bubbles: lines were deleted from INSIDE them (nested bubbles), not before them
|
|
420
|
+
// So their start line should NOT be shifted by phase1LinesDeleted
|
|
421
|
+
// For non-parent bubbles: lines were deleted BEFORE them, so both start and end should be shifted
|
|
422
|
+
let lineShift = -phase1LinesDeleted; // Start with the shift from phase 1
|
|
423
|
+
for (const bubble of nonNestedBubbles) {
|
|
424
|
+
const isParentBubble = parentBubbleIds.has(bubble.variableId);
|
|
251
425
|
const adjustedBubble = {
|
|
252
426
|
...bubble,
|
|
253
427
|
location: {
|
|
254
428
|
...bubble.location,
|
|
255
|
-
|
|
429
|
+
// For parent bubbles, start line is not affected by phase 1 deletions (they're inside, not before)
|
|
430
|
+
// For non-parent bubbles, start line is shifted by lines deleted in phase 1
|
|
431
|
+
startLine: isParentBubble
|
|
432
|
+
? bubble.location.startLine
|
|
433
|
+
: bubble.location.startLine + lineShift,
|
|
434
|
+
// End line is always shifted for bubbles that come after phase 1 deletions
|
|
256
435
|
endLine: bubble.location.endLine + lineShift,
|
|
257
436
|
},
|
|
258
437
|
};
|
|
259
438
|
const linesBefore = lines.length;
|
|
260
439
|
replaceBubbleInstantiation(lines, adjustedBubble);
|
|
261
440
|
const linesAfter = lines.length;
|
|
262
|
-
// Update shift: negative means lines were deleted
|
|
263
441
|
const linesDeleted = linesBefore - linesAfter;
|
|
264
442
|
lineShift -= linesDeleted;
|
|
265
443
|
}
|
|
@@ -268,16 +446,159 @@ export class BubbleInjector {
|
|
|
268
446
|
this.bubbleScript.reparseAST();
|
|
269
447
|
return finalScript;
|
|
270
448
|
}
|
|
449
|
+
/**
|
|
450
|
+
* Refresh bubble parameters that are sourced from code (like customTools arrays)
|
|
451
|
+
* by re-reading the relevant portion from the updated lines array.
|
|
452
|
+
* @param bubble - The bubble to refresh parameters for
|
|
453
|
+
* @param lines - The current lines array (after nested bubble processing)
|
|
454
|
+
* @param adjustedBubbleEndLine - The bubble's end line adjusted for lines deleted during nested processing
|
|
455
|
+
*/
|
|
456
|
+
refreshBubbleParametersFromSource(bubble, lines, adjustedBubbleEndLine) {
|
|
457
|
+
// Calculate how many lines were deleted from within this bubble
|
|
458
|
+
const linesDeletedInBubble = bubble.location.endLine - adjustedBubbleEndLine;
|
|
459
|
+
// Find parameters that contain function literals (like customTools)
|
|
460
|
+
for (const param of bubble.parameters) {
|
|
461
|
+
if ((param.type === 'array' || param.type === 'object') &&
|
|
462
|
+
typeof param.value === 'string') {
|
|
463
|
+
// Check if this parameter contains function literals
|
|
464
|
+
const containsFunc = param.value.includes('func:') ||
|
|
465
|
+
param.value.includes('=>') ||
|
|
466
|
+
param.value.includes('function(') ||
|
|
467
|
+
param.value.includes('async(') ||
|
|
468
|
+
param.value.includes('async (');
|
|
469
|
+
if (containsFunc && param.location) {
|
|
470
|
+
// Adjust param end line for deleted lines
|
|
471
|
+
const adjustedParamEndLine = param.location.endLine - linesDeletedInBubble;
|
|
472
|
+
// Re-read this parameter's value from the updated lines
|
|
473
|
+
const startLine = param.location.startLine - 1;
|
|
474
|
+
const endLine = adjustedParamEndLine;
|
|
475
|
+
if (startLine >= 0 && endLine <= lines.length) {
|
|
476
|
+
const paramLines = lines.slice(startLine, endLine);
|
|
477
|
+
// Extract just the parameter value portion
|
|
478
|
+
// This is a simplified extraction - the parameter value starts after the property name
|
|
479
|
+
const fullText = paramLines.join('\n');
|
|
480
|
+
// Find where the array/object starts (after "paramName:")
|
|
481
|
+
const colonIndex = fullText.indexOf(':');
|
|
482
|
+
if (colonIndex !== -1) {
|
|
483
|
+
let valueText = fullText.substring(colonIndex + 1).trim();
|
|
484
|
+
// Remove trailing comma if present (to avoid double commas when buildParametersObject joins)
|
|
485
|
+
if (valueText.endsWith(',')) {
|
|
486
|
+
valueText = valueText.slice(0, -1);
|
|
487
|
+
}
|
|
488
|
+
param.value = valueText;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
buildInvocationDependencyGraphLiteral() {
|
|
496
|
+
const callSiteMap = {};
|
|
497
|
+
for (const bubble of Object.values(this.bubbleScript.getParsedBubbles())) {
|
|
498
|
+
if (!bubble.invocationCallSiteKey ||
|
|
499
|
+
typeof bubble.clonedFromVariableId !== 'number' ||
|
|
500
|
+
!bubble.dependencyGraph) {
|
|
501
|
+
continue;
|
|
502
|
+
}
|
|
503
|
+
const callSiteKey = bubble.invocationCallSiteKey;
|
|
504
|
+
const originalId = String(bubble.clonedFromVariableId);
|
|
505
|
+
if (!callSiteMap[callSiteKey]) {
|
|
506
|
+
callSiteMap[callSiteKey] = {};
|
|
507
|
+
}
|
|
508
|
+
callSiteMap[callSiteKey][originalId] = bubble.dependencyGraph;
|
|
509
|
+
}
|
|
510
|
+
const literal = JSON.stringify(callSiteMap, null, 2).replace(/</g, '\\u003c');
|
|
511
|
+
return literal || '{}';
|
|
512
|
+
}
|
|
513
|
+
injectInvocationDependencyGraphMap() {
|
|
514
|
+
const literal = this.buildInvocationDependencyGraphLiteral();
|
|
515
|
+
const lines = this.bubbleScript.currentBubbleScript.split('\n');
|
|
516
|
+
const startIndex = lines.findIndex((line) => line.trim() === INVOCATION_GRAPH_START_MARKER);
|
|
517
|
+
if (startIndex !== -1) {
|
|
518
|
+
const endIndex = lines.findIndex((line, idx) => idx >= startIndex && line.trim() === INVOCATION_GRAPH_END_MARKER);
|
|
519
|
+
const removeUntil = endIndex !== -1 ? endIndex : startIndex;
|
|
520
|
+
lines.splice(startIndex, removeUntil - startIndex + 1);
|
|
521
|
+
if (lines[startIndex] === '') {
|
|
522
|
+
lines.splice(startIndex, 1);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
const literalLines = literal
|
|
526
|
+
.split('\n')
|
|
527
|
+
.map((line) => (line.length > 0 ? ` ${line}` : line));
|
|
528
|
+
const blockLines = [
|
|
529
|
+
'',
|
|
530
|
+
INVOCATION_GRAPH_START_MARKER,
|
|
531
|
+
'const __bubbleInvocationDependencyGraphs = Object.freeze(',
|
|
532
|
+
...literalLines,
|
|
533
|
+
');',
|
|
534
|
+
'globalThis["__bubbleInvocationDependencyGraphs"] = __bubbleInvocationDependencyGraphs;',
|
|
535
|
+
INVOCATION_GRAPH_END_MARKER,
|
|
536
|
+
'',
|
|
537
|
+
];
|
|
538
|
+
let insertIndex = 0;
|
|
539
|
+
let i = 0;
|
|
540
|
+
let insideImport = false;
|
|
541
|
+
while (i < lines.length) {
|
|
542
|
+
const trimmed = lines[i].trim();
|
|
543
|
+
if (!insideImport && trimmed.startsWith('import')) {
|
|
544
|
+
insideImport = !trimmed.includes(';');
|
|
545
|
+
insertIndex = i + 1;
|
|
546
|
+
i += 1;
|
|
547
|
+
continue;
|
|
548
|
+
}
|
|
549
|
+
if (insideImport) {
|
|
550
|
+
insertIndex = i + 1;
|
|
551
|
+
if (trimmed.includes(';')) {
|
|
552
|
+
insideImport = false;
|
|
553
|
+
}
|
|
554
|
+
i += 1;
|
|
555
|
+
continue;
|
|
556
|
+
}
|
|
557
|
+
if (trimmed === '') {
|
|
558
|
+
insertIndex = i + 1;
|
|
559
|
+
i += 1;
|
|
560
|
+
continue;
|
|
561
|
+
}
|
|
562
|
+
break;
|
|
563
|
+
}
|
|
564
|
+
lines.splice(insertIndex, 0, ...blockLines);
|
|
565
|
+
this.bubbleScript.currentBubbleScript = lines.join('\n');
|
|
566
|
+
this.bubbleScript.reparseAST();
|
|
567
|
+
}
|
|
271
568
|
/**
|
|
272
569
|
* Apply new bubble parameters by converting them back to code and injecting in place
|
|
273
570
|
* Injects logger to the bubble instantiations
|
|
274
571
|
*/
|
|
275
|
-
injectBubbleLoggingAndReinitializeBubbleParameters() {
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
572
|
+
injectBubbleLoggingAndReinitializeBubbleParameters(loggingEnabled = true) {
|
|
573
|
+
const script = this.bubbleScript.currentBubbleScript;
|
|
574
|
+
try {
|
|
575
|
+
// STEP 1: Inject `__bubbleFlowSelf = this;` at the beginning of handle method
|
|
576
|
+
// This must be done FIRST so that bubble instantiations can use __bubbleFlowSelf.logger
|
|
577
|
+
if (loggingEnabled) {
|
|
578
|
+
this.bubbleScript.showScript('[BubbleInjector] Before injectSelfCapture');
|
|
579
|
+
// Normalize to single-line instantiations and refresh AST
|
|
580
|
+
this.reapplyBubbleInstantiations();
|
|
581
|
+
this.injectInvocationDependencyGraphMap();
|
|
582
|
+
this.bubbleScript.showScript('[BubbleInjector] After reapplyBubbleInstantiations');
|
|
583
|
+
// Inject logging based on the current AST/locations to avoid placement inside params
|
|
584
|
+
this.loggerInjector.injectLogging();
|
|
585
|
+
this.bubbleScript.showScript('[BubbleInjector] After injectLogging');
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
catch (error) {
|
|
589
|
+
this.bubbleScript.parsingErrors.push(`Error injecting bubble logging and reinitialize bubble parameters: ${error instanceof Error ? error.message : String(error)}`);
|
|
590
|
+
console.error('Error injecting bubble logging and reinitialize bubble parameters:', error);
|
|
591
|
+
// Revert the script to the original script
|
|
592
|
+
this.bubbleScript.currentBubbleScript = script;
|
|
593
|
+
}
|
|
594
|
+
try {
|
|
595
|
+
this.loggerInjector.injectSelfCapture();
|
|
596
|
+
this.bubbleScript.showScript('[BubbleInjector] After injectSelfCapture');
|
|
597
|
+
}
|
|
598
|
+
catch (error) {
|
|
599
|
+
this.bubbleScript.parsingErrors.push(`Error injecting self capture: ${error instanceof Error ? error.message : String(error)}`);
|
|
600
|
+
console.error('Error injecting self capture:', error);
|
|
601
|
+
}
|
|
281
602
|
}
|
|
282
603
|
/** Takes in bubbleId and key, value pair and changes the parameter in the bubble script */
|
|
283
604
|
changeBubbleParameters(bubbleId, key, value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BubbleInjector.js","sourceRoot":"","sources":["../../src/injection/BubbleInjector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BubbleInjector.js","sourceRoot":"","sources":["../../src/injection/BubbleInjector.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,27 @@ export declare class LoggerInjector {
|
|
|
24
24
|
* Inject statement-level logging using original line numbers for traceability
|
|
25
25
|
*/
|
|
26
26
|
private injectLineLoggingWithOriginalLines;
|
|
27
|
+
/**
|
|
28
|
+
* Inject `const __bubbleFlowSelf = this;` at the beginning of all instance method bodies
|
|
29
|
+
* This captures `this` in a lexical variable that works at any nesting level
|
|
30
|
+
* This should be called BEFORE reapplyBubbleInstantiations so bubble instantiations can use __bubbleFlowSelf.logger
|
|
31
|
+
*/
|
|
32
|
+
injectSelfCapture(): void;
|
|
27
33
|
/**
|
|
28
34
|
* Find all statements within the handle method using AST
|
|
29
35
|
*/
|
|
30
36
|
private findStatementsInHandleMethod;
|
|
31
37
|
private visitChildNodes;
|
|
38
|
+
/**
|
|
39
|
+
* Inject logging for all method invocations using pre-tracked invocation data
|
|
40
|
+
* Uses rich invocation info captured during AST parsing
|
|
41
|
+
*/
|
|
42
|
+
private injectFunctionCallLogging;
|
|
43
|
+
/**
|
|
44
|
+
* Inject logging before and after a method invocation line
|
|
45
|
+
* Uses pre-parsed invocation data from AST analysis - no regex parsing needed
|
|
46
|
+
*/
|
|
47
|
+
private injectLoggingForInvocation;
|
|
48
|
+
private injectPromiseAllElementLogging;
|
|
32
49
|
}
|
|
33
50
|
//# sourceMappingURL=LoggerInjector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggerInjector.d.ts","sourceRoot":"","sources":["../../src/injection/LoggerInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"LoggerInjector.d.ts","sourceRoot":"","sources":["../../src/injection/LoggerInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,MAAM,WAAW,uBAAuB;IACtC,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAA0B;gBAGvC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAWhD;;OAEG;IACH,aAAa,IAAI,MAAM;IAqBvB;;OAEG;IACH,8BAA8B,CAC5B,WAAW,EAAE,GAAG,EAChB,4BAA4B,EAAE,GAAG,GAChC,MAAM;IAiBT;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuCzB;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA6C1C;;;;OAIG;IACH,iBAAiB,IAAI,IAAI;IA4DzB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAgDpC,OAAO,CAAC,eAAe;IA+BvB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAkCjC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAgSlC,OAAO,CAAC,8BAA8B;CA+EvC"}
|