@marktoflow/core 2.0.0-alpha.9 → 2.0.2
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/README.md +24 -222
- package/dist/built-in-operations.d.ts +150 -0
- package/dist/built-in-operations.d.ts.map +1 -0
- package/dist/built-in-operations.js +799 -0
- package/dist/built-in-operations.js.map +1 -0
- package/dist/core-tools.d.ts +39 -0
- package/dist/core-tools.d.ts.map +1 -0
- package/dist/core-tools.js +58 -0
- package/dist/core-tools.js.map +1 -0
- package/dist/credentials.d.ts +60 -1
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +229 -4
- package/dist/credentials.js.map +1 -1
- package/dist/engine.d.ts +92 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +937 -59
- package/dist/engine.js.map +1 -1
- package/dist/file-operations.d.ts +86 -0
- package/dist/file-operations.d.ts.map +1 -0
- package/dist/file-operations.js +382 -0
- package/dist/file-operations.js.map +1 -0
- package/dist/index.d.ts +16 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -4
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts +40 -2
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +166 -13
- package/dist/logging.js.map +1 -1
- package/dist/models.d.ts +1441 -54
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +124 -2
- package/dist/models.js.map +1 -1
- package/dist/nunjucks-filters.d.ts +271 -0
- package/dist/nunjucks-filters.d.ts.map +1 -0
- package/dist/nunjucks-filters.js +648 -0
- package/dist/nunjucks-filters.js.map +1 -0
- package/dist/oauth-manager.d.ts +128 -0
- package/dist/oauth-manager.d.ts.map +1 -0
- package/dist/oauth-manager.js +291 -0
- package/dist/oauth-manager.js.map +1 -0
- package/dist/oauth-refresh.d.ts +37 -0
- package/dist/oauth-refresh.d.ts.map +1 -0
- package/dist/oauth-refresh.js +76 -0
- package/dist/oauth-refresh.js.map +1 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +113 -3
- package/dist/parser.js.map +1 -1
- package/dist/permissions.d.ts +49 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +286 -0
- package/dist/permissions.js.map +1 -0
- package/dist/prompt-loader.d.ts +53 -0
- package/dist/prompt-loader.d.ts.map +1 -0
- package/dist/prompt-loader.js +205 -0
- package/dist/prompt-loader.js.map +1 -0
- package/dist/scheduler.d.ts +22 -3
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +72 -73
- package/dist/scheduler.js.map +1 -1
- package/dist/script-executor.d.ts +65 -0
- package/dist/script-executor.d.ts.map +1 -0
- package/dist/script-executor.js +261 -0
- package/dist/script-executor.js.map +1 -0
- package/dist/sdk-registry.d.ts +20 -2
- package/dist/sdk-registry.d.ts.map +1 -1
- package/dist/sdk-registry.js +100 -15
- package/dist/sdk-registry.js.map +1 -1
- package/dist/secret-providers/index.d.ts +12 -0
- package/dist/secret-providers/index.d.ts.map +1 -0
- package/dist/secret-providers/index.js +11 -0
- package/dist/secret-providers/index.js.map +1 -0
- package/dist/secret-providers/providers/aws.d.ts +32 -0
- package/dist/secret-providers/providers/aws.d.ts.map +1 -0
- package/dist/secret-providers/providers/aws.js +118 -0
- package/dist/secret-providers/providers/aws.js.map +1 -0
- package/dist/secret-providers/providers/azure.d.ts +40 -0
- package/dist/secret-providers/providers/azure.d.ts.map +1 -0
- package/dist/secret-providers/providers/azure.js +170 -0
- package/dist/secret-providers/providers/azure.js.map +1 -0
- package/dist/secret-providers/providers/env.d.ts +26 -0
- package/dist/secret-providers/providers/env.d.ts.map +1 -0
- package/dist/secret-providers/providers/env.js +59 -0
- package/dist/secret-providers/providers/env.js.map +1 -0
- package/dist/secret-providers/providers/vault.d.ts +39 -0
- package/dist/secret-providers/providers/vault.d.ts.map +1 -0
- package/dist/secret-providers/providers/vault.js +180 -0
- package/dist/secret-providers/providers/vault.js.map +1 -0
- package/dist/secret-providers/secret-manager.d.ts +72 -0
- package/dist/secret-providers/secret-manager.d.ts.map +1 -0
- package/dist/secret-providers/secret-manager.js +226 -0
- package/dist/secret-providers/secret-manager.js.map +1 -0
- package/dist/secret-providers/types.d.ts +105 -0
- package/dist/secret-providers/types.d.ts.map +1 -0
- package/dist/secret-providers/types.js +8 -0
- package/dist/secret-providers/types.js.map +1 -0
- package/dist/secrets/index.d.ts +12 -0
- package/dist/secrets/index.d.ts.map +1 -0
- package/dist/secrets/index.js +11 -0
- package/dist/secrets/index.js.map +1 -0
- package/dist/secrets/providers/aws.d.ts +32 -0
- package/dist/secrets/providers/aws.d.ts.map +1 -0
- package/dist/secrets/providers/aws.js +118 -0
- package/dist/secrets/providers/aws.js.map +1 -0
- package/dist/secrets/providers/azure.d.ts +40 -0
- package/dist/secrets/providers/azure.d.ts.map +1 -0
- package/dist/secrets/providers/azure.js +170 -0
- package/dist/secrets/providers/azure.js.map +1 -0
- package/dist/secrets/providers/env.d.ts +26 -0
- package/dist/secrets/providers/env.d.ts.map +1 -0
- package/dist/secrets/providers/env.js +59 -0
- package/dist/secrets/providers/env.js.map +1 -0
- package/dist/secrets/providers/vault.d.ts +39 -0
- package/dist/secrets/providers/vault.d.ts.map +1 -0
- package/dist/secrets/providers/vault.js +180 -0
- package/dist/secrets/providers/vault.js.map +1 -0
- package/dist/secrets/secret-manager.d.ts +72 -0
- package/dist/secrets/secret-manager.d.ts.map +1 -0
- package/dist/secrets/secret-manager.js +226 -0
- package/dist/secrets/secret-manager.js.map +1 -0
- package/dist/secrets/types.d.ts +105 -0
- package/dist/secrets/types.d.ts.map +1 -0
- package/dist/secrets/types.js +8 -0
- package/dist/secrets/types.js.map +1 -0
- package/dist/security.d.ts +1 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +4 -0
- package/dist/security.js.map +1 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +16 -9
- package/dist/state.js.map +1 -1
- package/dist/template-engine.d.ts +51 -0
- package/dist/template-engine.d.ts.map +1 -0
- package/dist/template-engine.js +227 -0
- package/dist/template-engine.js.map +1 -0
- package/dist/templates.d.ts +10 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +21 -17
- package/dist/templates.js.map +1 -1
- package/dist/tools/mcp-tool.js +9 -9
- package/dist/tools/mcp-tool.js.map +1 -1
- package/dist/trigger-manager.js +1 -1
- package/dist/trigger-manager.js.map +1 -1
- package/dist/workflow-tools.d.ts +102 -0
- package/dist/workflow-tools.d.ts.map +1 -0
- package/dist/workflow-tools.js +130 -0
- package/dist/workflow-tools.js.map +1 -0
- package/package.json +31 -13
- package/LICENSE +0 -201
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Script Executor for marktoflow v2.0
|
|
3
|
+
*
|
|
4
|
+
* Provides secure inline JavaScript execution for `script` step types.
|
|
5
|
+
* Uses Node.js `vm` module with:
|
|
6
|
+
* - Frozen context (read-only access to variables/inputs)
|
|
7
|
+
* - Configurable timeout
|
|
8
|
+
* - Safe globals (JSON, Math, Date, Array, etc.)
|
|
9
|
+
*
|
|
10
|
+
* Example usage in workflow:
|
|
11
|
+
* ```yaml
|
|
12
|
+
* - type: script
|
|
13
|
+
* inputs:
|
|
14
|
+
* code: |
|
|
15
|
+
* const items = variables.api_response.items;
|
|
16
|
+
* const filtered = items.filter(i => i.status === 'active');
|
|
17
|
+
* return { filtered, count: filtered.length };
|
|
18
|
+
* timeout: 5000
|
|
19
|
+
* output_variable: result
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
import * as vm from 'node:vm';
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Safe Globals
|
|
25
|
+
// ============================================================================
|
|
26
|
+
/**
|
|
27
|
+
* Safe globals available to scripts.
|
|
28
|
+
* These are frozen copies that cannot modify the original objects.
|
|
29
|
+
*/
|
|
30
|
+
const SAFE_GLOBALS = {
|
|
31
|
+
// JSON operations
|
|
32
|
+
JSON,
|
|
33
|
+
// Math operations - use the real Math object (it's already effectively immutable)
|
|
34
|
+
Math,
|
|
35
|
+
// Date operations
|
|
36
|
+
Date,
|
|
37
|
+
// Array utilities
|
|
38
|
+
Array,
|
|
39
|
+
// Object utilities
|
|
40
|
+
Object,
|
|
41
|
+
// String utilities
|
|
42
|
+
String,
|
|
43
|
+
// Number utilities
|
|
44
|
+
Number: {
|
|
45
|
+
isFinite: Number.isFinite,
|
|
46
|
+
isInteger: Number.isInteger,
|
|
47
|
+
isNaN: Number.isNaN,
|
|
48
|
+
parseFloat: Number.parseFloat,
|
|
49
|
+
parseInt: Number.parseInt,
|
|
50
|
+
},
|
|
51
|
+
// Other safe utilities
|
|
52
|
+
parseInt,
|
|
53
|
+
parseFloat,
|
|
54
|
+
isFinite,
|
|
55
|
+
isNaN,
|
|
56
|
+
encodeURIComponent,
|
|
57
|
+
decodeURIComponent,
|
|
58
|
+
encodeURI,
|
|
59
|
+
decodeURI,
|
|
60
|
+
// Console for debugging (limited to log/warn/error)
|
|
61
|
+
console: {
|
|
62
|
+
log: (...args) => console.log('[script]', ...args),
|
|
63
|
+
warn: (...args) => console.warn('[script]', ...args),
|
|
64
|
+
error: (...args) => console.error('[script]', ...args),
|
|
65
|
+
},
|
|
66
|
+
// Promise is allowed for async operations
|
|
67
|
+
Promise,
|
|
68
|
+
// Timer functions for async operations
|
|
69
|
+
setTimeout,
|
|
70
|
+
clearTimeout,
|
|
71
|
+
setInterval,
|
|
72
|
+
clearInterval,
|
|
73
|
+
// Map and Set
|
|
74
|
+
Map,
|
|
75
|
+
Set,
|
|
76
|
+
// RegExp for pattern matching
|
|
77
|
+
RegExp,
|
|
78
|
+
};
|
|
79
|
+
// ============================================================================
|
|
80
|
+
// Script Execution
|
|
81
|
+
// ============================================================================
|
|
82
|
+
/**
|
|
83
|
+
* Execute a JavaScript code snippet in a sandboxed environment.
|
|
84
|
+
*
|
|
85
|
+
* @param code The JavaScript code to execute
|
|
86
|
+
* @param context Variables and inputs available to the script
|
|
87
|
+
* @param options Execution options (timeout, extra globals)
|
|
88
|
+
* @returns The result of script execution
|
|
89
|
+
*/
|
|
90
|
+
export function executeScript(code, context, options = {}) {
|
|
91
|
+
const timeout = options.timeout ?? 5000;
|
|
92
|
+
try {
|
|
93
|
+
// Create frozen copies of context to prevent modification
|
|
94
|
+
const frozenContext = {
|
|
95
|
+
variables: deepFreeze({ ...context.variables }),
|
|
96
|
+
inputs: deepFreeze({ ...context.inputs }),
|
|
97
|
+
steps: context.steps ? deepFreeze({ ...context.steps }) : undefined,
|
|
98
|
+
};
|
|
99
|
+
// Build the sandbox with safe globals and context
|
|
100
|
+
const sandbox = {
|
|
101
|
+
...SAFE_GLOBALS,
|
|
102
|
+
...frozenContext,
|
|
103
|
+
...(options.extraGlobals ?? {}),
|
|
104
|
+
};
|
|
105
|
+
// Wrap the code in an async IIFE that returns the result
|
|
106
|
+
// This allows `return` statements and async/await
|
|
107
|
+
const wrappedCode = `
|
|
108
|
+
(async () => {
|
|
109
|
+
${code}
|
|
110
|
+
})()
|
|
111
|
+
`;
|
|
112
|
+
// Create a VM context
|
|
113
|
+
const vmContext = vm.createContext(sandbox, {
|
|
114
|
+
name: 'script-executor',
|
|
115
|
+
codeGeneration: {
|
|
116
|
+
strings: false, // Disable eval() and Function()
|
|
117
|
+
wasm: false, // Disable WebAssembly
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
// Compile and run the script
|
|
121
|
+
const script = new vm.Script(wrappedCode, {
|
|
122
|
+
filename: 'inline-script.js',
|
|
123
|
+
});
|
|
124
|
+
// Run with timeout
|
|
125
|
+
const resultPromise = script.runInContext(vmContext, {
|
|
126
|
+
timeout,
|
|
127
|
+
displayErrors: true,
|
|
128
|
+
});
|
|
129
|
+
// Handle both sync and async results
|
|
130
|
+
if (resultPromise instanceof Promise) {
|
|
131
|
+
// For async code, we need to handle the promise
|
|
132
|
+
// Since this is a sync function, we'll need to handle this specially
|
|
133
|
+
// The caller should await the result if it's a promise
|
|
134
|
+
return {
|
|
135
|
+
success: true,
|
|
136
|
+
value: resultPromise,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
success: true,
|
|
141
|
+
value: resultPromise,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
return {
|
|
146
|
+
success: false,
|
|
147
|
+
error: error instanceof Error ? error.message : String(error),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Execute a script asynchronously, properly handling async code.
|
|
153
|
+
*/
|
|
154
|
+
export async function executeScriptAsync(code, context, options = {}) {
|
|
155
|
+
const timeout = options.timeout ?? 5000;
|
|
156
|
+
try {
|
|
157
|
+
// Create frozen copies of context to prevent modification
|
|
158
|
+
const frozenContext = {
|
|
159
|
+
variables: deepFreeze({ ...context.variables }),
|
|
160
|
+
inputs: deepFreeze({ ...context.inputs }),
|
|
161
|
+
steps: context.steps ? deepFreeze({ ...context.steps }) : undefined,
|
|
162
|
+
};
|
|
163
|
+
// Build the sandbox with safe globals and context
|
|
164
|
+
const sandbox = {
|
|
165
|
+
...SAFE_GLOBALS,
|
|
166
|
+
...frozenContext,
|
|
167
|
+
...(options.extraGlobals ?? {}),
|
|
168
|
+
};
|
|
169
|
+
// Wrap the code in an async IIFE
|
|
170
|
+
const wrappedCode = `
|
|
171
|
+
(async () => {
|
|
172
|
+
${code}
|
|
173
|
+
})()
|
|
174
|
+
`;
|
|
175
|
+
// Create a VM context
|
|
176
|
+
const vmContext = vm.createContext(sandbox, {
|
|
177
|
+
name: 'script-executor',
|
|
178
|
+
codeGeneration: {
|
|
179
|
+
strings: false,
|
|
180
|
+
wasm: false,
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
// Compile the script
|
|
184
|
+
const script = new vm.Script(wrappedCode, {
|
|
185
|
+
filename: 'inline-script.js',
|
|
186
|
+
});
|
|
187
|
+
// Run with timeout using a race
|
|
188
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
189
|
+
setTimeout(() => reject(new Error(`Script execution timed out after ${timeout}ms`)), timeout);
|
|
190
|
+
});
|
|
191
|
+
const resultPromise = script.runInContext(vmContext, {
|
|
192
|
+
displayErrors: true,
|
|
193
|
+
});
|
|
194
|
+
// Wait for result or timeout
|
|
195
|
+
const result = await Promise.race([
|
|
196
|
+
resultPromise instanceof Promise ? resultPromise : Promise.resolve(resultPromise),
|
|
197
|
+
timeoutPromise,
|
|
198
|
+
]);
|
|
199
|
+
return {
|
|
200
|
+
success: true,
|
|
201
|
+
value: result,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
return {
|
|
206
|
+
success: false,
|
|
207
|
+
error: error instanceof Error ? error.message : String(error),
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// ============================================================================
|
|
212
|
+
// Utility Functions
|
|
213
|
+
// ============================================================================
|
|
214
|
+
/**
|
|
215
|
+
* Deep freeze an object to prevent any modifications.
|
|
216
|
+
*/
|
|
217
|
+
function deepFreeze(obj) {
|
|
218
|
+
if (obj === null || typeof obj !== 'object') {
|
|
219
|
+
return obj;
|
|
220
|
+
}
|
|
221
|
+
// Freeze arrays and objects recursively
|
|
222
|
+
if (Array.isArray(obj)) {
|
|
223
|
+
obj.forEach((item) => deepFreeze(item));
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
Object.keys(obj).forEach((key) => {
|
|
227
|
+
const value = obj[key];
|
|
228
|
+
if (typeof value === 'object' && value !== null) {
|
|
229
|
+
deepFreeze(value);
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
return Object.freeze(obj);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Validate that a script doesn't contain dangerous patterns.
|
|
237
|
+
* This is a basic check; the VM sandbox provides the real security.
|
|
238
|
+
*/
|
|
239
|
+
export function validateScript(code) {
|
|
240
|
+
const warnings = [];
|
|
241
|
+
// Check for common dangerous patterns
|
|
242
|
+
const dangerousPatterns = [
|
|
243
|
+
{ pattern: /require\s*\(/, message: 'require() is not available in scripts' },
|
|
244
|
+
{ pattern: /import\s+/, message: 'import statements are not available in scripts' },
|
|
245
|
+
{ pattern: /process\./, message: 'process object is not available in scripts' },
|
|
246
|
+
{ pattern: /global\./, message: 'global object is not available in scripts' },
|
|
247
|
+
{ pattern: /globalThis\./, message: 'globalThis is not available in scripts' },
|
|
248
|
+
{ pattern: /eval\s*\(/, message: 'eval() is not available in scripts' },
|
|
249
|
+
{ pattern: /Function\s*\(/, message: 'Function constructor is not available in scripts' },
|
|
250
|
+
];
|
|
251
|
+
for (const { pattern, message } of dangerousPatterns) {
|
|
252
|
+
if (pattern.test(code)) {
|
|
253
|
+
warnings.push(message);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return {
|
|
257
|
+
valid: warnings.length === 0,
|
|
258
|
+
warnings,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=script-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-executor.js","sourceRoot":"","sources":["../src/script-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk-registry.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { ToolConfig } from './models.js';
|
|
8
8
|
import { McpLoader } from './mcp-loader.js';
|
|
9
|
+
import { SecretManager } from './secret-providers/secret-manager.js';
|
|
9
10
|
export interface SDKInstance {
|
|
10
11
|
name: string;
|
|
11
12
|
sdk: unknown;
|
|
@@ -29,13 +30,19 @@ export interface SDKInitializer {
|
|
|
29
30
|
initialize(module: unknown, config: ToolConfig): Promise<unknown>;
|
|
30
31
|
}
|
|
31
32
|
export declare const defaultSDKLoader: SDKLoader;
|
|
33
|
+
/**
|
|
34
|
+
* Maps SDK names to actual npm package names.
|
|
35
|
+
* Used when the SDK name in workflows differs from the npm package name.
|
|
36
|
+
*/
|
|
37
|
+
export declare const packageNameMappings: Record<string, string>;
|
|
32
38
|
export declare const defaultInitializers: Record<string, SDKInitializer>;
|
|
33
39
|
export declare class SDKRegistry {
|
|
34
40
|
private sdks;
|
|
35
41
|
private loader;
|
|
36
42
|
private initializers;
|
|
37
43
|
private mcpLoader;
|
|
38
|
-
|
|
44
|
+
private secretManager?;
|
|
45
|
+
constructor(loader?: SDKLoader, initializers?: Record<string, SDKInitializer>, mcpLoader?: McpLoader, secretManager?: SecretManager);
|
|
39
46
|
/**
|
|
40
47
|
* Register tool configurations from a workflow.
|
|
41
48
|
*/
|
|
@@ -48,6 +55,10 @@ export declare class SDKRegistry {
|
|
|
48
55
|
* Load and initialize an SDK.
|
|
49
56
|
*/
|
|
50
57
|
load(name: string): Promise<unknown>;
|
|
58
|
+
/**
|
|
59
|
+
* Resolve secret references in tool configuration.
|
|
60
|
+
*/
|
|
61
|
+
private resolveConfigSecrets;
|
|
51
62
|
private isMcpModule;
|
|
52
63
|
private createMcpProxy;
|
|
53
64
|
/**
|
|
@@ -71,6 +82,13 @@ export interface SDKRegistryLike {
|
|
|
71
82
|
load(sdkName: string): Promise<unknown>;
|
|
72
83
|
has(sdkName: string): boolean;
|
|
73
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Execution context interface for step executor
|
|
87
|
+
*/
|
|
88
|
+
export interface ExecutionContextLike {
|
|
89
|
+
variables: Record<string, unknown>;
|
|
90
|
+
inputs: Record<string, unknown>;
|
|
91
|
+
}
|
|
74
92
|
/**
|
|
75
93
|
* Create a step executor that invokes SDK methods.
|
|
76
94
|
*/
|
|
@@ -78,5 +96,5 @@ export declare function createSDKStepExecutor(): (step: {
|
|
|
78
96
|
action?: string;
|
|
79
97
|
workflow?: string;
|
|
80
98
|
inputs: Record<string, unknown>;
|
|
81
|
-
},
|
|
99
|
+
}, executionContext: unknown, sdkRegistry: SDKRegistryLike) => Promise<unknown>;
|
|
82
100
|
//# sourceMappingURL=sdk-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-registry.d.ts","sourceRoot":"","sources":["../src/sdk-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-registry.d.ts","sourceRoot":"","sources":["../src/sdk-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAMrE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAMD,eAAO,MAAM,gBAAgB,EAAE,SAa9B,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMtD,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAmF9D,CAAC;AAMF,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAGpC,MAAM,GAAE,SAA4B,EACpC,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAuB,EAClE,SAAS,CAAC,EAAE,SAAS,EACrB,aAAa,CAAC,EAAE,aAAa;IAU/B;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI;IA0BtD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoD1C;;OAEG;YACW,oBAAoB;IAsBlC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,cAAc;IAgCtB;;OAEG;YACW,iBAAiB;IAoB/B;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,GAAG,IAAI;IAIvE;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAMD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,KAEjC,MAAM;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC7E,kBAAkB,OAAO,EACzB,aAAa,eAAe,KAC3B,OAAO,CAAC,OAAO,CAAC,CA0DpB"}
|
package/dist/sdk-registry.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Supports lazy loading and caching of SDK instances.
|
|
6
6
|
*/
|
|
7
7
|
import { McpLoader } from './mcp-loader.js';
|
|
8
|
+
import { SecretManager } from './secret-providers/secret-manager.js';
|
|
8
9
|
// ============================================================================
|
|
9
10
|
// Default SDK Loader (dynamic import)
|
|
10
11
|
// ============================================================================
|
|
@@ -22,6 +23,20 @@ export const defaultSDKLoader = {
|
|
|
22
23
|
},
|
|
23
24
|
};
|
|
24
25
|
// ============================================================================
|
|
26
|
+
// SDK Package Name Mappings
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* Maps SDK names to actual npm package names.
|
|
30
|
+
* Used when the SDK name in workflows differs from the npm package name.
|
|
31
|
+
*/
|
|
32
|
+
export const packageNameMappings = {
|
|
33
|
+
'google-gmail': 'googleapis',
|
|
34
|
+
'google-sheets': 'googleapis',
|
|
35
|
+
'google-calendar': 'googleapis',
|
|
36
|
+
'google-drive': 'googleapis',
|
|
37
|
+
'google-docs': 'googleapis',
|
|
38
|
+
};
|
|
39
|
+
// ============================================================================
|
|
25
40
|
// SDK Initializers for common services
|
|
26
41
|
// ============================================================================
|
|
27
42
|
export const defaultInitializers = {
|
|
@@ -65,19 +80,30 @@ export const defaultInitializers = {
|
|
|
65
80
|
},
|
|
66
81
|
'jira.js': {
|
|
67
82
|
async initialize(module, config) {
|
|
68
|
-
const { Version3Client } = module;
|
|
83
|
+
const { Version2Client, Version3Client } = module;
|
|
69
84
|
const host = config.auth?.['host'];
|
|
70
85
|
const email = config.auth?.['email'];
|
|
71
86
|
const apiToken = config.auth?.['api_token'];
|
|
87
|
+
const apiVersion = config.auth?.['api_version'] || 'auto';
|
|
72
88
|
if (!host || !email || !apiToken) {
|
|
73
89
|
throw new Error('Jira SDK requires auth.host, auth.email, and auth.api_token');
|
|
74
90
|
}
|
|
75
|
-
|
|
91
|
+
// Auto-detect API version based on host
|
|
92
|
+
// Cloud (*.atlassian.net) uses v3, self-hosted uses v2
|
|
93
|
+
let useVersion3 = true;
|
|
94
|
+
if (apiVersion === 'auto') {
|
|
95
|
+
useVersion3 = host.includes('.atlassian.net');
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
useVersion3 = apiVersion === '3' || apiVersion === 'v3';
|
|
99
|
+
}
|
|
100
|
+
const authConfig = {
|
|
76
101
|
host,
|
|
77
102
|
authentication: {
|
|
78
103
|
basic: { email, apiToken },
|
|
79
104
|
},
|
|
80
|
-
}
|
|
105
|
+
};
|
|
106
|
+
return useVersion3 ? new Version3Client(authConfig) : new Version2Client(authConfig);
|
|
81
107
|
},
|
|
82
108
|
},
|
|
83
109
|
};
|
|
@@ -89,15 +115,31 @@ export class SDKRegistry {
|
|
|
89
115
|
loader;
|
|
90
116
|
initializers;
|
|
91
117
|
mcpLoader;
|
|
92
|
-
|
|
118
|
+
secretManager;
|
|
119
|
+
constructor(loader = defaultSDKLoader, initializers = defaultInitializers, mcpLoader, secretManager) {
|
|
93
120
|
this.loader = loader;
|
|
94
121
|
this.initializers = new Map(Object.entries(initializers));
|
|
95
122
|
this.mcpLoader = mcpLoader || new McpLoader();
|
|
123
|
+
if (secretManager) {
|
|
124
|
+
this.secretManager = secretManager;
|
|
125
|
+
}
|
|
96
126
|
}
|
|
97
127
|
/**
|
|
98
128
|
* Register tool configurations from a workflow.
|
|
99
129
|
*/
|
|
100
130
|
registerTools(tools) {
|
|
131
|
+
// Always register built-in tools (core and workflow) if not already present
|
|
132
|
+
const builtInTools = ['core', 'workflow'];
|
|
133
|
+
for (const toolName of builtInTools) {
|
|
134
|
+
if (!this.sdks.has(toolName)) {
|
|
135
|
+
this.sdks.set(toolName, {
|
|
136
|
+
name: toolName,
|
|
137
|
+
sdk: null,
|
|
138
|
+
config: { sdk: toolName }, // Minimal config for built-in tools
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Register workflow-specific tools
|
|
101
143
|
for (const [name, config] of Object.entries(tools)) {
|
|
102
144
|
if (!this.sdks.has(name)) {
|
|
103
145
|
// Store config for lazy loading
|
|
@@ -127,43 +169,69 @@ export class SDKRegistry {
|
|
|
127
169
|
if (instance.sdk) {
|
|
128
170
|
return instance.sdk;
|
|
129
171
|
}
|
|
172
|
+
// Resolve secret references in config.auth before initializing
|
|
173
|
+
const resolvedConfig = await this.resolveConfigSecrets(instance.config);
|
|
130
174
|
// Load the SDK module
|
|
175
|
+
// Check if there's a package name mapping (e.g., 'google-gmail' -> 'googleapis')
|
|
176
|
+
const packageName = packageNameMappings[resolvedConfig.sdk] || resolvedConfig.sdk;
|
|
131
177
|
let module;
|
|
132
178
|
try {
|
|
133
|
-
module = await this.loader.load(
|
|
179
|
+
module = await this.loader.load(packageName);
|
|
134
180
|
}
|
|
135
181
|
catch (error) {
|
|
136
182
|
// If we have an initializer, ignore load error and pass null (e.g. for 'script' tool)
|
|
137
|
-
if (this.initializers.has(
|
|
183
|
+
if (this.initializers.has(resolvedConfig.sdk)) {
|
|
138
184
|
module = null;
|
|
139
185
|
}
|
|
140
186
|
else {
|
|
141
187
|
throw error;
|
|
142
188
|
}
|
|
143
189
|
}
|
|
144
|
-
// Initialize with config
|
|
145
|
-
const initializer = this.initializers.get(
|
|
190
|
+
// Initialize with resolved config
|
|
191
|
+
const initializer = this.initializers.get(resolvedConfig.sdk);
|
|
146
192
|
if (initializer) {
|
|
147
|
-
instance.sdk = await initializer.initialize(module,
|
|
193
|
+
instance.sdk = await initializer.initialize(module, resolvedConfig);
|
|
148
194
|
}
|
|
149
195
|
else {
|
|
150
196
|
// Check for MCP
|
|
151
197
|
if (this.isMcpModule(module)) {
|
|
152
198
|
try {
|
|
153
|
-
const client = await this.mcpLoader.connectModule(module,
|
|
199
|
+
const client = await this.mcpLoader.connectModule(module, resolvedConfig);
|
|
154
200
|
instance.sdk = this.createMcpProxy(client);
|
|
155
201
|
}
|
|
156
202
|
catch (error) {
|
|
157
|
-
throw new Error(`Failed to connect to MCP module '${
|
|
203
|
+
throw new Error(`Failed to connect to MCP module '${resolvedConfig.sdk}': ${error}`);
|
|
158
204
|
}
|
|
159
205
|
}
|
|
160
206
|
else {
|
|
161
207
|
// No custom initializer - use generic initialization
|
|
162
|
-
instance.sdk = await this.genericInitialize(module,
|
|
208
|
+
instance.sdk = await this.genericInitialize(module, resolvedConfig);
|
|
163
209
|
}
|
|
164
210
|
}
|
|
165
211
|
return instance.sdk;
|
|
166
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Resolve secret references in tool configuration.
|
|
215
|
+
*/
|
|
216
|
+
async resolveConfigSecrets(config) {
|
|
217
|
+
if (!this.secretManager || !config.auth) {
|
|
218
|
+
return config;
|
|
219
|
+
}
|
|
220
|
+
const resolvedAuth = {};
|
|
221
|
+
for (const [key, value] of Object.entries(config.auth)) {
|
|
222
|
+
if (typeof value === 'string' && SecretManager.isSecretReference(value)) {
|
|
223
|
+
// Resolve secret reference
|
|
224
|
+
resolvedAuth[key] = await this.secretManager.resolveSecrets(value);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
resolvedAuth[key] = value;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return {
|
|
231
|
+
...config,
|
|
232
|
+
auth: resolvedAuth,
|
|
233
|
+
};
|
|
234
|
+
}
|
|
167
235
|
isMcpModule(module) {
|
|
168
236
|
return typeof module.createMcpServer === 'function';
|
|
169
237
|
}
|
|
@@ -237,7 +305,7 @@ export class SDKRegistry {
|
|
|
237
305
|
* Create a step executor that invokes SDK methods.
|
|
238
306
|
*/
|
|
239
307
|
export function createSDKStepExecutor() {
|
|
240
|
-
return async (step,
|
|
308
|
+
return async (step, executionContext, sdkRegistry) => {
|
|
241
309
|
// Sub-workflows are handled by the engine, not by this executor
|
|
242
310
|
if (step.workflow) {
|
|
243
311
|
throw new Error('Sub-workflow steps should be handled by the engine, not the step executor');
|
|
@@ -255,18 +323,35 @@ export function createSDKStepExecutor() {
|
|
|
255
323
|
const sdk = await sdkRegistry.load(sdkName);
|
|
256
324
|
// Navigate to method
|
|
257
325
|
let current = sdk;
|
|
326
|
+
let parent = sdk;
|
|
258
327
|
for (const part of methodPath) {
|
|
259
328
|
if (current === null || current === undefined) {
|
|
260
329
|
throw new Error(`Cannot find ${part} in ${step.action}`);
|
|
261
330
|
}
|
|
331
|
+
parent = current;
|
|
262
332
|
current = current[part];
|
|
263
333
|
}
|
|
264
334
|
if (typeof current !== 'function') {
|
|
265
335
|
throw new Error(`${step.action} is not a function`);
|
|
266
336
|
}
|
|
267
|
-
//
|
|
337
|
+
// For script.execute, automatically inject workflow context variables
|
|
338
|
+
let inputs = step.inputs;
|
|
339
|
+
if (sdkName === 'script' && methodPath[0] === 'execute') {
|
|
340
|
+
const ctx = executionContext;
|
|
341
|
+
if (ctx && !inputs.context) {
|
|
342
|
+
// Inject workflow variables and inputs as context for the script
|
|
343
|
+
inputs = {
|
|
344
|
+
...inputs,
|
|
345
|
+
context: {
|
|
346
|
+
...ctx.variables,
|
|
347
|
+
inputs: ctx.inputs,
|
|
348
|
+
},
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
// Call the method with correct 'this' context (parent object, not root SDK)
|
|
268
353
|
const method = current;
|
|
269
|
-
return method.call(
|
|
354
|
+
return method.call(parent, inputs);
|
|
270
355
|
};
|
|
271
356
|
}
|
|
272
357
|
//# sourceMappingURL=sdk-registry.js.map
|
package/dist/sdk-registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-registry.js","sourceRoot":"","sources":["../src/sdk-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-registry.js","sourceRoot":"","sources":["../src/sdk-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External Secrets Management
|
|
3
|
+
*
|
|
4
|
+
* Provides integration with external secret managers.
|
|
5
|
+
*/
|
|
6
|
+
export { SecretManager, SecretNotFoundError, SecretProviderError } from './secret-manager.js';
|
|
7
|
+
export { VaultProvider } from './providers/vault.js';
|
|
8
|
+
export { AWSSecretsManagerProvider } from './providers/aws.js';
|
|
9
|
+
export { AzureKeyVaultProvider } from './providers/azure.js';
|
|
10
|
+
export { EnvProvider } from './providers/env.js';
|
|
11
|
+
export type { Secret, SecretMetadata, SecretProvider, SecretProviderConfig, SecretManagerOptions, SecretReference, CachedSecret, VaultConfig, AWSSecretsManagerConfig, AzureKeyVaultConfig, GCPSecretManagerConfig, } from './types.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/secret-providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,YAAY,EACV,MAAM,EACN,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External Secrets Management
|
|
3
|
+
*
|
|
4
|
+
* Provides integration with external secret managers.
|
|
5
|
+
*/
|
|
6
|
+
export { SecretManager, SecretNotFoundError, SecretProviderError } from './secret-manager.js';
|
|
7
|
+
export { VaultProvider } from './providers/vault.js';
|
|
8
|
+
export { AWSSecretsManagerProvider } from './providers/aws.js';
|
|
9
|
+
export { AzureKeyVaultProvider } from './providers/azure.js';
|
|
10
|
+
export { EnvProvider } from './providers/env.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/secret-providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
|