pub enum ScriptedUpdate {
Message(String),
Thought(String),
ReadFile(PathBuf),
Edit {
path: PathBuf,
old_text: Option<String>,
new_text: String,
},
Write {
path: PathBuf,
content: String,
},
Permission {
summary: String,
command: Vec<String>,
},
End,
Stop(StopReason),
Fail(String),
}Expand description
One thing the scripted agent does, in the order a real turn would do it.
Session and proposal ids are filled in at replay time, so scripts stay readable and do not have to predict identifiers the client hands out.
Variants§
Message(String)
Streamed assistant text.
Thought(String)
Streamed reasoning.
ReadFile(PathBuf)
Ask the client for a file. Replay pauses here until the client answers, which is what makes the read/propose ordering in ADR-0007 §5 testable at all.
Edit
Propose an edit, as whole-file before/after — the shape ACP actually uses.
Write
Write a file through the client — what an agent does when it edits. Carries no base text, because the client owns the buffer and the agent does not.
Permission
Ask permission to run a command.
End
End the turn normally.
Stop(StopReason)
End the turn some other way.
Fail(String)
Fail the turn.
Trait Implementations§
Source§impl Clone for ScriptedUpdate
impl Clone for ScriptedUpdate
Source§fn clone(&self) -> ScriptedUpdate
fn clone(&self) -> ScriptedUpdate
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ScriptedUpdate
impl Debug for ScriptedUpdate
impl Eq for ScriptedUpdate
Source§impl PartialEq for ScriptedUpdate
impl PartialEq for ScriptedUpdate
impl StructuralPartialEq for ScriptedUpdate
Auto Trait Implementations§
impl Freeze for ScriptedUpdate
impl RefUnwindSafe for ScriptedUpdate
impl Send for ScriptedUpdate
impl Sync for ScriptedUpdate
impl Unpin for ScriptedUpdate
impl UnsafeUnpin for ScriptedUpdate
impl UnwindSafe for ScriptedUpdate
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
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.