on main help sign in
fix(tools): truncate long running background commands to 30k chars
44ece2cKieran Klukas
internal/agent/tools/bash.go+5−1
@@ -414,7 +414,7 @@ func formatOutput(stdout, stderr string, execErr error) string {
414 return stdout
414 return stdout
415}
415}
416
416
417−func truncateOutput(content string) string {
417+func TruncateOutput(content string) string {
418 if len(content) <= MaxOutputLength {
418 if len(content) <= MaxOutputLength {
419 return content
419 return content
420 }
420 }
@@ -427,6 +427,10 @@ func truncateOutput(content string) string {
427 return fmt.Sprintf("%s\n\n... [%d lines truncated] ...\n\n%s", start, truncatedLinesCount, end)
427 return fmt.Sprintf("%s\n\n... [%d lines truncated] ...\n\n%s", start, truncatedLinesCount, end)
428}
428}
429
429
430+func truncateOutput(content string) string {
431+ return TruncateOutput(content)
432+}
433+
430func countLines(s string) int {
434func countLines(s string) int {
431 if s == "" {
435 if s == "" {
432 return 0
436 return 0
internal/agent/tools/job_output.go+1
@@ -71,6 +71,7 @@ func NewJobOutputTool() fantasy.AgentTool {
71 }
71 }
72
72
73 output := strings.Join(outputParts, "\n")
73 output := strings.Join(outputParts, "\n")
74+ output = TruncateOutput(output)
74
75
75 metadata := JobOutputResponseMetadata{
76 metadata := JobOutputResponseMetadata{
76 ShellID: params.ShellID,
77 ShellID: params.ShellID,