fix(deps): update rust crate adk-rust to v1#349
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.9.0→1.0.0Release Notes
zavora-ai/adk-rust (adk-rust)
v1.0.0Compare Source
Breaking
All
adk-*crates move from 0.9.x to 0.10.0 in lockstep.dependencies; now included since mistral.rs published to crates.io.
Uses workspace
rust-version(1.94.0).LlmResponseandLlmRequestgained public fields. These structsare not
#[non_exhaustive]and are constructed with struct literals downstream,so the additions below are breaking changes for external code that builds them
by struct literal (use
..Default::default(),LlmResponse::new, orLlmRequest::newto be forward-compatible):LlmResponse.interaction_id: Option<String>LlmRequest.previous_response_id: Option<String>FunctionResponsegained a publicidfield, and theModelenum (not
#[non_exhaustive]) gained new variants — both breaking for externalstruct-literal / exhaustive-match consumers.
Added
First stable release. All 39 workspace crates promoted to 1.0.0, committing to semantic versioning guarantees. This milestone marks ADK-Rust as production-ready with a stable public API.
adk-eval: Competitive parity features — 10 new capabilities bringing the
evaluation framework to parity with Braintrust, LangSmith, and Inspect AI:
reasoning via function-calling or JSON fallback. Lenient JSON extractor
handles markdown fences, raw JSON, and embedded JSON in prose.
embedding) — cosine similarity betweenembedding vectors using any
EmbeddingProviderimplementation.estimation with per-model pricing tables (Gemini, OpenAI, Anthropic, DeepSeek).
computes efficiency score (useful_calls / total_calls).
.eval-baseline.json,detect regressions with configurable tolerance.
ci-helpers) — JUnit XML generation for nativeCI integration (GitHub Actions, Jenkins, GitLab CI).
case_id validation and unmatched entry warnings.
statistics) — A/B agent comparison using Wilcoxonsigned-rank test for paired statistical significance.
extraction from production event logs (no LLM needed).
coherence, and topic drift (via StructuredJudge or EmbeddingScorer).
cargo adk evalsubcommand with--save-baseline,--check-regression,--format(table/json/junit),--concurrency, andnon-zero exit on regression detection.
cost_metrics,trace_analysis, andverdictsfields (backward-compatible with#[serde(default)]).metadatafield for generation tracking.embedding,ci-helpers,statistics.examples/eval_showcase/demonstrating all features.adk-enterprise — Native Rust SDK for the ADK-Rust Enterprise Managed Agent Service. Lightweight HTTP/SSE client with zero adk-* runtime dependencies. Supports any model (Gemini, OpenAI, Anthropic, DeepSeek, Ollama), auto-reconnect SSE streaming, automatic retry with exponential backoff, idempotency keys, and self-hosted deployments. (Experimental)
adk-graph: Functional API (feature:
functional) — Write agent workflows asnormal async Rust functions with automatic checkpointing, typed state reducers,
and interrupt/resume support. Includes:
#[entrypoint]and#[task]proc macros inadk-rust-macrosTaskContext— runtime context with state, checkpointing, streaming, interruptsReducedValue<T>— append-only state container persisted across checkpointsUntrackedValue<T>— transient state container excluded from checkpointsMessagesValue— chat messages with ID-based deduplicationTypedReducertrait with built-in reducers (Replace, Append, Merge)StateSchemaValidator— type-level validation at workflow boundariesExecutionLog— task completion tracking for resume-skip behavior"task::iter_N")functional_workflow,background_runs,cron_schedulingadk-server: Background Runs (feature:
background) — REST API for asyncworkflow execution.
POST /runssubmits a workflow,GET /runs/{id}polls status,DELETE /runs/{id}cancels. Status transitions: queued → running → completed/failed/cancelled.Timeout enforcement, retry with checkpoint resume,
BackgroundRunnerorchestrator.adk-server: Cron Scheduling (feature:
background) — Cron job managementwith REST endpoints (POST/GET/PATCH/DELETE /cron). Supports 5-field and 6-field
cron expressions, concurrency policies (skip/allow/queue), background scheduling
loop, pause/resume lifecycle management.
adk-model:
cancel_response()for OpenAI background responses — new methodon
OpenAIResponsesClientthat callsPOST /v1/responses/{id}/cancelto cancela running background response. Returns an
LlmResponsewith cancelled status.Useful for deep research and other long-running background requests.
adk-model: Six new OpenAI Responses API example crates — standalone examples
demonstrating WebSocket transport (
openai_ws_minimal), background mode(
openai_background), Conversations API (openai_conversations), built-intools (
openai_builtin_tools), deep research (openai_deep_research), andOpen Responses compatibility (
openai_open_responses).adk-anthropic: Claude Opus 4.8 support — added
claude-opus-4-8as thelatest flagship model. Adaptive thinking only (same as Opus 4.7).
adk-managed: Managed Agent Runtime (feature:
managed-runtime) — New crateproviding a provider-neutral, durable, resumable agent execution engine. The
runtime takes a declarative
ManagedAgentDef, builds a runnable agent, andoperates it as a checkpoint-resumable, event-streaming background session.
Key capabilities:
ManagedAgentRuntimetrait andDefaultManagedAgentRuntimeimplementationSessionEvent) — identical sequences acrossGemini, OpenAI, Anthropic, Ollama, and OpenAI-compatible providers
stream_events(from_seq)) for SSE reconnectionScriptedLlmtest double for deterministic offline testing ($0)managed-runtimeadk-anthropic: Managed Agents API client — full implementation of the
Anthropic Managed Agents API, feature-gated behind
managed-agents. Includes:adk-anthropic: Files API client — upload, download, list, get, delete files
for use with Messages API. Feature-gated behind
files. Auto MIME type inference.adk-mistralrs: Now publishable to crates.io — switched from git dependency
(
mistralrs = { git = "..." }) to crates.io (mistralrs = "0.8"). The crateis now a full workspace member and can be published alongside other ADK crates.
Supports 50+ model architectures including Gemma 4, Qwen 3.5, Llama 4, Voxtral,
GPT-OSS, and multimodal models with text/image/audio/video input.
cargo-adk:
managed-agentstemplate —cargo adk new my-agent --template managed-agentsscaffolds a complete Anthropic Managed Agents project with
--providersupportfor future multi-provider managed agents.
adk-model: Gemini OpenAI-compatible preset —
OpenAICompatibleConfig::gemini(api_key, model)targets Gemini's OpenAI-compatibility endpoint
(
https://generativelanguage.googleapis.com/v1beta/openai), letting callers onthe
openaifeature use aGEMINI_API_KEYand a Gemini model through theOpenAI Chat Completions wire format (chat, streaming, function calling,
structured output, reasoning effort). Two examples added:
gemini_openai_compat(direct client) andgemini_openai_compat_agent(the compat client driving a normal
LlmAgent/Runner).adk-gemini: Interactions API (Beta) — first-class support for Google's new
Interactions API, the forward direction for the Gemini API. Gated behind the
new
interactionsfeature flag (no new dependencies; additive to the existinggenerateContentsurface). Newadk_gemini::interactionsmodule with:Gemini::create_interaction()fluent builder — single-turn, streaming(
step.deltaevents), multimodal input, tools, structured output, andserver-side multi-turn via
previous_interaction_id.Gemini::get_interaction(),delete_interaction(),cancel_interaction()for the stored-interaction lifecycle.
Steptimeline (user input, model output, thought, function call,function result) with forward-compatible
Step::Otherfor server-side toolsteps; polymorphic
Content,Tool, andResponseFormat;Usage,InteractionStatus, and SSEInteractionSseEvent/StepDeltatypes.Interaction::output_text()andpending_function_calls()convenienceaccessors mirroring the official SDKs.
Api-Revision: 2026-05-20steps-schema contract.cargo run -p adk-gemini --features interactions --example interactions_basic.adk-gemini: Managed Agents & Environments — extends the Interactions API
with Google's Managed Agents (Antigravity, Deep Research) and sandbox
Environments. All code behind the existing
interactionsfeature flag:InteractionBuilder::antigravity()— one-call setup for the Antigravitycoding agent (
agent = "antigravity-preview-05-2026",store = true).InteractionBuilder::deep_research(agent_id)— one-call setup for DeepResearch agents (
background = true,store = true).InteractionBuilder::environment(env)— attach a sandbox (fresh"remote",resume by ID, or inline
EnvironmentConfigwith sources + network rules).InteractionBuilder::agent_config(config)— attach agent-specific config(Deep Research thinking summaries, visualization, collaborative planning).
Environment,EnvironmentConfig,EnvironmentSource(Inline, Repository,Gcs),
NetworkConfig(Disabled, Allowlist),NetworkRule,TransformMapwire types with full serde round-trip and
#[non_exhaustive].AgentConfigenum (DeepResearch + forward-compatibleOthervariant).constraints (no background, no unsupported gen params, no function tools, no
audio/video/document), Deep Research constraints (background required).
Gemini::create_agent()(fluent builder),list_agents(),get_agent(id),delete_agent(id).Gemini::download_environment(env_id)— download sandbox snapshot as tar.Interaction.environment_idresponse field for sandbox resume.TransformMapcustomDebugredacts credential values in logs.cargo run -p gemini-managed-agents(4 practical agents withstreaming, auto-cancellation, and live progress display).
adk-model / adk-rust:
gemini-interactionsfeature — forwards theInteractions API surface up the stack.
adk_model::gemini::interactionsre-exports the module when enabled.
adk-model: Gemini Interactions API runtime transport (Beta) — a transport
toggle on
GeminiModelroutes the standardLlmAgent/Runner/tool loopthrough Google's Interactions API instead of
generateContent, with no newagent type or rewritten agent setup. Gated behind the
gemini-interactionsfeature;
generateContentremains the default and recommended path. Highlights:GeminiModelbuilderuse_interactions_api(true)selects the transport;interaction_options(...)configuresstore, stateful continuation,background mode, and poll interval (
InteractionOptions/BackgroundMode).store=true, server-side stateful continuation (viaprevious_interaction_id), andbackground=truefor agent targets only.InteractionTarget) withInvalidInputerrorsnaming the supported models/agents for unsupported targets.
bypass_multi_tools_limit: built-in tools (Google Search, URL context, FileSearch) can be converted to function-calling tools
(
with_bypass_multi_tools_limit/ theBypassMultiToolsLimittrait) so theycoexist with custom function tools under the Interactions API.
response stream the runner consumes.
examples/gemini_interactions_agent/.adk-core: provider-neutral interaction continuity fields — new fields that
carry conversation continuity across providers (see Breaking above):
LlmResponse.interaction_id: Option<String>plus anEvent::interaction_id()accessor (mirrors ADK-Python's
event.interaction_id).LlmRequest.previous_response_id: Option<String>, populated byLlmAgentfrom the most recent event's
interaction_id; the Gemini Interactionstransport maps it to
previous_interaction_id, falling back to transcriptinput transparently when a stored interaction has expired.
adk-gemini: May 2026 GA models — Added
Modelvariants for models thatshipped or replaced previews in May 2026:
Gemini31FlashLite(gemini-3.1-flash-lite, GA) — replaces the preview,which was shut down May 25, 2026.
Gemini31FlashImage(gemini-3.1-flash-image, Nano Banana 2, GA).Gemini3ProImage(gemini-3-pro-image, Nano Banana Pro, GA).GeminiEmbedding2(gemini-embedding-2, GA multimodal embeddings).adk-gemini: pricing for Gemini 3.5 Flash —
GeminiPricing::GEMINI_35_FLASH($1.50/MTok input, $9.00/MTok output incl. thinking).
adk-gemini:
GeminiPricing::for_model(&Model)— maps aModelto itsstandard per-token pricing, returning
NoneforCustommodels.adk-gemini:
FunctionResponse.id+FunctionResponse::with_id()— echo theoriginating
FunctionCallid to satisfy Gemini 3.x strict response matching(id + name + count). adk-model's Gemini provider now forwards the call id
automatically.
Deprecated
Model::Gemini31FlashLitePreview— shut down May 25, 2026;use
Model::Gemini31FlashLite.Model::Gemini3ProImagePreview— shuts down June 25, 2026;use
Model::Gemini3ProImage.Changed
ThinkingLeveldocs — clarified thatMediumis the defaultfor Gemini 3.5 Flash while
Highremains the default for Gemini 3 FlashPreview and Gemini 3.1 Pro, and that
temperature/top_p/top_kare nolonger recommended for Gemini 3.x.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.