diff options
| author | Olcan <[email protected]> | 2025-05-30 23:25:44 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-30 23:25:44 -0700 |
| commit | 0dbd12e295a0a1df92915b0b3016397a1c49a296 (patch) | |
| tree | 8f99817d5f3bdb7f1aa7e608026949ace7ae9e62 /packages/core/src | |
| parent | 190e6be800fa9095d0d0e5274e3ec16bd2f1f978 (diff) | |
expose shell process group id to model, along with instructions for how to terminate or signal the group (#645)
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/tools/shell.md | 4 | ||||
| -rw-r--r-- | packages/core/src/tools/shell.ts | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/packages/core/src/tools/shell.md b/packages/core/src/tools/shell.md index 069a76db..17c39196 100644 --- a/packages/core/src/tools/shell.md +++ b/packages/core/src/tools/shell.md @@ -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)` diff --git a/packages/core/src/tools/shell.ts b/packages/core/src/tools/shell.ts index 4efc3500..d0cad218 100644 --- a/packages/core/src/tools/shell.ts +++ b/packages/core/src/tools/shell.ts @@ -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'); } |
