Commit Graph

8634 Commits

Author SHA1 Message Date
Michael Bolin
80c8dd0588 merge commit for archive created by Sapling 2025-11-21 00:12:18 -08:00
Michael Bolin
e54580a959 feat: codex-shell-tool-mcp 2025-11-21 00:12:06 -08:00
Michael Bolin
bfe07ea0d1 merge commit for archive created by Sapling 2025-11-20 23:58:49 -08:00
Michael Bolin
9df5baf9eb feat: codex-shell-tool-mcp 2025-11-20 23:58:43 -08:00
Michael Bolin
9a9c6de993 merge commit for archive created by Sapling 2025-11-20 23:52:05 -08:00
Michael Bolin
336da5364b feat: codex-shell-tool-mcp 2025-11-20 23:52:00 -08:00
Michael Bolin
d87e61070a merge commit for archive created by Sapling 2025-11-20 23:24:40 -08:00
Michael Bolin
1cf8ca2094 feat: codex-shell-tool-mcp 2025-11-20 23:24:33 -08:00
Michael Bolin
58af6ec842 merge commit for archive created by Sapling 2025-11-20 23:12:48 -08:00
Michael Bolin
4bdd7a1ee3 feat: codex-shell-tool-mcp 2025-11-20 23:12:42 -08:00
iceweasel-oai
f4af6e389e Windows Sandbox: support network_access and exclude_tmpdir_env_var (#7030) 2025-11-20 22:59:55 -08:00
Eric Traut
b315b22f7b Fixed the deduplicator github action (#7070)
It stopped working (found zero duplicates) starting three days ago when
the model was switched from `gpt-5` to `gpt-5.1`. I'm not sure why it
stopped working. This is an attempt to get it working again by using the
default model for the codex action (which is presumably
`gpt-5.1-codex-max`).
2025-11-20 22:46:55 -08:00
Yorling
c9e149fd5c fix: read max_output_tokens param from config (#4139)
Request param `max_output_tokens` is documented in
`https://github.com/openai/codex/blob/main/docs/config.md`,
but nowhere uses the item in config, this commit read it from config for
GPT responses API.

see https://github.com/openai/codex/issues/4138 for issue report.

Signed-off-by: Yorling <shallowcloud@yeah.net>
2025-11-20 22:46:34 -08:00
Eric Traut
bacdc004be Fixed two tests that can fail in some environments that have global git rewrite rules (#7068)
This fixes https://github.com/openai/codex/issues/7044
2025-11-20 22:45:40 -08:00
Michael Bolin
fc2542609b merge commit for archive created by Sapling 2025-11-20 22:26:53 -08:00
Michael Bolin
b20ee830e5 feat: codex-shell-tool-mcp 2025-11-20 22:26:47 -08:00
pakrym-oai
ab5972d447 Support all types of search actions (#7061)
Fixes the 

```
{
  "error": {
    "message": "Invalid value: 'other'. Supported values are: 'search', 'open_page', and 'find_in_page'.",
    "type": "invalid_request_error",
    "param": "input[150].action.type",
    "code": "invalid_value"
  }
```
error.


The actual-actual fix here is supporting absent `query` parameter.
2025-11-20 20:45:28 -08:00
pakrym-oai
767b66f407 Migrate coverage to shell_command (#7042) 2025-11-21 03:44:00 +00:00
pakrym-oai
830ab4ce20 Support full powershell paths in is_safe_command (#7055)
New shell implementation always uses full paths.
2025-11-20 19:29:15 -08:00
Dylan Hurd
3f73e2c892 fix(app-server) remove www warning (#7046)
### Summary
After #7022, we no longer need this warning. We should also clean up the
schema for the notification, but this is a quick fix to just stop the
behavior in the VSCE

## Testing
- [x] Ran locally
2025-11-20 19:18:39 -08:00
Michael Bolin
04d32f5b9d merge commit for archive created by Sapling 2025-11-20 18:00:09 -08:00
Michael Bolin
80c772c9b8 feat: codex-shell-tool-mcp 2025-11-20 18:00:04 -08:00
Michael Bolin
ab4c6224d4 merge commit for archive created by Sapling 2025-11-20 17:54:32 -08:00
Michael Bolin
8c0fb0978a feat: codex-shell-tool-mcp 2025-11-20 17:54:27 -08:00
Michael Bolin
c124fd3bcd merge commit for archive created by Sapling 2025-11-20 17:47:53 -08:00
Michael Bolin
596b330bb4 feat: codex-shell-tool-mcp 2025-11-20 17:47:17 -08:00
Michael Bolin
94ab901a34 merge commit for archive created by Sapling 2025-11-20 17:39:17 -08:00
Michael Bolin
43fb007bbc feat: codex-shell-tool-mcp 2025-11-20 17:39:05 -08:00
Michael Bolin
4a5b8b20a2 merge commit for archive created by Sapling 2025-11-20 17:14:55 -08:00
Michael Bolin
dece24b467 feat: codex-shell-tool-mcp 2025-11-20 17:14:47 -08:00
Dylan Hurd
1822ffe870 feat(tui): default reasoning selection to medium (#7040)
## Summary
- allow selection popups to request an initial highlighted row
- begin the /models reasoning selector focused on the default effort

## Testing
- just fmt
- just fix -p codex-tui
- cargo test -p codex-tui



https://github.com/user-attachments/assets/b322aeb1-e8f3-4578-92f7-5c2fa5ee4c98



------
[Codex
Task](https://chatgpt.com/codex/tasks/task_i_691f75e8fc188322a910fbe2138666ef)
2025-11-20 17:06:04 -08:00
Celia Chen
7e2165f394 [app-server] update doc with codex error info (#6941)
Document new codex error info. Also fixed the name from
`codex_error_code` to `codex_error_info`.
2025-11-21 01:02:37 +00:00
Michael Bolin
23a753bb86 Merge 591f0ee2a0 into sapling-pr-archive-bolinfest 2025-11-20 16:47:33 -08:00
Michael Bolin
591f0ee2a0 feat: codex-shell-tool-mcp 2025-11-20 16:45:46 -08:00
Michael Bolin
8e5f38c0f0 feat: waiting for an elicitation should not count against a shell tool timeout (#6973)
Previously, we were running into an issue where we would run the `shell`
tool call with a timeout of 10s, but it fired an elicitation asking for
user approval, the time the user took to respond to the elicitation was
counted agains the 10s timeout, so the `shell` tool call would fail with
a timeout error unless the user is very fast!

This PR addresses this issue by introducing a "stopwatch" abstraction
that is used to manage the timeout. The idea is:

- `Stopwatch::new()` is called with the _real_ timeout of the `shell`
tool call.
- `process_exec_tool_call()` is called with the `Cancellation` variant
of `ExecExpiration` because it should not manage its own timeout in this
case
- the `Stopwatch` expiration is wired up to the `cancel_rx` passed to
`process_exec_tool_call()`
- when an elicitation for the `shell` tool call is received, the
`Stopwatch` pauses
- because it is possible for multiple elicitations to arrive
concurrently, it keeps track of the number of "active pauses" and does
not resume until that counter goes down to zero

I verified that I can test the MCP server using
`@modelcontextprotocol/inspector` and specify `git status` as the
`command` with a timeout of 500ms and that the elicitation pops up and I
have all the time in the world to respond whereas previous to this PR,
that would not have been possible.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/6973).
* #7005
* __->__ #6973
* #6972
2025-11-20 16:45:38 -08:00
Ahmed Ibrahim
1388e99674 fix flaky tool_call_output_exceeds_limit_truncated_chars_limit (#7043)
I am suspecting this is flaky because of the wall time can become 0,
0.1, or 1.
2025-11-20 16:36:29 -08:00
Michael Bolin
1bc4ab1a89 Merge c33e2de3e6 into sapling-pr-archive-bolinfest 2025-11-20 16:30:46 -08:00
Michael Bolin
c33e2de3e6 feat: codex-shell-tool-mcp 2025-11-20 16:30:18 -08:00
Michael Bolin
f5ee3ee637 feat: waiting for an elicitation should not count against a shell tool timeout 2025-11-20 16:30:18 -08:00
Michael Bolin
f56d1dc8fc feat: update process_exec_tool_call() to take a cancellation token (#6972)
This updates `ExecParams` so that instead of taking `timeout_ms:
Option<u64>`, it now takes a more general cancellation mechanism,
`ExecExpiration`, which is an enum that includes a
`Cancellation(tokio_util::sync::CancellationToken)` variant.

If the cancellation token is fired, then `process_exec_tool_call()`
returns in the same way as if a timeout was exceeded.

This is necessary so that in #6973, we can manage the timeout logic
external to the `process_exec_tool_call()` because we want to "suspend"
the timeout when an elicitation from a human user is pending.








---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/6972).
* #7005
* #6973
* __->__ #6972
2025-11-20 16:29:57 -08:00
Michael Bolin
0d1b4dd643 merge commit for archive created by Sapling 2025-11-20 16:22:56 -08:00
Michael Bolin
a3821f1904 feat: codex-shell-tool-mcp 2025-11-20 16:22:49 -08:00
Michael Bolin
5f4459948f feat: waiting for an elicitation should not count against a shell tool timeout 2025-11-20 16:22:49 -08:00
Michael Bolin
fa83591049 merge commit for archive created by Sapling 2025-11-20 16:16:25 -08:00
Michael Bolin
8d3473b229 feat: update process_exec_tool_call() to take a cancellation token 2025-11-20 16:16:17 -08:00
Michael Bolin
3c3bedc8bb feat: codex-shell-tool-mcp 2025-11-20 16:16:17 -08:00
Michael Bolin
24e97ab3c4 feat: waiting for an elicitation should not count against a shell tool timeout 2025-11-20 16:16:17 -08:00
Michael Bolin
0b30f833d3 merge commit for archive created by Sapling 2025-11-20 16:14:17 -08:00
Michael Bolin
35075b2f0e feat: codex-shell-tool-mcp 2025-11-20 16:14:10 -08:00
Michael Bolin
50ab543dea feat: waiting for an elicitation should not count against a shell tool timeout 2025-11-20 16:14:10 -08:00