mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-10-22 06:09:43 +00:00
Paramiko Channel.send can accept only part of a command. Ignoring its byte count truncated large inputs, including heredocs whose closing delimiters never reached the shell. Use sendall through asyncio.to_thread and route shell initialization through the same send path. Close the SSH connection when an in-flight send is cancelled so partial input cannot contaminate later commands. Cancellation intentionally discards that SSH session and its shell state. Add regressions for multi-packet Unicode delivery and blocked-window responsiveness/cancellation, and document the SSH send contract. Validation: 24 focused tests passed. Real Paramiko transport and container OpenSSH probes delivered complete large single/nested heredocs and preserved shell state across terminal, Python and Node.js calls. No local TTY, prompt readiness, tool-dispatch, or platform-specific heredoc workaround changes. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| shell_local.py | ||
| shell_ssh.py | ||
| tty_session.py | ||