Skip to main content

call_coding_clis/output/
model.rs

1use std::collections::BTreeMap;
2
3#[derive(Clone, Debug, PartialEq, Eq)]
4pub struct ToolCall {
5    pub id: String,
6    pub name: String,
7    pub arguments: String,
8}
9
10#[derive(Clone, Debug, PartialEq, Eq)]
11pub struct ToolResult {
12    pub tool_call_id: String,
13    pub content: String,
14    pub is_error: bool,
15}
16
17#[derive(Clone, Debug, PartialEq, Eq)]
18pub enum Event {
19    Text(String),
20    Thinking(String),
21    ToolCall(ToolCall),
22    ToolResult(ToolResult),
23    Error(String),
24    RawUnknownJson(String),
25}
26
27#[derive(Clone, Debug, PartialEq, Default)]
28pub struct Usage {
29    pub counts: BTreeMap<String, i64>,
30    pub cost_usd: f64,
31    pub duration_ms: i64,
32}
33
34#[derive(Clone, Debug, PartialEq, Default)]
35pub struct Transcript {
36    pub events: Vec<Event>,
37    pub final_text: String,
38    pub session_id: Option<String>,
39    pub usage: Usage,
40    pub error: Option<String>,
41    pub unknown_json_lines: Vec<String>,
42}