<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduce a new "deep" Smart Context mode that supplies versioned files (by commit) to the engine, adds code search rendering, stores source commit hashes, improves search-replace recovery, and updates UI/tests. > > - **Smart Context (deep)**: > - Replace `conservative` with `deep`; limit context to ~200 turns; send `sourceCommitHash` per message. > - Build and pass `versioned_files` (hash-id map + per-message file refs) and `app_id` to engine. > - **DB**: > - Add `messages.source_commit_hash` (+ migration/snapshot). > - **Engine/Processing**: > - Retry Turbo Edits v2: first re-read then fallback to `dyad-write` if search-replace fails. > - Include provider options and versioned files in requests; add `getCurrentCommitHash`/`getFileAtCommit`. > - **UI**: > - Pro mode selector: new `deep` option; tooltips polish. > - Add `DyadCodeSearch` and `DyadCodeSearchResult` components; parser supports new tags. > - **Tests/E2E**: > - New `smart_context_deep` e2e; update snapshots to include `app_id` and deep mode; adjust Playwright timeout. > - Unit tests for versioned codebase context. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e3d3bffabb2bc6caf52103461f9d6f2d5ad39df8. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
Fake stdio MCP server
This directory contains a minimal stdio MCP server for local testing.
- Tools:
- calculator_add: adds two numbers. Inputs:
a(number),b(number). - print_envs: returns all environment variables visible to the server as pretty JSON.
- calculator_add: adds two numbers. Inputs:
Requirements
- Node 20+ (same as the repo engines)
- Uses the repo dependency
@modelcontextprotocol/sdkandzod
Launch
-
Via Node:
node testing/fake-stdio-mcp-server.mjs -
Via script (adds a stable entrypoint path):
testing/run-fake-stdio-mcp-server.sh
Passing environment variables
Environment variables provided when launching (either from your shell or by the app) will be visible to the print_envs tool.
export FOO=bar
export SECRET_TOKEN=example
testing/run-fake-stdio-mcp-server.sh
Integrating with Dyad (stdio MCP)
When adding a stdio MCP server in the app, use:
- Command:
testing/run-fake-stdio-mcp-server.sh(absolute path recommended) - Transport:
stdio - Args: leave empty (not required)
- Env: optional key/values (e.g.,
FOO=bar)
Once connected, you should see the two tools listed:
calculator_addprint_envs