desktop/src-tauri/crates/core/src/adapters/zoo/common.rs
Comment 1, line 1
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:1
//! Zoo Code usage mapping: fixed f7806475331fcae5f4e8b5558d04415eeb5da88c,Comment 2, line 2
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:2
//! A19, plus real checks of official 3.86.0 VSIX/API/native files.Comment 3, line 3
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:3
//!Comment 4, line 4
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:4
//! Reference: packages/core/src/message-utils/consolidateTokenUsage.ts.Comment 5, line 5
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:5
//! - tokensIn/tokensOut/cacheWrites/cacheReads/cost in api_req_started text JSONComment 6, line 6
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:6
//! are independently optional, checked with typeof number.Comment 7, line 7
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:7
//! - tokensIn stores total input including cache; fixed upstream comment:Comment 8, line 8
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:8
//! "Since tokensIn now stores TOTAL input tokens (including cache tokens),Comment 9, line 9
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:9
//! we no longer need to add cacheWrites and cacheReads separately.Comment 10, line 10
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:10
//! This applies to both Anthropic and OpenAI protocols." Unlike legacy Cline UI'sComment 11, line 11
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:11
//! exclusive buckets, input_total = tokensIn is reported directly;Comment 12, line 12
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:12
//! cacheReads/cacheWrites are input subsets; uncached input remains unknown.Comment 13, line 13
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:13
//! - Upstream contextTokens = tokensIn + tokensOut for the last request;Comment 14, line 14
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:14
//! derive total_tokens using that same arithmetic.Comment 15, line 15
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:15
//! - Extension-calculated cost is written to text after merging finished results;Comment 16, line 16
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:16
//! treat it as estimated micro-USD, following Cline's cost rule.Comment 17, line 22
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:22
/// Four optional usage fields from Zoo api_req_started text JSON.Comment 18, line 23
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:23
/// tokensIn includes cache; cacheWrites/cacheReads are subsets.Comment 19, line 33
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:33
/// True when all four usage fields are absent from the record.Comment 20, line 43
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:43
// Task initializes zeros; OpenAI-compatible handling does not read nested cached_tokens.Comment 21, line 44
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:44
// Native zero cannot distinguish unused fields from unavailable usage; reported zero is unverified.Comment 22, line 49
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:49
// tokensIn already includes cache under both protocols; report input_total directly.Comment 23, line 50
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:50
// Exact cache containment is unverified; do not derive input_uncached.Comment 24, line 79
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:79
/// Convert positive finite USD cost to estimated micro-USD, following Cline's cost rule.Comment 25, line 80
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:80
/// Zero/negative/nonfinite/overflow returns None; callers retain unknown without truncation.Comment 26, line 111
desktop/src-tauri/crates/core/src/adapters/zoo/common.rs:111
// tokensIn includes cache: report input_total 100 without adding cache again.