Commit Graph

4 Commits

  • chore: upgrade prettier to v3 (#644)
    ## Description
    
    This PR addresses the following improvements:
    
    **Unify Prettier Version**: Currently, the Prettier version used in
    `/package.json` and `/codex-cli/package.json` are different. In this PR,
    we're updating both to use Prettier v3.
    
    - Prettier v3 introduces improved support for JavaScript and TypeScript.
    (e.g. the formatting scenario shown in the image below. This is more
    aligned with the TypeScript indentation standard).
    
    <img width="1126" alt="image"
    src="https://github.com/user-attachments/assets/6e237eb8-4553-4574-b336-ed9561c55370"
    />
    
    **Add Prettier Auto-Formatting in lint-staged**: We've added a step to
    automatically run prettier --write on JavaScript and TypeScript files as
    part of the lint-staged process, before the ESLint checks.
    
    - This will help ensure that all committed code is properly formatted
    according to the project's Prettier configuration.
  • feat: add notifications for MacOS using Applescript (#160)
    yolo'ed it with codex. Let me know if this looks good to you.
    
    https://github.com/openai/codex/issues/148
    
    tested with:
    ```
    npm run build:dev
    ```
    
    <img width="377" alt="Screenshot 2025-04-16 at 18 12 01"
    src="https://github.com/user-attachments/assets/79aa799b-b0b9-479d-84f1-bfb83d34bfb9"
    />
  • add support for -w,--writable-root to add more writable roots for sandbox (#263)
    This adds support for a new flag, `-w,--writable-root`, that can be
    specified multiple times to _amend_ the list of folders that should be
    configured as "writable roots" by the sandbox used in `full-auto` mode.
    Values that are passed as relative paths will be resolved to absolute
    paths.
    
    Incidentally, this required updating a number of the `agent*.test.ts`
    files: it feels like some of the setup logic across those tests could be
    consolidated.
    
    In my testing, it seems that this might be slightly out of distribution
    for the model, as I had to explicitly tell it to run `apply_patch` and
    that it had the permissions to write those files (initially, it just
    showed me a diff and told me to apply it myself). Nevertheless, I think
    this is a good starting point.
  • fix: allow continuing after interrupting assistant (#178)
    ## Description
    This PR fixes the issue where the CLI can't continue after interrupting
    the assistant with ESC ESC (Fixes #114). The problem was caused by
    duplicate code in the `cancel()` method and improper state reset after
    cancellation.
    
    ## Changes
    - Fixed duplicate code in the `cancel()` method of the `AgentLoop` class
    - Added proper reset of the `currentStream` property in the `cancel()`
    method
    - Created a new `AbortController` after aborting the current one to
    ensure future tool calls work
    - Added a system message to indicate the interruption to the user
    - Added a comprehensive test to verify the fix
    
    ## Benefits
    - Users can now continue using the CLI after interrupting the assistant
    - Improved user experience by providing feedback when interruption
    occurs
    - Better state management in the agent loop
    
    ## Testing
    - Added a dedicated test that verifies the agent can process new input
    after cancellation
    - Manually tested the fix by interrupting the assistant and confirming
    that new input is processed correctly
    
    ---------
    
    Signed-off-by: crazywolf132 <crazywolf132@gmail.com>