Skip to content

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs

Comment 1, line 1

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:1

//! Gemini detection: rewritten session JSON fingerprints (architecture.md#adapter-layout).

Comment 2, line 2

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:2

//!

Comment 3, line 3

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:3

//! Gemini session JSON has no version field. Use document-level format

Comment 4, line 4

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:4

//! [`super::versions::GEMINI_FORMAT_VERSION`]; there is no version dispatch

Comment 5, line 5

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:5

//! or unknown-version fallback as in the Codex registry.

Comment 6, line 6

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:6

//!

Comment 7, line 7

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:7

//! Detection rules (V17 rejects unrecognized shapes):

Comment 8, line 8

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:8

//! - Read the first 64 KiB, strip UTF-8 BOM; a nonobject prefix is UnknownFormat.

Comment 9, line 9

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:9

//! Unrecognized files are not parsed by guessing their format.

Comment 10, line 10

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:10

//! - Missing sessionId/messages fingerprint is UnknownFormat.

Comment 11, line 11

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:11

//! - sessionId alone may indicate an initial write: Pending, then probe next round.

Comment 12, line 12

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:12

//! - A matching fingerprint is Supported with the registered document format;

Comment 13, line 13

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:13

//! basis is KnownVersion.

Comment 14, line 24

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:24

/// Detection window: first 64 KiB, without parsing the entire file.

Comment 15, line 27

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:27

/// Detect one session JSON file.

Comment 16, line 28

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:28

/// A matching fingerprint selects the fixed document format with KnownVersion.

Comment 17, line 30

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:30

// Transient read failure (lock/timeout/disappearance) is Pending for the next probe.

Comment 18, line 47

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:47

// Without a native version field, select the registered document format session-doc-1

Comment 19, line 48

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:48

// with KnownVersion; this format has no unknown-version state.

Comment 20, line 55

desktop/src-tauri/crates/core/src/adapters/gemini/detect.rs:55

// sessionId alone may indicate an incomplete initial write; probe again next round.