pub enum Phase {
Execute,
Plan,
}Expand description
Which half of the work a run is doing.
The difference from crate::config::PermissionMode::ReadOnly is the whole
point, and it is worth stating: read-only mode offers a writing tool and
refuses the call. Planning does not offer it at all. A tool absent from the
request cannot be argued for, talked around, or reached by a model that has
seen it in an earlier turn — which is what “structural” has to mean if it is
to survive contact with a persuasive transcript.
Both halves are enforced. Filtering only the advertised list would leave a model free to call a tool it remembers from before the phase changed, so dispatch refuses too.
Variants§
Execute
Everything is available.
Plan
Read-only tools only. For working out what to do before doing it.
Implementations§
Trait Implementations§
impl Copy for Phase
Source§impl<'de> Deserialize<'de> for Phase
impl<'de> Deserialize<'de> for Phase
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Phase
impl StructuralPartialEq for Phase
Auto Trait Implementations§
impl Freeze for Phase
impl RefUnwindSafe for Phase
impl Send for Phase
impl Sync for Phase
impl Unpin for Phase
impl UnsafeUnpin for Phase
impl UnwindSafe for Phase
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
Mutably borrows from an owned value. Read more