Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions packages/core/src/tools/shell.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -803,6 +803,32 @@ describe('ShellTool', () => {
});
});

describe('invocation getDescription', () => {
it('should return the description if it is present and not empty whitespace', () => {
const invocation = shellTool.build({
command: 'echo hello',
description: 'prints hello',
});
expect(invocation.getDescription()).toBe('prints hello');
});

it('should return the raw command if description is an empty string', () => {
const invocation = shellTool.build({
command: 'echo hello',
description: '',
});
expect(invocation.getDescription()).toBe('echo hello');
});

it('should return the raw command if description is just whitespace', () => {
const invocation = shellTool.build({
command: 'echo hello',
description: ' ',
});
expect(invocation.getDescription()).toBe('echo hello');
});
});

describe('llmContent output format', () => {
const mockAbortSignal = new AbortController().signal;

Expand Down
4 changes: 3 additions & 1 deletion packages/core/src/tools/shell.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,9 @@ export class ShellToolInvocation extends BaseToolInvocation<
}

getDescription(): string {
return this.params.description || '';
return this.params.description?.trim()
? this.params.description
: this.params.command;
}

private simplifyPaths(paths: Set<string>): string[] {
Expand Down
Loading