@bubblelab/bubble-runtime 0.1.14 → 0.1.16
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 +187 -8
- package/dist/extraction/BubbleParser.d.ts.map +1 -1
- package/dist/extraction/BubbleParser.js +2271 -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 -2
- package/dist/injection/BubbleInjector.d.ts.map +1 -1
- package/dist/injection/BubbleInjector.js +343 -35
- 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 +60 -3
- package/dist/parse/BubbleScript.d.ts.map +1 -1
- package/dist/parse/BubbleScript.js +133 -15
- 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 +41 -30
- 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 +33 -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;
|
|
@@ -17,10 +19,19 @@ export class BubbleInjector {
|
|
|
17
19
|
findCredentials() {
|
|
18
20
|
const requiredCredentials = {};
|
|
19
21
|
// Iterate through each bubble and check its credential requirements
|
|
20
|
-
for (const [, bubble] of Object.entries(this.bubbleScript.
|
|
22
|
+
for (const [, bubble] of Object.entries(this.bubbleScript.getParsedBubblesRaw())) {
|
|
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,109 @@ 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
|
+
if (bubble.bubbleName !== 'ai-agent') {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
// Find the model parameter
|
|
66
|
+
const modelParam = bubble.parameters.find((param) => param.name === 'model');
|
|
67
|
+
if (!modelParam) {
|
|
68
|
+
// No model parameter, use default (google) or return null to include all
|
|
69
|
+
return [CredentialType.GOOGLE_GEMINI_CRED];
|
|
70
|
+
}
|
|
71
|
+
// Try to extract the model string from the model object
|
|
72
|
+
let modelString;
|
|
73
|
+
let backupModelString;
|
|
74
|
+
if (modelParam.type === BubbleParameterType.OBJECT) {
|
|
75
|
+
// Model is an object, try to extract the nested 'model' property
|
|
76
|
+
try {
|
|
77
|
+
// parse the string to json
|
|
78
|
+
if (typeof modelParam.value !== 'string') {
|
|
79
|
+
throw new Error('Model parameter value must be a string');
|
|
80
|
+
}
|
|
81
|
+
// Remove single-line comments (// ...) before parsing
|
|
82
|
+
// This handles cases like: { model: 'google/gemini-3-pro-preview', temperature: 0.1 // Low temperature }
|
|
83
|
+
const withoutComments = modelParam.value.replace(/\/\/[^\n]*/g, '');
|
|
84
|
+
// Convert single quotes to double quotes (handle escaped quotes)
|
|
85
|
+
const jsonStr = withoutComments
|
|
86
|
+
.replace(/'/g, '"')
|
|
87
|
+
.replace(/(\w+):/g, '"$1":')
|
|
88
|
+
.replace(/,(\s*[}\]])/g, '$1'); // Remove trailing commas
|
|
89
|
+
const modelObj = JSON.parse(jsonStr);
|
|
90
|
+
// Extract primary model
|
|
91
|
+
const nestedModel = modelObj.model;
|
|
92
|
+
if (typeof nestedModel === 'string') {
|
|
93
|
+
modelString = nestedModel;
|
|
94
|
+
}
|
|
95
|
+
// Extract backup model if present
|
|
96
|
+
if (modelObj.backupModel &&
|
|
97
|
+
typeof modelObj.backupModel.model === 'string') {
|
|
98
|
+
backupModelString = modelObj.backupModel.model;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error('[BubbleInjector] Failed to parse model parameter as JSON:', error);
|
|
103
|
+
// If parsing fails, treat as dynamic model
|
|
104
|
+
modelString = undefined;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// If we couldn't extract a static model string, treat as dynamic
|
|
108
|
+
if (!modelString) {
|
|
109
|
+
return [
|
|
110
|
+
CredentialType.GOOGLE_GEMINI_CRED,
|
|
111
|
+
CredentialType.OPENAI_CRED,
|
|
112
|
+
CredentialType.ANTHROPIC_CRED,
|
|
113
|
+
CredentialType.OPENROUTER_CRED,
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
const credentialTypes = [];
|
|
117
|
+
// Get credential for primary model
|
|
118
|
+
const primaryCredential = this.getCredentialTypeForProvider(modelString);
|
|
119
|
+
if (primaryCredential === null) {
|
|
120
|
+
return null; // Unknown provider, include all
|
|
121
|
+
}
|
|
122
|
+
credentialTypes.push(primaryCredential);
|
|
123
|
+
// Get credential for backup model if present
|
|
124
|
+
if (backupModelString) {
|
|
125
|
+
const backupCredential = this.getCredentialTypeForProvider(backupModelString);
|
|
126
|
+
if (backupCredential === null) {
|
|
127
|
+
return null; // Unknown provider, include all
|
|
128
|
+
}
|
|
129
|
+
if (!credentialTypes.includes(backupCredential)) {
|
|
130
|
+
credentialTypes.push(backupCredential);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return credentialTypes;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Maps a model string to its credential type
|
|
137
|
+
* @param modelString - Model string in format "provider/model-name"
|
|
138
|
+
* @returns The credential type for the provider, or null if unknown
|
|
139
|
+
*/
|
|
140
|
+
getCredentialTypeForProvider(modelString) {
|
|
141
|
+
const slashIndex = modelString.indexOf('/');
|
|
142
|
+
if (slashIndex === -1) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
const provider = modelString.substring(0, slashIndex).toLowerCase();
|
|
146
|
+
switch (provider) {
|
|
147
|
+
case 'openai':
|
|
148
|
+
return CredentialType.OPENAI_CRED;
|
|
149
|
+
case 'google':
|
|
150
|
+
return CredentialType.GOOGLE_GEMINI_CRED;
|
|
151
|
+
case 'anthropic':
|
|
152
|
+
return CredentialType.ANTHROPIC_CRED;
|
|
153
|
+
case 'openrouter':
|
|
154
|
+
return CredentialType.OPENROUTER_CRED;
|
|
155
|
+
default:
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
45
159
|
/**
|
|
46
160
|
* Extracts tool credential requirements from AI agent bubble parameters
|
|
47
161
|
* @param bubble - The parsed bubble to extract tool requirements from
|
|
@@ -106,21 +220,29 @@ export class BubbleInjector {
|
|
|
106
220
|
}
|
|
107
221
|
/**
|
|
108
222
|
* Injects credentials into bubble parameters
|
|
109
|
-
* @param bubbleParameters - Parsed bubble parameters with info
|
|
110
223
|
* @param userCredentials - User-provided credentials
|
|
111
224
|
* @param systemCredentials - System-provided credentials (environment variables)
|
|
112
225
|
* @returns Result of credential injection
|
|
113
226
|
*/
|
|
114
227
|
injectCredentials(userCredentials = [], systemCredentials = {}) {
|
|
115
228
|
try {
|
|
116
|
-
const modifiedBubbles = { ...this.bubbleScript.
|
|
229
|
+
const modifiedBubbles = { ...this.bubbleScript.getParsedBubblesRaw() };
|
|
117
230
|
const injectedCredentials = {};
|
|
118
231
|
const errors = [];
|
|
119
232
|
// Iterate through each bubble to determine if it needs credential injection
|
|
120
233
|
for (const [_, bubble] of Object.entries(modifiedBubbles)) {
|
|
121
234
|
const bubbleName = bubble.bubbleName;
|
|
122
235
|
// Get the credential options for this bubble from the registry
|
|
123
|
-
|
|
236
|
+
let bubbleCredentialOptions = BUBBLE_CREDENTIAL_OPTIONS[bubbleName] || [];
|
|
237
|
+
// For AI agent bubbles, optimize credential injection based on model
|
|
238
|
+
if (bubble.bubbleName === 'ai-agent') {
|
|
239
|
+
const modelCredentialTypes = this.extractModelCredentialType(bubble);
|
|
240
|
+
if (modelCredentialTypes !== null) {
|
|
241
|
+
// Model is static - only inject the credentials needed for primary and backup models
|
|
242
|
+
bubbleCredentialOptions = bubbleCredentialOptions.filter((credType) => modelCredentialTypes.includes(credType));
|
|
243
|
+
}
|
|
244
|
+
// If modelCredentialTypes is null, model is dynamic - include all credentials
|
|
245
|
+
}
|
|
124
246
|
// For AI agent bubbles, also collect tool-level credential requirements
|
|
125
247
|
const toolCredentialOptions = bubble.bubbleName === 'ai-agent'
|
|
126
248
|
? this.extractToolCredentials(bubble)
|
|
@@ -137,6 +259,11 @@ export class BubbleInjector {
|
|
|
137
259
|
for (const credentialType of allCredentialOptions) {
|
|
138
260
|
if (systemCredentials[credentialType]) {
|
|
139
261
|
credentialMapping[credentialType] = this.escapeString(systemCredentials[credentialType]);
|
|
262
|
+
injectedCredentials[`${bubble.variableId}.${credentialType}`] = {
|
|
263
|
+
isUserCredential: false,
|
|
264
|
+
credentialType: credentialType,
|
|
265
|
+
credentialValue: this.maskCredential(systemCredentials[credentialType]),
|
|
266
|
+
};
|
|
140
267
|
}
|
|
141
268
|
}
|
|
142
269
|
// Then inject user credentials (these override system credentials)
|
|
@@ -145,26 +272,24 @@ export class BubbleInjector {
|
|
|
145
272
|
const userCredType = userCred.credentialType;
|
|
146
273
|
if (allCredentialOptions.includes(userCredType)) {
|
|
147
274
|
credentialMapping[userCredType] = this.escapeString(userCred.secret);
|
|
275
|
+
injectedCredentials[`${bubble.variableId}.${userCredType}`] = {
|
|
276
|
+
isUserCredential: true,
|
|
277
|
+
credentialType: userCredType,
|
|
278
|
+
credentialValue: this.maskCredential(userCred.secret),
|
|
279
|
+
};
|
|
148
280
|
}
|
|
149
281
|
}
|
|
150
282
|
// Inject credentials into bubble parameters
|
|
151
283
|
if (Object.keys(credentialMapping).length > 0) {
|
|
152
284
|
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
285
|
}
|
|
159
286
|
}
|
|
160
287
|
// Apply the modified bubbles back to the script
|
|
161
288
|
const finalScript = this.reapplyBubbleInstantiations();
|
|
162
|
-
console.log('Final script:', this.bubbleScript.showScript('[BubbleInjector] Final script'));
|
|
163
|
-
console.debug('INJECTED CREDENTIALS', injectedCredentials);
|
|
164
289
|
return {
|
|
165
290
|
success: errors.length === 0,
|
|
166
291
|
code: finalScript,
|
|
167
|
-
parsedBubbles: this.bubbleScript.
|
|
292
|
+
parsedBubbles: this.bubbleScript.getParsedBubblesRaw(),
|
|
168
293
|
errors: errors.length > 0 ? errors : undefined,
|
|
169
294
|
injectedCredentials,
|
|
170
295
|
};
|
|
@@ -229,7 +354,7 @@ export class BubbleInjector {
|
|
|
229
354
|
value.substring(value.length - 4));
|
|
230
355
|
}
|
|
231
356
|
getBubble(bubbleId) {
|
|
232
|
-
const bubbleClass = this.bubbleScript.
|
|
357
|
+
const bubbleClass = this.bubbleScript.getParsedBubblesRaw()[bubbleId];
|
|
233
358
|
if (!bubbleClass) {
|
|
234
359
|
throw new Error(`Bubble with id ${bubbleId} not found`);
|
|
235
360
|
}
|
|
@@ -241,26 +366,74 @@ export class BubbleInjector {
|
|
|
241
366
|
* tracks line shifts to adjust subsequent bubble locations.
|
|
242
367
|
*/
|
|
243
368
|
reapplyBubbleInstantiations() {
|
|
244
|
-
const bubbles = Object.values(this.bubbleScript.
|
|
369
|
+
const bubbles = Object.values(this.bubbleScript.getParsedBubblesRaw()).filter((bubble) => !bubble.invocationCallSiteKey);
|
|
245
370
|
const lines = this.bubbleScript.currentBubbleScript.split('\n');
|
|
246
|
-
// Sort bubbles by start line
|
|
371
|
+
// Sort bubbles by start line
|
|
247
372
|
const sortedBubbles = [...bubbles].sort((a, b) => a.location.startLine - b.location.startLine);
|
|
248
|
-
//
|
|
249
|
-
|
|
373
|
+
// Identify which bubbles are nested inside another bubble's location range.
|
|
374
|
+
// Parent bubbles contain other bubbles (e.g., AIAgentBubble with customTools).
|
|
375
|
+
const nestedBubbleIds = new Set();
|
|
376
|
+
const parentBubbleIds = new Set();
|
|
250
377
|
for (const bubble of sortedBubbles) {
|
|
251
|
-
|
|
378
|
+
for (const other of sortedBubbles) {
|
|
379
|
+
if (other.variableId !== bubble.variableId &&
|
|
380
|
+
other.location.startLine < bubble.location.startLine &&
|
|
381
|
+
other.location.endLine > bubble.location.endLine) {
|
|
382
|
+
// bubble is completely contained within other's range
|
|
383
|
+
nestedBubbleIds.add(bubble.variableId);
|
|
384
|
+
parentBubbleIds.add(other.variableId);
|
|
385
|
+
break;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
// Separate into nested and non-nested bubbles
|
|
390
|
+
const nestedBubbles = sortedBubbles.filter((b) => nestedBubbleIds.has(b.variableId));
|
|
391
|
+
const nonNestedBubbles = sortedBubbles.filter((b) => !nestedBubbleIds.has(b.variableId));
|
|
392
|
+
// PHASE 1: Process nested bubbles first (in reverse order to handle line shifts correctly)
|
|
393
|
+
// This updates the source code for inner bubbles before their parent reads it.
|
|
394
|
+
// Process from bottom to top so line deletions don't affect earlier bubbles.
|
|
395
|
+
const nestedBubblesReversed = [...nestedBubbles].sort((a, b) => b.location.startLine - a.location.startLine);
|
|
396
|
+
// Track total lines deleted during phase 1 for adjusting parent bubble locations
|
|
397
|
+
let phase1LinesDeleted = 0;
|
|
398
|
+
for (const bubble of nestedBubblesReversed) {
|
|
399
|
+
const linesBefore = lines.length;
|
|
400
|
+
replaceBubbleInstantiation(lines, bubble);
|
|
401
|
+
const linesAfter = lines.length;
|
|
402
|
+
phase1LinesDeleted += linesBefore - linesAfter;
|
|
403
|
+
}
|
|
404
|
+
// PHASE 2: Process non-nested bubbles (including parent bubbles)
|
|
405
|
+
// For parent bubbles, refresh their parameters that contain nested bubble code
|
|
406
|
+
// from the now-updated lines array.
|
|
407
|
+
for (const bubble of nonNestedBubbles) {
|
|
408
|
+
if (parentBubbleIds.has(bubble.variableId)) {
|
|
409
|
+
// Adjust parent bubble's end line to account for lines deleted from nested bubbles
|
|
410
|
+
const adjustedEndLine = bubble.location.endLine - phase1LinesDeleted;
|
|
411
|
+
this.refreshBubbleParametersFromSource(bubble, lines, adjustedEndLine);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
// Now process non-nested bubbles in order, tracking line shifts
|
|
415
|
+
// For parent bubbles: lines were deleted from INSIDE them (nested bubbles), not before them
|
|
416
|
+
// So their start line should NOT be shifted by phase1LinesDeleted
|
|
417
|
+
// For non-parent bubbles: lines were deleted BEFORE them, so both start and end should be shifted
|
|
418
|
+
let lineShift = -phase1LinesDeleted; // Start with the shift from phase 1
|
|
419
|
+
for (const bubble of nonNestedBubbles) {
|
|
420
|
+
const isParentBubble = parentBubbleIds.has(bubble.variableId);
|
|
252
421
|
const adjustedBubble = {
|
|
253
422
|
...bubble,
|
|
254
423
|
location: {
|
|
255
424
|
...bubble.location,
|
|
256
|
-
|
|
425
|
+
// For parent bubbles, start line is not affected by phase 1 deletions (they're inside, not before)
|
|
426
|
+
// For non-parent bubbles, start line is shifted by lines deleted in phase 1
|
|
427
|
+
startLine: isParentBubble
|
|
428
|
+
? bubble.location.startLine
|
|
429
|
+
: bubble.location.startLine + lineShift,
|
|
430
|
+
// End line is always shifted for bubbles that come after phase 1 deletions
|
|
257
431
|
endLine: bubble.location.endLine + lineShift,
|
|
258
432
|
},
|
|
259
433
|
};
|
|
260
434
|
const linesBefore = lines.length;
|
|
261
435
|
replaceBubbleInstantiation(lines, adjustedBubble);
|
|
262
436
|
const linesAfter = lines.length;
|
|
263
|
-
// Update shift: negative means lines were deleted
|
|
264
437
|
const linesDeleted = linesBefore - linesAfter;
|
|
265
438
|
lineShift -= linesDeleted;
|
|
266
439
|
}
|
|
@@ -269,24 +442,159 @@ export class BubbleInjector {
|
|
|
269
442
|
this.bubbleScript.reparseAST();
|
|
270
443
|
return finalScript;
|
|
271
444
|
}
|
|
445
|
+
/**
|
|
446
|
+
* Refresh bubble parameters that are sourced from code (like customTools arrays)
|
|
447
|
+
* by re-reading the relevant portion from the updated lines array.
|
|
448
|
+
* @param bubble - The bubble to refresh parameters for
|
|
449
|
+
* @param lines - The current lines array (after nested bubble processing)
|
|
450
|
+
* @param adjustedBubbleEndLine - The bubble's end line adjusted for lines deleted during nested processing
|
|
451
|
+
*/
|
|
452
|
+
refreshBubbleParametersFromSource(bubble, lines, adjustedBubbleEndLine) {
|
|
453
|
+
// Calculate how many lines were deleted from within this bubble
|
|
454
|
+
const linesDeletedInBubble = bubble.location.endLine - adjustedBubbleEndLine;
|
|
455
|
+
// Find parameters that contain function literals (like customTools)
|
|
456
|
+
for (const param of bubble.parameters) {
|
|
457
|
+
if ((param.type === 'array' || param.type === 'object') &&
|
|
458
|
+
typeof param.value === 'string') {
|
|
459
|
+
// Check if this parameter contains function literals
|
|
460
|
+
const containsFunc = param.value.includes('func:') ||
|
|
461
|
+
param.value.includes('=>') ||
|
|
462
|
+
param.value.includes('function(') ||
|
|
463
|
+
param.value.includes('async(') ||
|
|
464
|
+
param.value.includes('async (');
|
|
465
|
+
if (containsFunc && param.location) {
|
|
466
|
+
// Adjust param end line for deleted lines
|
|
467
|
+
const adjustedParamEndLine = param.location.endLine - linesDeletedInBubble;
|
|
468
|
+
// Re-read this parameter's value from the updated lines
|
|
469
|
+
const startLine = param.location.startLine - 1;
|
|
470
|
+
const endLine = adjustedParamEndLine;
|
|
471
|
+
if (startLine >= 0 && endLine <= lines.length) {
|
|
472
|
+
const paramLines = lines.slice(startLine, endLine);
|
|
473
|
+
// Extract just the parameter value portion
|
|
474
|
+
// This is a simplified extraction - the parameter value starts after the property name
|
|
475
|
+
const fullText = paramLines.join('\n');
|
|
476
|
+
// Find where the array/object starts (after "paramName:")
|
|
477
|
+
const colonIndex = fullText.indexOf(':');
|
|
478
|
+
if (colonIndex !== -1) {
|
|
479
|
+
let valueText = fullText.substring(colonIndex + 1).trim();
|
|
480
|
+
// Remove trailing comma if present (to avoid double commas when buildParametersObject joins)
|
|
481
|
+
if (valueText.endsWith(',')) {
|
|
482
|
+
valueText = valueText.slice(0, -1);
|
|
483
|
+
}
|
|
484
|
+
param.value = valueText;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
buildInvocationDependencyGraphLiteral() {
|
|
492
|
+
const callSiteMap = {};
|
|
493
|
+
for (const bubble of Object.values(this.bubbleScript.getParsedBubblesRaw())) {
|
|
494
|
+
if (!bubble.invocationCallSiteKey ||
|
|
495
|
+
typeof bubble.clonedFromVariableId !== 'number' ||
|
|
496
|
+
!bubble.dependencyGraph) {
|
|
497
|
+
continue;
|
|
498
|
+
}
|
|
499
|
+
const callSiteKey = bubble.invocationCallSiteKey;
|
|
500
|
+
const originalId = String(bubble.clonedFromVariableId);
|
|
501
|
+
if (!callSiteMap[callSiteKey]) {
|
|
502
|
+
callSiteMap[callSiteKey] = {};
|
|
503
|
+
}
|
|
504
|
+
callSiteMap[callSiteKey][originalId] = bubble.dependencyGraph;
|
|
505
|
+
}
|
|
506
|
+
const literal = JSON.stringify(callSiteMap, null, 2).replace(/</g, '\\u003c');
|
|
507
|
+
return literal || '{}';
|
|
508
|
+
}
|
|
509
|
+
injectInvocationDependencyGraphMap() {
|
|
510
|
+
const literal = this.buildInvocationDependencyGraphLiteral();
|
|
511
|
+
const lines = this.bubbleScript.currentBubbleScript.split('\n');
|
|
512
|
+
const startIndex = lines.findIndex((line) => line.trim() === INVOCATION_GRAPH_START_MARKER);
|
|
513
|
+
if (startIndex !== -1) {
|
|
514
|
+
const endIndex = lines.findIndex((line, idx) => idx >= startIndex && line.trim() === INVOCATION_GRAPH_END_MARKER);
|
|
515
|
+
const removeUntil = endIndex !== -1 ? endIndex : startIndex;
|
|
516
|
+
lines.splice(startIndex, removeUntil - startIndex + 1);
|
|
517
|
+
if (lines[startIndex] === '') {
|
|
518
|
+
lines.splice(startIndex, 1);
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
const literalLines = literal
|
|
522
|
+
.split('\n')
|
|
523
|
+
.map((line) => (line.length > 0 ? ` ${line}` : line));
|
|
524
|
+
const blockLines = [
|
|
525
|
+
'',
|
|
526
|
+
INVOCATION_GRAPH_START_MARKER,
|
|
527
|
+
'const __bubbleInvocationDependencyGraphs = Object.freeze(',
|
|
528
|
+
...literalLines,
|
|
529
|
+
');',
|
|
530
|
+
'globalThis["__bubbleInvocationDependencyGraphs"] = __bubbleInvocationDependencyGraphs;',
|
|
531
|
+
INVOCATION_GRAPH_END_MARKER,
|
|
532
|
+
'',
|
|
533
|
+
];
|
|
534
|
+
let insertIndex = 0;
|
|
535
|
+
let i = 0;
|
|
536
|
+
let insideImport = false;
|
|
537
|
+
while (i < lines.length) {
|
|
538
|
+
const trimmed = lines[i].trim();
|
|
539
|
+
if (!insideImport && trimmed.startsWith('import')) {
|
|
540
|
+
insideImport = !trimmed.includes(';');
|
|
541
|
+
insertIndex = i + 1;
|
|
542
|
+
i += 1;
|
|
543
|
+
continue;
|
|
544
|
+
}
|
|
545
|
+
if (insideImport) {
|
|
546
|
+
insertIndex = i + 1;
|
|
547
|
+
if (trimmed.includes(';')) {
|
|
548
|
+
insideImport = false;
|
|
549
|
+
}
|
|
550
|
+
i += 1;
|
|
551
|
+
continue;
|
|
552
|
+
}
|
|
553
|
+
if (trimmed === '') {
|
|
554
|
+
insertIndex = i + 1;
|
|
555
|
+
i += 1;
|
|
556
|
+
continue;
|
|
557
|
+
}
|
|
558
|
+
break;
|
|
559
|
+
}
|
|
560
|
+
lines.splice(insertIndex, 0, ...blockLines);
|
|
561
|
+
this.bubbleScript.currentBubbleScript = lines.join('\n');
|
|
562
|
+
this.bubbleScript.reparseAST();
|
|
563
|
+
}
|
|
272
564
|
/**
|
|
273
565
|
* Apply new bubble parameters by converting them back to code and injecting in place
|
|
274
566
|
* Injects logger to the bubble instantiations
|
|
275
567
|
*/
|
|
276
568
|
injectBubbleLoggingAndReinitializeBubbleParameters(loggingEnabled = true) {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
569
|
+
const script = this.bubbleScript.currentBubbleScript;
|
|
570
|
+
try {
|
|
571
|
+
// STEP 1: Inject `__bubbleFlowSelf = this;` at the beginning of handle method
|
|
572
|
+
// This must be done FIRST so that bubble instantiations can use __bubbleFlowSelf.logger
|
|
573
|
+
if (loggingEnabled) {
|
|
574
|
+
this.bubbleScript.showScript('[BubbleInjector] Before injectSelfCapture');
|
|
575
|
+
// Normalize to single-line instantiations and refresh AST
|
|
576
|
+
this.reapplyBubbleInstantiations();
|
|
577
|
+
this.injectInvocationDependencyGraphMap();
|
|
578
|
+
this.bubbleScript.showScript('[BubbleInjector] After reapplyBubbleInstantiations');
|
|
579
|
+
// Inject logging based on the current AST/locations to avoid placement inside params
|
|
580
|
+
this.loggerInjector.injectLogging();
|
|
581
|
+
this.bubbleScript.showScript('[BubbleInjector] After injectLogging');
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
catch (error) {
|
|
585
|
+
this.bubbleScript.parsingErrors.push(`Error injecting bubble logging and reinitialize bubble parameters: ${error instanceof Error ? error.message : String(error)}`);
|
|
586
|
+
console.error('Error injecting bubble logging and reinitialize bubble parameters:', error);
|
|
587
|
+
// Revert the script to the original script
|
|
588
|
+
this.bubbleScript.currentBubbleScript = script;
|
|
589
|
+
}
|
|
590
|
+
try {
|
|
591
|
+
this.loggerInjector.injectSelfCapture();
|
|
592
|
+
this.bubbleScript.showScript('[BubbleInjector] After injectSelfCapture');
|
|
593
|
+
}
|
|
594
|
+
catch (error) {
|
|
595
|
+
this.bubbleScript.parsingErrors.push(`Error injecting self capture: ${error instanceof Error ? error.message : String(error)}`);
|
|
596
|
+
console.error('Error injecting self capture:', error);
|
|
597
|
+
}
|
|
290
598
|
}
|
|
291
599
|
/** Takes in bubbleId and key, value pair and changes the parameter in the bubble script */
|
|
292
600
|
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":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EAEnB,yBAAyB,GAE1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,6BAA6B,GACjC,+CAA+C,CAAC;AAClD,MAAM,2BAA2B,GAC/B,6CAA6C,CAAC;AA0BhD,MAAM,OAAO,cAAc;IACjB,YAAY,CAAe;IAC3B,cAAc,CAAiB;IACvC,YAAY,YAA0B;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,eAAe;QACb,MAAM,mBAAmB,GAAqC,EAAE,CAAC;QAEjE,oEAAoE;QACpE,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CACrC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CACxC,EAAE,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;YAErD,+BAA+B;YAC/B,IAAI,iBAAiB,GACnB,yBAAyB,CACvB,MAAM,CAAC,UAAoD,CAC5D,CAAC;YAEJ,wEAAwE;YACxE,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,IAAI,iBAAiB,EAAE,CAAC;gBAC1D,MAAM,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;gBACrE,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;oBAClC,sFAAsF;oBACtF,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACxD,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACxC,CAAC;gBACJ,CAAC;gBACD,8EAA8E;YAChF,CAAC;YAED,IAAI,iBAAiB,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC1D,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;oBACzC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBAC5D,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;oBACvC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,uDAAuD;YACvD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEtD,4CAA4C;YAC5C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAChC,MAA4B;QAE5B,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAClC,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,yEAAyE;YACzE,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAC7C,CAAC;QAED,wDAAwD;QACxD,IAAI,WAA+B,CAAC;QACpC,IAAI,iBAAqC,CAAC;QAE1C,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;YACnD,iEAAiE;YACjE,IAAI,CAAC;gBACH,2BAA2B;gBAC3B,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBACD,sDAAsD;gBACtD,yGAAyG;gBACzG,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBACpE,iEAAiE;gBACjE,MAAM,OAAO,GAAG,eAAe;qBAC5B,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;qBAClB,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;qBAC3B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB;gBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrC,wBAAwB;gBACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACnC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACpC,WAAW,GAAG,WAAW,CAAC;gBAC5B,CAAC;gBACD,kCAAkC;gBAClC,IACE,QAAQ,CAAC,WAAW;oBACpB,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,QAAQ,EAC9C,CAAC;oBACD,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,2DAA2D,EAC3D,KAAK,CACN,CAAC;gBACF,2CAA2C;gBAC3C,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,cAAc,CAAC,kBAAkB;gBACjC,cAAc,CAAC,WAAW;gBAC1B,cAAc,CAAC,cAAc;gBAC7B,cAAc,CAAC,eAAe;aAC/B,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAqB,EAAE,CAAC;QAE7C,mCAAmC;QACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,CAAC,gCAAgC;QAC/C,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAExC,6CAA6C;QAC7C,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,gBAAgB,GACpB,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,CAAC,gCAAgC;YAC/C,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChD,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,4BAA4B,CAClC,WAAmB;QAEnB,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAEpE,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,cAAc,CAAC,WAAW,CAAC;YACpC,KAAK,QAAQ;gBACX,OAAO,cAAc,CAAC,kBAAkB,CAAC;YAC3C,KAAK,WAAW;gBACd,OAAO,cAAc,CAAC,cAAc,CAAC;YACvC,KAAK,YAAY;gBACf,OAAO,cAAc,CAAC,eAAe,CAAC;YACxC;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,MAA4B;QAE5B,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;QAEvD,yCAAyC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAClC,CAAC;QACF,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,iDAAiD;YACjD,2DAA2D;YAC3D,IAAI,UAA2D,CAAC;YAEhE,4FAA4F;YAC5F,IAAI,CAAC;gBACH,0EAA0E;gBAC1E,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;gBAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,UAAU,GAAG,SAAS,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,+BAA+B;oBAC/B,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;gBACzD,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAChD,SAAS;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAkB,CAAC;gBAC/C,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;gBAExE,IAAI,qBAAqB,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;oBAClE,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;wBAC7C,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yDAAyD;YACzD,uFAAuF;YACvF,OAAO,CAAC,KAAK,CACX,8DAA8D,KAAK,EAAE,CACtE,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CACf,kBAA0C,EAAE,EAC5C,oBAA6D,EAAE;QAE/D,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACvE,MAAM,mBAAmB,GAOrB,EAAE,CAAC;YACP,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,4EAA4E;YAC5E,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAwB,CAAC;gBAEnD,+DAA+D;gBAC/D,IAAI,uBAAuB,GACzB,yBAAyB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAE9C,qEAAqE;gBACrE,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACrC,MAAM,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;oBACrE,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;wBAClC,qFAAqF;wBACrF,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CACtD,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtD,CAAC;oBACJ,CAAC;oBACD,8EAA8E;gBAChF,CAAC;gBAED,wEAAwE;gBACxE,MAAM,qBAAqB,GACzB,MAAM,CAAC,UAAU,KAAK,UAAU;oBAC9B,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;oBACrC,CAAC,CAAC,EAAE,CAAC;gBAET,sCAAsC;gBACtC,MAAM,oBAAoB,GAAG;oBAC3B,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,uBAAuB,EAAE,GAAG,qBAAqB,CAAC,CAAC;iBACnE,CAAC;gBAEF,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtC,SAAS;gBACX,CAAC;gBAED,MAAM,iBAAiB,GAAmC,EAGzD,CAAC;gBAEF,mCAAmC;gBACnC,KAAK,MAAM,cAAc,IAAI,oBAAwC,EAAE,CAAC;oBACtE,IAAI,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;wBACtC,iBAAiB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CACnD,iBAAiB,CAAC,cAAc,CAAC,CAClC,CAAC;wBACF,mBAAmB,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC,GAAG;4BAC9D,gBAAgB,EAAE,KAAK;4BACvB,cAAc,EAAE,cAAc;4BAC9B,eAAe,EAAE,IAAI,CAAC,cAAc,CAClC,iBAAiB,CAAC,cAAc,CAAC,CAClC;yBACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,mEAAmE;gBACnE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CACtC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,MAAM,CAAC,UAAU,CAC7C,CAAC;gBAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC;oBAE7C,IAAI,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBAChD,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CACjD,QAAQ,CAAC,MAAM,CAChB,CAAC;wBACF,mBAAmB,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC,GAAG;4BAC5D,gBAAgB,EAAE,IAAI;4BACtB,cAAc,EAAE,YAAY;4BAC5B,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;yBACtD,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACvD,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;gBAC5B,IAAI,EAAE,WAAW;gBACjB,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;gBACtD,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC9C,mBAAmB;aACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE;oBACN,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACxF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,2BAA2B,CACjC,MAA4B,EAC5B,iBAAiD;QAEjD,oDAAoD;QACpD,IAAI,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAChC,CAAC;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,gCAAgC;YAChC,gBAAgB,GAAG;gBACjB,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,mBAAmB,CAAC,MAAM;aACjC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QAED,gCAAgC;QAChC,IACE,OAAO,gBAAgB,CAAC,KAAK,KAAK,QAAQ;YAC1C,gBAAgB,CAAC,KAAK,KAAK,IAAI,EAC/B,CAAC;YACD,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAA+B,CAAC;QACxE,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtE,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;QACvC,CAAC;QAED,gBAAgB,CAAC,KAAK,GAAG,cAAc,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAW;QAC9B,OAAO,GAAG;aACP,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;aACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAAa;QAClC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CACL,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAClC,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,QAAgB;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,YAAY,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,2BAA2B;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CACxC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhE,6BAA6B;QAC7B,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CACtD,CAAC;QAEF,4EAA4E;QAC5E,+EAA+E;QAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IACE,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;oBACtC,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS;oBACpD,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAChD,CAAC;oBACD,sDAAsD;oBACtD,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACtC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAClC,CAAC;QACF,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAC1C,CAAC;QAEF,2FAA2F;QAC3F,+EAA+E;QAC/E,6EAA6E;QAC7E,MAAM,qBAAqB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CACtD,CAAC;QAEF,iFAAiF;QACjF,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,KAAK,MAAM,MAAM,IAAI,qBAAqB,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,kBAAkB,IAAI,WAAW,GAAG,UAAU,CAAC;QACjD,CAAC;QAED,iEAAiE;QACjE,+EAA+E;QAC/E,oCAAoC;QACpC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,mFAAmF;gBACnF,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,kBAAkB,CAAC;gBACrE,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,4FAA4F;QAC5F,kEAAkE;QAClE,kGAAkG;QAClG,IAAI,SAAS,GAAG,CAAC,kBAAkB,CAAC,CAAC,oCAAoC;QACzE,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE9D,MAAM,cAAc,GAAG;gBACrB,GAAG,MAAM;gBACT,QAAQ,EAAE;oBACR,GAAG,MAAM,CAAC,QAAQ;oBAClB,mGAAmG;oBACnG,4EAA4E;oBAC5E,SAAS,EAAE,cAAc;wBACvB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS;wBAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS;oBACzC,2EAA2E;oBAC3E,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,SAAS;iBAC7C;aACF,CAAC;YAEF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,0BAA0B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAEhC,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;YAC9C,SAAS,IAAI,YAAY,CAAC;QAC5B,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,WAAW,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACK,iCAAiC,CACvC,MAA4B,EAC5B,KAAe,EACf,qBAA6B;QAE7B,gEAAgE;QAChE,MAAM,oBAAoB,GACxB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,qBAAqB,CAAC;QAElD,oEAAoE;QACpE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACnD,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAC/B,CAAC;gBACD,qDAAqD;gBACrD,MAAM,YAAY,GAChB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC7B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC1B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACjC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC9B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAElC,IAAI,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnC,0CAA0C;oBAC1C,MAAM,oBAAoB,GACxB,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,oBAAoB,CAAC;oBAEhD,wDAAwD;oBACxD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;oBAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC;oBACrC,IAAI,SAAS,IAAI,CAAC,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;wBAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBACnD,2CAA2C;wBAC3C,uFAAuF;wBACvF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACvC,0DAA0D;wBAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACzC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;4BACtB,IAAI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4BAC1D,6FAA6F;4BAC7F,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC5B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BACrC,CAAC;4BACD,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,qCAAqC;QAC3C,MAAM,WAAW,GAA4C,EAAE,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAChC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CACxC,EAAE,CAAC;YACF,IACE,CAAC,MAAM,CAAC,qBAAqB;gBAC7B,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;gBAC/C,CAAC,MAAM,CAAC,eAAe,EACvB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,CAAC;YACD,WAAW,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;QAChE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC1D,IAAI,EACJ,SAAS,CACV,CAAC;QACF,OAAO,OAAO,IAAI,IAAI,CAAC;IACzB,CAAC;IAEO,kCAAkC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,qCAAqC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhE,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAChC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,6BAA6B,CACxD,CAAC;QACF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAC9B,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACZ,GAAG,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,2BAA2B,CACnE,CAAC;YACF,MAAM,WAAW,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;YAC5D,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7B,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,OAAO;aACzB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG;YACjB,EAAE;YACF,6BAA6B;YAC7B,2DAA2D;YAC3D,GAAG,YAAY;YACf,IAAI;YACJ,wFAAwF;YACxF,2BAA2B;YAC3B,EAAE;SACH,CAAC;QAEF,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEhC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,YAAY,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACtC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,YAAY,GAAG,KAAK,CAAC;gBACvB,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACnB,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YAED,MAAM;QACR,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,kDAAkD,CAChD,iBAA0B,IAAI;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QACrD,IAAI,CAAC;YACH,8EAA8E;YAC9E,wFAAwF;YACxF,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,YAAY,CAAC,UAAU,CAC1B,2CAA2C,CAC5C,CAAC;gBACF,0DAA0D;gBAC1D,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACnC,IAAI,CAAC,kCAAkC,EAAE,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,UAAU,CAC1B,oDAAoD,CACrD,CAAC;gBACF,qFAAqF;gBACrF,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sCAAsC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAClC,sEAAsE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/H,CAAC;YACF,OAAO,CAAC,KAAK,CACX,oEAAoE,EACpE,KAAK,CACN,CAAC;YACF,2CAA2C;YAC3C,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,MAAM,CAAC;QACjD,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACxC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,0CAA0C,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAClC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1F,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,sBAAsB,CACpB,QAAgB,EAChB,GAAW,EACX,KAAsE;QAEtE,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;QACvD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,YAAY,CAAC,CAAC;QAC1D,CAAC;QACD,yCAAyC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,wBAAwB,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,6BAA6B;QAC7B,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,2HAA2H;IAC3H,iBAAiB,CACf,QAAgB,EAChB,WAA2C;QAE3C,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,YAAY,CAAC,CAAC;QAC1D,CAAC;QACD,iCAAiC;QACjC,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAChC,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,gCAAgC;YAChC,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,mBAAmB,CAAC,MAAM;aACjC,CAAC,CAAC;QACL,CAAC;QACD,8JAA8J;QAC9J,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,+EAA+E;YAC/E,4DAA4D;YAC5D,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CACK,CAAC;YACvC,uCAAuC;YACvC,mCAAmC;YACnC,iBAAkB,CAAC,KAAK,GAAG,WAAW,CAAC,cAAgC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -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"}
|