ext/extension-api/src/contributors/thread_lifecycle.rs
43 lines
use crate::ExtensionData;use codex_protocol::protocol::SessionSource;use codex_protocol::protocol::TurnEnvironmentSelection;/// Input supplied when the host starts a runtime for a thread.pub struct ThreadStartInput<'a, C> { /// Host configuration visible at thread start. pub config: &'a C, /// Source that created the session for this thread. pub session_source: &'a SessionSource, /// Whether persistent thread-scoped state is available for this thread. pub persistent_thread_state_available: bool, /// Execution environments selected for this thread. pub environments: &'a [TurnEnvironmentSelection], /// Store scoped to the host session runtime. pub session_store: &'a ExtensionData, /// Store scoped to this thread runtime. pub thread_store: &'a ExtensionData,}/// Input supplied when the host resumes an existing thread.pub struct ThreadResumeInput<'a> { /// Store scoped to the host session runtime. pub session_store: &'a ExtensionData, /// Store scoped to this thread runtime. pub thread_store: &'a ExtensionData,}/// Input supplied when the host has no immediately pending thread work.pub struct ThreadIdleInput<'a> { /// Store scoped to the host session runtime. pub session_store: &'a ExtensionData, /// Store scoped to this thread runtime. pub thread_store: &'a ExtensionData,}/// Input supplied when the host stops a thread runtime.pub struct ThreadStopInput<'a> { /// Store scoped to the host session runtime. pub session_store: &'a ExtensionData, /// Store scoped to this thread runtime. pub thread_store: &'a ExtensionData,}