pub struct LogicalWorkspaceWire {
pub workspace_id: WorkspaceId,
pub source_roots: Vec<PathBuf>,
pub source_root_bindings: Vec<SourceRootBinding>,
pub workspace_config_fingerprint: u64,
}Expand description
Wire-form summary of a LogicalWorkspace, attached to
DaemonHello / daemon/load payloads. Carries the workspace
identity plus the canonical source-root paths the client wants the
daemon to bind under a single grouping workspace_id.
member_folders and exclusions are explicitly not carried on
this wire shape — they are MCP / redaction-side concerns (Step 7 of
the workspace-aware-cross-repo plan), not daemon admission concerns.
The daemon only needs workspace_id + the source-root list to build
one crate::WorkspaceState-keyed entry per source root.
Fields§
§workspace_id: WorkspaceId32-byte BLAKE3-256 identity of the logical workspace.
source_roots: Vec<PathBuf>Canonical absolute source-root paths. The daemon constructs one
WorkspaceKey { workspace_id: Some(this id), source_root: <p>, .. }
per entry, all sharing the same workspace_id for grouping.
source_root_bindings: Vec<SourceRootBinding>STEP_11_4 — per-source-root bindings. Each entry’s path MUST
appear in Self::source_roots; the binding’s
config_fingerprint overrides the workspace-level default for
that root only. Empty in the common case so the wire stays
pre-STEP_11_4-compatible.
workspace_config_fingerprint: u64STEP_11_4 — workspace-level config fingerprint applied to any
source root that does not carry its own
SourceRootBinding::config_fingerprint override. 0 is the
“fingerprint not set” sentinel.
Trait Implementations§
Source§impl Clone for LogicalWorkspaceWire
impl Clone for LogicalWorkspaceWire
Source§fn clone(&self) -> LogicalWorkspaceWire
fn clone(&self) -> LogicalWorkspaceWire
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more