ExecuteShellCommandTool

Executes shell commands with user approval and automatic timeout.

Before running any command, asks the user for confirmation. If approved, runs the command and captures everything it prints. If the command takes too long, cancels it automatically.

Constructors

Link copied to clipboard
constructor(executor: ShellCommandExecutor, confirmationHandler: ShellCommandConfirmationHandler)

Types

Link copied to clipboard
data class Args(val command: String, val timeoutSeconds: Int, val workingDirectory: String? = null)

Parameters for running a shell command.

Link copied to clipboard
data class Result(val exitCode: Int?, val output: String)

Result of attempting to run a command.

Properties

Link copied to clipboard
val argsType: TypeToken
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resultType: TypeToken

Functions

Link copied to clipboard
open fun decodeArgs(rawArgs: JSONObject, serializer: JSONSerializer): ExecuteShellCommandTool.Args
Link copied to clipboard
open fun decodeResult(rawResult: JSONElement, serializer: JSONSerializer): ExecuteShellCommandTool.Result
Link copied to clipboard
open fun encodeArgs(args: ExecuteShellCommandTool.Args, serializer: JSONSerializer): JSONObject
Link copied to clipboard
fun encodeArgsToString(args: ExecuteShellCommandTool.Args, serializer: JSONSerializer): String
Link copied to clipboard
fun encodeArgsToStringUnsafe(args: Any?, serializer: JSONSerializer): String
Link copied to clipboard
fun encodeArgsUnsafe(args: Any?, serializer: JSONSerializer): JSONObject
Link copied to clipboard
open fun encodeResult(result: ExecuteShellCommandTool.Result, serializer: JSONSerializer): JSONElement
Link copied to clipboard
open override fun encodeResultToString(result: ExecuteShellCommandTool.Result, serializer: JSONSerializer): String
Link copied to clipboard
fun encodeResultToStringUnsafe(result: Any?, serializer: JSONSerializer): String
Link copied to clipboard
fun encodeResultUnsafe(result: Any?, serializer: JSONSerializer): JSONElement
Link copied to clipboard

Runs a command after asking the user for permission.

Link copied to clipboard