@enactprotocol/execution 2.2.4 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docker-provider.d.ts +87 -0
- package/dist/docker-provider.d.ts.map +1 -0
- package/dist/docker-provider.js +406 -0
- package/dist/docker-provider.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/local-provider.d.ts +95 -0
- package/dist/local-provider.d.ts.map +1 -0
- package/dist/local-provider.js +369 -0
- package/dist/local-provider.js.map +1 -0
- package/dist/provider.d.ts +24 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +305 -20
- package/dist/provider.js.map +1 -1
- package/dist/remote-provider.d.ts +43 -0
- package/dist/remote-provider.d.ts.map +1 -0
- package/dist/remote-provider.js +154 -0
- package/dist/remote-provider.js.map +1 -0
- package/dist/router.d.ts +62 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +109 -0
- package/dist/router.js.map +1 -0
- package/package.json +2 -2
- package/src/docker-provider.ts +575 -0
- package/src/index.ts +32 -1
- package/src/local-provider.ts +513 -0
- package/src/provider.ts +409 -28
- package/src/remote-provider.ts +231 -0
- package/src/router.ts +143 -0
- package/tests/docker-provider.test.ts +207 -0
- package/tests/local-provider.test.ts +256 -0
- package/tests/remote-provider.test.ts +206 -0
- package/tests/router.test.ts +272 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-provider.d.ts","sourceRoot":"","sources":["../src/local-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQnF,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EAEd,gBAAgB,EAEhB,iBAAiB,EACjB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAqB;gBAExB,MAAM,GAAE,mBAAwB;IAK5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAQxC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,YAAY;IA2BpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;YACW,QAAQ;IAYtB;;OAEG;IACH,OAAO,CAAC,UAAU;IA2DlB;;OAEG;IACG,OAAO,CACX,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAmE3B;;OAEG;IACG,IAAI,CACR,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAQ3B;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAgJ3B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChD,OAAO,GAAG,WAAW,CAWvB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,mBAAwB,GAAG,sBAAsB,CAE5F"}
|
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local Execution Provider
|
|
3
|
+
*
|
|
4
|
+
* Executes commands directly on the host system without containerization.
|
|
5
|
+
* This is faster but provides no isolation or sandboxing.
|
|
6
|
+
*/
|
|
7
|
+
import { spawn } from "node:child_process";
|
|
8
|
+
import { existsSync } from "node:fs";
|
|
9
|
+
import { join } from "node:path";
|
|
10
|
+
import { applyDefaults, getEffectiveInputSchema, prepareActionCommand, prepareCommand, validateInputs, } from "@enactprotocol/shared";
|
|
11
|
+
/**
|
|
12
|
+
* Provider for executing commands directly on the host system
|
|
13
|
+
*
|
|
14
|
+
* WARNING: This provider offers no sandboxing or isolation.
|
|
15
|
+
* Commands have full access to the filesystem and network.
|
|
16
|
+
*/
|
|
17
|
+
export class LocalExecutionProvider {
|
|
18
|
+
name = "local";
|
|
19
|
+
defaultTimeout;
|
|
20
|
+
workdir;
|
|
21
|
+
constructor(config = {}) {
|
|
22
|
+
this.defaultTimeout = config.defaultTimeout ?? 300000; // 5 minutes
|
|
23
|
+
this.workdir = config.workdir;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Initialize the provider
|
|
27
|
+
*/
|
|
28
|
+
async initialize() {
|
|
29
|
+
// No initialization needed for local execution
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Check if the provider is available (always true for local)
|
|
33
|
+
*/
|
|
34
|
+
async isAvailable() {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get provider health status
|
|
39
|
+
*/
|
|
40
|
+
async getHealth() {
|
|
41
|
+
return {
|
|
42
|
+
healthy: true,
|
|
43
|
+
runtime: "docker", // N/A but required by interface
|
|
44
|
+
consecutiveFailures: 0,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Generate a unique execution ID
|
|
49
|
+
*/
|
|
50
|
+
generateExecutionId() {
|
|
51
|
+
return `local-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parse a timeout string to milliseconds
|
|
55
|
+
*/
|
|
56
|
+
parseTimeout(timeout) {
|
|
57
|
+
if (!timeout) {
|
|
58
|
+
return this.defaultTimeout ?? 300000;
|
|
59
|
+
}
|
|
60
|
+
const match = timeout.match(/^(\d+)(ms|s|m|h)?$/);
|
|
61
|
+
if (!match) {
|
|
62
|
+
return this.defaultTimeout ?? 300000;
|
|
63
|
+
}
|
|
64
|
+
const value = Number.parseInt(match[1] ?? "300000", 10);
|
|
65
|
+
const unit = match[2] ?? "ms";
|
|
66
|
+
switch (unit) {
|
|
67
|
+
case "ms":
|
|
68
|
+
return value;
|
|
69
|
+
case "s":
|
|
70
|
+
return value * 1000;
|
|
71
|
+
case "m":
|
|
72
|
+
return value * 60000;
|
|
73
|
+
case "h":
|
|
74
|
+
return value * 3600000;
|
|
75
|
+
default:
|
|
76
|
+
return value;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Create an error result
|
|
81
|
+
*/
|
|
82
|
+
createErrorResult(toolName, executionId, startTime, code, message) {
|
|
83
|
+
const endTime = new Date();
|
|
84
|
+
return {
|
|
85
|
+
success: false,
|
|
86
|
+
output: {
|
|
87
|
+
stdout: "",
|
|
88
|
+
stderr: message,
|
|
89
|
+
exitCode: 1,
|
|
90
|
+
},
|
|
91
|
+
metadata: {
|
|
92
|
+
toolName,
|
|
93
|
+
containerImage: "local",
|
|
94
|
+
startTime,
|
|
95
|
+
endTime,
|
|
96
|
+
durationMs: endTime.getTime() - startTime.getTime(),
|
|
97
|
+
cached: false,
|
|
98
|
+
executionId,
|
|
99
|
+
},
|
|
100
|
+
error: {
|
|
101
|
+
code,
|
|
102
|
+
message,
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Run build commands if specified
|
|
108
|
+
*/
|
|
109
|
+
async runBuild(build, cwd, env) {
|
|
110
|
+
const commands = Array.isArray(build) ? build : [build];
|
|
111
|
+
for (const command of commands) {
|
|
112
|
+
await this.runCommand(command.split(/\s+/), cwd, env, 600000); // 10 min timeout for build
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Run a command and return the output
|
|
117
|
+
*/
|
|
118
|
+
runCommand(commandArray, cwd, env, timeoutMs) {
|
|
119
|
+
return new Promise((resolve, reject) => {
|
|
120
|
+
const [cmd, ...args] = commandArray;
|
|
121
|
+
if (!cmd) {
|
|
122
|
+
reject(new Error("Empty command"));
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const child = spawn(cmd, args, {
|
|
126
|
+
cwd,
|
|
127
|
+
env: { ...process.env, ...env },
|
|
128
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
129
|
+
});
|
|
130
|
+
let stdout = "";
|
|
131
|
+
let stderr = "";
|
|
132
|
+
let timedOut = false;
|
|
133
|
+
const timer = setTimeout(() => {
|
|
134
|
+
timedOut = true;
|
|
135
|
+
child.kill("SIGTERM");
|
|
136
|
+
setTimeout(() => child.kill("SIGKILL"), 5000);
|
|
137
|
+
}, timeoutMs);
|
|
138
|
+
child.stdout?.on("data", (data) => {
|
|
139
|
+
stdout += data.toString();
|
|
140
|
+
});
|
|
141
|
+
child.stderr?.on("data", (data) => {
|
|
142
|
+
stderr += data.toString();
|
|
143
|
+
});
|
|
144
|
+
child.on("error", (error) => {
|
|
145
|
+
clearTimeout(timer);
|
|
146
|
+
reject(error);
|
|
147
|
+
});
|
|
148
|
+
child.on("close", (exitCode) => {
|
|
149
|
+
clearTimeout(timer);
|
|
150
|
+
if (timedOut) {
|
|
151
|
+
reject(new Error("TIMEOUT"));
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
resolve({
|
|
155
|
+
stdout,
|
|
156
|
+
stderr,
|
|
157
|
+
exitCode: exitCode ?? 1,
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Execute a tool (for compatibility - uses manifest.command)
|
|
164
|
+
*/
|
|
165
|
+
async execute(manifest, input, options = {}) {
|
|
166
|
+
const startTime = new Date();
|
|
167
|
+
const executionId = this.generateExecutionId();
|
|
168
|
+
if (!manifest.command) {
|
|
169
|
+
return this.createErrorResult(manifest.name, executionId, startTime, "COMMAND_ERROR", "No command specified in manifest");
|
|
170
|
+
}
|
|
171
|
+
const workdir = options.workdir ?? this.workdir ?? process.cwd();
|
|
172
|
+
const timeoutMs = this.parseTimeout(options.timeout ?? manifest.timeout);
|
|
173
|
+
// Build environment
|
|
174
|
+
const env = {
|
|
175
|
+
...input.envOverrides,
|
|
176
|
+
};
|
|
177
|
+
try {
|
|
178
|
+
// Interpolate parameters and prepare command array
|
|
179
|
+
const commandArray = prepareCommand(manifest.command, input.params);
|
|
180
|
+
const output = await this.runCommand(commandArray, workdir, env, timeoutMs);
|
|
181
|
+
const endTime = new Date();
|
|
182
|
+
const metadata = {
|
|
183
|
+
toolName: manifest.name,
|
|
184
|
+
containerImage: "local",
|
|
185
|
+
startTime,
|
|
186
|
+
endTime,
|
|
187
|
+
durationMs: endTime.getTime() - startTime.getTime(),
|
|
188
|
+
cached: false,
|
|
189
|
+
executionId,
|
|
190
|
+
};
|
|
191
|
+
if (output.exitCode !== 0) {
|
|
192
|
+
return {
|
|
193
|
+
success: false,
|
|
194
|
+
output,
|
|
195
|
+
metadata,
|
|
196
|
+
error: {
|
|
197
|
+
code: "COMMAND_ERROR",
|
|
198
|
+
message: `Command exited with code ${output.exitCode}`,
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
success: true,
|
|
204
|
+
output,
|
|
205
|
+
metadata,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
210
|
+
let code = "COMMAND_ERROR";
|
|
211
|
+
if (message === "TIMEOUT") {
|
|
212
|
+
code = "TIMEOUT";
|
|
213
|
+
}
|
|
214
|
+
return this.createErrorResult(manifest.name, executionId, startTime, code, message);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Execute a raw command
|
|
219
|
+
*/
|
|
220
|
+
async exec(manifest, command, options = {}) {
|
|
221
|
+
const execManifest = {
|
|
222
|
+
...manifest,
|
|
223
|
+
command,
|
|
224
|
+
};
|
|
225
|
+
return this.execute(execManifest, { params: {} }, options);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Execute an action from ACTIONS.yaml
|
|
229
|
+
*/
|
|
230
|
+
async executeAction(manifest, actionsManifest, actionName, action, input, options = {}) {
|
|
231
|
+
const startTime = new Date();
|
|
232
|
+
const executionId = this.generateExecutionId();
|
|
233
|
+
// Get effective inputSchema (defaults to empty if not provided)
|
|
234
|
+
const effectiveSchema = getEffectiveInputSchema(action);
|
|
235
|
+
// Validate inputs against action's inputSchema
|
|
236
|
+
const validation = validateInputs(input.params, effectiveSchema);
|
|
237
|
+
if (!validation.valid) {
|
|
238
|
+
const errorMessages = validation.errors.map((e) => `${e.path}: ${e.message}`);
|
|
239
|
+
return this.createErrorResult(`${manifest.name}:${actionName}`, executionId, startTime, "VALIDATION_ERROR", `Input validation failed: ${errorMessages.join(", ")}`);
|
|
240
|
+
}
|
|
241
|
+
// Apply defaults to inputs
|
|
242
|
+
const params = applyDefaults(input.params, effectiveSchema);
|
|
243
|
+
// Prepare the command using {{param}} template system
|
|
244
|
+
let commandArray;
|
|
245
|
+
try {
|
|
246
|
+
const actionCommand = action.command;
|
|
247
|
+
if (typeof actionCommand === "string") {
|
|
248
|
+
// String-form command (no templates allowed - validation ensures this)
|
|
249
|
+
commandArray = actionCommand.split(/\s+/).filter((s) => s.length > 0);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
// Array-form command with {{param}} templates
|
|
253
|
+
commandArray = prepareActionCommand(actionCommand, params, effectiveSchema);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
258
|
+
return this.createErrorResult(`${manifest.name}:${actionName}`, executionId, startTime, "COMMAND_ERROR", `Failed to prepare action command: ${message}`);
|
|
259
|
+
}
|
|
260
|
+
if (commandArray.length === 0) {
|
|
261
|
+
return this.createErrorResult(`${manifest.name}:${actionName}`, executionId, startTime, "COMMAND_ERROR", "Action command is empty");
|
|
262
|
+
}
|
|
263
|
+
const workdir = options.workdir ?? this.workdir ?? process.cwd();
|
|
264
|
+
const timeoutMs = this.parseTimeout(options.timeout ?? manifest.timeout);
|
|
265
|
+
// Build environment
|
|
266
|
+
const env = {
|
|
267
|
+
...input.envOverrides,
|
|
268
|
+
};
|
|
269
|
+
// Add env from actions manifest
|
|
270
|
+
if (actionsManifest.env) {
|
|
271
|
+
for (const [key, envVar] of Object.entries(actionsManifest.env)) {
|
|
272
|
+
if (envVar.default && !env[key]) {
|
|
273
|
+
env[key] = envVar.default;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
try {
|
|
278
|
+
// Run build commands if present
|
|
279
|
+
if (actionsManifest.build) {
|
|
280
|
+
await this.runBuild(actionsManifest.build, workdir, env);
|
|
281
|
+
}
|
|
282
|
+
// Execute the action command
|
|
283
|
+
const output = await this.runCommand(commandArray, workdir, env, timeoutMs);
|
|
284
|
+
const endTime = new Date();
|
|
285
|
+
const metadata = {
|
|
286
|
+
toolName: `${manifest.name}:${actionName}`,
|
|
287
|
+
containerImage: "local",
|
|
288
|
+
startTime,
|
|
289
|
+
endTime,
|
|
290
|
+
durationMs: endTime.getTime() - startTime.getTime(),
|
|
291
|
+
cached: false,
|
|
292
|
+
executionId,
|
|
293
|
+
};
|
|
294
|
+
if (manifest.version) {
|
|
295
|
+
metadata.toolVersion = manifest.version;
|
|
296
|
+
}
|
|
297
|
+
if (output.exitCode !== 0) {
|
|
298
|
+
return {
|
|
299
|
+
success: false,
|
|
300
|
+
output,
|
|
301
|
+
metadata,
|
|
302
|
+
error: {
|
|
303
|
+
code: "COMMAND_ERROR",
|
|
304
|
+
message: `Action "${actionName}" exited with code ${output.exitCode}`,
|
|
305
|
+
...(output.stderr && { details: { stderr: output.stderr } }),
|
|
306
|
+
},
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
// Validate output against outputSchema if defined
|
|
310
|
+
if (action.outputSchema && output.stdout) {
|
|
311
|
+
try {
|
|
312
|
+
const parsed = JSON.parse(output.stdout);
|
|
313
|
+
output.parsed = parsed;
|
|
314
|
+
}
|
|
315
|
+
catch {
|
|
316
|
+
// Output is not JSON - that's OK, leave as string
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return {
|
|
320
|
+
success: true,
|
|
321
|
+
output,
|
|
322
|
+
metadata,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
327
|
+
let code = "COMMAND_ERROR";
|
|
328
|
+
if (message.startsWith("BUILD_ERROR:") || message.includes("build")) {
|
|
329
|
+
code = "BUILD_ERROR";
|
|
330
|
+
}
|
|
331
|
+
else if (message === "TIMEOUT") {
|
|
332
|
+
code = "TIMEOUT";
|
|
333
|
+
}
|
|
334
|
+
return this.createErrorResult(`${manifest.name}:${actionName}`, executionId, startTime, code, message);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Shutdown the provider (no-op for local)
|
|
339
|
+
*/
|
|
340
|
+
async shutdown() {
|
|
341
|
+
// Nothing to clean up
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Check if a directory has a Containerfile or Dockerfile
|
|
346
|
+
*/
|
|
347
|
+
export function hasContainerfile(dir) {
|
|
348
|
+
return existsSync(join(dir, "Containerfile")) || existsSync(join(dir, "Dockerfile"));
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Determine the execution mode based on skill directory and options
|
|
352
|
+
*/
|
|
353
|
+
export function selectExecutionMode(skillDir, options) {
|
|
354
|
+
if (options.local) {
|
|
355
|
+
return "local";
|
|
356
|
+
}
|
|
357
|
+
if (options.container) {
|
|
358
|
+
return "container";
|
|
359
|
+
}
|
|
360
|
+
// Default: container if Containerfile exists, else local
|
|
361
|
+
return hasContainerfile(skillDir) ? "container" : "local";
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Create a local execution provider
|
|
365
|
+
*/
|
|
366
|
+
export function createLocalProvider(config = {}) {
|
|
367
|
+
return new LocalExecutionProvider(config);
|
|
368
|
+
}
|
|
369
|
+
//# sourceMappingURL=local-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-provider.js","sourceRoot":"","sources":["../src/local-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,MAAM,uBAAuB,CAAC;AAwB/B;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,OAAO,CAAC;IAChB,cAAc,CAAS;IACvB,OAAO,CAAqB;IAEpC,YAAY,SAA8B,EAAE;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC,YAAY;QACnE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,+CAA+C;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,QAAQ,EAAE,gCAAgC;YACnD,mBAAmB,EAAE,CAAC;SACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAAgB;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAE9B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,KAAK,CAAC;YACf,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,IAAI,CAAC;YACtB,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,KAAK,CAAC;YACvB,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,OAAO,CAAC;YACzB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,QAAgB,EAChB,WAAmB,EACnB,SAAe,EACf,IAAwB,EACxB,OAAe;QAEf,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,CAAC;aACZ;YACD,QAAQ,EAAE;gBACR,QAAQ;gBACR,cAAc,EAAE,OAAO;gBACvB,SAAS;gBACT,OAAO;gBACP,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;gBACnD,MAAM,EAAE,KAAK;gBACb,WAAW;aACZ;YACD,KAAK,EAAE;gBACL,IAAI;gBACJ,OAAO;aACR;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,KAAwB,EACxB,GAAW,EACX,GAA2B;QAE3B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAExD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,2BAA2B;QAC5F,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,YAAsB,EACtB,GAAW,EACX,GAA2B,EAC3B,SAAiB;QAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;YACpC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;gBAC7B,GAAG;gBACH,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;gBAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEpB,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC;oBACN,MAAM;oBACN,MAAM;oBACN,QAAQ,EAAE,QAAQ,IAAI,CAAC;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,QAAsB,EACtB,KAAqB,EACrB,UAA4B,EAAE;QAE9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,CAAC,IAAI,EACb,WAAW,EACX,SAAS,EACT,eAAe,EACf,kCAAkC,CACnC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzE,oBAAoB;QACpB,MAAM,GAAG,GAA2B;YAClC,GAAG,KAAK,CAAC,YAAY;SACtB,CAAC;QAEF,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAE5E,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAsB;gBAClC,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,cAAc,EAAE,OAAO;gBACvB,SAAS;gBACT,OAAO;gBACP,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;gBACnD,MAAM,EAAE,KAAK;gBACb,WAAW;aACZ,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM;oBACN,QAAQ;oBACR,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,4BAA4B,MAAM,CAAC,QAAQ,EAAE;qBACvD;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,QAAQ;aACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,IAAI,GAAuB,eAAe,CAAC;YAE/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,GAAG,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,QAAsB,EACtB,OAAe,EACf,UAA4B,EAAE;QAE9B,MAAM,YAAY,GAAiB;YACjC,GAAG,QAAQ;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,QAAsB,EACtB,eAAgC,EAChC,UAAkB,EAClB,MAAc,EACd,KAAqB,EACrB,UAA4B,EAAE;QAE9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE/C,gEAAgE;QAChE,MAAM,eAAe,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAExD,+CAA+C;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,iBAAiB,CAC3B,GAAG,QAAQ,CAAC,IAAI,IAAI,UAAU,EAAE,EAChC,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,4BAA4B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvD,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAE5D,sDAAsD;QACtD,IAAI,YAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;YACrC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACtC,uEAAuE;gBACvE,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,YAAY,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC,iBAAiB,CAC3B,GAAG,QAAQ,CAAC,IAAI,IAAI,UAAU,EAAE,EAChC,WAAW,EACX,SAAS,EACT,eAAe,EACf,qCAAqC,OAAO,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,iBAAiB,CAC3B,GAAG,QAAQ,CAAC,IAAI,IAAI,UAAU,EAAE,EAChC,WAAW,EACX,SAAS,EACT,eAAe,EACf,yBAAyB,CAC1B,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzE,oBAAoB;QACpB,MAAM,GAAG,GAA2B;YAClC,GAAG,KAAK,CAAC,YAAY;SACtB,CAAC;QAEF,gCAAgC;QAChC,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChE,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,gCAAgC;YAChC,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;YAED,6BAA6B;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAE5E,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAsB;gBAClC,QAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,UAAU,EAAE;gBAC1C,cAAc,EAAE,OAAO;gBACvB,SAAS;gBACT,OAAO;gBACP,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;gBACnD,MAAM,EAAE,KAAK;gBACb,WAAW;aACZ,CAAC;YAEF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC1C,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM;oBACN,QAAQ;oBACR,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,WAAW,UAAU,sBAAsB,MAAM,CAAC,QAAQ,EAAE;wBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;qBAC7D;iBACF,CAAC;YACJ,CAAC;YAED,kDAAkD;YAClD,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACzC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,kDAAkD;gBACpD,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,QAAQ;aACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,IAAI,GAAuB,eAAe,CAAC;YAE/C,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpE,IAAI,GAAG,aAAa,CAAC;YACvB,CAAC;iBAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAI,GAAG,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,IAAI,CAAC,iBAAiB,CAC3B,GAAG,QAAQ,CAAC,IAAI,IAAI,UAAU,EAAE,EAChC,WAAW,EACX,SAAS,EACT,IAAI,EACJ,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,sBAAsB;IACxB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,OAAiD;IAEjD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,yDAAyD;IACzD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAA8B,EAAE;IAClE,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Main execution provider that uses Dagger SDK to run
|
|
5
5
|
* containerized commands for Enact tools.
|
|
6
6
|
*/
|
|
7
|
-
import type { ToolManifest } from "@enactprotocol/shared";
|
|
7
|
+
import type { Action, ActionsManifest, ToolManifest } from "@enactprotocol/shared";
|
|
8
8
|
import type { ContainerRuntime, EngineHealth, ExecutionInput, ExecutionOptions, ExecutionProvider, ExecutionResult } from "@enactprotocol/shared";
|
|
9
9
|
/**
|
|
10
10
|
* Configuration for the Dagger execution provider
|
|
@@ -53,6 +53,22 @@ export declare class DaggerExecutionProvider implements ExecutionProvider {
|
|
|
53
53
|
* Execute a raw command in a tool's container
|
|
54
54
|
*/
|
|
55
55
|
exec(manifest: ToolManifest, command: string, options?: ExecutionOptions): Promise<ExecutionResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Execute an action from ACTIONS.yaml
|
|
58
|
+
*
|
|
59
|
+
* This method uses the {{param}} template system which:
|
|
60
|
+
* - Passes commands directly to execve() (no shell interpolation)
|
|
61
|
+
* - Each template becomes a single argument regardless of content
|
|
62
|
+
* - Omits arguments for optional params without values
|
|
63
|
+
*
|
|
64
|
+
* @param manifest - The skill manifest (SKILL.md)
|
|
65
|
+
* @param actionsManifest - The actions manifest (ACTIONS.yaml)
|
|
66
|
+
* @param actionName - The name of the action to execute
|
|
67
|
+
* @param action - The specific action definition to execute
|
|
68
|
+
* @param input - Execution input with params
|
|
69
|
+
* @param options - Execution options
|
|
70
|
+
*/
|
|
71
|
+
executeAction(manifest: ToolManifest, actionsManifest: ActionsManifest, actionName: string, action: Action, input: ExecutionInput, options?: ExecutionOptions): Promise<ExecutionResult>;
|
|
56
72
|
/**
|
|
57
73
|
* Shutdown the provider
|
|
58
74
|
*/
|
|
@@ -61,6 +77,13 @@ export declare class DaggerExecutionProvider implements ExecutionProvider {
|
|
|
61
77
|
* Run the container and capture output
|
|
62
78
|
*/
|
|
63
79
|
private runContainer;
|
|
80
|
+
/**
|
|
81
|
+
* Run action container with direct exec (no shell wrapper)
|
|
82
|
+
*
|
|
83
|
+
* This is the key difference from runContainer - commands are passed
|
|
84
|
+
* directly to execve() without shell interpolation, preventing injection.
|
|
85
|
+
*/
|
|
86
|
+
private runActionContainer;
|
|
64
87
|
/**
|
|
65
88
|
* Generate a unique execution ID
|
|
66
89
|
*/
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AASnF,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EAEZ,cAAc,EAEd,gBAAgB,EAEhB,iBAAiB,EACjB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,mBAAmB,CAAK;gBAEpB,MAAM,GAAE,oBAAyB;IAY7C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAwBxC;;OAEG;IACG,OAAO,CACX,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAsI3B;;OAEG;IACG,IAAI,CACR,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAe3B;;;;;;;;;;;;;;OAcG;IACG,aAAa,CACjB,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IA0K3B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B;;OAEG;YACW,YAAY;IA6O1B;;;;;OAKG;YACW,kBAAkB;IA4MhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAgC1B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,uBAAuB,CAE9F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAI1B"}
|