langchain.js
    Preparing search index...

    Interface ShellOptions

    Options for the Shell tool.

    interface ShellOptions {
        execute: (action: Action) => ShellResult | Promise<ShellResult>;
    }
    Index

    Properties

    Properties

    execute: (action: Action) => ShellResult | Promise<ShellResult>

    Execute function that handles shell command execution. This function receives the action input containing the commands and limits, and should return a ShellResult with stdout, stderr, and outcome for each command.

    execute: async (action) => {
    const outputs = await Promise.all(
    action.commands.map(async (cmd) => {
    try {
    const { stdout, stderr } = await exec(cmd, {
    timeout: action.timeout_ms ?? undefined,
    });
    return {
    stdout,
    stderr,
    outcome: { type: "exit" as const, exit_code: 0 },
    };
    } catch (error) {
    const timedOut = error.killed && error.signal === "SIGTERM";
    return {
    stdout: error.stdout ?? "",
    stderr: error.stderr ?? String(error),
    outcome: timedOut
    ? { type: "timeout" as const }
    : { type: "exit" as const, exit_code: error.code ?? 1 },
    };
    }
    })
    );
    return {
    output: outputs,
    maxOutputLength: action.max_output_length,
    };
    }