pub(crate) const SHELL_INPUT_TOOL: &str = r#"{
"name": "ShellInput",
"description": "Write text to the stdin of a running shell started by Shell(). A newline is appended automatically. Use for interactive prompts like 'Terminate batch job (Y/N)?' or REPL commands. REQUIRES the shell to have been created with capture_stdin=true; otherwise its stdin is /dev/null and this returns an error telling you to recreate the shell. Also returns an error if the shell has exited. Note: processes that block waiting for stdin-EOF (e.g. `cat` with no args) will not exit until ShellStop is called — ShellStop always unblocks them via kill.",
"inputSchema": {
"type": "object",
"properties": {
"shell_id": { "type": "string", "description": "The shell_id returned by a prior Shell() call" },
"text": { "type": "string", "description": "Text to write to stdin (newline appended automatically)" }
},
"required": ["shell_id", "text"]
}
}"#;