summaryrefslogtreecommitdiff
path: root/packages/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/tools/shell.ts9
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/server/src/tools/shell.ts b/packages/server/src/tools/shell.ts
index 1a5516ec..72672473 100644
--- a/packages/server/src/tools/shell.ts
+++ b/packages/server/src/tools/shell.ts
@@ -43,9 +43,14 @@ export class ShellTool extends BaseTool<ShellToolParams, ToolResult> {
getDescription(params: ShellToolParams): string {
let description = `${params.command}`;
- // append optional [./directory], prepending ./ if missing (assuming relative per validation)
+ // append optional [./directory], prepending ./ if missing and relative
+ // note description is needed even if validation fails due to absolute path
if (params.directory) {
- description += ` [${params.directory.startsWith('./') ? '' : './'}${params.directory}]`;
+ let path = params.directory;
+ if (!path.startsWith('./') && !path.startsWith('/') && path !== '.') {
+ path = './' + path;
+ }
+ description += ` [${path}]`;
}
// append optional (description), replacing any line breaks with spaces
// tool description/schema should specify a single line w/o line breaks