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 */
}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
Available on crate feature
tools only.pub fn with_source(self, source: impl Error + Send + Sync + 'static) -> AdkError
Available on crate feature
tools only.pub fn with_retry(self, retry: RetryHint) -> AdkError
Available on crate feature
tools only.pub fn with_details(self, details: ErrorDetails) -> AdkError
Available on crate feature
tools only.pub fn with_upstream_status(self, status_code: u16) -> AdkError
Available on crate feature
tools only.pub fn with_request_id(self, request_id: impl Into<String>) -> AdkError
Available on crate feature
tools only.pub fn with_provider(self, provider: impl Into<String>) -> AdkError
Available on crate feature
tools only.Source§impl AdkError
impl AdkError
pub fn not_found( component: ErrorComponent, code: &'static str, message: impl Into<String>, ) -> AdkError
Available on crate feature
tools only.pub fn rate_limited( component: ErrorComponent, code: &'static str, message: impl Into<String>, ) -> AdkError
Available on crate feature
tools only.Available on crate feature
tools only.pub fn internal( component: ErrorComponent, code: &'static str, message: impl Into<String>, ) -> AdkError
Available on crate feature
tools only.pub fn timeout( component: ErrorComponent, code: &'static str, message: impl Into<String>, ) -> AdkError
Available on crate feature
tools only.Available on crate feature
tools only.Source§impl AdkError
impl AdkError
pub fn agent(message: impl Into<String>) -> AdkError
Available on crate feature
tools only.pub fn model(message: impl Into<String>) -> AdkError
Available on crate feature
tools only.pub fn tool(message: impl Into<String>) -> AdkError
Available on crate feature
tools only.pub fn session(message: impl Into<String>) -> AdkError
Available on crate feature
tools only.pub fn memory(message: impl Into<String>) -> AdkError
Available on crate feature
tools only.pub fn config(message: impl Into<String>) -> AdkError
Available on crate feature
tools only.pub fn artifact(message: impl Into<String>) -> AdkError
Available on crate feature
tools only.Source§impl AdkError
impl AdkError
pub fn is_agent(&self) -> bool
Available on crate feature
tools only.pub fn is_model(&self) -> bool
Available on crate feature
tools only.pub fn is_tool(&self) -> bool
Available on crate feature
tools only.pub fn is_session(&self) -> bool
Available on crate feature
tools only.pub fn is_artifact(&self) -> bool
Available on crate feature
tools only.pub fn is_memory(&self) -> bool
Available on crate feature
tools only.pub fn is_config(&self) -> bool
Available on crate feature
tools only.Source§impl AdkError
impl AdkError
pub fn is_retryable(&self) -> bool
Available on crate feature
tools only.pub fn is_not_found(&self) -> bool
Available on crate feature
tools only.Available on crate feature
tools only.pub fn is_rate_limited(&self) -> bool
Available on crate feature
tools only.pub fn is_timeout(&self) -> bool
Available on crate feature
tools only.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.