chore: update all Rust workers to iii-sdk 0.16.0-next.2#192
Conversation
…vability for Logger)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (10)
📒 Files selected for processing (41)
📝 WalkthroughWalkthroughThis PR upgrades the iii-sdk dependency from 0.13.0-next.1 to 0.16.0-next.2 across all worker crates and refactors function registration, worker initialization, and logging to align with the new SDK API. Changesiii-sdk 0.16.0 Upgrade and API Migration
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
skill-check — worker1 verified, 12 skipped (no docs/). 1 error, 1 warning across the verified workers.
|
Summary
Fleet bump from
iii-sdk =0.13.0-next.1to=0.16.0-next.2across 10 Rust workers + adapter cleanup for two breaking changes in upstream PR iii-hq/iii#1578 and the relatedOtelConfig/Loggerrelocation.Breaking changes adapted
register_functionsignature. Old:iii.register_function(RegisterFunction::new_async(id, handler).description(...)). New:iii.register_function(id, RegisterFunction::new_async(handler).description(...)). Id is the first arg ofregister_functionnow;RegisterFunction::new_asynctakes only the handler. Every chained builder method (.description,.metadata,.request_format,.response_format) stays onRegisterFunction.register_function_with+(RegisterFunctionMessage, handler)tuple form removed. Rewrote the two remaining call sites inacp/src/handler.rsandimage-resize/src/main.rsto the new builder.OtelConfig+Loggermoved out ofiii_sdkintoiii-observability.iii_sdkno longer re-exports them. Workers that needLogger(mcp,database) keepiii-observability = "=0.16.0-next.2"as a direct dep. The rest droppedOtelConfig::default()fromregister_workerentirely — no OpenTelemetry export is emitted by those workers now.Behavioral changes worth flagging
storage/tests/schemas.rsanddatabase/tests/integration.rs— removed theregistered_functions_carry_request_and_response_schemasguardrail tests. The 0.16 SDK no longer exposes public schema accessors onRegisterFunction; the typed-handler requirement they enforced is now enforced statically by theIntoAsyncHandler<M>trait bound onRegisterFunction::new_async.shell,image-resize,console,coder,iii-directory,storage) no longer emit OpenTelemetry traces/metrics through the SDK.tracing::*logs are unaffected.mcpanddatabasestill pulliii-observabilityin forLoggerand could re-enable OTel by re-addingotel: Some(OtelConfig::default())to theirregister_workercall.Test plan
All checks were run per-worker (each worker is a standalone Cargo crate, no top-level workspace). Per worker:
cargo build --all-targetscargo test --lib --bins(or--all-targetswhere the worker has no integration test fixtures)cargo clippy --all-targets -- -D warningscargo fmt --all -- --checkPer-worker test counts (lib): acp 27, coder 86, console 12, database 179, iii-directory 191, iii-lsp 61, image-resize 29, mcp 38, shell 141, storage 76 — all green.
Integration tests under each worker's
tests/that require a live engine, real database, sandbox infra, or env-gated providers (S3/GCS/R2/cucumber BDD/etc.) were not run here — they should be exercised through CI or manually before merge.Commit layout
10 commits doing the SDK bump + API migration (one per worker), then 8 commits dropping
OtelConfig::default()fromregister_worker(one per worker that used it):Summary by CodeRabbit