• Will Chen's avatar
    Fix uploading files to codebase in local agent mode (#2210) · 76cff36c
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > Fixes upload-to-codebase in local-agent by resolving attachment IDs to
    real file bytes and adds e2e coverage.
    > 
    > - **Core fix**: New `file_upload_utils.resolveFileUploadContent` maps
    `DYAD_ATTACHMENT_X` IDs to uploaded file contents via
    `FileUploadsState`.
    > - **Tool update**: `write_file` now writes resolved bytes (supports
    binary) instead of raw ID strings.
    > - **Stream handling**: Clear stale uploads for the chat at stream
    start in `chat_stream_handlers`.
    > - **Tests**: Playwright test, fixture, and snapshot verify uploading
    `logo.png` to `assets/uploaded-file.png` and content parity.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    220b0eaae361fee015e5146b9fffd217e7bf7626. 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
    Fixes uploading files to the codebase in local-agent mode by resolving
    attachment IDs (e.g., DYAD_ATTACHMENT_0) to real file bytes before
    writing. Adds e2e coverage to prevent regressions.
    
    - **Bug Fixes**
    - Added resolver to map upload IDs to file content using
    FileUploadsState.
      - Updated write_file to use the resolver and write the resolved bytes.
    - Cleared file uploads state at chat start to avoid stale IDs from
    previous requests.
    - Added Playwright test and fixture that upload logo.png and verify the
    written file and snapshot.
    
    <sup>Written for commit 220b0eaae361fee015e5146b9fffd217e7bf7626.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    76cff36c
名称
最后提交
最后更新
.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 正在载入提交数据...