feat: update README with enhanced descriptions and security features; refactor catastrophic guard checks and tool execution handling

This commit is contained in:
asepharyana
2026-07-12 03:37:27 +07:00
parent d957e8d4ce
commit 4bfbe1d1b9
7 changed files with 250 additions and 210 deletions
+23
View File
@@ -628,6 +628,8 @@ fn run_agent_turn(
};
let mut stream_started = false;
let mut reasoning_started = false;
let mut reasoning_ended = false;
let mut usage = None;
let result = tc.client.chat_with_tools_streaming(
&wire_msgs,
@@ -645,6 +647,21 @@ fn run_agent_turn(
q.push_back(TurnEvent::StreamStart);
stream_started = true;
}
if reasoning_started && !reasoning_ended {
reasoning_ended = true;
q.push_back(TurnEvent::StreamToken("\n</think>\n\n".to_string()));
}
q.push_back(TurnEvent::StreamToken(tok.clone()));
}
crate::app::runtime::stream::StreamEvent::Reasoning(tok) => {
if !stream_started {
q.push_back(TurnEvent::StreamStart);
stream_started = true;
}
if !reasoning_started {
reasoning_started = true;
q.push_back(TurnEvent::StreamToken("<think>\n".to_string()));
}
q.push_back(TurnEvent::StreamToken(tok.clone()));
}
crate::app::runtime::stream::StreamEvent::Usage { prompt_tokens, completion_tokens, .. } => {
@@ -657,6 +674,12 @@ fn run_agent_turn(
},
);
if reasoning_started && !reasoning_ended {
if let Ok(mut q) = events_q.lock() {
q.push_back(TurnEvent::StreamToken("\n</think>\n\n".to_string()));
}
}
let (response, final_usage) = match result {
Ok((msg, u)) => (msg, u.or(usage)),
Err(e) => {