fix: audit findings — test compilation, artifact pipeline, typo
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

- C-1: Add event_sender: None to ToolContext in file_write.rs and
  file_read.rs test helper functions (compilation fix)
- I-1: file_write tool now echoes content preview in output JSON,
  enabling streamStore.ts artifact auto-creation pipeline to work
- S-2: Fix typo "LLM 锥应错误" → "LLM 响应错误" in loop_runner.rs
This commit is contained in:
iven
2026-04-06 15:15:17 +08:00
parent e7d5aaebdf
commit 9339b64bae
3 changed files with 17 additions and 2 deletions

View File

@@ -744,7 +744,7 @@ impl AgentLoop {
}
Ok(Some(Err(e))) => {
tracing::error!("[AgentLoop] Chunk error: {}", e);
let _ = tx.send(LoopEvent::Error(format!("LLM 应错误: {}", e.to_string()))).await;
let _ = tx.send(LoopEvent::Error(format!("LLM 应错误: {}", e.to_string()))).await;
stream_errored = true;
}
Ok(None) => break, // Stream ended normally

View File

@@ -140,6 +140,7 @@ mod tests {
session_id: None,
skill_executor: None,
path_validator,
event_sender: None,
};
let tool = FileReadTool::new();

View File

@@ -119,11 +119,24 @@ impl Tool for FileWriteTool {
file.write_all(&bytes)
.map_err(|e| ZclawError::ToolError(format!("Failed to write file: {}", e)))?;
// Echo content preview in output for artifact auto-creation in frontend
let content_preview: String = if content.len() <= 5000 {
content.to_string()
} else {
let truncation_point = content.char_indices()
.take_while(|(i, _)| *i < 5000)
.last()
.map(|(i, c)| i + c.len_utf8())
.unwrap_or(5000.min(content.len()));
format!("{}...[truncated, {} total bytes]", &content[..truncation_point], content.len())
};
Ok(json!({
"success": true,
"bytes_written": bytes.len(),
"path": validated_path.to_string_lossy(),
"mode": mode
"mode": mode,
"content": content_preview
}))
}
}
@@ -150,6 +163,7 @@ mod tests {
session_id: None,
skill_executor: None,
path_validator,
event_sender: None,
}
}