pub enum RuntimeError {
Show 35 variants
ProviderNotFound(Option<ProviderId>),
NoModelsAvailable(ProviderId),
FailedToSendRequest(ProviderError),
FailedToListModels(ProviderError),
FailedToCreateProviderSessionScope(ProviderError),
ProviderSessionScopeIdentityMismatch {
expected: ProviderId,
actual: ProviderId,
},
FailedToStreamResponse(ProviderError),
FailedToCompactHistory(ProviderError),
FailedToPersistTranscript(Error),
FailedToSerializeTranscript(Error),
FailedToLoadTasks(Error),
FailedToWriteTasks(Error),
FailedToSerializeTasks(Error),
FailedToRestoreTasks(Error),
FailedToLoadTeam(Error),
FailedToWriteTeam(Error),
FailedToSerializeTeam(Error),
FailedToDeserializeTeam(Error),
InvalidTask(String),
InvalidTeam(String),
OperationDenied(String),
Store(String),
Branch(BranchError),
LeaseUnavailable(String),
Cancelled,
DeadlineExceeded,
ToolBudgetExceeded(usize),
ModelBudgetExceeded(usize),
MaxRoundsExceeded(usize),
EmptyAssistantResponse,
NoResumableTurn,
NoInterruptedTurn,
InvalidToolUseInput {
id: String,
name: String,
source: Error,
},
MalformedProviderEvent(String),
SubagentTemplateMismatch {
template_source: String,
receiver: String,
},
}Expand description
Everything writing a ToolAuthorizer of one’s own makes a caller name.
The same rule as ToolSideEffectLevel above, applied to the seam
PreparedRun::with_tool_authorizer
opened: a host that installs an authorizer on a live session has to spell
the trait, the request it is handed, the decision it returns and the error
it may return instead, and none of those should cost it a mentra dependency
of its own — pinned to whatever version basis happens to resolve.
These stay in this module rather than joining ApprovalGate at the crate
root. RuntimeError is mentra’s runtime error and cannot sit unqualified
beside basis’s own RunError without the two reading as
a pair, and the five are only meaningful together — an authorizer names all
of them or none.
Errors produced while configuring, running, or recovering Mentra agents.
Variants§
ProviderNotFound(Option<ProviderId>)
NoModelsAvailable(ProviderId)
FailedToSendRequest(ProviderError)
FailedToListModels(ProviderError)
FailedToCreateProviderSessionScope(ProviderError)
ProviderSessionScopeIdentityMismatch
FailedToStreamResponse(ProviderError)
FailedToCompactHistory(ProviderError)
FailedToPersistTranscript(Error)
FailedToSerializeTranscript(Error)
FailedToLoadTasks(Error)
FailedToWriteTasks(Error)
FailedToSerializeTasks(Error)
FailedToRestoreTasks(Error)
FailedToLoadTeam(Error)
FailedToWriteTeam(Error)
FailedToSerializeTeam(Error)
FailedToDeserializeTeam(Error)
InvalidTask(String)
InvalidTeam(String)
OperationDenied(String)
Store(String)
Branch(BranchError)
Cancelled
DeadlineExceeded
ToolBudgetExceeded(usize)
ModelBudgetExceeded(usize)
MaxRoundsExceeded(usize)
EmptyAssistantResponse
NoResumableTurn
NoInterruptedTurn
Agent::continue_interrupted
on an agent whose transcript does not end inside an interrupted turn.
InvalidToolUseInput
MalformedProviderEvent(String)
SubagentTemplateMismatch
Implementations§
Source§impl RuntimeError
impl RuntimeError
Sourcepub fn category(&self) -> ErrorCategory
pub fn category(&self) -> ErrorCategory
Returns the ErrorCategory for this error, classifying it as
retryable, terminal, or degraded.
Trait Implementations§
Source§impl Debug for RuntimeError
impl Debug for RuntimeError
Source§impl Display for RuntimeError
impl Display for RuntimeError
Source§impl Error for RuntimeError
impl Error for RuntimeError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()