[Night Shift] Add sendBrokerShutdown timeout and --context flag#293
[Night Shift] Add sendBrokerShutdown timeout and --context flag#293Pgarciapg wants to merge 5 commits intoopenai:mainfrom
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 <[email protected]>
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 <[email protected]>
…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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 839050010f
ℹ️ 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.
Apply --context when resuming without a prompt
--context is silently dropped for task --resume/--resume-last calls that omit a new prompt. In executeTaskRun, fullPrompt is only built when request.prompt is truthy, so resume runs with only defaultPrompt never include the context text. This breaks the documented behavior of passing extra context and affects follow-up rescue flows where users resume a thread and provide constraints via --context only.
Useful? React with 👍 / 👎.
Summary
sendBrokerShutdownfunction to prevent indefinite hangs during SessionEnd hook. Implements proper cleanup withtimer.unref()matching the pattern inwaitForBrokerEndpoint.--contextflag to/codexcommand allowing users to pass additional context when delegating tasks. Context is appended to the prompt with a separator.Test plan
/codex:rescue --context "additional info" fix the bugand verify context appears in prompt🤖 Generated with Claude Code