List files: recursive (#2169)
<!-- 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. -->
正在显示
请
注册
或者
登录
后发表评论