lint passes and failing test passes

This commit is contained in:
A.K.M. Adib
2026-03-10 11:13:16 -04:00
parent aed2bed352
commit 6d819030e3
2 changed files with 18 additions and 30 deletions

View File

@@ -403,31 +403,10 @@ export class ToolExecutor {
);
}
}
} else if (typeof content === 'string' && toolName === SHELL_TOOL_NAME) {
const threshold = this.config.getTruncateToolOutputThreshold();
if (threshold > 0 && content.length > threshold) {
const originalContentLength = content.length;
const { outputFile: savedPath } = await saveTruncatedToolOutput(
content,
toolName,
callId,
this.config.storage.getProjectTempDir(),
this.config.getSessionId(),
);
outputFile = savedPath;
content = formatTruncatedToolOutput(content, outputFile, threshold);
logToolOutputTruncated(
this.config,
new ToolOutputTruncatedEvent(call.request.prompt_id, {
toolName,
originalContentLength,
truncatedContentLength: content.length,
threshold,
}),
);
}
} else {
const truncated = await this.truncateOutputIfNeeded(call, content);
content = truncated.truncatedContent;
outputFile = truncated.outputFile;
}
const response = convertToFunctionResponse(

View File

@@ -48,6 +48,18 @@ export interface MaskingResult {
tokensSaved: number;
}
interface HasOutputFile {
outputFile: string;
}
function hasOutputFile(obj: unknown): obj is HasOutputFile {
if (typeof obj !== 'object' || obj === null || !('outputFile' in obj)) {
return false;
}
const val = (obj as Record<string, unknown>)['outputFile'];
return typeof val === 'string';
}
/**
* Service to manage context window efficiency by masking bulky tool outputs (Tool Output Masking).
*
@@ -188,11 +200,8 @@ export class ToolOutputMaskingService {
let fileSizeMB = '0.00';
let totalLines = 0;
if (
typeof originalResponse['outputFile'] === 'string' &&
originalResponse['outputFile']
) {
filePath = originalResponse['outputFile'];
if (hasOutputFile(originalResponse) && originalResponse.outputFile) {
filePath = originalResponse.outputFile;
try {
const stats = await fsPromises.stat(filePath);
fileSizeMB = (stats.size / 1024 / 1024).toFixed(2);