@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.
Files changed (69) hide show
  1. package/dist/extraction/BubbleParser.d.ts +187 -8
  2. package/dist/extraction/BubbleParser.d.ts.map +1 -1
  3. package/dist/extraction/BubbleParser.js +2271 -117
  4. package/dist/extraction/BubbleParser.js.map +1 -1
  5. package/dist/extraction/index.js +1 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/injection/BubbleInjector.d.ts +27 -2
  11. package/dist/injection/BubbleInjector.d.ts.map +1 -1
  12. package/dist/injection/BubbleInjector.js +343 -35
  13. package/dist/injection/BubbleInjector.js.map +1 -1
  14. package/dist/injection/LoggerInjector.d.ts +12 -1
  15. package/dist/injection/LoggerInjector.d.ts.map +1 -1
  16. package/dist/injection/LoggerInjector.js +301 -13
  17. package/dist/injection/LoggerInjector.js.map +1 -1
  18. package/dist/injection/index.js +1 -0
  19. package/dist/parse/BubbleScript.d.ts +60 -3
  20. package/dist/parse/BubbleScript.d.ts.map +1 -1
  21. package/dist/parse/BubbleScript.js +133 -15
  22. package/dist/parse/BubbleScript.js.map +1 -1
  23. package/dist/parse/index.d.ts +0 -1
  24. package/dist/parse/index.d.ts.map +1 -1
  25. package/dist/parse/index.js +1 -1
  26. package/dist/parse/index.js.map +1 -1
  27. package/dist/runtime/BubbleRunner.d.ts +8 -2
  28. package/dist/runtime/BubbleRunner.d.ts.map +1 -1
  29. package/dist/runtime/BubbleRunner.js +41 -30
  30. package/dist/runtime/BubbleRunner.js.map +1 -1
  31. package/dist/runtime/index.d.ts +1 -1
  32. package/dist/runtime/index.d.ts.map +1 -1
  33. package/dist/runtime/index.js +1 -0
  34. package/dist/runtime/index.js.map +1 -1
  35. package/dist/runtime/types.js +1 -0
  36. package/dist/types/index.js +1 -0
  37. package/dist/utils/bubble-helper.d.ts +2 -2
  38. package/dist/utils/bubble-helper.d.ts.map +1 -1
  39. package/dist/utils/bubble-helper.js +6 -1
  40. package/dist/utils/bubble-helper.js.map +1 -1
  41. package/dist/utils/normalize-control-flow.d.ts +14 -0
  42. package/dist/utils/normalize-control-flow.d.ts.map +1 -0
  43. package/dist/utils/normalize-control-flow.js +179 -0
  44. package/dist/utils/normalize-control-flow.js.map +1 -0
  45. package/dist/utils/parameter-formatter.d.ts +14 -5
  46. package/dist/utils/parameter-formatter.d.ts.map +1 -1
  47. package/dist/utils/parameter-formatter.js +164 -45
  48. package/dist/utils/parameter-formatter.js.map +1 -1
  49. package/dist/utils/sanitize-script.d.ts +11 -0
  50. package/dist/utils/sanitize-script.d.ts.map +1 -0
  51. package/dist/utils/sanitize-script.js +43 -0
  52. package/dist/utils/sanitize-script.js.map +1 -0
  53. package/dist/validation/BubbleValidator.d.ts +15 -0
  54. package/dist/validation/BubbleValidator.d.ts.map +1 -1
  55. package/dist/validation/BubbleValidator.js +168 -1
  56. package/dist/validation/BubbleValidator.js.map +1 -1
  57. package/dist/validation/index.d.ts +6 -3
  58. package/dist/validation/index.d.ts.map +1 -1
  59. package/dist/validation/index.js +33 -9
  60. package/dist/validation/index.js.map +1 -1
  61. package/dist/validation/lint-rules.d.ts +91 -0
  62. package/dist/validation/lint-rules.d.ts.map +1 -0
  63. package/dist/validation/lint-rules.js +755 -0
  64. package/dist/validation/lint-rules.js.map +1 -0
  65. package/package.json +4 -4
  66. package/dist/parse/traceDependencies.d.ts +0 -18
  67. package/dist/parse/traceDependencies.d.ts.map +0 -1
  68. package/dist/parse/traceDependencies.js +0 -195
  69. package/dist/parse/traceDependencies.js.map +0 -1
@@ -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.getParsedBubbles())) {
22
+ for (const [, bubble] of Object.entries(this.bubbleScript.getParsedBubblesRaw())) {
21
23
  const allCredentialTypes = new Set();
22
24
  // Get bubble-level credentials
23
- const credentialOptions = BUBBLE_CREDENTIAL_OPTIONS[bubble.bubbleName];
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.getParsedBubbles() };
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
- const bubbleCredentialOptions = BUBBLE_CREDENTIAL_OPTIONS[bubbleName] || [];
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.getParsedBubbles(),
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.getParsedBubbles()[bubbleId];
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.getParsedBubbles());
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 to process in order
371
+ // Sort bubbles by start line
247
372
  const sortedBubbles = [...bubbles].sort((a, b) => a.location.startLine - b.location.startLine);
248
- // Track cumulative line shift as we delete lines
249
- let lineShift = 0;
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
- // Adjust bubble location for deletions from previous bubbles
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
- startLine: bubble.location.startLine + lineShift,
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
- // STEP 1: Inject `__bubbleFlowSelf = this;` at the beginning of handle method
278
- // This must be done FIRST so that bubble instantiations can use __bubbleFlowSelf.logger
279
- if (loggingEnabled) {
280
- this.bubbleScript.showScript('[BubbleInjector] Before injectSelfCapture');
281
- // Normalize to single-line instantiations and refresh AST
282
- this.reapplyBubbleInstantiations();
283
- this.bubbleScript.showScript('[BubbleInjector] After reapplyBubbleInstantiations');
284
- // Inject logging based on the current AST/locations to avoid placement inside params
285
- this.loggerInjector.injectLogging();
286
- this.bubbleScript.showScript('[BubbleInjector] After injectLogging');
287
- }
288
- this.loggerInjector.injectSelfCapture();
289
- this.bubbleScript.showScript('[BubbleInjector] After injectSelfCapture');
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 the handle method body
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;AAGrD,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;IAavB;;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;IAsBzB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAgDpC,OAAO,CAAC,eAAe;CA8BxB"}
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"}