Add the channel messages and the usage record to proto
Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
This commit is contained in:
@@ -12,6 +12,17 @@ pub struct ToolCall {
|
||||
pub arguments: String,
|
||||
}
|
||||
|
||||
/// What one completion cost. The same five numbers as `LogRecord::Usage`, without the time.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
pub struct Usage {
|
||||
pub cache_n: u64,
|
||||
pub prompt_n: u64,
|
||||
pub predicted_n: u64,
|
||||
pub reasoning_tokens: u64,
|
||||
pub thinking_capped: bool,
|
||||
}
|
||||
|
||||
// JSON: {"type":"user","time":"…","content":"…"} ; the tag sits beside the fields; types are snake_case
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(tag = "type", rename_all = "snake_case", deny_unknown_fields)]
|
||||
@@ -42,6 +53,14 @@ pub enum LogRecord {
|
||||
untrusted: bool,
|
||||
truncated: bool,
|
||||
},
|
||||
Usage {
|
||||
time: Timestamp,
|
||||
cache_n: u64,
|
||||
prompt_n: u64,
|
||||
predicted_n: u64,
|
||||
reasoning_tokens: u64,
|
||||
thinking_capped: bool,
|
||||
},
|
||||
CacheLoss {
|
||||
time: Timestamp,
|
||||
expected: u64,
|
||||
|
||||
Reference in New Issue
Block a user