expose shell process group id to model, along with instructions for how to terminate or signal the group (#645)

This commit is contained in:
Olcan 2025-05-30 23:25:44 -07:00 committed by GitHub
parent 190e6be800
commit 0dbd12e295
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View File

@ -1,6 +1,7 @@
This tool executes a given shell command as `bash -c <command>`.
Command can start background processes using `&`.
Command itself is executed as a subprocess.
Command is executed as a subprocess that leads its own process group.
Command process group can be terminated as `kill -- -PGID` or signaled as `kill -s SIGNAL -- -PGID`.
The following information is returned:
@ -12,3 +13,4 @@ Error: Error or `(none)` if no error was reported for the subprocess.
Exit Code: Exit code or `(none)` if terminated by signal.
Signal: Signal number or `(none)` if no signal was received.
Background PIDs: List of background processes started or `(none)`.
Process Group PGID: Process group started or `(none)`

View File

@ -282,6 +282,7 @@ export class ShellTool extends BaseTool<ShellToolParams, ToolResult> {
`Exit Code: ${code ?? '(none)'}`,
`Signal: ${processSignal ?? '(none)'}`,
`Background PIDs: ${backgroundPIDs.length ? backgroundPIDs.join(', ') : '(none)'}`,
`Process Group PGID: ${shell.pid ?? '(none)'}`,
].join('\n');
}