• Will Chen's avatar
    Turbo edits v2 (#1653) · a8f3c973
    Will Chen 提交于
    Fixes #1222 #1646 
    
    TODOs
    - [x] description?
    - [x] collect errors across all files for turbo edits
    - [x] be forgiving around whitespaces
    - [x] write e2e tests
    - [x] do more manual testing across different models
    
    
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Adds Turbo Edits v2 search-replace flow with settings/UI selector,
    parser/renderer, dry-run validation + fallback, proposal integration,
    and comprehensive tests; updates licensing.
    > 
    > - **Engine/Processing**:
    > - Add `dyad-search-replace` end-to-end: parsing
    (`getDyadSearchReplaceTags`), markdown rendering (`DyadSearchReplace`),
    and application (`applySearchReplace`) with dry-run validation and
    fallback to `dyad-write`.
    > - Inject Turbo Edits v2 system prompt; toggle via
    `isTurboEditsV2Enabled`; disable classic lazy edits when v2 is on.
    > - Include search-replace edits in proposals and full-response
    processing.
    > - **Settings/UI**:
    > - Introduce `proLazyEditsMode` (`off`|`v1`|`v2`) and helper selectors;
    update `ProModeSelector` with Turbo Edits and Smart Context selectors
    (`data-testid`s).
    > - **LLM/token flow**:
    > - Construct system prompt conditionally; update token counting and
    chat stream to validate and repair search-replace responses.
    > - **Tests**:
    > - Add unit tests for search-replace processor; e2e tests for Turbo
    Edits v2 and options; fixtures and snapshots.
    > - **Licensing/Docs**:
    > - Add `src/pro/LICENSE` (FSL 1.1 ALv2 future), update root `LICENSE`
    and README license section.
    > - **Tooling**:
    > - Update `.prettierignore`; enhance test helpers (selectors, path
    normalization, snapshot filtering).
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    7aefa02bfae2fe22a25c7d87f3c4c326f820f1e6. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    a8f3c973
名称
最后提交
最后更新
.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 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
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 正在载入提交数据...