mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-16 20:01:27 +00:00
fix: normalize claude system events and refresh tests
This commit is contained in:
parent
fdeef51f9c
commit
c91595d338
14 changed files with 99 additions and 25 deletions
|
|
@ -7,6 +7,7 @@ use crate::{
|
|||
QuestionInfo,
|
||||
QuestionOption,
|
||||
QuestionRequest,
|
||||
Started,
|
||||
UniversalEventData,
|
||||
UniversalMessage,
|
||||
UniversalMessageParsed,
|
||||
|
|
@ -20,6 +21,7 @@ pub fn event_to_universal_with_session(
|
|||
) -> EventConversion {
|
||||
let event_type = event.get("type").and_then(Value::as_str).unwrap_or("");
|
||||
match event_type {
|
||||
"system" => system_event_to_universal(event),
|
||||
"assistant" => assistant_event_to_universal(event),
|
||||
"tool_use" => tool_use_event_to_universal(event, session_id),
|
||||
"tool_result" => tool_result_event_to_universal(event),
|
||||
|
|
@ -114,6 +116,18 @@ fn assistant_event_to_universal(event: &Value) -> EventConversion {
|
|||
EventConversion::new(UniversalEventData::Message { message })
|
||||
}
|
||||
|
||||
fn system_event_to_universal(event: &Value) -> EventConversion {
|
||||
let subtype = event
|
||||
.get("subtype")
|
||||
.and_then(Value::as_str)
|
||||
.unwrap_or("system");
|
||||
let started = Started {
|
||||
message: Some(format!("system.{subtype}")),
|
||||
details: Some(event.clone()),
|
||||
};
|
||||
EventConversion::new(UniversalEventData::Started { started })
|
||||
}
|
||||
|
||||
fn tool_use_event_to_universal(event: &Value, session_id: String) -> EventConversion {
|
||||
let tool_use = event.get("tool_use");
|
||||
let name = tool_use
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue