Commit Graph

1605 Commits

Author SHA1 Message Date
kh.ai
883a108624 tui: add /validate subcommand with high‑risk web validation
- Add /validate slash command
- Plan + execute validations (Playwright MCP preference, curl, python)
- Pre‑validation account setup: auto‑register or manual fallback (opens login)
- Persist credentials in context/validation/credentials.json (usernames logged)
- Update bugs.md and report with validation results + transcript

Also adds Playwright tool support, inline python execution, and UI logs.
2025-11-01 11:19:40 -07:00
kh.ai
ae5150c37a tui(mermaid): ensure blank line between adjacent mermaid blocks
- After wrapping unfenced diagrams, always insert a separator line
- Prevent back-to-back fenced blocks that can break rendering in marked/mermaid
2025-10-23 12:42:37 -07:00
kh.ai
dcf5489659 tui(security_review): Prefill HTML report assignee from git blame GitHub handle
- Parse git blame author-mail to derive @handle for users.noreply.github.com
- Store on bug and inject  line when not present
- Keep efficient: reuse existing blame run; no extra git calls
- Linkify File & Lines preserved
2025-10-23 10:06:03 -07:00
kh.ai
bde8a63906 tui(security_review):
- Add aggregated token usage to Security Review results and show in summary
- Remove/restore report sections per requests: drop Configuration and Extensibility; remove Risks and Gaps; restore Security Findings header
- Simplify findings table by removing Recommendation column
- Inline GitHub links for File & Lines using single commit tree hash per run
- Keep headings and content aligned with appsec review expectations

Also ran fmt/clippy and updated tests to pass.
2025-10-22 17:19:29 -07:00
kh.ai
f294813b7b tui: disable auto-scope for /secreview options 1 & 2; remove default auto-scope prompt and auto-accept for Quick bug sweep; rebuild 2025-10-20 10:23:03 -07:00
kh.ai
32eb5adfd3 tui: dedupe/group bugs before risk rerank; normalize+filter pre and post rerank
- Move dedup step ahead of risk rerank to avoid redundant rerank and improve grouping
- Normalize severities before dedup; filter to High/Medium/Low
- After rerank, re-normalize, rewrite severity in markdown, and filter again if needed
- Minor fix in triage_chunk log initialization

Tests: cargo test -p codex-tui (passed)
2025-10-18 14:37:41 -07:00
kh.ai
ea2246082d Improve security review markdown polishing retries 2025-10-17 20:07:42 -07:00
kh.ai
2b2577144c Sync bug markdown with reranked severity 2025-10-17 18:25:53 -07:00
kh.ai
633be44842 Add security review follow-up prompts 2025-10-17 17:55:26 -07:00
kh.ai
eb5b793ea2 wip 2025-10-17 14:55:46 -07:00
kh.ai
c0ccfeea76 Enhance auto scope keyword expansion 2025-10-17 14:52:36 -07:00
kh.ai
6040759357 Improve security review markdown outputs 2025-10-17 12:20:50 -07:00
kh.ai
62cedda883 Add security review follow-up flow 2025-10-17 12:17:40 -07:00
kh.ai
0b8a3ecc19 Reword bug-sweep autoscope prompt to focus on critical code paths 2025-10-17 11:23:04 -07:00
kh.ai
a915190b38 Cap auto-scope suggestions to up to 20 directories 2025-10-17 11:20:59 -07:00
kh.ai
b567e5628d Fix inline report markdown encoding 2025-10-17 11:15:23 -07:00
kh.ai
3a90a112c4 Detect abbreviations in auto-scope prompts 2025-10-17 10:24:45 -07:00
kh.ai
ad88013ac4 Provide default auto-scope prompt and confirmation dialog 2025-10-17 10:20:52 -07:00
kh.ai
1cf533496d Restore auto-scope confirmation dialog 2025-10-17 10:11:15 -07:00
kh.ai
33e1730cd7 Inline security report viewer JS deps 2025-10-17 10:08:33 -07:00
kh.ai
e4cbd96b04 Auto-scope confirmation now displays LLM-chosen directories directly 2025-10-17 10:01:51 -07:00
kh.ai
23169b8a96 Improve default autoscope prompts for scoped reviews 2025-10-17 09:51:25 -07:00
kh.ai
9f091e7b37 Allow cancelling in-progress security review with Ctrl-C 2025-10-17 09:38:17 -07:00
kh.ai
b6bdc7292b Default scoped review prompts when no paths provided 2025-10-17 09:32:42 -07:00
kh.ai
226ef2e7d5 Restrict security review autoscope to scoped options 2025-10-17 09:28:32 -07:00
kh.ai
c2a6347cdc Provide default scope prompts for auto scope confirmation 2025-10-17 09:22:56 -07:00
kh.ai
88ccfb46b7 Restore /secreview command and security review UI 2025-10-17 09:07:52 -07:00
kh.ai
3b7f4d25ef Add report generation for bug sweep 2025-10-16 20:25:27 -07:00
Michael Bolin
f38ad65254 chore: standardize on ParsedCommand from codex_protocol (#5218)
Note these two types were identical, so it seems clear to standardize on the one in `codex_protocol` and eliminate the `Into` stuff.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/5218).
* #5222
* __->__ #5218
2025-10-15 13:00:22 -07:00
jif-oai
774892c6d7 feat: add auto-approval for codex exec (#5043) 2025-10-15 19:03:54 +01:00
jif-oai
897d4d5f17 feat: agent override file (#5215)
Add a file that overrides `AGENTS.md` but is not versioned (for local
devs)
2025-10-15 17:46:01 +01:00
Gabriel Peal
8a281cd1f4 [MCP] Prompt mcp login when adding a streamable HTTP server that supports oauth (#5193)
1. If Codex detects that a `codex mcp add -url …` server supports oauth,
it will auto-initiate the login flow.
2. If the TUI starts and a MCP server supports oauth but isn't logged
in, it will give the user an explicit warning telling them to log in.
2025-10-15 12:27:40 -04:00
Shijie Rao
e8863b233b feat: updated github issue template (#5191)
### Update github issue template for bug submission. 
* Add subscription field
* Require codex cli/extension version
* Require subscription plan
* Require error message with added context
2025-10-15 07:27:24 -07:00
jif-oai
8fed0b53c4 test: reduce time dependency on test harness (#5053)
Tightened the CLI integration tests to stop relying on wall-clock
sleeps—new fs watcher helper waits for session files instead of timing
out, and SSE mocks/fixtures make the flows deterministic.
2025-10-15 09:56:59 +01:00
Dylan
00debb6399 fix(core) use regex for all shell_serialization tests (#5189)
## Summary
Thought I switched all of these to using a regex instead, but missed 2.
This should address our [flakey test
problem](https://github.com/openai/codex/actions/runs/18511206616/job/52752341520?pr=5185).

## Test Plan
- [x] Only updated unit tests
2025-10-14 16:29:02 -07:00
Dylan
0a0a10d8b3 fix: apply_patch shell_serialization tests (#4786)
## Summary
Adds additional shell_serialization tests specifically for apply_patch
and other cases.

## Test Plan
- [x] These are all tests
2025-10-14 13:00:49 -07:00
Javi
13035561cd feat: pass codex thread ID in notifier metadata (#4582) 2025-10-14 11:55:10 -07:00
Jeremy Rose
9be704a934 tui: reserve 1 cell right margin for composer and user history (#5026)
keep a 1 cell margin at the right edge of the screen in the composer
(and in the user message in history).

this lets us print clear-to-EOL 1 char before the end of the line in
history, so that resizing the terminal will keep the background color
(at least in iterm/terminal.app). it also stops the cursor in the
textarea from floating off the right edge.

---------

Co-authored-by: joshka-oai <joshka@openai.com>
2025-10-14 18:02:11 +00:00
jif-oai
f7b4e29609 feat: feature flag (#4948)
Add proper feature flag instead of having custom flags for everything.
This is just for experimental/wip part of the code
It can be used through CLI:
```bash
codex --enable unified_exec --disable view_image_tool
```

Or in the `config.toml`
```toml
# Global toggles applied to every profile unless overridden.
[features]
apply_patch_freeform = true
view_image_tool = false
```

Follow-up:
In a following PR, the goal is to have a default have `bundles` of
features that we can associate to a model
2025-10-14 17:50:00 +00:00
Jeremy Rose
d6c5df9a0a detect Bun installs in CLI update banner (#5074)
## Summary
- detect Bun-managed installs in the JavaScript launcher and set a
dedicated environment flag
- show a Bun-specific upgrade command in the update banner when that
flag is present

Fixes #5012

------
https://chatgpt.com/codex/tasks/task_i_68e95c439494832c835bdf34b3b1774e

---------

Co-authored-by: Michael Bolin <mbolin@openai.com>
2025-10-14 17:49:44 +00:00
Jeremy Rose
8662162f45 cloud: codex cloud exec (#5060)
By analogy to `codex exec`, this kicks off a task in codex cloud
noninteractively.
2025-10-14 10:49:17 -07:00
jif-oai
57584d6f34 fix: the 7 omitted lines issue (#5141)
Before, the CLI was always showing `... +7 lines` (with the 7 constant)
due to a double truncation

<img width="263" height="127" alt="Screenshot 2025-10-13 at 10 28 11"
src="https://github.com/user-attachments/assets/49a92d2b-c28a-4e2f-96d1-1818955470b8"
/>
2025-10-14 18:15:47 +01:00
jif-oai
268a10f917 feat: add header for task kind (#5142)
Add a header in the responses API request for the task kind (compact,
review, ...) for observability purpose
The header name is `codex-task-type`
2025-10-14 15:17:00 +00:00
jif-oai
5346cc422d feat: discard prompt starting with a slash (#5048)
This is does not consider lines starting with a space or containing
multiple `/` as commands
<img width="550" height="362" alt="Screenshot 2025-10-13 at 10 00 08"
src="https://github.com/user-attachments/assets/17f7347f-db24-47cb-9845-b0eb6fb139cb"
/>
2025-10-14 09:47:20 +01:00
Shijie Rao
26f7c46856 fixes #5011: update mcp server doc (#5014) 2025-10-10 17:23:41 -07:00
Jeremy Rose
90af046c5c tui: include the image name in the textarea placeholder (#5056)
Fixes #5013
2025-10-10 09:56:18 -07:00
jif-oai
961ed31901 feat: make shortcut works even with capslock (#5049)
Shortcut where not working in caps-lock. Fixing this
2025-10-10 14:35:28 +00:00
jif-oai
85e7357973 fix: workflow cache (#5050)
Decouple cache saving to fix the `verify` steps never being run due to a
cache saving issue
2025-10-10 15:57:47 +02:00
jif-oai
f98fa85b44 feat: message when stream get correctly resumed (#4988)
<img width="366" height="109" alt="Screenshot 2025-10-09 at 17 44 16"
src="https://github.com/user-attachments/assets/26bc6f60-11bc-4fc6-a1cc-430ca1203969"
/>
2025-10-10 09:07:14 +00:00
Jeremy Rose
ddcaf3dccd tui: fix crash when alt+bksp past unicode nbsp (#5016)
notably, screenshot filenames on macOS by default contain U+202F right
before the "AM/PM" part of the filename.
2025-10-09 15:07:04 -07:00