@bubblelab/bubble-runtime 0.1.0
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/LICENSE.txt +202 -0
- package/dist/extraction/BubbleParser.d.ts +80 -0
- package/dist/extraction/BubbleParser.d.ts.map +1 -0
- package/dist/extraction/BubbleParser.js +926 -0
- package/dist/extraction/BubbleParser.js.map +1 -0
- package/dist/extraction/index.d.ts +2 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +4 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/injection/BubbleInjector.d.ts +71 -0
- package/dist/injection/BubbleInjector.d.ts.map +1 -0
- package/dist/injection/BubbleInjector.js +326 -0
- package/dist/injection/BubbleInjector.js.map +1 -0
- package/dist/injection/LoggerInjector.d.ts +33 -0
- package/dist/injection/LoggerInjector.d.ts.map +1 -0
- package/dist/injection/LoggerInjector.js +154 -0
- package/dist/injection/LoggerInjector.js.map +1 -0
- package/dist/injection/index.d.ts +3 -0
- package/dist/injection/index.d.ts.map +1 -0
- package/dist/injection/index.js +3 -0
- package/dist/injection/index.js.map +1 -0
- package/dist/parse/BubbleScript.d.ts +141 -0
- package/dist/parse/BubbleScript.d.ts.map +1 -0
- package/dist/parse/BubbleScript.js +513 -0
- package/dist/parse/BubbleScript.js.map +1 -0
- package/dist/parse/index.d.ts +3 -0
- package/dist/parse/index.d.ts.map +1 -0
- package/dist/parse/index.js +3 -0
- package/dist/parse/index.js.map +1 -0
- package/dist/parse/traceDependencies.d.ts +18 -0
- package/dist/parse/traceDependencies.d.ts.map +1 -0
- package/dist/parse/traceDependencies.js +181 -0
- package/dist/parse/traceDependencies.js.map +1 -0
- package/dist/runtime/BubbleRunner.d.ts +91 -0
- package/dist/runtime/BubbleRunner.d.ts.map +1 -0
- package/dist/runtime/BubbleRunner.js +586 -0
- package/dist/runtime/BubbleRunner.js.map +1 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +2 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/types.d.ts +29 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/bubble-helper.d.ts +11 -0
- package/dist/utils/bubble-helper.d.ts.map +1 -0
- package/dist/utils/bubble-helper.js +15 -0
- package/dist/utils/bubble-helper.js.map +1 -0
- package/dist/utils/parameter-formatter.d.ts +22 -0
- package/dist/utils/parameter-formatter.d.ts.map +1 -0
- package/dist/utils/parameter-formatter.js +219 -0
- package/dist/utils/parameter-formatter.js.map +1 -0
- package/dist/validation/BubbleValidator.d.ts +43 -0
- package/dist/validation/BubbleValidator.d.ts.map +1 -0
- package/dist/validation/BubbleValidator.js +172 -0
- package/dist/validation/BubbleValidator.js.map +1 -0
- package/dist/validation/index.d.ts +27 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +126 -0
- package/dist/validation/index.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BubbleParser.js","sourceRoot":"","sources":["../../src/extraction/BubbleParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,uDAAuD;AAEvD,cAAc,mBAAmB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Main exports for @bubblelab/bubble-runtime package
|
|
2
|
+
export * from './validation';
|
|
3
|
+
export * from './extraction';
|
|
4
|
+
export * from './types';
|
|
5
|
+
export * from './runtime';
|
|
6
|
+
export * from './parse';
|
|
7
|
+
export * from './injection';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { CredentialType, ParsedBubbleWithInfo } from '@bubblelab/shared-schemas';
|
|
2
|
+
import { BubbleScript } from 'src/parse/BubbleScript';
|
|
3
|
+
export interface UserCredentialWithId {
|
|
4
|
+
/** The variable id of the bubble */
|
|
5
|
+
bubbleVarId: number;
|
|
6
|
+
secret: string;
|
|
7
|
+
credentialType: CredentialType;
|
|
8
|
+
credentialId?: number;
|
|
9
|
+
metadata?: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
export interface CredentialInjectionResult {
|
|
12
|
+
success: boolean;
|
|
13
|
+
parsedBubbles?: Record<string, ParsedBubbleWithInfo>;
|
|
14
|
+
code?: string;
|
|
15
|
+
errors?: string[];
|
|
16
|
+
injectedCredentials?: Record<number, string>;
|
|
17
|
+
}
|
|
18
|
+
export declare class BubbleInjector {
|
|
19
|
+
private bubbleScript;
|
|
20
|
+
private loggerInjector;
|
|
21
|
+
constructor(bubbleScript: BubbleScript);
|
|
22
|
+
/**
|
|
23
|
+
* Extracts required credential types from parsed bubble parameters
|
|
24
|
+
* Returns a map of variableId to the list of credentials required by that bubble
|
|
25
|
+
* @param bubbleParameters - Parsed bubble parameters with info
|
|
26
|
+
* @returns Record mapping bubble variable IDs to their required credential types (excluding system credentials)
|
|
27
|
+
*/
|
|
28
|
+
findCredentials(bubbleParameters: Record<string, ParsedBubbleWithInfo>): Record<number, CredentialType[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Extracts tool credential requirements from AI agent bubble parameters
|
|
31
|
+
* @param bubble - The parsed bubble to extract tool requirements from
|
|
32
|
+
* @returns Array of credential types required by the bubble's tools
|
|
33
|
+
*/
|
|
34
|
+
private extractToolCredentials;
|
|
35
|
+
/**
|
|
36
|
+
* Injects credentials into bubble parameters
|
|
37
|
+
* @param bubbleParameters - Parsed bubble parameters with info
|
|
38
|
+
* @param userCredentials - User-provided credentials
|
|
39
|
+
* @param systemCredentials - System-provided credentials (environment variables)
|
|
40
|
+
* @returns Result of credential injection
|
|
41
|
+
*/
|
|
42
|
+
injectCredentials(bubbleParameters: Record<string, ParsedBubbleWithInfo>, userCredentials?: UserCredentialWithId[], systemCredentials?: Partial<Record<CredentialType, string>>): CredentialInjectionResult;
|
|
43
|
+
/**
|
|
44
|
+
* Injects credentials into a specific bubble's parameters
|
|
45
|
+
*/
|
|
46
|
+
private injectCredentialsIntoBubble;
|
|
47
|
+
/**
|
|
48
|
+
* Escapes a string for safe injection into TypeScript code
|
|
49
|
+
*/
|
|
50
|
+
private escapeString;
|
|
51
|
+
/**
|
|
52
|
+
* Masks a credential value for debugging/logging
|
|
53
|
+
*/
|
|
54
|
+
private maskCredential;
|
|
55
|
+
private getBubble;
|
|
56
|
+
/**
|
|
57
|
+
* Inject statement logging using original line numbers for traceability
|
|
58
|
+
*/
|
|
59
|
+
private injectStatementLogging;
|
|
60
|
+
private reapplyBubbleInstantiations;
|
|
61
|
+
/**
|
|
62
|
+
* Apply new bubble parameters by converting them back to code and injecting in place
|
|
63
|
+
* Injects logger to the bubble instantiations
|
|
64
|
+
*/
|
|
65
|
+
injectBubbleLoggingAndReinitializeBubbleParameters(): void;
|
|
66
|
+
/** Takes in bubbleId and key, value pair and changes the parameter in the bubble script */
|
|
67
|
+
changeBubbleParameters(bubbleId: number, key: string, value: unknown): void;
|
|
68
|
+
/** Changes the credentials field inside the bubble parameters by modifying the value to add ore replace new credentials */
|
|
69
|
+
changeCredentials(bubbleId: number, credentials: Record<CredentialType, string>): void;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=BubbleInjector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BubbleInjector.d.ts","sourceRoot":"","sources":["../../src/injection/BubbleInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,oBAAoB,EAGrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;gBAC3B,YAAY,EAAE,YAAY;IAKtC;;;;;OAKG;IACH,eAAe,CACb,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GACrD,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAsCnC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAqE9B;;;;;;OAMG;IACH,iBAAiB,CACf,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EACtD,eAAe,GAAE,oBAAoB,EAAO,EAC5C,iBAAiB,GAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAM,GAC9D,yBAAyB;IA2F5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAoCnC;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,SAAS;IAQjB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,2BAA2B;IAmCnC;;;OAGG;IACH,kDAAkD;IAYlD,2FAA2F;IAC3F,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAepE,2HAA2H;IAC3H,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;CAgC9C"}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { BubbleParameterType, BUBBLE_CREDENTIAL_OPTIONS, } from '@bubblelab/shared-schemas';
|
|
2
|
+
import { LoggerInjector } from './LoggerInjector';
|
|
3
|
+
import { replaceBubbleInstantiation } from '../utils/parameter-formatter';
|
|
4
|
+
export class BubbleInjector {
|
|
5
|
+
bubbleScript;
|
|
6
|
+
loggerInjector;
|
|
7
|
+
constructor(bubbleScript) {
|
|
8
|
+
this.bubbleScript = bubbleScript;
|
|
9
|
+
this.loggerInjector = new LoggerInjector(bubbleScript);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Extracts required credential types from parsed bubble parameters
|
|
13
|
+
* Returns a map of variableId to the list of credentials required by that bubble
|
|
14
|
+
* @param bubbleParameters - Parsed bubble parameters with info
|
|
15
|
+
* @returns Record mapping bubble variable IDs to their required credential types (excluding system credentials)
|
|
16
|
+
*/
|
|
17
|
+
findCredentials(bubbleParameters) {
|
|
18
|
+
const requiredCredentials = {};
|
|
19
|
+
// Iterate through each bubble and check its credential requirements
|
|
20
|
+
for (const [, bubble] of Object.entries(bubbleParameters)) {
|
|
21
|
+
const allCredentialTypes = new Set();
|
|
22
|
+
// Get bubble-level credentials
|
|
23
|
+
const credentialOptions = BUBBLE_CREDENTIAL_OPTIONS[bubble.bubbleName];
|
|
24
|
+
if (credentialOptions && Array.isArray(credentialOptions)) {
|
|
25
|
+
for (const credType of credentialOptions) {
|
|
26
|
+
allCredentialTypes.add(credType);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// For AI agent bubbles, also collect tool-level credential requirements
|
|
30
|
+
if (bubble.bubbleName === 'ai-agent') {
|
|
31
|
+
const toolCredentials = this.extractToolCredentials(bubble);
|
|
32
|
+
for (const credType of toolCredentials) {
|
|
33
|
+
allCredentialTypes.add(credType);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Return all credentials (system and user credentials)
|
|
37
|
+
const allCredentials = Array.from(allCredentialTypes);
|
|
38
|
+
// Only add the bubble if it has credentials
|
|
39
|
+
if (allCredentials.length > 0) {
|
|
40
|
+
requiredCredentials[bubble.variableId] = allCredentials;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return requiredCredentials;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Extracts tool credential requirements from AI agent bubble parameters
|
|
47
|
+
* @param bubble - The parsed bubble to extract tool requirements from
|
|
48
|
+
* @returns Array of credential types required by the bubble's tools
|
|
49
|
+
*/
|
|
50
|
+
extractToolCredentials(bubble) {
|
|
51
|
+
if (bubble.bubbleName !== 'ai-agent') {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
const toolCredentials = new Set();
|
|
55
|
+
// Find the tools parameter in the bubble
|
|
56
|
+
const toolsParam = bubble.parameters.find((param) => param.name === 'tools');
|
|
57
|
+
if (!toolsParam || typeof toolsParam.value !== 'string') {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
// Parse the tools array from the parameter value
|
|
62
|
+
// The value can be either JSON or JavaScript array literal
|
|
63
|
+
let toolsArray;
|
|
64
|
+
// First try to safely evaluate as JavaScript (for cases like [{"name": "web-search-tool"}])
|
|
65
|
+
try {
|
|
66
|
+
// Use Function constructor to safely evaluate the expression in isolation
|
|
67
|
+
const safeEval = new Function('return ' + toolsParam.value);
|
|
68
|
+
const evaluated = safeEval();
|
|
69
|
+
if (Array.isArray(evaluated)) {
|
|
70
|
+
toolsArray = evaluated;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
// Single object, wrap in array
|
|
74
|
+
toolsArray = [evaluated];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// Fallback to JSON.parse for cases where it's valid JSON
|
|
79
|
+
if (toolsParam.value.startsWith('[')) {
|
|
80
|
+
toolsArray = JSON.parse(toolsParam.value);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
toolsArray = [JSON.parse(toolsParam.value)];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// For each tool, get its credential requirements
|
|
87
|
+
for (const tool of toolsArray) {
|
|
88
|
+
if (!tool.name || typeof tool.name !== 'string') {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
const toolBubbleName = tool.name;
|
|
92
|
+
const toolCredentialOptions = BUBBLE_CREDENTIAL_OPTIONS[toolBubbleName];
|
|
93
|
+
if (toolCredentialOptions && Array.isArray(toolCredentialOptions)) {
|
|
94
|
+
for (const credType of toolCredentialOptions) {
|
|
95
|
+
toolCredentials.add(credType);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
// If we can't parse the tools parameter, silently ignore
|
|
102
|
+
// This handles cases where the tools parameter contains complex TypeScript expressions
|
|
103
|
+
console.debug(`Failed to parse tools parameter for credential extraction: ${error}`);
|
|
104
|
+
}
|
|
105
|
+
return Array.from(toolCredentials);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Injects credentials into bubble parameters
|
|
109
|
+
* @param bubbleParameters - Parsed bubble parameters with info
|
|
110
|
+
* @param userCredentials - User-provided credentials
|
|
111
|
+
* @param systemCredentials - System-provided credentials (environment variables)
|
|
112
|
+
* @returns Result of credential injection
|
|
113
|
+
*/
|
|
114
|
+
injectCredentials(bubbleParameters, userCredentials = [], systemCredentials = {}) {
|
|
115
|
+
try {
|
|
116
|
+
const modifiedBubbles = { ...bubbleParameters };
|
|
117
|
+
const injectedCredentials = {};
|
|
118
|
+
const errors = [];
|
|
119
|
+
// Iterate through each bubble to determine if it needs credential injection
|
|
120
|
+
for (const [_, bubble] of Object.entries(modifiedBubbles)) {
|
|
121
|
+
const bubbleName = bubble.bubbleName;
|
|
122
|
+
// Get the credential options for this bubble from the registry
|
|
123
|
+
const bubbleCredentialOptions = BUBBLE_CREDENTIAL_OPTIONS[bubbleName] || [];
|
|
124
|
+
// For AI agent bubbles, also collect tool-level credential requirements
|
|
125
|
+
const toolCredentialOptions = bubble.bubbleName === 'ai-agent'
|
|
126
|
+
? this.extractToolCredentials(bubble)
|
|
127
|
+
: [];
|
|
128
|
+
// Combine bubble and tool credentials
|
|
129
|
+
const allCredentialOptions = [
|
|
130
|
+
...new Set([...bubbleCredentialOptions, ...toolCredentialOptions]),
|
|
131
|
+
];
|
|
132
|
+
if (allCredentialOptions.length === 0) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const credentialMapping = {};
|
|
136
|
+
// First, inject system credentials
|
|
137
|
+
for (const credentialType of allCredentialOptions) {
|
|
138
|
+
if (systemCredentials[credentialType]) {
|
|
139
|
+
credentialMapping[credentialType] = this.escapeString(systemCredentials[credentialType]);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Then inject user credentials (these override system credentials)
|
|
143
|
+
const userCreds = userCredentials.filter((uc) => uc.bubbleVarId === bubble.variableId);
|
|
144
|
+
for (const userCred of userCreds) {
|
|
145
|
+
const userCredType = userCred.credentialType;
|
|
146
|
+
if (allCredentialOptions.includes(userCredType)) {
|
|
147
|
+
credentialMapping[userCredType] = this.escapeString(userCred.secret);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Inject credentials into bubble parameters
|
|
151
|
+
if (Object.keys(credentialMapping).length > 0) {
|
|
152
|
+
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
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// Apply the modified bubbles back to the script
|
|
161
|
+
const finalScript = this.reapplyBubbleInstantiations(Object.values(modifiedBubbles));
|
|
162
|
+
return {
|
|
163
|
+
success: errors.length === 0,
|
|
164
|
+
code: finalScript,
|
|
165
|
+
parsedBubbles: this.bubbleScript.getParsedBubbles(),
|
|
166
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
167
|
+
injectedCredentials,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
return {
|
|
172
|
+
success: false,
|
|
173
|
+
errors: [
|
|
174
|
+
`Credential injection error: ${error instanceof Error ? error.message : String(error)}`,
|
|
175
|
+
],
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Injects credentials into a specific bubble's parameters
|
|
181
|
+
*/
|
|
182
|
+
injectCredentialsIntoBubble(bubble, credentialMapping) {
|
|
183
|
+
// Check if bubble already has credentials parameter
|
|
184
|
+
let credentialsParam = bubble.parameters.find((p) => p.name === 'credentials');
|
|
185
|
+
if (!credentialsParam) {
|
|
186
|
+
// Add new credentials parameter
|
|
187
|
+
credentialsParam = {
|
|
188
|
+
name: 'credentials',
|
|
189
|
+
value: {},
|
|
190
|
+
type: BubbleParameterType.OBJECT,
|
|
191
|
+
};
|
|
192
|
+
bubble.parameters.push(credentialsParam);
|
|
193
|
+
}
|
|
194
|
+
// Ensure the value is an object
|
|
195
|
+
if (typeof credentialsParam.value !== 'object' ||
|
|
196
|
+
credentialsParam.value === null) {
|
|
197
|
+
credentialsParam.value = {};
|
|
198
|
+
}
|
|
199
|
+
// Inject credentials into the credentials object
|
|
200
|
+
const credentialsObj = credentialsParam.value;
|
|
201
|
+
for (const [credType, credValue] of Object.entries(credentialMapping)) {
|
|
202
|
+
credentialsObj[credType] = credValue;
|
|
203
|
+
}
|
|
204
|
+
credentialsParam.value = credentialsObj;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Escapes a string for safe injection into TypeScript code
|
|
208
|
+
*/
|
|
209
|
+
escapeString(str) {
|
|
210
|
+
return str
|
|
211
|
+
.replace(/\\/g, '\\\\')
|
|
212
|
+
.replace(/"/g, '\\"')
|
|
213
|
+
.replace(/'/g, "\\'")
|
|
214
|
+
.replace(/\n/g, '\\n')
|
|
215
|
+
.replace(/\r/g, '\\r')
|
|
216
|
+
.replace(/\t/g, '\\t');
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Masks a credential value for debugging/logging
|
|
220
|
+
*/
|
|
221
|
+
maskCredential(value) {
|
|
222
|
+
if (value.length <= 8) {
|
|
223
|
+
return '*'.repeat(value.length);
|
|
224
|
+
}
|
|
225
|
+
return (value.substring(0, 4) +
|
|
226
|
+
'*'.repeat(value.length - 8) +
|
|
227
|
+
value.substring(value.length - 4));
|
|
228
|
+
}
|
|
229
|
+
getBubble(bubbleId) {
|
|
230
|
+
const bubbleClass = this.bubbleScript.getParsedBubbles()[bubbleId];
|
|
231
|
+
if (!bubbleClass) {
|
|
232
|
+
throw new Error(`Bubble with id ${bubbleId} not found`);
|
|
233
|
+
}
|
|
234
|
+
return bubbleClass;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Inject statement logging using original line numbers for traceability
|
|
238
|
+
*/
|
|
239
|
+
injectStatementLogging(originalAST, originalHandleMethodLocation) {
|
|
240
|
+
this.loggerInjector.injectLoggingWithOriginalLines(originalAST, originalHandleMethodLocation);
|
|
241
|
+
}
|
|
242
|
+
reapplyBubbleInstantiations(bubbles) {
|
|
243
|
+
const lines = this.bubbleScript.currentBubbleScript.split('\n');
|
|
244
|
+
// Process bubbles in forward order and track line number shifts
|
|
245
|
+
const sortedBubbles = [...bubbles].sort((a, b) => a.location.startLine - b.location.startLine);
|
|
246
|
+
let lineShift = 0;
|
|
247
|
+
for (const bubble of sortedBubbles) {
|
|
248
|
+
// Adjust bubble location for previous replacements
|
|
249
|
+
const adjustedBubble = {
|
|
250
|
+
...bubble,
|
|
251
|
+
location: {
|
|
252
|
+
...bubble.location,
|
|
253
|
+
startLine: bubble.location.startLine + lineShift,
|
|
254
|
+
endLine: bubble.location.endLine + lineShift,
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
const originalLineCount = lines.length;
|
|
258
|
+
replaceBubbleInstantiation(lines, adjustedBubble);
|
|
259
|
+
const newLineCount = lines.length;
|
|
260
|
+
// Track how many lines were added/removed
|
|
261
|
+
const lineChange = newLineCount - originalLineCount;
|
|
262
|
+
lineShift += lineChange;
|
|
263
|
+
}
|
|
264
|
+
const finalScript = lines.join('\n');
|
|
265
|
+
this.bubbleScript.currentBubbleScript = finalScript;
|
|
266
|
+
this.bubbleScript.reparseAST();
|
|
267
|
+
return finalScript;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Apply new bubble parameters by converting them back to code and injecting in place
|
|
271
|
+
* Injects logger to the bubble instantiations
|
|
272
|
+
*/
|
|
273
|
+
injectBubbleLoggingAndReinitializeBubbleParameters() {
|
|
274
|
+
const parsedBubbles = this.bubbleScript.getParsedBubbles();
|
|
275
|
+
// Store original line numbers for traceability
|
|
276
|
+
const originalHandleMethodLocation = this.bubbleScript.getHandleMethodLocation();
|
|
277
|
+
const originalAST = this.bubbleScript.getAST();
|
|
278
|
+
this.reapplyBubbleInstantiations(Object.values(parsedBubbles));
|
|
279
|
+
// Now inject statement logging with original line numbers for traceability
|
|
280
|
+
this.injectStatementLogging(originalAST, originalHandleMethodLocation);
|
|
281
|
+
}
|
|
282
|
+
/** Takes in bubbleId and key, value pair and changes the parameter in the bubble script */
|
|
283
|
+
changeBubbleParameters(bubbleId, key, value) {
|
|
284
|
+
// Find the bubble class in the bubble script
|
|
285
|
+
const parameters = this.getBubble(bubbleId).parameters;
|
|
286
|
+
if (!parameters) {
|
|
287
|
+
throw new Error(`Bubble with id ${bubbleId} not found`);
|
|
288
|
+
}
|
|
289
|
+
// Find the parameter in the bubble class
|
|
290
|
+
const parameter = parameters.find((p) => p.name === key);
|
|
291
|
+
if (!parameter) {
|
|
292
|
+
throw new Error(`Parameter ${key} not found in bubble ${bubbleId}`);
|
|
293
|
+
}
|
|
294
|
+
// Change the parameter value
|
|
295
|
+
parameter.value = value;
|
|
296
|
+
}
|
|
297
|
+
/** Changes the credentials field inside the bubble parameters by modifying the value to add ore replace new credentials */
|
|
298
|
+
changeCredentials(bubbleId, credentials) {
|
|
299
|
+
// Find the bubble parameters
|
|
300
|
+
const bubble = this.getBubble(bubbleId);
|
|
301
|
+
const parameters = bubble.parameters;
|
|
302
|
+
if (!parameters) {
|
|
303
|
+
throw new Error(`Bubble with id ${bubbleId} not found`);
|
|
304
|
+
}
|
|
305
|
+
// Find the credentials parameter
|
|
306
|
+
const credentialsParameter = parameters.find((p) => p.name === 'credentials');
|
|
307
|
+
if (!credentialsParameter) {
|
|
308
|
+
// Add the credentials parameter
|
|
309
|
+
parameters.push({
|
|
310
|
+
name: 'credentials',
|
|
311
|
+
value: credentials,
|
|
312
|
+
type: BubbleParameterType.OBJECT,
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
// For each credential types given in the input, find the credential in the credentials parameter, if it doesn't exist will add it, if it does will replace it
|
|
316
|
+
for (const credentialType of Object.keys(credentials)) {
|
|
317
|
+
// Find if the credential type is in the bubble script's credentials parameters
|
|
318
|
+
// Find credentials object in the bubble script's parameters
|
|
319
|
+
const credentialsObject = parameters.find((p) => p.name === 'credentials');
|
|
320
|
+
// Add the credentials object parameter
|
|
321
|
+
// Replace the credential parameter
|
|
322
|
+
credentialsObject.value = credentials[credentialType];
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=BubbleInjector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BubbleInjector.js","sourceRoot":"","sources":["../../src/injection/BubbleInjector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BubbleScript } from '../parse/BubbleScript';
|
|
2
|
+
export interface LoggingInjectionOptions {
|
|
3
|
+
enableLineByLineLogging: boolean;
|
|
4
|
+
enableBubbleLogging: boolean;
|
|
5
|
+
enableVariableLogging: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class LoggerInjector {
|
|
8
|
+
private bubbleScript;
|
|
9
|
+
private options;
|
|
10
|
+
constructor(bubbleScript: BubbleScript, options?: Partial<LoggingInjectionOptions>);
|
|
11
|
+
/**
|
|
12
|
+
* Inject comprehensive logging into the bubble script using existing analysis
|
|
13
|
+
*/
|
|
14
|
+
injectLogging(): string;
|
|
15
|
+
/**
|
|
16
|
+
* Inject logging using original line numbers for traceability
|
|
17
|
+
*/
|
|
18
|
+
injectLoggingWithOriginalLines(originalAST: any, originalHandleMethodLocation: any): string;
|
|
19
|
+
/**
|
|
20
|
+
* Inject statement-level logging using existing AST analysis
|
|
21
|
+
*/
|
|
22
|
+
private injectLineLogging;
|
|
23
|
+
/**
|
|
24
|
+
* Inject statement-level logging using original line numbers for traceability
|
|
25
|
+
*/
|
|
26
|
+
private injectLineLoggingWithOriginalLines;
|
|
27
|
+
/**
|
|
28
|
+
* Find all statements within the handle method using AST
|
|
29
|
+
*/
|
|
30
|
+
private findStatementsInHandleMethod;
|
|
31
|
+
private visitChildNodes;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=LoggerInjector.d.ts.map
|
|
@@ -0,0 +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;IAmCzB;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAqC1C;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA2CpC,OAAO,CAAC,eAAe;CA8BxB"}
|