Skip to content

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 JSON

Comment 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's

Comment 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.