Skip to content

fix(deps): update rust crate adk-rust to v1#349

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/adk-rust-1.x
Open

fix(deps): update rust crate adk-rust to v1#349
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/adk-rust-1.x

Conversation

@renovate

@renovate renovate Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
adk-rust dependencies major 0.9.01.0.0

Release Notes

zavora-ai/adk-rust (adk-rust)

v1.0.0

Compare Source

Note: 0.10.0 was an internal-only release and was never published to crates.io. All changes below were shipped as part of 1.0.0.

Breaking
  • Workspace version bump to 0.10.0. This is a breaking (0.x major) release.
    All adk-* crates move from 0.9.x to 0.10.0 in lockstep.
  • adk-mistralrs: Now a workspace member. Previously excluded due to git
    dependencies; now included since mistral.rs published to crates.io.
    Uses workspace rust-version (1.94.0).
  • adk-core: LlmResponse and LlmRequest gained public fields. These structs
    are 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, or
    LlmRequest::new to be forward-compatible):
    • LlmResponse.interaction_id: Option<String>
    • LlmRequest.previous_response_id: Option<String>
  • adk-gemini: FunctionResponse gained a public id field, and the Model
    enum (not #[non_exhaustive]) gained new variants — both breaking for external
    struct-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:

    • StructuredJudge — typed verdicts (pass/fail/partial) with scores and
      reasoning via function-calling or JSON fallback. Lenient JSON extractor
      handles markdown fences, raw JSON, and embedded JSON in prose.
    • EmbeddingScorer (feature: embedding) — cosine similarity between
      embedding vectors using any EmbeddingProvider implementation.
    • CostTracker — token usage extraction from event streams, dollar cost
      estimation with per-model pricing tables (Gemini, OpenAI, Anthropic, DeepSeek).
    • TraceAnalyzer — detects redundant tool calls and execution loops,
      computes efficiency score (useful_calls / total_calls).
    • BaselineStore — save/load metric snapshots as .eval-baseline.json,
      detect regressions with configurable tolerance.
    • JunitReporter (feature: ci-helpers) — JUnit XML generation for native
      CI integration (GitHub Actions, Jenkins, GitLab CI).
    • AnnotationStore — JSONL export/import for human review workflows with
      case_id validation and unmatched entry warnings.
    • AbComparator (feature: statistics) — A/B agent comparison using Wilcoxon
      signed-rank test for paired statistical significance.
    • TestGenerator — LLM-driven case generation from descriptions, plus direct
      extraction from production event logs (no LLM needed).
    • ConversationScorer — multi-turn metrics: context retention, goal completion,
      coherence, and topic drift (via StructuredJudge or EmbeddingScorer).
    • CLI integrationcargo adk eval subcommand with --save-baseline,
      --check-regression, --format (table/json/junit), --concurrency, and
      non-zero exit on regression detection.
    • EvaluationResult extended — optional cost_metrics, trace_analysis, and
      verdicts fields (backward-compatible with #[serde(default)]).
    • EvalCase extended — optional metadata field for generation tracking.
    • New feature flags: embedding, ci-helpers, statistics.
    • Example crate: 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 as
    normal async Rust functions with automatic checkpointing, typed state reducers,
    and interrupt/resume support. Includes:

    • #[entrypoint] and #[task] proc macros in adk-rust-macros
    • TaskContext — runtime context with state, checkpointing, streaming, interrupts
    • ReducedValue<T> — append-only state container persisted across checkpoints
    • UntrackedValue<T> — transient state container excluded from checkpoints
    • MessagesValue — chat messages with ID-based deduplication
    • TypedReducer trait with built-in reducers (Replace, Append, Merge)
    • StateSchemaValidator — type-level validation at workflow boundaries
    • ExecutionLog — task completion tracking for resume-skip behavior
    • Loop iteration checkpoint keying ("task::iter_N")
    • 3 example crates: functional_workflow, background_runs, cron_scheduling
  • adk-server: Background Runs (feature: background) — REST API for async
    workflow execution. POST /runs submits a workflow, GET /runs/{id} polls status,
    DELETE /runs/{id} cancels. Status transitions: queued → running → completed/failed/cancelled.
    Timeout enforcement, retry with checkpoint resume, BackgroundRunner orchestrator.

  • adk-server: Cron Scheduling (feature: background) — Cron job management
    with 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 method
    on OpenAIResponsesClient that calls POST /v1/responses/{id}/cancel to cancel
    a running background response. Returns an LlmResponse with 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-in
    tools (openai_builtin_tools), deep research (openai_deep_research), and
    Open Responses compatibility (openai_open_responses).

  • adk-anthropic: Claude Opus 4.8 support — added claude-opus-4-8 as the
    latest flagship model. Adaptive thinking only (same as Opus 4.7).

  • adk-managed: Managed Agent Runtime (feature: managed-runtime) — New crate
    providing a provider-neutral, durable, resumable agent execution engine. The
    runtime takes a declarative ManagedAgentDef, builds a runnable agent, and
    operates it as a checkpoint-resumable, event-streaming background session.
    Key capabilities:

    • ManagedAgentRuntime trait and DefaultManagedAgentRuntime implementation
    • Durable sessions: checkpoint after every event, resume from last consistent state
    • Provider-neutral event stream (SessionEvent) — identical sequences across
      Gemini, OpenAI, Anthropic, Ollama, and OpenAI-compatible providers
    • Custom tool parking with configurable timeout
    • Event replay (stream_events(from_seq)) for SSE reconnection
    • ScriptedLlm test double for deterministic offline testing ($0)
    • Golden fixture conformance tests (F-1 through F-8)
    • STABILITY: Experimental, additive, feature-gated behind managed-runtime
  • adk-anthropic: Managed Agents API client — full implementation of the
    Anthropic Managed Agents API, feature-gated behind managed-agents. Includes:

    • Agent, Environment, Session CRUD with SSE streaming
    • Custom tool flow, tool confirmation (allow/deny)
    • Vaults and credentials for MCP authentication
    • Memory stores with versioning and optimistic concurrency
    • Dreams API for memory curation (Research Preview)
    • Webhook signature verification (HMAC-SHA256)
    • Multiagent orchestration with session threads
    • Self-hosted environment work queue management
    • File upload and session resource mounting
    • 5 examples: hello, custom_tools, files, memory, multiagent
    • 47 integration tests passing against live API
  • 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 crate
    is 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-agents templatecargo adk new my-agent --template managed-agents
    scaffolds a complete Anthropic Managed Agents project with --provider support
    for future multi-provider managed agents.

  • adk-model: Gemini OpenAI-compatible presetOpenAICompatibleConfig::gemini(api_key, model)
    targets Gemini's OpenAI-compatibility endpoint
    (https://generativelanguage.googleapis.com/v1beta/openai), letting callers on
    the openai feature use a GEMINI_API_KEY and a Gemini model through the
    OpenAI Chat Completions wire format (chat, streaming, function calling,
    structured output, reasoning effort). Two examples added:
    gemini_openai_compat (direct client) and gemini_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 interactions feature flag (no new dependencies; additive to the existing
    generateContent surface). New adk_gemini::interactions module with:

    • Gemini::create_interaction() fluent builder — single-turn, streaming
      (step.delta events), multimodal input, tools, structured output, and
      server-side multi-turn via previous_interaction_id.
    • Gemini::get_interaction(), delete_interaction(), cancel_interaction()
      for the stored-interaction lifecycle.
    • Typed Step timeline (user input, model output, thought, function call,
      function result) with forward-compatible Step::Other for server-side tool
      steps; polymorphic Content, Tool, and ResponseFormat; Usage,
      InteractionStatus, and SSE InteractionSseEvent/StepDelta types.
    • Interaction::output_text() and pending_function_calls() convenience
      accessors mirroring the official SDKs.
    • Requests pin the Api-Revision: 2026-05-20 steps-schema contract.
    • Example: 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 interactions feature flag:

    • InteractionBuilder::antigravity() — one-call setup for the Antigravity
      coding agent (agent = "antigravity-preview-05-2026", store = true).
    • InteractionBuilder::deep_research(agent_id) — one-call setup for Deep
      Research agents (background = true, store = true).
    • InteractionBuilder::environment(env) — attach a sandbox (fresh "remote",
      resume by ID, or inline EnvironmentConfig with 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, TransformMap
      wire types with full serde round-trip and #[non_exhaustive].
    • AgentConfig enum (DeepResearch + forward-compatible Other variant).
    • Client-side validation: model/agent mutual exclusivity, Antigravity
      constraints (no background, no unsupported gen params, no function tools, no
      audio/video/document), Deep Research constraints (background required).
    • Managed Agent CRUD: 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_id response field for sandbox resume.
    • TransformMap custom Debug redacts credential values in logs.
    • Example: cargo run -p gemini-managed-agents (4 practical agents with
      streaming, auto-cancellation, and live progress display).
  • adk-model / adk-rust: gemini-interactions feature — forwards the
    Interactions API surface up the stack. adk_model::gemini::interactions
    re-exports the module when enabled.

  • adk-model: Gemini Interactions API runtime transport (Beta) — a transport
    toggle on GeminiModel routes the standard LlmAgent/Runner/tool loop
    through Google's Interactions API instead of generateContent, with no new
    agent type or rewritten agent setup. Gated behind the gemini-interactions
    feature; generateContent remains the default and recommended path. Highlights:

    • GeminiModel builder use_interactions_api(true) selects the transport;
      interaction_options(...) configures store, stateful continuation,
      background mode, and poll interval (InteractionOptions/BackgroundMode).
    • Faithful API defaults: store=true, server-side stateful continuation (via
      previous_interaction_id), and background=true for agent targets only.
    • Restricted target allowlist (InteractionTarget) with InvalidInput errors
      naming the supported models/agents for unsupported targets.
    • bypass_multi_tools_limit: built-in tools (Google Search, URL context, File
      Search) can be converted to function-calling tools
      (with_bypass_multi_tools_limit / the BypassMultiToolsLimit trait) so they
      coexist with custom function tools under the Interactions API.
    • Streaming (SSE) and background-poll completion surfaced through the same
      response stream the runner consumes.
    • Example: 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 an Event::interaction_id()
      accessor (mirrors ADK-Python's event.interaction_id).
    • LlmRequest.previous_response_id: Option<String>, populated by LlmAgent
      from the most recent event's interaction_id; the Gemini Interactions
      transport maps it to previous_interaction_id, falling back to transcript
      input transparently when a stored interaction has expired.
  • adk-gemini: May 2026 GA models — Added Model variants for models that
    shipped 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 FlashGeminiPricing::GEMINI_35_FLASH
    ($1.50/MTok input, $9.00/MTok output incl. thinking).

  • adk-gemini: GeminiPricing::for_model(&Model) — maps a Model to its
    standard per-token pricing, returning None for Custom models.

  • adk-gemini: FunctionResponse.id + FunctionResponse::with_id() — echo the
    originating FunctionCall id to satisfy Gemini 3.x strict response matching
    (id + name + count). adk-model's Gemini provider now forwards the call id
    automatically.

Deprecated
  • adk-gemini: Model::Gemini31FlashLitePreview — shut down May 25, 2026;
    use Model::Gemini31FlashLite.
  • adk-gemini: Model::Gemini3ProImagePreview — shuts down June 25, 2026;
    use Model::Gemini3ProImage.
Changed
  • adk-gemini: ThinkingLevel docs — clarified that Medium is the default
    for Gemini 3.5 Flash while High remains the default for Gemini 3 Flash
    Preview and Gemini 3.1 Pro, and that temperature/top_p/top_k are no
    longer recommended for Gemini 3.x.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from elcoosp as a code owner June 8, 2026 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants