pub struct WorkspaceSourceRootStatus {
pub source_root: PathBuf,
pub state: WorkspaceState,
pub current_bytes: u64,
pub classpath_present: bool,
}Expand description
Aggregate status of a single source root inside a logical workspace.
Mirrors the per-source-root subset of WorkspaceStatus so cross-repo
MCP / LSP queries can render a per-source-root state without paying
the cost of the full daemon/status snapshot.
STEP_11_4 (workspace-aware-cross-repo, 2026-04-26) — adds the
classpath_present flag so consumers of daemon/workspaceStatus
know which source roots have JVM classpath analysis available
(<source_root>/.sqry/classpath/ exists) without having to make a
separate filesystem probe. The flag is per-source-root, never
aggregated, so a workspace mixing JVM and non-JVM source roots
reports accurate per-root granularity.
Fields§
§source_root: PathBufCanonical absolute path to the source root.
state: WorkspaceStatePer-source-root lifecycle state. Evicted is a valid (and
useful — partial eviction is observable here) value for a
source root that has been LRU’d out while sibling source roots
remain Loaded.
current_bytes: u64Live graph size for this source root, in bytes.
classpath_present: boolSTEP_11_4 — true when the daemon observed
<source_root>/.sqry/classpath/ as a directory at status time.
false when the directory is absent or the probe failed (the
daemon never blocks status on a classpath probe; failures
surface through the LSP-side WorkspaceIndexStatus.warnings
channel instead).
#[serde(default)] so v1 IPC payloads (which never carried the
flag) round-trip into false. skip_serializing_if = ... is
deliberately NOT applied — the flag must be serialised even
when false so consumers can distinguish “JVM-aware daemon
reporting no classpath” from “older daemon that does not yet
surface the flag”.
Trait Implementations§
Source§impl Clone for WorkspaceSourceRootStatus
impl Clone for WorkspaceSourceRootStatus
Source§fn clone(&self) -> WorkspaceSourceRootStatus
fn clone(&self) -> WorkspaceSourceRootStatus
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more