• wwwillchen-bot's avatar
    fix: limit grep results to prevent context_length_exceeded errors (#2510) · 3deb70b1
    wwwillchen-bot 提交于
    ## Summary
    - Add a configurable `limit` parameter to the grep tool (default: 100,
    max: 500) to prevent context window overflow
    - Truncate individual line text to 500 characters to handle very long
    lines
    - Add clear truncation notice telling the AI to narrow its search when
    results are truncated
    - Add `total` and `truncated` attributes to XML output for visibility
    
    ## Test plan
    - [x] Build passes (`npm run build`)
    - [x] Lint passes (`npm run lint`)
    - [x] All 669 unit tests pass (`npm test`)
    - Manual testing: grep with a broad query like "import" should now
    return limited results with a truncation notice instead of overflowing
    the context window
    
    Fixes #2509
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    <!-- devin-review-badge-begin -->
    
    ---
    
    <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2510"
    target="_blank">
      <picture>
    <source media="(prefers-color-scheme: dark)"
    srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
    <img
    src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
    alt="Open with Devin">
      </picture>
    </a>
    <!-- devin-review-badge-end -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Limits grep results and line lengths to prevent context window overflows
    and context_length_exceeded errors. Addresses Linear #2509 with a
    configurable cap, consistent sorting, clearer UI output, and ignoring
    include_pattern "*" when it matches all files.
    
    - **Bug Fixes**
      - Added limit parameter (default 100, max 250) to cap matches.
      - Truncated each matched line to 500 chars.
    - Sorted results by path and line number, and ignored include_pattern
    "*" with a note to avoid broad searches.
      - Added truncation notice and "X of Y matches" in UI.
      - Exposed total and truncated flags in XML output for visibility.
    
    <sup>Written for commit ad5979b9352ffc754019e13ead9c6be2e7b24ce9.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    ---------
    Co-authored-by: 's avatarWill Chen <willchen90@gmail.com>
    Co-authored-by: 's avatarClaude Opus 4.5 <noreply@anthropic.com>
    Co-authored-by: 's avatarclaude[bot] <41898282+claude[bot]@users.noreply.github.com>
    3deb70b1
名称
最后提交
最后更新
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
.storybook 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
makers 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxfmtrc.json 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CLAUDE.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 正在载入提交数据...
windowsSign.ts 正在载入提交数据...