pub enum TerminalEvent {
Show 22 variants
AssistantText {
text: String,
},
ToolRequested {
name: String,
detail: Option<String>,
},
ToolCompleted {
name: String,
summary: String,
},
ToolDenied {
name: String,
reason: String,
},
KnowledgeSupplied {
outcome: KnowledgeOutcome,
contracts: Vec<SuppliedContractDto>,
dropped_by_bounds: usize,
},
KnowledgeLearned {
claim: ProposedClaimDto,
},
KnowledgeOverridden {
findings: Vec<OverrideFindingDto>,
},
KnowledgeLearningSkipped {
reason: LearningSkipReason,
},
Complete,
Result {
message: String,
},
QueryResult {
result: QueryResult,
},
Schema {
schema: SchemaTree,
},
NotImplemented {
feature: String,
},
Diagnostic {
message: String,
},
Error {
message: String,
},
ContractList {
contracts: Vec<ContractView>,
},
ContractShow {
contract: ContractView,
},
ContractChanged {
claim_id: String,
action: String,
status: String,
},
ContractRemembered {
claim_id: String,
object: String,
kind: String,
value: String,
column: Option<String>,
previous: Option<String>,
action: String,
status: String,
},
ContractQueue {
items: Vec<ContractQueueItemView>,
},
ContractImport {
report: ContractImportView,
},
ContractExport {
report: ContractExportView,
},
}Variants§
AssistantText
ToolRequested
ToolCompleted
ToolDenied
KnowledgeSupplied
What memory supplied to the turn, emitted once before the provider
call (spec P1c). Carries the outcome, the supplied contracts (claim DTOs,
no opaque identity), and the count the bounds dropped. Text is shaped in
[render_memory]; JSON/NDJSON fall out of the serde derive.
KnowledgeLearned
One fact SAYA came away from the turn knowing (AgentEvent::KnowledgeProposed).
Emitted once per learned claim, after the answer. Text is shaped in
[render_learned] and carries no claim id — learning is not something the
user asked for, so it must not hand them a hash to manage. JSON/NDJSON keep
the DTO whole, id included, for machine consumers.
Fields
claim: ProposedClaimDtoKnowledgeOverridden
A confirmed claim the turn’s SQL contradicted (spec A1). Emitted at
most once per turn, after the loop, carrying every finding the detector
raised. The finding says the SQL referenced columns, never that it
used them — the extractor cannot prove role. Text is shaped in
[render_memory]; JSON/NDJSON fall out of the serde derive.
Fields
findings: Vec<OverrideFindingDto>KnowledgeLearningSkipped
Post-turn extraction was skipped after the turn succeeded — no memory
was recorded, and the line says so (spec packet-54). Trails the answer.
Text is shaped in [render_memory]; JSON/NDJSON fall out of the serde
derive.
Fields
reason: LearningSkipReasonComplete
Result
QueryResult
Fields
result: QueryResultSchema
Fields
schema: SchemaTreeNotImplemented
Diagnostic
Error
ContractList
Fields
contracts: Vec<ContractView>ContractShow
Fields
contract: ContractViewContractChanged
ContractRemembered
Fields
ContractQueue
Fields
items: Vec<ContractQueueItemView>ContractImport
Fields
report: ContractImportViewContractExport
Fields
report: ContractExportViewTrait Implementations§
Source§impl Clone for TerminalEvent
impl Clone for TerminalEvent
Source§fn clone(&self) -> TerminalEvent
fn clone(&self) -> TerminalEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TerminalEvent
impl Debug for TerminalEvent
Source§impl PartialEq for TerminalEvent
impl PartialEq for TerminalEvent
Source§impl Serialize for TerminalEvent
impl Serialize for TerminalEvent
impl StructuralPartialEq for TerminalEvent
Auto Trait Implementations§
impl Freeze for TerminalEvent
impl RefUnwindSafe for TerminalEvent
impl Send for TerminalEvent
impl Sync for TerminalEvent
impl Unpin for TerminalEvent
impl UnsafeUnpin for TerminalEvent
impl UnwindSafe for TerminalEvent
Blanket Implementations§
impl<T> Allocation for T
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,
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