Commit Graph

3 Commits

  • [codex] Add /usr/bin/bash shell fallback (#26538)
    ## Why
    
    Some Linux environments expose `bash` at `/usr/bin/bash` instead of
    `/bin/bash`. The shell detection fallback list should cover both
    standard locations once PATH/user-shell probing fails.
    
    Stacked on #26480.
    
    ## What changed
    
    - Add `/usr/bin/bash` to the bash fallback path list in
    `codex-shell-command`.
    - Extend shell type detection coverage for `/usr/bin/bash`.
    - Add AGENTS.md testing guidance to avoid tests for statically defined
    values and negative tests for removed logic.
    
    ## Verification
    
    - `just test -p codex-shell-command`
  • [codex] Add environment shell info (#26480)
    ## Why
    
    Shell detection needs to be available through the `Environment`
    abstraction so callers can ask the selected local or remote environment
    for shell metadata without adding a separate HTTP endpoint or parallel
    info-source path. This keeps shell metadata shaped like the existing
    environment-owned filesystem capability and lets remote environments
    answer through exec-server JSON-RPC.
    
    ## What changed
    
    - Added `environment/info` to the exec-server protocol/client/server and
    exposed `Environment::info()`.
    - Added local and remote environment info providers on `Environment`,
    following the existing capability-provider pattern used for filesystem
    access.
    - Moved the shared shell detection logic into `codex-shell-command` and
    kept core shell APIs as wrappers around that implementation.
    - Returned shell metadata as `EnvironmentInfo { shell: ShellInfo }`
    using the existing shell detection path.
    - Added a remote environment test that calls `Environment::info()`
    through an exec-server-backed environment.
    
    ## Validation
    
    - `git diff --check`
    - `just test -p codex-shell-command`
    - `just test -p codex-core -E 'test(/shell::tests::/)'`\n- `just test -p
    codex-exec-server environment`
  • chore: rename codex-command to codex-shell-command (#11378)
    This addresses some post-merge feedback on
    https://github.com/openai/codex/pull/11361:
    
    - crate rename
    - reuse `detect_shell_type()` utility