diff --git a/.changeset/jq-nested-interp.md b/.changeset/jq-nested-interp.md deleted file mode 100644 index 83918d34..00000000 --- a/.changeset/jq-nested-interp.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"just-bash": patch ---- - -jq: allow nested double-quoted strings inside `"\(...)"` string interpolation - -jq string interpolation of the form `"\(...)"` that contained a nested double-quoted string — for example `"\(sub("T.*";""))"` or `"\(ltrimstr("ab"))"` — previously failed with a parse error. The tokenizer terminated the outer string at the first `"` it saw inside the interpolation expression, so the rest of the expression became orphaned tokens. - -The lexer now tracks `\(...)` depth while consuming a string literal and treats nested `"..."` pairs as opaque content while inside an interpolation, restoring them verbatim into the captured interpolation source. `parseStringInterpolation` similarly skips over nested strings when balancing parentheses, so the interpolation expression is captured as a whole and handed to the expression parser intact. diff --git a/.changeset/sandbox-forward-capability-options.md b/.changeset/sandbox-forward-capability-options.md deleted file mode 100644 index 51ddda1b..00000000 --- a/.changeset/sandbox-forward-capability-options.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"just-bash": minor ---- - -sandbox: forward capability flags from `SandboxOptions` into the underlying `Bash` - -`Sandbox.create(opts)` previously constructed its internal `Bash` with only a subset -of `BashOptions`, silently dropping the optional capability flags (`python`, -`javascript`, `commands`, `customCommands`, `fetch`). A host that drives just-bash -through the `Sandbox` API (rather than `new Bash(...)`) therefore could not enable -python3, js-exec, a restricted command set, custom commands, or a custom fetch — even -though the runtimes ship in the package. - -`SandboxOptions` now exposes those fields and `Sandbox.create` forwards them into the -`Bash` it builds. Behavior is unchanged when a caller omits them (each falls back to -its existing `BashOptions` default — Python/js-exec stay off, the full command set -stays available). Fixes the root cause behind vercel/eve#431. diff --git a/examples/executor-tools/CHANGELOG.md b/examples/executor-tools/CHANGELOG.md index 80575de8..ec279b83 100644 --- a/examples/executor-tools/CHANGELOG.md +++ b/examples/executor-tools/CHANGELOG.md @@ -1,5 +1,13 @@ # executor-tools-example +## 1.0.6 + +### Patch Changes + +- Updated dependencies [[`7a5a0b9`](https://github.com/vercel-labs/just-bash/commit/7a5a0b9ae3bf0524722653cbf4b45e6bc176cf22), [`af2e0f4`](https://github.com/vercel-labs/just-bash/commit/af2e0f4cdeb5417ea59e25140038c239dd8fd92d)]: + - just-bash@3.1.0 + - @just-bash/executor@2.0.0 + ## 1.0.5 ### Patch Changes diff --git a/examples/executor-tools/package.json b/examples/executor-tools/package.json index 9e206d9f..d806ef2b 100644 --- a/examples/executor-tools/package.json +++ b/examples/executor-tools/package.json @@ -1,6 +1,6 @@ { "name": "executor-tools-example", - "version": "1.0.5", + "version": "1.0.6", "description": "Example of @just-bash/executor — inline tools + GraphQL/OpenAPI/MCP discovery", "type": "module", "scripts": { diff --git a/packages/just-bash-executor/CHANGELOG.md b/packages/just-bash-executor/CHANGELOG.md index 7977284e..3d21e98f 100644 --- a/packages/just-bash-executor/CHANGELOG.md +++ b/packages/just-bash-executor/CHANGELOG.md @@ -1,5 +1,12 @@ # @just-bash/executor +## 2.0.0 + +### Patch Changes + +- Updated dependencies [[`7a5a0b9`](https://github.com/vercel-labs/just-bash/commit/7a5a0b9ae3bf0524722653cbf4b45e6bc176cf22), [`af2e0f4`](https://github.com/vercel-labs/just-bash/commit/af2e0f4cdeb5417ea59e25140038c239dd8fd92d)]: + - just-bash@3.1.0 + ## 1.0.4 ### Patch Changes diff --git a/packages/just-bash-executor/package.json b/packages/just-bash-executor/package.json index 68221a60..c768ec2a 100644 --- a/packages/just-bash-executor/package.json +++ b/packages/just-bash-executor/package.json @@ -1,6 +1,6 @@ { "name": "@just-bash/executor", - "version": "1.0.4", + "version": "2.0.0", "description": "Experimental tool-invocation companion for just-bash. Wires @executor-js/sdk into js-exec via the invokeTool hook.", "repository": { "type": "git", diff --git a/packages/just-bash/CHANGELOG.md b/packages/just-bash/CHANGELOG.md index 17378a6a..d2085553 100644 --- a/packages/just-bash/CHANGELOG.md +++ b/packages/just-bash/CHANGELOG.md @@ -1,5 +1,31 @@ # just-bash +## 3.1.0 + +### Minor Changes + +- [#284](https://github.com/vercel-labs/just-bash/pull/284) [`af2e0f4`](https://github.com/vercel-labs/just-bash/commit/af2e0f4cdeb5417ea59e25140038c239dd8fd92d) Thanks [@arimxyer](https://github.com/arimxyer)! - sandbox: forward capability flags from `SandboxOptions` into the underlying `Bash` + + `Sandbox.create(opts)` previously constructed its internal `Bash` with only a subset + of `BashOptions`, silently dropping the optional capability flags (`python`, + `javascript`, `commands`, `customCommands`, `fetch`). A host that drives just-bash + through the `Sandbox` API (rather than `new Bash(...)`) therefore could not enable + python3, js-exec, a restricted command set, custom commands, or a custom fetch — even + though the runtimes ship in the package. + + `SandboxOptions` now exposes those fields and `Sandbox.create` forwards them into the + `Bash` it builds. Behavior is unchanged when a caller omits them (each falls back to + its existing `BashOptions` default — Python/js-exec stay off, the full command set + stays available). Fixes the root cause behind vercel/eve#431. + +### Patch Changes + +- [#268](https://github.com/vercel-labs/just-bash/pull/268) [`7a5a0b9`](https://github.com/vercel-labs/just-bash/commit/7a5a0b9ae3bf0524722653cbf4b45e6bc176cf22) Thanks [@trieloff](https://github.com/trieloff)! - jq: allow nested double-quoted strings inside `"\(...)"` string interpolation + + jq string interpolation of the form `"\(...)"` that contained a nested double-quoted string — for example `"\(sub("T.*";""))"` or `"\(ltrimstr("ab"))"` — previously failed with a parse error. The tokenizer terminated the outer string at the first `"` it saw inside the interpolation expression, so the rest of the expression became orphaned tokens. + + The lexer now tracks `\(...)` depth while consuming a string literal and treats nested `"..."` pairs as opaque content while inside an interpolation, restoring them verbatim into the captured interpolation source. `parseStringInterpolation` similarly skips over nested strings when balancing parentheses, so the interpolation expression is captured as a whole and handed to the expression parser intact. + ## 3.0.3 ### Patch Changes diff --git a/packages/just-bash/package.json b/packages/just-bash/package.json index 7e671142..ab9ff9b3 100644 --- a/packages/just-bash/package.json +++ b/packages/just-bash/package.json @@ -1,6 +1,6 @@ { "name": "just-bash", - "version": "3.0.3", + "version": "3.1.0", "description": "A simulated bash environment with virtual filesystem", "repository": { "type": "git",