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",
);
// Backward-compat construction (for migration)
let err = AdkError::model("rate limited");
// Checking
assert!(err.is_model());
assert!(err.is_retryable()); // reads retry.should_retryFields§
§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<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.
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> 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> 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::RequestSource§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.