@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.
- package/dist/extraction/BubbleParser.d.ts +186 -8
- package/dist/extraction/BubbleParser.d.ts.map +1 -1
- package/dist/extraction/BubbleParser.js +2255 -117
- package/dist/extraction/BubbleParser.js.map +1 -1
- package/dist/extraction/index.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/injection/BubbleInjector.d.ts +27 -1
- package/dist/injection/BubbleInjector.d.ts.map +1 -1
- package/dist/injection/BubbleInjector.js +341 -29
- package/dist/injection/BubbleInjector.js.map +1 -1
- package/dist/injection/LoggerInjector.d.ts +12 -1
- package/dist/injection/LoggerInjector.d.ts.map +1 -1
- package/dist/injection/LoggerInjector.js +301 -13
- package/dist/injection/LoggerInjector.js.map +1 -1
- package/dist/injection/index.js +1 -0
- package/dist/parse/BubbleScript.d.ts +46 -2
- package/dist/parse/BubbleScript.d.ts.map +1 -1
- package/dist/parse/BubbleScript.js +39 -11
- 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 +1 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/runtime/BubbleRunner.d.ts +8 -2
- package/dist/runtime/BubbleRunner.d.ts.map +1 -1
- package/dist/runtime/BubbleRunner.js +40 -18
- 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 +1 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/types.js +1 -0
- package/dist/types/index.js +1 -0
- 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 +6 -1
- package/dist/utils/bubble-helper.js.map +1 -1
- 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 +164 -45
- 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 +168 -1
- package/dist/validation/BubbleValidator.js.map +1 -1
- package/dist/validation/index.d.ts +6 -3
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +32 -9
- 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 +4 -4
- package/dist/parse/traceDependencies.d.ts +0 -18
- package/dist/parse/traceDependencies.d.ts.map +0 -1
- package/dist/parse/traceDependencies.js +0 -195
- 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;
|
|
@@ -20,7 +22,16 @@ export class BubbleInjector {
|
|
|
20
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
|
|
@@ -120,7 +236,16 @@ export class BubbleInjector {
|
|
|
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,22 +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
291
|
const finalScript = this.reapplyBubbleInstantiations();
|
|
162
292
|
console.log('Final script:', this.bubbleScript.showScript('[BubbleInjector] Final script'));
|
|
163
|
-
console.debug('INJECTED CREDENTIALS', injectedCredentials);
|
|
164
293
|
return {
|
|
165
294
|
success: errors.length === 0,
|
|
166
295
|
code: finalScript,
|
|
@@ -241,26 +370,74 @@ export class BubbleInjector {
|
|
|
241
370
|
* tracks line shifts to adjust subsequent bubble locations.
|
|
242
371
|
*/
|
|
243
372
|
reapplyBubbleInstantiations() {
|
|
244
|
-
const bubbles = Object.values(this.bubbleScript.getParsedBubbles());
|
|
373
|
+
const bubbles = Object.values(this.bubbleScript.getParsedBubbles()).filter((bubble) => !bubble.invocationCallSiteKey);
|
|
245
374
|
const lines = this.bubbleScript.currentBubbleScript.split('\n');
|
|
246
|
-
// Sort bubbles by start line
|
|
375
|
+
// Sort bubbles by start line
|
|
247
376
|
const sortedBubbles = [...bubbles].sort((a, b) => a.location.startLine - b.location.startLine);
|
|
248
|
-
//
|
|
249
|
-
|
|
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();
|
|
250
381
|
for (const bubble of sortedBubbles) {
|
|
251
|
-
|
|
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);
|
|
252
425
|
const adjustedBubble = {
|
|
253
426
|
...bubble,
|
|
254
427
|
location: {
|
|
255
428
|
...bubble.location,
|
|
256
|
-
|
|
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
|
|
257
435
|
endLine: bubble.location.endLine + lineShift,
|
|
258
436
|
},
|
|
259
437
|
};
|
|
260
438
|
const linesBefore = lines.length;
|
|
261
439
|
replaceBubbleInstantiation(lines, adjustedBubble);
|
|
262
440
|
const linesAfter = lines.length;
|
|
263
|
-
// Update shift: negative means lines were deleted
|
|
264
441
|
const linesDeleted = linesBefore - linesAfter;
|
|
265
442
|
lineShift -= linesDeleted;
|
|
266
443
|
}
|
|
@@ -269,24 +446,159 @@ export class BubbleInjector {
|
|
|
269
446
|
this.bubbleScript.reparseAST();
|
|
270
447
|
return finalScript;
|
|
271
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
|
+
}
|
|
272
568
|
/**
|
|
273
569
|
* Apply new bubble parameters by converting them back to code and injecting in place
|
|
274
570
|
* Injects logger to the bubble instantiations
|
|
275
571
|
*/
|
|
276
572
|
injectBubbleLoggingAndReinitializeBubbleParameters(loggingEnabled = true) {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
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
|
+
}
|
|
290
602
|
}
|
|
291
603
|
/** Takes in bubbleId and key, value pair and changes the parameter in the bubble script */
|
|
292
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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"}
|
|
@@ -25,7 +25,7 @@ export declare class LoggerInjector {
|
|
|
25
25
|
*/
|
|
26
26
|
private injectLineLoggingWithOriginalLines;
|
|
27
27
|
/**
|
|
28
|
-
* Inject `const __bubbleFlowSelf = this;` at the beginning of
|
|
28
|
+
* Inject `const __bubbleFlowSelf = this;` at the beginning of all instance method bodies
|
|
29
29
|
* This captures `this` in a lexical variable that works at any nesting level
|
|
30
30
|
* This should be called BEFORE reapplyBubbleInstantiations so bubble instantiations can use __bubbleFlowSelf.logger
|
|
31
31
|
*/
|
|
@@ -35,5 +35,16 @@ export declare class LoggerInjector {
|
|
|
35
35
|
*/
|
|
36
36
|
private findStatementsInHandleMethod;
|
|
37
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;
|
|
38
49
|
}
|
|
39
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"}
|