Will Chen 538745d546 Detect external changes with deep context (#1888)
<!-- 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. -->
2025-12-04 15:40:58 -08:00
2025-10-23 15:18:37 -07:00
2025-09-16 22:51:46 -07:00
2025-08-22 22:51:16 -07:00
2025-11-06 10:45:39 -08:00
2025-06-11 13:05:27 -07:00
2025-07-23 21:02:43 -07:00
2025-11-06 10:45:39 -08:00
2025-04-14 23:56:11 -07:00
2025-04-11 09:38:16 -07:00
2025-04-11 09:38:16 -07:00
2025-10-28 11:36:20 -07:00
2025-05-06 23:02:28 -07:00
2025-10-30 11:27:31 -07:00
2025-05-06 23:02:28 -07:00
2025-04-11 10:21:05 -07:00
2025-04-11 09:38:16 -07:00
2025-05-27 15:59:13 -07:00
2025-10-28 11:36:20 -07:00
2025-08-14 13:48:27 -07:00
2025-04-11 09:38:16 -07:00
2025-04-11 09:38:16 -07:00
2025-04-11 09:38:16 -07:00

Dyad

Dyad is a local, open-source AI app builder. It's fast, private, and fully under your control — like Lovable, v0, or Bolt, but running right on your machine.

Image

More info at: https://dyad.sh/

🚀 Features

  • Local: Fast, private and no lock-in.
  • 🛠 Bring your own keys: Use your own AI API keys — no vendor lock-in.
  • 🖥️ Cross-platform: Easy to run on Mac or Windows.

📦 Download

No sign-up required. Just download and go.

👉 Download for your platform

🤝 Community

Join our growing community of AI app builders on Reddit: r/dyadbuilders - share your projects and get help from the community!

🛠️ Contributing

Dyad is open-source (Apache 2.0 licensed).

If you're interested in contributing to dyad, please read our contributing doc.

License

Description
No description provided
Readme Apache-2.0 27 MiB
Languages
TypeScript 97.4%
JavaScript 1.6%
CSS 0.6%
Shell 0.2%