chore(python): bump monty to v0.0.18#1809
Merged
Merged
Conversation
Update embedded Python (monty) from rev 9b5f478 (0.0.17) to tag v0.0.18. The OsCall API changed: the name-only OsFunction enum plus generic args/kwargs fields were replaced by a tagged OsFunctionCall carrying typed args, exposed on OsCall via take_function_call(). Bridge handle_os_call to the new shape using the public to_args() projection and dispatch on the stable name() string, keeping per-op VFS logic unchanged.
The rg differential tests compare byte-for-byte against the real ripgrep binary, whose output formatting, accepted --colors specs, and built-in file types vary across releases. CI pins ripgrep 15.1.0 (RG_VERSION), but a mismatched local rg (e.g. distro 14.x) produced confusing byte-mismatch failures unrelated to any bashkit bug. Gate the differential tests on the pinned version: skip with a clear notice when the local rg is absent or a different version, and run fully against 15.1.0 as CI does.
The examples package declared dependency overrides under a top-level "overrides" key, which pnpm ignores (it reads "pnpm.overrides"), so the intended uuid pin never applied and the lockfile kept the vulnerable uuid@10.0.0 (transitive via @langchain/langgraph). Move the overrides under the pnpm key and regenerate the lockfile so uuid resolves to 14.0.0 (>= 11.1.1, the patched version), resolving the missing-bounds-check advisory (GHSA-w5hq-g745-h8pq).
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
bashkit | f28e1fe | Commit Preview URL Branch Preview URL |
May 29 2026, 09:22 PM |
chaliy
added a commit
that referenced
this pull request
May 30, 2026
- chore(python): bump monty to v0.0.18 (adapt to tagged OsFunctionCall API) - test(rg): gate ripgrep differential tests on pinned version 15.1.0 - fix(examples): patch uuid CVE-2026-41907 via pnpm.overrides (uuid 14.0.0)
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.
What
Three related maintenance changes:
monty) to v0.0.18 — from rev9b5f478(0.0.17) to tagv0.0.18.uuidCVE-2026-41907 in the examples lockfile.Why
OsCallAPI change.rgbinary, whose output formatting, accepted--colorsspecs, and built-in file types vary by release. CI pins ripgrep 15.1.0, but a mismatched localrg(e.g. distro 14.x) produced confusing byte-mismatch failures unrelated to any bashkit bug.uuid@10.0.0(transitive via@langchain/langgraph) has a missing buffer bounds check in v3/v5/v6.How
OsCallreplaced its name-onlyOsFunctionenum + genericargs/kwargsfields with a taggedOsFunctionCallcarrying typed args, accessed viatake_function_call().handle_os_callnow projects it through the publicto_args()and dispatches on the stablename()string — per-op VFS logic unchanged.cargo vet --lockedstill passes (no new exemptions needed).rgis absent or a different version, and run fully against the pinned 15.1.0 as CI does.package.jsondeclared overrides under a top-leveloverrideskey, which pnpm ignores (it readspnpm.overrides), so the intendeduuidpin never applied. Moved the overrides under thepnpmkey and regenerated the lockfile —uuidnow resolves to 14.0.0 (≥ 11.1.1, the patched version); no vulnerableuuid@10.0.0remains.Tests / verification
cargo test --features python -p bashkit --lib→ 2365 passed (59 python tests cover the monty API adaptation: open/read/write/stat/mkdir/iterdir/rename/getenv/datetime).cargo fmt --check,cargo clippy --all-targets -- -D warnings,cargo vet --locked: all clean.pnpm install --lockfile-only; resolves cleanly,--frozen-lockfilestays in sync.Generated by Claude Code