pub enum InitializeType {
FirstCall,
UserAskedModeChange,
ResetShell,
UserAskedChangeWorkspace,
Status,
}Expand description
Type of shell environment initialization
This enum represents the different ways the Initialize tool can be called, depending on the current state of the conversation and what the user is requesting.
Variants§
FirstCall
Initial call at the start of a conversation
This should be used for the first Initialize call in a conversation. It sets up a new shell environment with the specified parameters.
UserAskedModeChange
User requested to change the mode
This should be used when the user asks to switch between modes
(e.g., from “wcgw” to “architect” or “code_writer”).
ResetShell
Reset the shell environment due to issues
This should be used only after BashCommand reports a shell-runtime failure.
A repeated reset inside the recovery cooldown preserves the current PTY
unless a new runtime failure was observed.
UserAskedChangeWorkspace
User requested to change the workspace
This should be used when the user asks to switch to a different workspace or project directory during the conversation.
Status
Read-only probe of an existing session: reports its workspace, cwd,
mode, runtime and whether a command is still running. Never creates,
resets or reconfigures anything; an unknown session answers
needs_initialize with the safe next call.
Trait Implementations§
Source§impl Clone for InitializeType
impl Clone for InitializeType
Source§impl Debug for InitializeType
impl Debug for InitializeType
Source§impl<'de> Deserialize<'de> for InitializeType
impl<'de> Deserialize<'de> for InitializeType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for InitializeType
impl JsonSchema for InitializeType
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for InitializeType
impl PartialEq for InitializeType
Source§impl Serialize for InitializeType
impl Serialize for InitializeType
impl StructuralPartialEq for InitializeType
Auto Trait Implementations§
impl Freeze for InitializeType
impl RefUnwindSafe for InitializeType
impl Send for InitializeType
impl Sync for InitializeType
impl Unpin for InitializeType
impl UnsafeUnpin for InitializeType
impl UnwindSafe for InitializeType
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 more