3d4acbaea04527b2c2a4c32d4e6b6babe40e481a
12 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6b878bea01 |
chore(deps): bump tree-sitter from 0.25.8 to 0.25.9 in /codex-rs (#3295)
Bumps [tree-sitter](https://github.com/tree-sitter/tree-sitter) from 0.25.8 to 0.25.9. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tree-sitter/tree-sitter/releases">tree-sitter's releases</a>.</em></p> <blockquote> <h2>v0.25.9</h2> <h2>What's Changed</h2> <ul> <li>Fix: add wasm32 support to portable/endian.h by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4613">tree-sitter/tree-sitter#4613</a></li> <li>Replace deprecated function on build.zig by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4621">tree-sitter/tree-sitter#4621</a></li> <li>perf(generate): reserve more <code>Vec</code> capacities by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4629">tree-sitter/tree-sitter#4629</a></li> <li>fix(rust): prevent overflow in error message calculation by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4634">tree-sitter/tree-sitter#4634</a></li> <li>fix(bindings): use parser title in lib.rs description by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4638">tree-sitter/tree-sitter#4638</a></li> <li>fix(bindings): only include top level LICENSE file by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4639">tree-sitter/tree-sitter#4639</a></li> <li>fix(bindings): improve python platform detection by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4640">tree-sitter/tree-sitter#4640</a></li> <li>test(python): improve bindings test to detect ABI incompatibilities by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4641">tree-sitter/tree-sitter#4641</a></li> <li>fix(query): prevent cycles when analyzing hidden children by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4659">tree-sitter/tree-sitter#4659</a></li> <li>Reserved word dsl declarations by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4661">tree-sitter/tree-sitter#4661</a></li> <li>fix(cli): improve error message in cases where a langauge can't be found for one of many paths by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4662">tree-sitter/tree-sitter#4662</a></li> <li>fix(bindings): correct indices for <code>Node::utf16_text</code> by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4663">tree-sitter/tree-sitter#4663</a></li> <li>fix(rust): ignore new mismatched-lifetime-syntaxes lint by <a href="https://github.com/ObserverOfTime"><code>@ObserverOfTime</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4680">tree-sitter/tree-sitter#4680</a></li> <li>fix(bindings): use custom class name by <a href="https://github.com/ObserverOfTime"><code>@ObserverOfTime</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4679">tree-sitter/tree-sitter#4679</a></li> <li>fix(bindings): update zig template files (<a href="https://redirect.github.com/tree-sitter/tree-sitter/issues/4637">#4637</a>) by <a href="https://github.com/ObserverOfTime"><code>@ObserverOfTime</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4684">tree-sitter/tree-sitter#4684</a></li> <li>Update build.zig.zon by <a href="https://github.com/Omar-xt"><code>@Omar-xt</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4709">tree-sitter/tree-sitter#4709</a></li> <li>Backport build.zig.zon fixes by <a href="https://github.com/ObserverOfTime"><code>@ObserverOfTime</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4717">tree-sitter/tree-sitter#4717</a></li> <li>portable/endian: Add Haiku support by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4724">tree-sitter/tree-sitter#4724</a></li> <li>fix(wasm): delete <code>var_i32_type</code> after initializing global stack pointer value by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4732">tree-sitter/tree-sitter#4732</a></li> <li>fix(rust): EqCapture accepted cases where number of captured nodes differed by one by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4737">tree-sitter/tree-sitter#4737</a></li> <li>fix(bindings): improve zig dependency fetching logic by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4741">tree-sitter/tree-sitter#4741</a></li> <li>fix(bindings): add tree-sitter as npm dev dependency by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4738">tree-sitter/tree-sitter#4738</a></li> <li>[backport] build.zig improvements by <a href="https://github.com/ObserverOfTime"><code>@ObserverOfTime</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4743">tree-sitter/tree-sitter#4743</a></li> <li>fix(lib): check if an <code>ERROR</code> node is named before assuming it's the builtin error node by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4746">tree-sitter/tree-sitter#4746</a></li> <li>fix(lib): allow error nodes to match when they are child nodes by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4748">tree-sitter/tree-sitter#4748</a></li> <li>build(zig): support wasmtime for ARM64 Windows (MSVC) by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4749">tree-sitter/tree-sitter#4749</a></li> <li>fix(bindings): properly detect MSVC compiler by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4751">tree-sitter/tree-sitter#4751</a></li> <li>fix(generate): warn users when extra rule can lead to parser hang by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4763">tree-sitter/tree-sitter#4763</a></li> <li>fix(cli): fix DSL type declarations by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4770">tree-sitter/tree-sitter#4770</a></li> <li>fix(npm): add directory to repository fields by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4773">tree-sitter/tree-sitter#4773</a></li> <li>fix(web): correct type errors, improve build by <a href="https://github.com/ObserverOfTime"><code>@ObserverOfTime</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4774">tree-sitter/tree-sitter#4774</a></li> <li>fix(generate): return error when single state transitions have indirectly recursive cycles by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4790">tree-sitter/tree-sitter#4790</a></li> <li>fix(generate): use correct state id when adding terminal states to non terminal extras by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4794">tree-sitter/tree-sitter#4794</a></li> <li>release v0.25.9 by <a href="https://github.com/clason"><code>@clason</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4798">tree-sitter/tree-sitter#4798</a></li> <li>fix(rust): correct crate versions in root Cargo.toml file by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4800">tree-sitter/tree-sitter#4800</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Omar-xt"><code>@Omar-xt</code></a> made their first contribution in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/4709">tree-sitter/tree-sitter#4709</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.25.8...v0.25.9">https://github.com/tree-sitter/tree-sitter/compare/v0.25.8...v0.25.9</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
9ad2e726fc |
chore(deps): bump thiserror from 2.0.12 to 2.0.16 in /codex-rs (#2667)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.12 to 2.0.16. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p> <blockquote> <h2>2.0.16</h2> <ul> <li>Add to "no-std" crates.io category (<a href="https://redirect.github.com/dtolnay/thiserror/issues/429">#429</a>)</li> </ul> <h2>2.0.15</h2> <ul> <li>Prevent <code>Error::provide</code> API becoming unavailable from a future new compiler lint (<a href="https://redirect.github.com/dtolnay/thiserror/issues/427">#427</a>)</li> </ul> <h2>2.0.14</h2> <ul> <li>Allow build-script cleanup failure with NFSv3 output directory to be non-fatal (<a href="https://redirect.github.com/dtolnay/thiserror/issues/426">#426</a>)</li> </ul> <h2>2.0.13</h2> <ul> <li>Documentation improvements</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
53413c728e |
parse cd foo && ... for exec and apply_patch (#3083)
sometimes the model likes to run "cd foo && ..." instead of using the workdir parameter of exec. handle them roughly the same. |
||
|
|
517ffd00c6 |
feat: use the arg0 trick with apply_patch (#2646)
Historically, Codex CLI has treated `apply_patch` (and its sometimes misspelling, `applypatch`) as a "virtual CLI," intercepting it when it appears as the first arg to `command` for the `"container.exec", `"shell"`, or `"local_shell"` tools. This approach has a known limitation where if, say, the model created a Python script that runs `apply_patch` and then tried to run the Python script, we have no insight as to what the model is trying to do and the Python Script would fail because `apply_patch` was never really on the `PATH`. One way to solve this problem is to require users to install an `apply_patch` executable alongside the `codex` executable (or at least put it someplace where Codex can discover it). Though to keep Codex CLI as a standalone executable, we exploit "the arg0 trick" where we create a temporary directory with an entry named `apply_patch` and prepend that directory to the `PATH` for the duration of the invocation of Codex. - On UNIX, `apply_patch` is a symlink to `codex`, which now changes its behavior to behave like `apply_patch` if arg0 is `apply_patch` (or `applypatch`) - On Windows, `apply_patch.bat` is a batch script that runs `codex --codex-run-as-apply-patch %*`, as Codex also changes its behavior if the first argument is `--codex-run-as-apply-patch`. |
||
|
|
51b6bdefbe |
Auto format toml (#1745)
Add recommended extension and configure it to auto format prompt. |
||
|
|
173386eeac |
chore(deps): bump tree-sitter from 0.25.6 to 0.25.8 in /codex-rs (#1561)
Bumps [tree-sitter](https://github.com/tree-sitter/tree-sitter) from 0.25.6 to 0.25.8. <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
82b0cebe8b |
chore(rs): update dependencies (#1494)
### Chores - Update cargo dependencies - Remove unused cargo dependencies - Fix clippy warnings - Update Dockerfile (package.json requires node 22) - Let Dependabot update bun, cargo, devcontainers, docker, github-actions, npm (nix still not supported) ### TODO - Upgrade dependencies with breaking changes ```shell $ cargo update --verbose Unchanged crossterm v0.28.1 (available: v0.29.0) Unchanged schemars v0.8.22 (available: v1.0.4) ``` |
||
|
|
5a5aa89914 |
chore: replace regex with regex-lite, where appropriate (#1200)
As explained on https://crates.io/crates/regex-lite, `regex-lite` is a lighter alternative to `regex` and seems to be sufficient for our purposes. |
||
|
|
87cf120873 |
Workspace lints and disallow unwrap (#855)
Sets submodules to use workspace lints. Added denying unwrap as a workspace level lint, which found a couple of cases where we could have propagated errors. Also manually labeled ones that were fine by my eye. |
||
|
|
a080d7b0fd |
Update submodules version to come from the workspace (#850)
Tie the version of submodules to the workspace version. |
||
|
|
8a89d3aeda |
Update cargo to 2024 edition (#842)
Some effects of this change: - New formatting changes across many files. No functionality changes should occur from that. - Calls to `set_env` are considered unsafe, since this only happens in tests we wrap them in `unsafe` blocks |
||
|
|
31d0d7a305 |
feat: initial import of Rust implementation of Codex CLI in codex-rs/ (#629)
As stated in `codex-rs/README.md`: Today, Codex CLI is written in TypeScript and requires Node.js 22+ to run it. For a number of users, this runtime requirement inhibits adoption: they would be better served by a standalone executable. As maintainers, we want Codex to run efficiently in a wide range of environments with minimal overhead. We also want to take advantage of operating system-specific APIs to provide better sandboxing, where possible. To that end, we are moving forward with a Rust implementation of Codex CLI contained in this folder, which has the following benefits: - The CLI compiles to small, standalone, platform-specific binaries. - Can make direct, native calls to [seccomp](https://man7.org/linux/man-pages/man2/seccomp.2.html) and [landlock](https://man7.org/linux/man-pages/man7/landlock.7.html) in order to support sandboxing on Linux. - No runtime garbage collection, resulting in lower memory consumption and better, more predictable performance. Currently, the Rust implementation is materially behind the TypeScript implementation in functionality, so continue to use the TypeScript implmentation for the time being. We will publish native executables via GitHub Releases as soon as we feel the Rust version is usable. |