(a: z.infer<typeof ExecArgs>)
| 100 | description = 'Run a command inside a running container (docker exec). Command is passed as an array (no shell injection). Destructive: it can mutate container state, so it is permission-gated.'; |
| 101 | isReadOnly = false; isDestructive = true; argsSchema = ExecArgs; |
| 102 | async execute(a: z.infer<typeof ExecArgs>): Promise<ToolResult> { |
| 103 | return docker(['exec', a.container, ...a.command], (a.timeout_seconds ?? 120) * 1000); |
| 104 | } |
| 105 | } |
| 106 | |
| 107 | // ---- docker_build ---- |