James Peter
a1965499d3
fix(ci-tests): call --tests for migrated crates
2025-10-06 10:09:39 +10:00
James Peter
536c1aec8a
chore(upstream): strip code branding in docs during diff
2025-10-06 09:07:04 +10:00
James Peter
5f74f7ca81
chore(upstream): drop .DS_Store noise in diff-crates
2025-10-06 09:05:14 +10:00
James Peter
bc744fad6f
chore(upstream): ignore code prefix in diff crate comparisons
2025-10-06 09:01:17 +10:00
James Peter
d5a124fd3a
chore(upstream): normalize crate rename noise in diff-crates
2025-10-06 08:59:57 +10:00
James Peter
0089b863d8
fix(workflows): restore release and point to code-rs
2025-10-06 08:54:53 +10:00
James Peter
f2f0a07b38
docs: reset roadmap and add maintenance guides
2025-10-05 20:48:06 +10:00
Code Snapshot
337213efa0
code snapshot
2025-10-05 16:22:02 +10:00
James Peter
224af74fc0
chore(workspace): sync codex tree and finish reset plan
2025-10-05 09:04:09 +10:00
James Peter
05cf8e3924
merge(upstream): add automation prompts and exec docs
2025-10-03 14:26:48 +10:00
James Peter
2b8f6d7f2c
chore(ci): defer log fetch until run stops
2025-09-25 13:53:51 +10:00
James Peter
8786068dbb
fix(ci): exit wait script on first failed job
2025-09-25 13:49:40 +10:00
just-every-code
d3a5508879
merge(upstream): sync with openai/codex main; build + guards OK
...
- Resolve merge conflict in codex-rs/Cargo.lock by adopting upstream version (outside prefer-ours globs).
- Add RUSTUP_HOME export in scripts/upstream-merge/verify.sh to avoid CI HOME permission issues during cargo check.
- Verified via scripts/upstream-merge/verify.sh: build-fast OK, API check OK, static guards OK, branding clean.
2025-09-24 17:21:07 +00:00
James Peter
73c76dde73
feat(scripts): add failure log dump option
...
Extend wait-for-gh-run.sh with --failure-logs and fold docs under a How to Git Push section.
2025-09-22 13:31:37 +10:00
James Peter
f9c92a7cd1
feat(scripts): add gh run waiter utility
...
Introduce wait-for-gh-run.sh to poll workflows and document usage in AGENTS.md.
2025-09-22 12:53:17 +10:00
James Peter
8b3a076fe8
fix(scripts/test-responses): prefer .code directory
2025-09-19 14:41:25 +10:00
James Peter
35e3f53306
feat: add long run calculator script
2025-09-18 17:15:28 +10:00
Michael Bolin and GitHub
280db51126
fix: make GitHub Action publish to npm using trusted publishing ( #3431 )
2025-09-16 20:33:59 -07:00
James Peter
d0e710dc05
ci(upstream-merge): make branding guide-only
...
- Remove auto-branding worktree + commit and failing guard
- Keep perma-deleted guard; generate VERIFY_branding.log for guidance
- verify.sh: record branding findings as notice, never fail rc; write branding log
Rationale: branding should be a suggestion, not a gate. Code/maintainers can
apply suggested changes explicitly in follow-ups while upstream merge is gated
solely by build + API invariants.
2025-09-15 10:25:20 +10:00
James Peter
d359017037
chore(ci/upstream-merge): add branding guard + auto-fix step for TUI/CLI\n\nAdd non-fixing verify step to flag newly introduced user-visible 'Codex' strings\nunder TUI/CLI paths vs origin/<branch>. Add CI job to auto-fix branding in the\nmerge worktree using a safe single-line quoted-string replacement script.
2025-09-13 13:47:39 +10:00
James Peter
8386ed45ba
fix(core/client): switch tool type to 'web_search' to avoid 400 Unsupported tool error\n\nThe Responses API rejects 'web_search_preview' with 400 (Unsupported tool type).\nUse the supported 'web_search' tool id. Update test payload generator accordingly.
2025-09-13 13:47:34 +10:00
James Peter
235fe713cd
fix(tui/spinner): use active auth preference for custom spinner generation\n\n- Prefer ChatGPT auth when session uses ChatGPT; otherwise use API key\n- Avoids 401 retry loops when background thread created a fresh AuthManager\n- Matches request shape that succeeds in harness (responses=v1, session handling)
2025-09-13 00:33:37 +10:00
James Peter
993b7e419c
feat(dev): add scripts/test-responses.js to probe Responses API with ChatGPT/API-key auth\n\n- Reads /auth.json; supports --auth chatgpt|api-key|auto\n- Tests: base, json-schema, tools-web-search, tools-web-search-preview, store\n- Uses Responses v1; non-streaming by default for clear error capture\n- Prints status + x-request-id and error excerpts
2025-09-13 00:02:33 +10:00
James Peter
73db995f1f
ci(proxy): set Responses v1 and fail-fast on 5xx\n\n- scripts/openai-proxy.js default RESPONSES_BETA=responses=v1\n- Workflows (issue-code, issue-comment, release, upstream-merge): EXIT_ON_5XX=1 and RESPONSES_BETA=responses=v1\n\nFix: API-key 2nd-call 500s addressed in client; proxy now aligned with production headers
2025-09-12 23:57:18 +10:00
James Peter
169c80f972
chore(proxy): add STRICT_HEADERS and RESPONSES_BETA override; minimal allowlist mode
2025-09-12 23:24:59 +10:00
James Peter
fa3518f5f7
chore(proxy): add debug toggles and error-body logging\n\n- Options: DISABLE_KEEPALIVE, FORCE_CLOSE, NO_GZIP, STRIP_SESSION_ID, IDEMPOTENCY_KEY=auto, LOG_ERROR_BODY(+_BYTES)\n- Helps isolate Responses API 500s on subsequent requests
2025-09-12 23:11:31 +10:00
James Peter
6fee6e3e95
ci(proxy): centralize OpenAI proxy to scripts/openai-proxy.js and use across workflows\n\n- Replace inline JS proxies in upstream-merge, issue-code, issue-comment, release\n- Shared behavior: SSE defaults, allowlist, header scrubbing, structured logs\n- Supports PORT/OPENAI_BASE_URL/LOG_DEST/EXIT_ON_5XX via env\n- Keeps existing port assignments (5055/5056/5057/5058)\n
2025-09-12 22:43:05 +10:00
James Peter
17f3ea5f15
chore(dev): add local OpenAI proxy script replicating upstream-merge settings\n\n- scripts/openai-proxy.js mirrors CI proxy (allowlist, SSE defaults, header scrubbing)\n- Usage docs in file header; supports PORT and OPENAI_BASE_URL\n- For local runs: set proxy with real OPENAI_API_KEY; run code with OPENAI_BASE_URL= http://127.0.0.1 :<port>/v1 and dummy key
2025-09-12 22:18:08 +10:00
James Peter
4b93553dc5
fix(release/homebrew): use local artifacts for sha256; add retry/backoff on remote fetch; avoid failing on CDN propagation
...
- Prefer release-assets/* when present to compute sha256 for Homebrew formula.\n- Retry curl with backoff if local file missing; print warnings instead of failing.\n- Keep formula URLs pointing to GitHub Releases; add best-effort HEAD checks.\n- Eliminates 404-induced failures right after uploading assets.
2025-09-12 21:51:05 +10:00
James Peter
32561af3aa
fix(core/mcp): honor per-server startup_timeout_ms and make tools/list failures non-fatal; add test MCP server + smoke harness to validate slow/fast scenarios
...
- Add to and parse/write in config
- Apply per-server timeout to and initial
- Treat per-server errors as non-fatal; record and skip those servers
- Keep manager creation successful even if some servers time out
- Export so local smoke tool can exercise it
- Add (stdio JSON-RPC) and binary for manual validation
- Update TUI to set by default
This resolves GitHub issue #91 where a slow MCP server caused manager creation to time out and fail entirely.
2025-09-12 00:10:56 +10:00
James Peter
95a3b15a22
Merge upstream-merge into main: restore fork features and keep upstream improvements
...
- Core: keep browser_*/agent_* tool exposure and web_fetch in openai_tools; preserve browser gating + screenshot UX; adapt recorder API
- Protocol: keep TS model changes for protocol-ts; align image shape
- Default client: reinstate UA helpers (USER_AGENT_SUFFIX, get_codex_user_agent_default)
- CI/Docs: carry remote minor updates
Build: ./build-fast.sh clean
2025-09-11 20:55:52 +10:00
James Peter
01368915b8
ci(upstream-merge): expand agent context with fork enhancements + generic guards
...
- Add docs/fork-enhancements.md (initial list; instruct agent to scan repo for more)
- Inject the overview into the merge prompt
- Generalize verify guards to handler↔tool parity by family (browser_*, agent_*, web_fetch), and keep UA/version check
Prevents silent loss of fork features and gives the agent richer context.
2025-09-11 20:12:17 +10:00
James Peter
ced6307578
ci(upstream-merge): preserve fork features via policy + guards
...
- Policy: prefer ours for core files that contain forked functionality (openai_tools, codex.rs, agent_tool, default_client, protocol models)
- Verify: add static guards to fail if browser/agent tools are dropped or UA/version handling is removed
- Workflow: embed explicit invariants in agent prompt (browser/agent tools, screenshot queue, version UA); reference verify guards
Keeps our model-driven tools and UX intact while still adopting safe upstream changes.
2025-09-11 19:34:32 +10:00
just-every-code
c4ce551883
Merge remote-tracking branch 'origin/main' into upstream-merge
2025-09-10 02:39:25 +00:00
James Peter
23366b26c8
ux(spinners): keep grouped order and render group headers as dim title rows; add selector arrow back\n\n- Sort spinners by (group,name) from JSON (grouped or flat)\n- Spinner list shows dim group header rows (non-selectable) between groups\n- Selected row gets '› ' arrow and info-colored preview; others dim\n- Add Node script to upgrade spinners.json to grouped format with labels
2025-09-10 12:11:41 +10:00
James Peter
6a28917b7c
chore(spinners): add labels + groups to spinners.json via Node script; keep runtime fallbacks\n\n- Script: scripts/upgrade-spinners.js (idempotent; --dry-run supported)\n- JSON now includes {label, group} for each spinner; easier to curate manually\n- spinner.rs reads label/group (with humanize/derive fallback)
2025-09-10 11:57:20 +10:00
just-every-code
aedc0cbd76
merge(upstream): merge upstream/main into upstream-merge with policy
...
- Keep ours for (resume picker not reintroduced)
- Initially took upstream for core, but reverted to ours to maintain API compatibility and pass build
- Adopted upstream elsewhere where non-conflicting
- Guard: keep codex-core re-exports and models alias intact
- Verify script: disable sccache outside GHA to allow local verify
- Fix: remove unused imports in theme selection view (warnings-as-failure policy)
Build: scripts/upstream-merge/verify.sh => build_fast=ok api_check=ok
2025-09-10 01:15:15 +00:00
just-every-code
c09eeb10f0
Merge remote-tracking branch 'origin/main' into upstream-merge
2025-09-10 01:02:55 +00:00
James Peter
45006c1669
ci(upstream-merge): unify Cargo env/caches; drop duplicate caches; keep sccache
...
Use one CARGO_HOME/CARGO_TARGET_DIR across agent and verify. Remove redundant actions/cache steps; rely on Swatinem/rust-cache and sccache GHA backend for incremental builds. verify.sh now respects env and uses KEEP_ENV=1 so builds share caches.
2025-09-10 08:17:45 +10:00
just-every-code
9bc4d0359b
merge(upstream): incorporate openai/codex@83e90ede9 (by-bucket)
...
- Prefer ours for TUI/CLI and workflows; theirs for protocol where safe
- Adopt upstream rollout_path in NewConversationResponse; wire through SessionConfiguredEvent
- Add TS derives for protocol types to satisfy upstream TS schema
- Keep core API re-exports and models alias intact
Verification: scripts/upstream-merge/verify.sh passed; ./build-fast.sh clean (no warnings)
2025-09-09 07:34:28 +00:00
just-every-code
c6e4412afb
merge(upstream): merge upstream/main into upstream-merge (by-bucket)
...
- Keep ours for TUI/CLI/workflows/docs; purge reintroduced rust-ci.yml
- Prefer theirs in protocol/deps; add serde_bytes + ICU/sys-locale/serde_with
- Keep our core codex/shell to preserve API; fix exec AuthMode import
- Make verify.sh CI-safe (no sccache; local CARGO dirs); check api_surface only
Build: ok; Verify: ok
2025-09-09 01:56:14 +00:00
James Peter
a7350b8dc3
ci(upstream-merge): add scripts/upstream-merge/verify.sh and switch checks/remediation to use it; agent instructed to run verify before pushing
2025-09-09 11:37:05 +10:00
James Peter
8da0ef15bd
ci(release): add preflight E2E tests and per-target post-build smokes; fix duplicate workflow block
2025-09-09 10:59:49 +10:00
James Peter
83e07abd99
revert: drop unintended preflight test files and release.yml edits; keep only core API tests and upstream-merge prompt/checks
2025-09-09 10:56:07 +10:00
James Peter
74b0c1ca1c
test(core/api): add compile-only API surface checks for core re-exports and models alias
2025-09-09 10:54:43 +10:00
James Peter
61f0550d98
chore(repo,tui): remove labels/scripts; update TUI sources
...
- Remove obsolete GitHub label templates and demo assets
- Remove unused helper scripts under `scripts/`
- Update Rust TUI sources (`codex-rs/tui/src/*`)
Staged summary:
.github/codex/labels/codex-attempt.md | 9 --
.github/codex/labels/codex-review.md | 7 --
.github/codex/labels/codex-rust-review.md | 139 ------------------------------
.github/codex/labels/codex-triage.md | 7 --
.github/demo.gif | Bin 19750111 -> 0 bytes
.github/pull_request_template.md | 6 --
codex-rs/tui/src/app.rs | 7 ++
codex-rs/tui/src/app_event.rs | 4 +
codex-rs/tui/src/bottom_pane/mod.rs | 52 ++++++-----
codex-rs/tui/src/chatwidget.rs | 48 ++++++++++-
codex-rs/tui/src/history_cell.rs | 26 ++++--
codex-rs/tui/src/user_approval_widget.rs | 71 ++++-----------
scripts/asciicheck.py | 127 ---------------------------
scripts/pr-cleanup.sh | 131 ----------------------------
scripts/publish_to_npm.py | 118 -------------------------
scripts/readme_toc.py | 119 -------------------------
16 files changed, 123 insertions(+), 748 deletions(-)
2025-09-08 22:15:28 +10:00
James Peter
ca1010b225
chore: restore files removed unintentionally in previous commit
...
Re-add .github/codex labels, .vscode config, and root scripts that were dropped while updating upstream-merge workflow. Only intended change is the PR zero-diff guard.
2025-09-08 09:02:26 +10:00
James Peter
f0ebd1ec5c
ci(upstream-merge): skip PR on zero diff; close existing no-op PRs
...
- Guard PR step when upstream merge is a true no-op (no file deltas vs base).
- Add workflow-level 'if' on PR step to honor earlier skip short-circuit.
- Leaves agent + policy steps unchanged; avoids empty PRs like #83 .
2025-09-08 09:01:51 +10:00
James Peter
589835d793
ci(pr-cleanup): remove GitHub Actions cleanup workflow; use scripts/pr-cleanup.sh for local maintenance
2025-09-07 11:06:34 +10:00
James Peter
4de65f4db7
fix(tui/input): normalize KeyEvent kind on non-enhanced terminals to restore typing on Git Bash/mintty (Windows)
...
This maps Release-only key events to Press when keyboard enhancement flags are unsupported, fixing unresponsive input and Ctrl+C on some Windows terminals.
Closes #18 . Closes #14 .
2025-09-03 21:44:29 +10:00