• Will Chen's avatar
    Detect external changes with deep context (#1888) · 538745d5
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > Adds commit-aware deep context by computing hasExternalChanges (via
    latest assistant commit vs current repo + dirty check) and propagating
    commitHash through messages/provider options.
    > 
    > - **Deep Smart Context**:
    > - Add `hasExternalChanges` to `VersionedFiles`; compute by comparing
    latest assistant `commitHash` with `getCurrentCommitHash` and checking
    `isGitStatusClean`.
    > - Make `sourceCommitHash` nullable; add `commitHash` in
    `DyadEngineProviderOptions` and use it when scanning history.
    > - **Chat Handling**:
    > - Include `commitHash` in `messageHistory` and pass through
    `providerOptions['dyad-engine']`.
    > - **Git Utilities**:
    > - New `isGitStatusClean(path)` supporting native git and
    isomorphic-git.
    > - **Tests/Snapshots**:
    > - Mock `getCurrentCommitHash` and `isGitStatusClean`; update snapshot
    to include `hasExternalChanges`.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    ad92d9dd5ead941de822e8da59c8819e4db8b775. 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
    Detects external code changes in deep context by comparing the latest
    assistant commit with the current repo state. Exposes a
    hasExternalChanges flag so the engine can adapt responses when the
    workspace diverges.
    
    - **New Features**
      - Added hasExternalChanges to VersionedFiles.
    - Computes by comparing the latest assistant commitHash with
    getCurrentCommitHash and checking isGitStatusClean.
    - Passes commitHash through chat messages and dyad-engine
    providerOptions; sourceCommitHash is now nullable.
      - Defaults to true if detection fails (with a warning).
    
    <sup>Written for commit 6ebb0b125c9a3421b4e5673870b204c9cb279265.
    Summary will update automatically on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    538745d5
名称
最后提交
最后更新
.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 正在载入提交数据...
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 正在载入提交数据...