[Night Shift] Fix Windows sandbox and rescue error output#360
[Night Shift] Fix Windows sandbox and rescue error output#360Pgarciapg wants to merge 7 commits into
Conversation
…olation Add tests/args.test.mjs covering parseArgs (boolean flags, value options, inline values, short aliases, passthrough positionals, missing value error) and splitRawArgumentString (space splitting, single/double quotes, backslash escaping, trailing backslash). Add tests/prompts.test.mjs covering interpolateTemplate (single key, multiple keys, unknown key, no placeholders, duplicate key). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cover graceful output when codex returns empty stdout, correct error message formatting on non-zero exit codes and signals, timeout/stall handling with slow-task and interruptible-slow-task behaviors, cancel interruption of running turns, parseStructuredOutput edge cases, and binaryAvailable for missing binaries. Add "empty-stdout" behavior to the fake codex fixture. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…EADME The README documented all 7 commands and the rescue subagent but omitted the three internal skills (codex-cli-runtime, codex-result-handling, gpt-5-4-prompting) that ship with the plugin. Add them to the "After install" section with a note that they are not user-invocable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a 5-second timeout to sendBrokerShutdown to prevent indefinite hangs during SessionEnd hook. Implements proper cleanup matching the pattern used in waitForBrokerEndpoint with timer.unref() for graceful shutdown. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add --context flag to allow users to pass additional context string when delegating tasks. The context is appended to the prompt with a separator. Updates argument parsing, passes context through task request flow, and documents the flag in SKILL.md and commands. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…GIN_DATA The session-lifecycle-hook was exporting CLAUDE_PLUGIN_DATA which is a shared namespace used by all Claude Code plugins. This could cause conflicts when multiple plugins are installed. Changes: - Export plugin data dir as CODEX_PLUGIN_DATA instead of CLAUDE_PLUGIN_DATA - Update state.mjs to read CODEX_PLUGIN_DATA first, falling back to CLAUDE_PLUGIN_DATA - Update tests to expect the new env var name Fixes openai#338 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds coerceWindowsSandbox() function to map sandbox modes to danger-full-access on Windows where sandboxed execution is unsupported. Applied to both buildThreadParams and buildResumeParams (openai#349). Fixes codex-rescue empty output bug by emitting a structured JSON envelope to stdout when the companion script fails, allowing the agent to capture and report errors that previously went only to stderr (openai#350). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4500e48543
ℹ️ 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 contextSuffix = request.context ? `\n\n---\n\nAdditional context:\n${request.context}` : ""; | ||
| const fullPrompt = request.prompt ? `${request.prompt}${contextSuffix}` : ""; |
There was a problem hiding this comment.
Preserve --context when resuming without a prompt
When users run task --resume/--resume-last --context "..." without a positional prompt, this sets fullPrompt to an empty string, so runAppServerTurn falls back to the generic continue prompt and the supplied context is never sent to Codex. That makes the new documented --context flag ineffective for the common resume flow where the extra context is the only instruction for the follow-up.
Useful? React with 👍 / 👎.
Summary
coerceWindowsSandbox()function that maps sandbox modes todanger-full-accesson Windows only, since sandboxed execution is unsupported on that platform. Applied to bothbuildThreadParamsandbuildResumeParams.codex-rescueagent can capture and report errors instead of returning empty output.Test plan
🤖 Generated with Claude Code