pub mod activity;
pub mod ask;
pub mod auth;
pub mod ci;
pub mod desktop;
pub mod doctor;
pub mod flow;
pub mod home;
pub mod install;
pub mod list;
pub mod ops;
pub mod placement;
pub mod profile;
pub mod replay;
pub mod run;
pub mod runs;
mod runs_watch;
pub mod screenshot;
pub mod session;
pub mod ssh;
pub mod tokens;
pub mod top;
pub mod usage;
pub mod util;
pub mod waves;
pub(crate) mod work_catalog;
#[derive(Debug, Clone, Copy, Default)]
pub(crate) struct WorkFilter<'a> {
pub wave: Option<&'a str>,
pub project: Option<&'a str>,
pub task: Option<&'a str>,
}
impl WorkFilter<'_> {
pub(crate) fn matches(
&self,
wave: Option<&str>,
project: Option<&str>,
task: Option<&str>,
) -> bool {
self.wave.is_none_or(|expected| wave == Some(expected))
&& self
.project
.is_none_or(|expected| project == Some(expected))
&& self.task.is_none_or(|expected| task == Some(expected))
}
}