Repository navigation
feat/gh diagnostics - #28
Conversation
ScriptedAlchemy
commented
Nov 7, 2025
- Refresh Codex provider examples (Refresh Codex provider examples #9)
- chore(deps): bump actions/download-artifact from 4 to 6
- chore(deps): update dependency ts-jest to v29.4.5
- chore(deps): bump taiki-e/install-action from 2.60.0 to 2.62.47
- chore(deps): bump codespell-project/codespell-problem-matcher
- chore(deps): bump node from 24-slim to 25-slim in /codex-cli
- chore(deps): bump actions/setup-node from 5 to 6
- chore: run pnpm install
- feat: automate codex pr worktrees
- chore: update worktree automation
- feat: add merge and checks phases to pr worktree automation
- feat: enhance PR worktree automation with new Codex integration and process management
- feat: convert pr worktree helper to typescript
- fix: support cjs consumers for native sdk
- feat(pr-helper): surface command/tool summaries and full-access notice
- feat(native): align thread permissions with TS SDK and tidy logging
- refactor(native): drop extra permission flag and keep CLI full-access
- fix(native): support require fallback when import.meta missing
- fix(native): fallback createRequire when import.meta missing
- test(native): ensure dual module support and stabilize long-running suites
- chore: commit all files
- feat: add diagnostics script and sandbox controls
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const context: ToolExecutionContext = { | ||
| name: invocation.toolName, | ||
| callId: invocation.callId, | ||
| arguments: parsedArguments, | ||
| rawInvocation: invocation, |
There was a problem hiding this comment.
Drop tool invocation
input payloads
The tool bridge only forwards parsed invocation.arguments to the executor and never surfaces invocation.input. Codex can emit tool calls that include an input string instead of structured arguments; in those cases this context will always be {} and codexTool handlers receive no data. As a result, any simple tool that relies on the plain input field silently fails. Consider falling back to the input payload when arguments is missing or unparseable so all tool invocation formats are preserved.
Useful? React with 👍 / 👎.
Fix formatting issues detected by Prettier to pass CI checks. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace unstable get_or_try_init() with stable initialization pattern - Fix PathPersistError handling in temp file persistence Fixes two compilation errors: 1. E0658: unstable library feature once_cell_try 2. E0308: mismatched types in error mapping 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Increase sdks workflow timeout from 10 to 20 minutes - Add Rust build caching to speed up CI builds - Improves build reliability and performance 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Update Rust toolchain from 1.90 to 1.91 to match rust-ci.yml - Remove incompatible Swatinem/rust-cache (conflicted with sccache) - Keep 20 minute timeout for SDK builds This fixes clippy failures caused by toolchain version mismatch. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Removed unsafe OnceLock pattern that caused race conditions and simplified the initialization to check file existence instead. This fixes clippy warnings about complex initialization logic. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Replace manual Default implementation with derived trait to resolve clippy::derivable-impls warning. The manual implementation simply returned Self::Slice which matches the default behavior. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Change full_auto default from false to true to maintain backward compatibility with existing callers like pr-worktree-codex.ts that don't explicitly set fullAuto. The previous default of false broke automatic mode in danger-full-access sandbox mode. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add explicit AgentTool return type annotation to make the type portable for .d.ts generation. TypeScript was unable to infer a portable type without the explicit annotation. Fixes TS2742: The inferred type of 'codexTool' cannot be named without a reference to external package. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Reorganized and grouped imports for better readability. - Enhanced code formatting for consistency, including explicit return types and indentation adjustments. - Simplified function calls and structures to improve clarity. This refactor does not change any functionality but improves maintainability and readability of the codebase.
…nches
Previously, worktrees created local branches like `codex/pr-29` instead of
using the actual PR branch name (e.g., `feat/native-binding-reorg`). This
caused issues when Codex tried to run `git push` without arguments because:
1. The local branch name didn't match the remote branch name
2. No upstream tracking was configured
3. This led to push failures and fallback to incorrect branches like `pr-worktree/29`
Changes:
- Use `pr.headRefName` as the local branch name instead of `codex/pr-${pr.number}`
- Fetch PR head directly to `refs/remotes/origin/${pr.headRefName}`
- Create worktree with `-B` flag to properly checkout the branch
- Set up upstream tracking with `--set-upstream-to`
- Simplify push command to use the branch name directly
This ensures that when Codex runs `git push` in the worktree, it correctly
pushes to the PR's actual branch, updating the PR as expected.
pr-worktree-codex.ts (365-366, 378-413, 1082)
Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The Codex binary emits raw events (including AGENTS.md content) that the TypeScript SDK tests were not filtering out, causing CI failures. This change: - Adds RawEvent and ExitedReviewModeEvent types to events.ts - Exports these new event types from index.ts - Filters out raw_event types in tests before checking structured events - Makes raw events optional since they depend on the environment Tests pass locally with mock proxy (no raw events) and should now pass in CI where raw events are emitted. Cherry-picked and adapted from commit 6d40e01. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>