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:
@@ -7,7 +7,7 @@ const config: PlaywrightTestConfig = {
|
||||
testDir: "./e2e-tests",
|
||||
workers: 1,
|
||||
retries: process.env.CI ? 2 : 0,
|
||||
timeout: process.env.CI ? 180_000 : 30_000,
|
||||
timeout: process.env.CI ? 180_000 : 45_000,
|
||||
// Use a custom snapshot path template because Playwright's default
|
||||
// is platform-specific which isn't necessary for Dyad e2e tests
|
||||
// which should be platform agnostic (we don't do screenshots; only textual diffs).
|
||||
@@ -42,10 +42,12 @@ const config: PlaywrightTestConfig = {
|
||||
// video: "retain-on-failure",
|
||||
},
|
||||
|
||||
webServer: {
|
||||
command: `cd testing/fake-llm-server && npm run build && npm start`,
|
||||
url: "http://localhost:3500/health",
|
||||
},
|
||||
webServer: [
|
||||
{
|
||||
command: `cd testing/fake-llm-server && npm run build && npm start`,
|
||||
url: "http://localhost:3500/health",
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default config;
|
||||
|
||||
Reference in New Issue
Block a user