• Will Chen's avatar
    List files: recursive (#2169) · 59b721b1
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > **Enhancements**
    > - `list_files` now accepts `recursive` (default: false); non-recursive
    uses `/*`, recursive uses `/**`; consent preview/XML reflect recursion
    and UI title shows "(recursive)".
    > - UI: `dyad-list-files` renders as a collapsible panel with chevron
    toggle and abbreviated file list with total count; wired through
    `DyadMarkdownParser`.
    > 
    > **Safety/Infra**
    > - Validates directory input via `resolveDirectoryWithinAppPath` to
    prevent traversal (Windows/POSIX cases covered) with unit tests.
    > - Fake LLM server resets fixture turn counting per prompt (counts tool
    results after last user message) for stable multi-prompt E2E.
    > - E2E: adds fixtures and snapshots for recursive and non-recursive
    modes; shorter toast duration in test mode to speed tests.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    3f366934b050a583ae66168e4c924a97a5529f51. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Add recursive support to the local agent list_files tool and make
    results collapsible in the chat UI. Includes E2E coverage and a fix to
    fixture turn counting for stable multi-prompt runs.
    
    - **New Features**
    - list_files accepts recursive (default: false); uses "/*" for
    non-recursive and "/**" for recursive.
    - Consent preview/XML and UI reflect recursion; collapsible panel shows
    abbreviated list with total count.
    - Recursive attribute wired through the markdown parser; added E2E tests
    and snapshots for both modes.
    
    - **Bug Fixes**
    - Validate directory paths to prevent path traversal outside the app
    directory.
    - Fake LLM server counts tool results after the last user message to
    reset turns per prompt.
      - Shorter toast duration in test mode to speed up E2E runs.
    
    <sup>Written for commit 3f366934b050a583ae66168e4c924a97a5529f51.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    59b721b1
local_agent_list_files.spec.ts_local-agent---list-files-2.aria.yml 132 Bytes