pub enum SourcesCommand {
List {
verbose: bool,
json: bool,
},
Add {
url: String,
name: Option<String>,
preset: Option<String>,
paths: Vec<String>,
no_test: bool,
},
Remove {
name: String,
purge: bool,
yes: bool,
},
Doctor {
source: Option<String>,
json: bool,
},
Sync {
source: Option<Vec<String>>,
no_index: bool,
verbose: bool,
dry_run: bool,
json: bool,
},
ArtifactManifest {
index_path: Option<PathBuf>,
data_dir: Option<PathBuf>,
write: bool,
verify_existing: bool,
expected_manifest: Option<PathBuf>,
json: bool,
},
Mappings(MappingsAction),
Agents(AgentsAction),
Discover {
preset: String,
skip_existing: bool,
json: bool,
},
Setup {
dry_run: bool,
non_interactive: bool,
hosts: Option<Vec<String>>,
skip_install: bool,
skip_index: bool,
skip_sync: bool,
timeout: u64,
resume: bool,
verbose: bool,
json: bool,
},
}Expand description
Subcommands for managing remote sources (P5.x)
Variants§
List
List configured sources
Add
Add a new remote source
Fields
Remove
Remove a configured source
Fields
Doctor
Diagnose source connectivity and configuration issues
Fields
Sync
Synchronize sessions from remote sources
Fields
ArtifactManifest
Build or write a lexical artifact evidence manifest for remote exchange
Fields
Mappings(MappingsAction)
Manage path mappings for a source (P6.3)
Agents(AgentsAction)
Manage persisted agent indexing exclusions
Discover
Auto-discover SSH hosts from ~/.ssh/config
Fields
Setup
Interactive wizard to discover, configure, and set up remote sources.
This wizard automates configuring cass to search across multiple machines. It discovers SSH hosts from ~/.ssh/config, checks each for existing cass installations and agent session data, then guides you through selecting which machines to configure for remote search.
§Workflow Phases
- Discovery: Parses ~/.ssh/config to find configured hosts
- Probing: Connects to each host via SSH to check cass status and data
- Selection: Interactive selection of which hosts to configure
- Installation: Installs cass on hosts that don’t have it (optional)
- Indexing: Runs
cass indexon remotes (optional) - Configuration: Generates and saves sources.toml entries
- Sync: Downloads session data to local machine (optional)
§Examples
# Interactive wizard (recommended for first-time setup)
cass sources setup
# Configure specific hosts only
cass sources setup --hosts css,csd,yto
# Preview without making changes
cass sources setup --dry-run
# Resume an interrupted setup
cass sources setup --resume
# Non-interactive for scripting (uses auto-detected defaults)
cass sources setup --non-interactive --hosts css,csd
# Skip installation and indexing, just configure
cass sources setup --hosts css --skip-install --skip-index
# JSON output for automation
cass sources setup --json --hosts css§State and Resume
If setup is interrupted (Ctrl+C, connection lost), state is saved to
~/.cache/cass/setup_state.json. Resume with cass sources setup --resume.
§See Also
cass sources list- List configured sourcescass sources sync- Sync data from sourcescass sources discover- Just discover hosts (no setup)cass robot-docs sources- Machine-readable sources documentation
Trait Implementations§
Source§impl Clone for SourcesCommand
impl Clone for SourcesCommand
Source§fn clone(&self) -> SourcesCommand
fn clone(&self) -> SourcesCommand
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SourcesCommand
impl Debug for SourcesCommand
Source§impl FromArgMatches for SourcesCommand
impl FromArgMatches for SourcesCommand
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for SourcesCommand
impl Subcommand for SourcesCommand
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for SourcesCommand
impl RefUnwindSafe for SourcesCommand
impl Send for SourcesCommand
impl Sync for SourcesCommand
impl Unpin for SourcesCommand
impl UnsafeUnpin for SourcesCommand
impl UnwindSafe for SourcesCommand
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more