pub struct AnswerTask {
pub question_id: QuestionId,
pub question: String,
pub basis: AnswerBasis,
pub case_refs: Vec<CaseRef>,
pub proposed_diff_ref: Option<String>,
pub required_sources: SourcePolicy,
pub asked_at: Option<TextSpan>,
pub enumerations: Vec<DomainEnumeration>,
pub capabilities: Vec<Capability>,
pub continues_previous: bool,
}Expand description
A question to answer, with its explicit state basis (spec §19.1).
Fields§
§question_id: QuestionIdStable id within the turn.
question: StringThe question.
basis: AnswerBasisState basis the reducer decided (it may override the model’s preference).
case_refs: Vec<CaseRef>Cases the question is about.
proposed_diff_ref: Option<String>Reference to a proposed diff when basis is ProposedState.
required_sources: SourcePolicySource requirements.
asked_at: Option<TextSpan>Where in the normalized message the question’s words are.
The question’s text is derived from that span, and carrying the span
too is what lets composition keep those words away from the stage that
must not answer them. None for a task rebuilt from a replay record,
where the message is not at hand.
enumerations: Vec<DomainEnumeration>Complete value sets a workflow declared for what this question is about.
Non-empty means the deterministic layer already holds the answer, so composition settles the question from these rather than asking a model to describe a set it would have to remember.
capabilities: Vec<Capability>What the user can do now, for a question about that.
continues_previous: boolWhether it follows up the assistant’s last message.
Trait Implementations§
Source§impl Clone for AnswerTask
impl Clone for AnswerTask
Source§impl Debug for AnswerTask
impl Debug for AnswerTask
Source§impl<'de> Deserialize<'de> for AnswerTask
impl<'de> Deserialize<'de> for AnswerTask
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>,
impl Eq for AnswerTask
Source§impl PartialEq for AnswerTask
impl PartialEq for AnswerTask
Source§impl Serialize for AnswerTask
impl Serialize for AnswerTask
impl StructuralPartialEq for AnswerTask
Auto Trait Implementations§
impl Freeze for AnswerTask
impl RefUnwindSafe for AnswerTask
impl Send for AnswerTask
impl Sync for AnswerTask
impl Unpin for AnswerTask
impl UnsafeUnpin for AnswerTask
impl UnwindSafe for AnswerTask
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<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
key and return true if they are equal.