feat: implement fuzzy search and replace functionality with Levenshtein distance
- Added `applySearchReplace` function to handle search and replace operations with fuzzy matching capabilities. - Introduced tests for various scenarios including fuzzy matching with typos, exact matches, and handling whitespace differences. - Created a parser for search/replace blocks to facilitate the new functionality. - Updated prompts for search-replace operations to clarify usage and examples. - Added utility functions for text normalization and language detection based on file extensions. - Implemented a minimal stdio MCP server for local testing with tools for adding numbers and printing environment variables.
This commit is contained in:
50
testing/README.md
Normal file
50
testing/README.md
Normal file
@@ -0,0 +1,50 @@
|
||||
### 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.
|
||||
|
||||
### Requirements
|
||||
|
||||
- **Node 20+** (same as the repo engines)
|
||||
- Uses the repo dependency `@modelcontextprotocol/sdk` and `zod`
|
||||
|
||||
### Launch
|
||||
|
||||
- **Via Node**:
|
||||
|
||||
```bash
|
||||
node testing/fake-stdio-mcp-server.mjs
|
||||
```
|
||||
|
||||
- **Via script** (adds a stable entrypoint path):
|
||||
|
||||
```bash
|
||||
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.
|
||||
|
||||
```bash
|
||||
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_add`
|
||||
- `print_envs`
|
||||
Reference in New Issue
Block a user