Skip to content

chore(llm-router): bump iii-sdk to 0.20.0 - #334

Merged
guibeira merged 1 commit into
mainfrom
chore/sdk-0.20-llm-router
Jun 25, 2026
Merged

chore(llm-router): bump iii-sdk to 0.20.0#334
guibeira merged 1 commit into
mainfrom
chore/sdk-0.20-llm-router

Conversation

@guibeira

@guibeira guibeira commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Bump iii-sdk to 0.20.0 + migrate observability to iii-helpers (iii-observability dep removed) per https://iii.dev/docs/upgrading/from-0-19-x.md. Build, fmt, clippy, tests green (61 tests); surface parity (13 functions + 3 triggers) verified 1:1. No import aliases. Note: provider-anthropic and provider-openai depend on this via path dep and will be rebased after this merges.

Summary by CodeRabbit

  • Chores
    • Upgraded the router to the latest SDK version and aligned related integrations with the new API.
    • Updated error handling and channel/state wiring to use the newer shared interfaces across routing, catalog, config, and registry flows.
    • Refreshed tests and helpers to match the updated SDK behavior.

@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
workers Ready Ready Preview, Comment Jun 25, 2026 4:47pm

Request Review

@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 87424336-5637-4191-bdba-7e28f9bf11af

📥 Commits

Reviewing files that changed from the base of the PR and between ed58ba4 and 5a240d5.

⛔ Files ignored due to path filters (1)
  • llm-router/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (24)
  • llm-router/Cargo.toml
  • llm-router/src/catalog/handlers.rs
  • llm-router/src/catalog/reconcile.rs
  • llm-router/src/catalog/store.rs
  • llm-router/src/channels.rs
  • llm-router/src/chat/abort.rs
  • llm-router/src/chat/chat.rs
  • llm-router/src/chat/complete.rs
  • llm-router/src/chat/relay.rs
  • llm-router/src/config/entry.rs
  • llm-router/src/config/on_changed.rs
  • llm-router/src/main.rs
  • llm-router/src/register.rs
  • llm-router/src/registry/availability.rs
  • llm-router/src/registry/register.rs
  • llm-router/src/registry/resolve.rs
  • llm-router/src/registry/store.rs
  • llm-router/src/routing.rs
  • llm-router/src/state.rs
  • llm-router/src/testkit/fake_channels.rs
  • llm-router/src/triggers.rs
  • llm-router/src/types/errors.rs
  • llm-router/src/types/router.rs
  • llm-router/tests/integration.rs

📝 Walkthrough

Walkthrough

The llm-router crate upgrades iii-sdk to 0.20.0 and updates client, error, and channel import paths across router state, triggers, catalog, registry, config, chat, and integration tests.

Changes

llm-router SDK migration

Layer / File(s) Summary
Shared SDK contract
llm-router/Cargo.toml, llm-router/src/types/*
iii-sdk is bumped to 0.20.0, and shared router error helpers now target iii_sdk::errors::Error.
Runtime client wrappers
llm-router/src/main.rs, llm-router/src/state.rs, llm-router/src/channels.rs, llm-router/src/testkit/fake_channels.rs
Worker setup, state access, channel helpers, and fake channel imports use IIIClient and the updated channel paths.
Router event triggers
llm-router/src/triggers.rs
Trigger registration, unregistration, and router-event fan-out now use IIIClient and Error.
Catalog handlers and store
llm-router/src/catalog/*
Catalog list/get/supports handlers, reconcile, and catalog persistence methods switch to IIIClient and Error.
Registry storage and resolution
llm-router/src/registry/availability.rs, llm-router/src/registry/resolve.rs, llm-router/src/registry/store.rs
Provider listing, resolve/update_credential, and registry persistence methods switch to IIIClient and Error.
Registry registration wiring
llm-router/src/register.rs, llm-router/src/registry/register.rs
Router and provider registration entrypoints accept IIIClient, return Error, and map schema/upsert failures through Error::from.
Config and routing
llm-router/src/config/*, llm-router/src/routing.rs
Config entry reads and writes, config-change handling, and route error mapping use IIIClient and Error.
Chat pipeline and tests
llm-router/src/chat/*, llm-router/tests/integration.rs
Chat abort, complete, orchestration, and integration test helpers switch to IIIClient, Error, and the updated channel imports.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • iii-hq/workers#32: Introduces the earlier III/IIIError-based llm-router surfaces that this PR updates to IIIClient and iii_sdk::errors::Error.

Suggested labels

stacked

Suggested reviewers

  • ytallo
  • sergiofilhowz

Poem

A bunny hopped through code so neat,
with IIIClient carrots at my feet.
The router twitched, the tests all chirped,
and error paths no longer lurked.
I wiggle my nose: hop, hop, hooray! 🐇

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/sdk-0.20-llm-router

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 27 skipped (no docs/).

Layer Result
structure
vale
ai
render

Four for four. Nicely done.

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.

1 participant