fix: 收敛 commandExecution toolcall 摘要 (#70)
Co-authored-by: Codex <codex@pikas.tech>
This commit is contained in:
@@ -78,6 +78,10 @@ function normalizeTextPayload(payload: JsonRecord): JsonRecord {
|
||||
|
||||
function normalizeToolCallPayload(payload: JsonRecord): JsonRecord {
|
||||
const redacted = redactJson(payload);
|
||||
if (isCommandExecutionToolCall(redacted)) {
|
||||
const summary = boundedTextSummary(commandExecutionToolCallText(redacted));
|
||||
return { ...redacted, summary, outputBytes: summary.outputBytes, outputTruncated: summary.outputTruncated };
|
||||
}
|
||||
const json = JSON.stringify(redacted);
|
||||
const summary = boundedTextSummary(json);
|
||||
if (summary.outputTruncated !== true) return { ...redacted, summary, outputBytes: summary.outputBytes, outputTruncated: false };
|
||||
@@ -89,3 +93,17 @@ function normalizeToolCallPayload(payload: JsonRecord): JsonRecord {
|
||||
outputTruncated: true,
|
||||
};
|
||||
}
|
||||
|
||||
function isCommandExecutionToolCall(payload: JsonRecord): boolean {
|
||||
return payload.toolName === "commandExecution" || payload.type === "commandExecution";
|
||||
}
|
||||
|
||||
function commandExecutionToolCallText(payload: JsonRecord): string {
|
||||
const method = typeof payload.method === "string" ? payload.method.replace(/^item\//, "") : "tool";
|
||||
const status = typeof payload.status === "string" ? payload.status : method;
|
||||
const command = typeof payload.command === "string" ? payload.command : "commandExecution";
|
||||
const exitCode = typeof payload.exitCode === "number" ? ` exit=${payload.exitCode}` : "";
|
||||
const durationMs = typeof payload.durationMs === "number" ? ` durationMs=${payload.durationMs}` : "";
|
||||
const outputSummary = typeof payload.outputSummary === "string" && payload.outputSummary.trim().length > 0 ? ` output=${payload.outputSummary}` : "";
|
||||
return `commandExecution ${status}: ${command}${exitCode}${durationMs}${outputSummary}`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user