pub enum ResearchUpdate {
Stage {
label: String,
detail: String,
},
SurveyReady {
questions: Vec<String>,
round: u8,
},
PlanReady {
questions: Vec<PlanQuestion>,
rework: bool,
},
Done(Result<String, String>),
}Expand description
A background research pipeline update: a phase label (+ progress detail), the survey’s clarifying questions awaiting a chat reply, the Planner’s sub-questions awaiting approval, or the final report/error.
Variants§
Stage
Successive updates within one stage share a label so the UI/db
replace one row in place instead of appending per tick.
SurveyReady
The scoping agent’s clarifying questions; the pipeline is parked
awaiting a chat reply (reply_to_survey_gate). round is 1-based
(max MAX_SURVEY_ROUNDS).
PlanReady
The Planner finished; the pipeline is parked awaiting a chat reply:
“approve” runs the questions, edits get folded in by the approval
agent and re-presented (rework = true) once, capped.
Done(Result<String, String>)
Trait Implementations§
Source§impl Clone for ResearchUpdate
impl Clone for ResearchUpdate
Source§fn clone(&self) -> ResearchUpdate
fn clone(&self) -> ResearchUpdate
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 From<ResearchUpdate> for WireResearchUpdate
impl From<ResearchUpdate> for WireResearchUpdate
Source§fn from(u: ResearchUpdate) -> Self
fn from(u: ResearchUpdate) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ResearchUpdate
impl RefUnwindSafe for ResearchUpdate
impl Send for ResearchUpdate
impl Sync for ResearchUpdate
impl Unpin for ResearchUpdate
impl UnsafeUnpin for ResearchUpdate
impl UnwindSafe for ResearchUpdate
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.