Repository navigation
Add toolchain status help - #3683
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
✅ Files skipped from review due to trivial changes (4)
🚧 Files skipped from review as they are similar to previous changes (4)
📝 WalkthroughWalkthroughThe PR adds ChangesToolchain Status Command and List Refinement
Sequence DiagramsequenceDiagram
participant CLI as run()
participant TcStatus as status_toolchain()
participant Local as Local State
participant Remote as Remote Manifest
participant Display as Output
CLI->>TcStatus: invoke status (override_url)
TcStatus->>Local: resolve active selector
alt is_channel_selector
TcStatus->>Remote: fetch latest manifest (forced)
Remote-->>TcStatus: channel pointer + concrete version
TcStatus->>Local: compare recorded version
TcStatus->>Display: up-to-date / newer / not-recorded
else is_exact_selector
TcStatus->>Local: check if installed
TcStatus->>Display: installed / not-installed
end
TcStatus->>Remote: fetch canary/nightly
TcStatus->>Display: latest versions + channel guidance
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
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 |
⏭️ Performance benchmarks were skippedPerf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to To run them on this PR, do any of the following, then push a commit (or re-run CI):
|
Binary size checks passed✅ 7 passed
Generated by |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@baml_language/crates/baml/src/main.rs`:
- Around line 149-154: The current self-update branch uses args.get(1) to only
special-case help but otherwise ignores extra arguments and proceeds to call
self_update(); change this to reject any unexpected trailing args: in the block
that checks args.first() == Some("self-update"), keep the help check using
is_help_arg and printing SELF_UPDATE_HELP, but if args.get(1).is_some() and not
is_help_arg(arg) then print a clear error/usage message and return a non-zero
exit code (do not call self_update()); only call self_update() when there are no
extra args. Reference the existing symbols args.first(), args.get(1),
is_help_arg, SELF_UPDATE_HELP, and self_update().
In `@TASK/USER-PATHS.md`:
- Around line 251-252: Update the Install/Update sections to reflect the
wrapper-only package-manager contract: change any text that says package-manager
installs (e.g., "brew install baml bootstraps a canary toolchain" or similar) to
state that package-manager installs only install the baml wrapper and do not
auto-select or bootstrap a toolchain; add a note that users must run an explicit
selection like `baml toolchain use <version>` to install or switch toolchains,
and ensure the Install/Update table rows match the guidance in TASK/TASK.md and
TASK/docs/install.md; also keep the `baml toolchain status` and `baml toolchain
list` rows as documented (status checks remote channel freshness without
changing selection, list shows installed toolchains without checking remote
metadata).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 9349b5ca-653c-4575-aea2-4bf994c430e8
📒 Files selected for processing (9)
TASK/AMENDMENTS.mdTASK/COMMANDS.mdTASK/TASK.mdTASK/USER-PATHS.mdTASK/docs/install.mdTASK/docs/release-maintainer.mdTASK/docs/toolchain-system.mdbaml_language/crates/baml/src/main.rsbaml_language/crates/baml_cli/src/commands.rs
b334836 to
66ac8a9
Compare
Summary
baml toolchain statusas a read-only remote freshness check for the active selector.baml toolchain listlocal-only and point users tostatuswhen they want remote freshness.baml toolchain --helpandbaml self-update --help.baml --versionto show wrapper version plus locally resolved toolchain state without making a network call.baml-cli --helpnote pointing users tobaml toolchain --helpfor wrapper-owned commands.Validation
cargo fmt --manifest-path baml_language/Cargo.toml --package baml --package baml_clicargo check --manifest-path baml_language/Cargo.toml -p baml -p baml_clicargo test --manifest-path baml_language/Cargo.toml -p bamlcargo build --manifest-path baml_language/Cargo.toml -p baml -p baml_cligit diff --checkbaml toolchain --help,baml toolchain list,baml --version,baml-cli --help, andbaml toolchain statusagainst a local manifest server.Summary by CodeRabbit
New Features
baml toolchain statusto check remote channel freshness (read-only, no installs/selection changes).Documentation
baml toolchain listis local-only (no remote checks) and updated install/release/user guides to reflect new commands and behaviors.