desktop/src-tauri/crates/core/src/adapters/zed/common.rs
Comment 1, line 1
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:1
//! Zed-specific helpers; independent layout: architecture.md#adapter-layout.Comment 2, line 2
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:2
//! Verified 1.22.0 / 76659a55 OpenAI-compatible mapping stores input after removing cache reads.Comment 3, line 3
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:3
//! For llm-usage-zhipu, positive buckets are reported; default zero/absence is unknown, no total derived.Comment 4, line 4
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:4
//! The bd74733 references and omitted-zero rules below describe only the historical hosted mapper.Comment 5, line 5
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:5
//! - map_zed/ZedUsage field references: official Zed bd74733, A38.Comment 6, line 6
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:6
//! - Read-only threads.db helpers copied from adapters/hermes/common.rs, matching kilo:Comment 7, line 7
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:7
//! read-only connections/Online Backup snapshots in independent Agent modules.Comment 8, line 8
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:8
//!Comment 9, line 9
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:9
//! Fixed source: zed-industries/zed bd747337d7be138834e20972b9e203c7b239cc47.Comment 10, line 10
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:10
//! - crates/agent/src/db.rs:451-483: threads id/summary/updated_at/data_type/data plusComment 11, line 11
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:11
//! migrated parent_id/folder_paths/folder_paths_order/created_at.Comment 12, line 12
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:12
//! data_type is json or zstd (db.rs:363-385); the referenced writer uses zstd (db.rs:536).Comment 13, line 13
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:13
//! - crates/language_model_core/src/language_model_core.rs:525-535 definesComment 14, line 14
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:14
//! four flat u64 TokenUsage fields: input_tokens/output_tokens/cache_creation_input_tokens/Comment 15, line 15
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:15
//! cache_read_input_tokens. Zero fields are omitted by skip_serializing_if,Comment 16, line 16
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:16
//! so the historical mapper treats absence as reported zero under that serialization rule.Comment 17, line 17
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:17
//! - Input/cache inclusion is not declared in that source; do not infer exclusive/subset buckets.Comment 18, line 18
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:18
//! The historical mapper reports them separately without deriving totals.Comment 19, line 19
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:19
//! - That hosted path accepts provider=="zed.dev" (A38). Within a turn, request_token_usageComment 20, line 20
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:20
//! overwrites earlier requests (thread.rs:2893 reset), so summing it misses usage.Comment 21, line 21
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:21
//! Use cumulative_token_usage for thread totals; request buckets reconcile only.Comment 22, line 26
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:26
/// Historical hosted TokenUsage in threads.data; omitted fields decode as zero.Comment 23, line 36
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:36
/// Checked four-bucket sum; each may reach MAX_TOKEN_VALUE.Comment 24, line 37
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:37
/// Overflow returns None so the caller can reject the thread rather than saturate.Comment 25, line 46
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:46
/// Historical hosted input/cache inclusion is unverified: uncached/derived totals remain None.Comment 26, line 47
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:47
/// Report all four buckets separately; the current Hermes mapper has independent verified rules.Comment 27, line 72
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:72
/// Zed 1.22.0 OpenAI chat mapping subtracts cache reads from prompt_tokens.Comment 28, line 73
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:73
/// Serialized default zeros lack a provider validity marker.Comment 29, line 100
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:100
// Independent read-only database helpers copied from adapters/hermes/common.rs.Comment 30, line 108
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:108
/// Read-only source access; busy-like probe failures switch to a staging snapshot.Comment 31, line 132
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:132
/// SQLite busy/locked/CANTOPEN errors prevent a successful consistency probe.Comment 32, line 142
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:142
/// Staging page/time/size limits and cleanup follow architecture.md.Comment 33, line 160
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:160
/// Open read-only; short busy_timeout bounds probe waits before a staging fallback.Comment 34, line 173
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:173
/// Online Backup creates a consistent system-temp snapshot without writing the source.Comment 35, line 204
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:204
// More means pages were copied; count those pages toward the size limit.Comment 36, line 215
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:215
// Busy/Locked or other non-exhaustive results retry without progress, within the timeout.Comment 37, line 216
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:216
// 2026-09-30 fix: retries previously added pages and raced the timeout, causingComment 38, line 217
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:217
// platform-specific false size-limit failures (Linux CI hit the page cap before timeout).Comment 39, line 236
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:236
/// Read threads.db directly; busy-like probe failures try staging, other errors propagate.Comment 40, line 237
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:237
/// Never write the source database.Comment 41, line 264
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:264
/// Short sqlite_master count probe, following kilo; it creates no explicit transaction.Comment 42, line 269
desktop/src-tauri/crates/core/src/adapters/zed/common.rs:269
/// Required threads columns from fixed creation/migrations; detection separately handles absent created_at.