pub struct AdkError {
pub component: ErrorComponent,
pub category: ErrorCategory,
pub code: &'static str,
pub message: String,
pub retry: RetryHint,
pub details: Box<ErrorDetails>,
/* private fields */
}Available on crate feature
tools only.Expand description
Unified structured error type for all ADK-Rust operations.
§Migration from enum syntax
Before (0.4.x enum):
ⓘ
// Construction
Err(AdkError::Model("rate limited".into()))
// Matching
matches!(err, AdkError::Model(_))After (0.5.x struct):
use adk_core::{AdkError, ErrorComponent, ErrorCategory};
// Structured construction
let err = AdkError::new(
ErrorComponent::Model,
ErrorCategory::RateLimited,
"model.openai.rate_limited",
"rate limited",
);
assert!(err.is_retryable()); // RateLimited → should_retry = true
// Backward-compat construction (for migration)
let err = AdkError::model("rate limited");
assert!(err.is_model());Fields§
§component: ErrorComponent§category: ErrorCategory§code: &'static str§message: String§retry: RetryHint§details: Box<ErrorDetails>Implementations§
Source§impl AdkError
impl AdkError
pub fn new( component: ErrorComponent, category: ErrorCategory, code: &'static str, message: impl Into<String>, ) -> AdkError
pub fn with_source(self, source: impl Error + Send + Sync + 'static) -> AdkError
pub fn with_retry(self, retry: RetryHint) -> AdkError
pub fn with_details(self, details: ErrorDetails) -> AdkError
pub fn with_upstream_status(self, status_code: u16) -> AdkError
pub fn with_request_id(self, request_id: impl Into<String>) -> AdkError
pub fn with_provider(self, provider: impl Into<String>) -> AdkError
Source§impl AdkError
impl AdkError
pub fn not_found( component: ErrorComponent, code: &'static str, message: impl Into<String>, ) -> AdkError
pub fn rate_limited( component: ErrorComponent, code: &'static str, message: impl Into<String>, ) -> AdkError
pub fn internal( component: ErrorComponent, code: &'static str, message: impl Into<String>, ) -> AdkError
pub fn timeout( component: ErrorComponent, code: &'static str, message: impl Into<String>, ) -> AdkError
Source§impl AdkError
impl AdkError
pub fn agent(message: impl Into<String>) -> AdkError
pub fn model(message: impl Into<String>) -> AdkError
pub fn tool(message: impl Into<String>) -> AdkError
pub fn session(message: impl Into<String>) -> AdkError
pub fn memory(message: impl Into<String>) -> AdkError
pub fn config(message: impl Into<String>) -> AdkError
pub fn artifact(message: impl Into<String>) -> AdkError
Source§impl AdkError
impl AdkError
pub fn is_retryable(&self) -> bool
pub fn is_not_found(&self) -> bool
pub fn is_rate_limited(&self) -> bool
pub fn is_timeout(&self) -> bool
Trait Implementations§
Source§impl Error for AdkError
impl Error for AdkError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<AnthropicApiError> for AdkError
impl From<AnthropicApiError> for AdkError
Source§fn from(err: AnthropicApiError) -> AdkError
fn from(err: AnthropicApiError) -> AdkError
Converts to this type from the input type.
Source§impl From<ConversionError> for AdkError
impl From<ConversionError> for AdkError
Source§fn from(err: ConversionError) -> AdkError
fn from(err: ConversionError) -> AdkError
Converts to this type from the input type.
Source§impl From<GraphError> for AdkError
impl From<GraphError> for AdkError
Source§fn from(err: GraphError) -> AdkError
fn from(err: GraphError) -> AdkError
Converts to this type from the input type.
Source§impl From<GuardrailError> for AdkError
impl From<GuardrailError> for AdkError
Source§fn from(err: GuardrailError) -> AdkError
fn from(err: GuardrailError) -> AdkError
Converts to this type from the input type.
Source§impl From<IdentityError> for AdkError
impl From<IdentityError> for AdkError
Source§fn from(err: IdentityError) -> AdkError
fn from(err: IdentityError) -> AdkError
Converts to this type from the input type.
Source§impl From<PaymentsAuthError> for AdkError
impl From<PaymentsAuthError> for AdkError
Source§fn from(value: PaymentsAuthError) -> AdkError
fn from(value: PaymentsAuthError) -> AdkError
Converts to this type from the input type.
Source§impl From<PaymentsKernelError> for AdkError
impl From<PaymentsKernelError> for AdkError
Source§fn from(value: PaymentsKernelError) -> AdkError
fn from(value: PaymentsKernelError) -> AdkError
Converts to this type from the input type.
Source§fn from(err: SharedStateError) -> AdkError
fn from(err: SharedStateError) -> AdkError
Converts to this type from the input type.
Source§impl From<SkillError> for AdkError
impl From<SkillError> for AdkError
Source§fn from(err: SkillError) -> AdkError
fn from(err: SkillError) -> AdkError
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for AdkError
impl !RefUnwindSafe for AdkError
impl Send for AdkError
impl Sync for AdkError
impl Unpin for AdkError
impl UnsafeUnpin for AdkError
impl !UnwindSafe for AdkError
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.