Skip to content

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs

Comment 1, line 1

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:1

//! Cline adapter; see architecture.md#adapter-layout.

Comment 2, line 2

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:2

//! - Stable entry point implements the shared interface and re-exports modules.

Comment 3, line 3

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:3

//! - detect checks legacy UI arrays and native SDK VS Code sessions independently.

Comment 4, line 4

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:4

//! - versions separates the legacy document format from SDK schema 1.

Comment 5, line 5

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:5

//! - common maps the legacy four exclusive token buckets and cost.

Comment 6, line 6

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:6

//!

Comment 7, line 7

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:7

//! SDK reference: 4.1.22 commit f58bc118 with checked real GUI/API/native samples.

Comment 8, line 8

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:8

//! Rewritable session metadata origin.version cannot identify all records; SDK uses latest_fallback.

Comment 9, line 9

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:9

//! Metrics can merge a run/retries; record observations without deriving underlying call counts.

Comment 10, line 10

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:10

//! Legacy reference: commit dcf8c3c33596e3d561a941202297c564a1cbcd49, A03,

Comment 11, line 11

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:11

//! source/documentation implementation awaiting native checks; local 2026-09-25 inventory was not_found.

Comment 12, line 12

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:12

//! - apps/vscode/src/shared/getApiMetrics.ts reads type="say" messages with

Comment 13, line 13

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:13

//! say in {api_req_started, deleted_api_reqs, subagent_usage}.

Comment 14, line 14

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:14

//! text is JSON with optional tokensIn/tokensOut/cacheWrites/cacheReads/cost;

Comment 15, line 15

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:15

//! each field is checked with typeof number. api_req_started incorporates its

Comment 16, line 16

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:16

//! matching api_req_finished; not every say message is a request. Four buckets are exclusive:

Comment 17, line 17

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:17

//! getLastApiReqTotalTokens sums tokensIn + tokensOut + cacheWrites

Comment 18, line 18

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:18

//! + cacheReads.

Comment 19, line 19

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:19

//!

Comment 20, line 20

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:20

//! compaction tokensBefore/tokensAfter are SDK estimates around chars/4

Comment 21, line 21

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:21

//! for the context display, excluded from usage.

Comment 22, line 22

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:22

//! - apps/vscode/src/core/storage/disk.ts writes tasks/<taskId>/

Comment 23, line 23

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:23

//! ui_messages.json as a whole JSON array under host globalStorage.

Comment 24, line 24

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:24

//! The VS Code extension identifier is saoudrizwan.claude-dev.

Comment 25, line 37

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:37

/// VS Code extension globalStorage name; disk.ts uses host globalStorageFsPath for tasks.

Comment 26, line 42

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:42

/// Strip UTF-8 BOM for detection/whole-file parsing; return bytes unchanged if no BOM.

Comment 27, line 47

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:47

/// Stateless Cline adapter.

Comment 28, line 62

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:62

/// Legacy manual roots accept globalStorage containing tasks, or a directory named tasks.

Comment 29, line 132

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:132

// VS Code globalStorage defaults: Windows %APPDATA%/Code, Unix XDG and macOS

Comment 30, line 133

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:133

// ~/Library/Application Support/Code. APPDATA/XDG_CONFIG_HOME resolve host paths,

Comment 31, line 134

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:134

// rather than defining Cline-specific environment overrides.

Comment 32, line 174

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:174

// SDK files are discovered independently; legacy task roots use tasks itself or a tasks child.

Comment 33, line 176

desktop/src-tauri/crates/core/src/adapters/cline/mod.rs:176

// Bounded depth 2 covers legacy tasks/<taskId>/ui_messages.json.