pub struct BgTaskRegistry { /* private fields */ }Implementations§
Source§impl BgTaskRegistry
impl BgTaskRegistry
pub fn new(progress_sender: SharedProgressSender) -> Self
Sourcepub fn is_session_owned_artifact_path(
&self,
session_id: &str,
path: &Path,
) -> bool
pub fn is_session_owned_artifact_path( &self, session_id: &str, path: &Path, ) -> bool
Return whether path is an exact artifact registered to session_id.
The requested path is canonicalized and compared with exact artifact
names under the task directory identity captured at registration time.
Deliberately do not grant access by bash-tasks directory prefix: a
prefix exception would expose unrelated files and could be widened
through symlinks or directory replacement.
pub fn set_harness(&self, harness: Harness)
pub fn set_db_pool(&self, conn: Arc<Mutex<Connection>>)
pub fn clear_db_pool(&self)
pub fn begin_wait_mode_session(&self, session_id: &str)
pub fn end_wait_mode_session(&self, session_id: &str)
pub fn signal_wait_mode_detach(&self, session_id: &str) -> bool
Sourcepub fn active_wait_session_count(&self) -> usize
pub fn active_wait_session_count(&self) -> usize
Number of sessions currently blocked in a wait: true foreground bash.
Diagnostic only (the detach-signal trace log).
pub fn take_wait_mode_detach(&self, session_id: &str) -> bool
Sourcepub fn set_compressor<F>(&self, compressor: F)
pub fn set_compressor<F>(&self, compressor: F)
Install the output-compression callback. Called by main.rs after
AppContext is constructed so that snapshot/completion paths can
invoke compress::compress_with_registry without holding a context
reference. When called multiple times, the latest installation wins.
pub fn set_compressor_with_exit_code<F>(&self, compressor: F)
pub fn configure_long_running_reminders(&self, enabled: bool, interval_ms: u64)
pub fn spawn( &self, command: &str, session_id: String, workdir: PathBuf, env: HashMap<String, String>, timeout: Option<Duration>, storage_dir: PathBuf, max_running: usize, notify_on_completion: bool, compressed: bool, project_root: Option<PathBuf>, ) -> Result<String, String>
pub fn spawn_pty( &self, command: &str, session_id: String, workdir: PathBuf, env: HashMap<String, String>, timeout: Option<Duration>, storage_dir: PathBuf, max_running: usize, notify_on_completion: bool, compressed: bool, project_root: Option<PathBuf>, rows: u16, cols: u16, ) -> Result<String, String>
pub fn write_pty( &self, task_id: &str, session_id: &str, input: &[u8], ) -> Result<usize, String>
pub fn replay_session( &self, storage_dir: &Path, session_id: &str, ) -> Result<(), String>
pub fn replay_session_for_project( &self, storage_dir: &Path, session_id: &str, project_root: &Path, ) -> Result<(), String>
pub fn register_watch( &self, task_id: String, pattern: WatchPattern, once: bool, ) -> Result<String, &'static str>
pub fn unregister_watch(&self, task_id: &str, watch_id: &str)
pub fn active_watch_count(&self, task_id: &str) -> usize
pub fn status( &self, task_id: &str, session_id: &str, project_root: Option<&Path>, storage_dir: Option<&Path>, preview_bytes: usize, ) -> Option<BgTaskSnapshot>
pub fn kill_relaxed( &self, task_id: &str, project_root: &Path, storage_dir: &Path, ) -> Result<BgTaskSnapshot, String>
pub fn maybe_gc_persisted(&self, storage_dir: &Path) -> Result<usize, String>
pub fn list(&self, preview_bytes: usize) -> Vec<BgTaskSnapshot>
pub fn kill( &self, task_id: &str, session_id: &str, ) -> Result<BgTaskSnapshot, String>
pub fn promote(&self, task_id: &str, session_id: &str) -> Result<bool, String>
pub fn cleanup_finished(&self, older_than: Duration)
pub fn drain_completions(&self) -> Vec<BgCompletion>
pub fn drain_completions_for_session( &self, session_id: Option<&str>, ) -> Vec<BgCompletion>
pub fn has_completions_for_session(&self, session_id: Option<&str>) -> bool
pub fn ack_completions_for_session( &self, session_id: Option<&str>, task_ids: &[String], ) -> Vec<String>
pub fn pending_completions_for_session( &self, session_id: &str, ) -> Vec<BgCompletion>
pub fn detach(&self)
pub fn shutdown(&self)
pub fn try_health_counts(&self) -> Option<BgTaskHealthCounts>
Sourcepub fn estimated_memory(&self) -> MemoryEstimate
pub fn estimated_memory(&self) -> MemoryEstimate
Estimate resident bash output caches without reading disk-backed task streams. Spill files are deliberately excluded because they do not occupy the daemon heap.
Trait Implementations§
Source§impl Clone for BgTaskRegistry
impl Clone for BgTaskRegistry
Source§fn clone(&self) -> BgTaskRegistry
fn clone(&self) -> BgTaskRegistry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for BgTaskRegistry
impl RefUnwindSafe for BgTaskRegistry
impl Send for BgTaskRegistry
impl Sync for BgTaskRegistry
impl Unpin for BgTaskRegistry
impl UnsafeUnpin for BgTaskRegistry
impl UnwindSafe for BgTaskRegistry
Blanket Implementations§
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>. 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> 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> 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 moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more