Commit Graph
21 Commits
Author SHA1 Message Date
James Peter 224af74fc0 chore(workspace): sync codex tree and finish reset plan 2025-10-05 09:04:09 +10:00
James Peter ba43562077 feat(core/agent): unify agent tool interface 2025-10-03 16:46:05 +10:00
James Peter 9f4221ec4a feat(protocol): add MCP shim and sync tool stack 2025-10-03 14:36:00 +10:00
just-every-code 187a124c27 merge(upstream): by-bucket sync into upstream-merge; preserve core tool wiring and TUI; adopt upstream exec improvements where safe
- Keep ours in core: codex.rs, plan_tool.rs, apply_patch.rs (browser/agent/web_fetch tools, ordering, UA/version)
- Harmonize exec session: retain upstream truncation/tests; restore result_into_payload + stable alias
- Resolve conflicts per policy; purge no-op assets
- Verify guards + build-fast.sh: ok, zero warnings
2025-09-24 18:04:15 +00:00
pakrym-oaiandGitHub d0c5c9aaed Simplify tool implemetations (#4160)
Use Result<String, FunctionCallError> for all tool handling code and
rely on error propagation instead of creating failed items everywhere.
2025-09-24 17:27:35 +00:00
just-every-code 2811c2f365 merge: upstream main into upstream-merge (preserve core/TUI, adapt exec). build-fast ok 2025-09-18 21:33:38 +00:00
just-every-code 9629c4e9af merge(upstream): sync with openai/codex@main on upstream-merge
- Adopt upstream exec session exit-status tracking (Arc<AtomicBool>)
- Keep our TUI lib/new_model_popup to preserve ordering + branding
- Prefer upstream in common/exec where compatible
- Verify: scripts/upstream-merge/verify.sh PASS; build-fast.sh 0 warnings
2025-09-15 15:34:37 +00:00
just-every-code 9b187b5a85 merge(upstream): sync with openai/codex@main; adopt exec exit status
- Keep ours for TUI and workflows per policy; purge codex-cli images if present
- Update SessionManager to set/pass Arc<AtomicBool> to ExecCommandSession
- scripts/upstream-merge/verify.sh: ok; ./build-fast.sh: ok (zero warnings)
2025-09-15 14:34:43 +00:00
jimmyfraiture2andGitHub f9602fe39f fix: race condition unified exec (#3644)
Fix race condition without storing an rx in the session
2025-09-15 06:52:39 -07:00
just-every-code 7e82930009 Merge upstream/main: preserve TUI/tooling; adopt core updates (verify.sh ok, build-fast: zero warnings) 2025-09-15 01:30:16 +00:00
Fouad MatinandGitHub 0e956209ef fix(core): flaky test completed_commands_do_not_persist_sessions (#3596)
Fix flaky test:
```
        FAIL [   2.641s] codex-core unified_exec::tests::completed_commands_do_not_persist_sessions
  stdout ───

    running 1 test
    test unified_exec::tests::completed_commands_do_not_persist_sessions ... FAILED

    failures:

    failures:
        unified_exec::tests::completed_commands_do_not_persist_sessions

    test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 235 filtered out; finished in 2.63s
    
  stderr ───

    thread 'unified_exec::tests::completed_commands_do_not_persist_sessions' panicked at core/src/unified_exec/mod.rs:582:9:
    assertion failed: result.output.contains("codex")
```
2025-09-14 18:04:05 -07:00
jif-oaiandGitHub cf77ebd0d0 Unified execution (#3288)
## Unified PTY-Based Exec Tool

Note: this requires to have this flag in the config:
`use_experimental_unified_exec_tool=true`

- Adds a PTY-backed interactive exec feature (“unified_exec”) with
session reuse via
  session_id, bounded output (128 KiB), and timeout clamping (≤ 60 s).
- Protocol: introduces ResponseItem::UnifiedExec { session_id,
arguments, timeout_ms }.
- Tools: exposes unified_exec as a function tool (Responses API);
excluded from Chat
  Completions payload while still supported in tool lists.
- Path handling: resolves commands via PATH (or explicit paths), with
UTF‑8/newline‑aware
  truncation (truncate_middle).
- Tests: cover command parsing, path resolution, session
persistence/cleanup, multi‑session
  isolation, timeouts, and truncation behavior.
2025-09-10 17:38:11 -07:00
James Peter e5d5ea0234 fix(tui/history): restore ReadAggregationCell used by chat widget read grouping 2025-09-01 23:22:08 +10:00
James Peter f52f1a172a Merge upstream/main into fork (prefer ours), integrate pager overlay; keep our transcript_app.rs for now 2025-08-29 11:50:50 +10:00
Michael BolinandGitHub 9cd9008862 chore: require uninlined_format_args from clippy (#2845)
- added `uninlined_format_args` to `[workspace.lints.clippy]` in the
`Cargo.toml` for the workspace
- ran `cargo clippy --tests --fix`
- ran `just fmt`
2025-08-28 11:25:23 -07:00
James Peter c8384542e8 Merge upstream/main into merge/upstream-20250825; resolve exec_command API changes, add per-session ExecSessionManager, fix ToolsConfig bools + add new_from_params; build passes with no warnings via ./build-fast.sh 2025-08-25 20:55:53 +10:00
James Peter 1a5e27361e Merge upstream/main into merge/upstream-20250825 preferring ours (-X ours) 2025-08-25 20:50:54 +10:00
Michael BolinandGitHub 073e11c7f3 fix: Scope ExecSessionManager to Session instead of using global singleton (#2664)
The `SessionManager` in `exec_command` owns a number of
`ExecCommandSession` objects where `ExecCommandSession` has a
non-trivial implementation of `Drop`, so we want to be able to drop an
individual `SessionManager` to help ensure things get cleaned up in a
timely fashion. To that end, we should have one `SessionManager` per
session rather than one global one for the lifetime of the CLI process.
2025-08-24 22:52:49 -07:00
James Peter 930ea343f3 rust(core,tui): fix all warnings in build-fast.sh
- Remove unused imports in core/codex.rs and tui/chatwidget.rs
- Avoid unused var by ignoring aggregated_output in ExecCommandEnd
- Remove dead stream cap constants from exec.rs
- Silence dead_code in exec_command session modules (WIP API) via module-level allow
- Annotate exec_command re-exports with #[allow(unused_imports)] to avoid warning until wired

Build now completes with zero warnings using ./build-fast.sh
2025-08-24 08:02:27 +10:00
James Peter 5f00bd05f9 merge: integrate upstream/main, fix protocol mismatches and compile errors (no TUI regressions) 2025-08-24 06:01:43 +10:00
Michael BolinandGitHub 95370fc2d9 feat: StreamableShell with exec_command and write_stdin tools (#2574) 2025-08-22 18:10:55 -07:00