• 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
名称
最后提交
最后更新
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...