@aws/lsp-codewhisperer 0.0.52 → 0.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/out/language-server/agenticChat/agenticChatController.js +29 -14
  3. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  4. package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +31 -2
  5. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +88 -4
  6. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
  7. package/out/language-server/agenticChat/tools/fsReplace.d.ts +60 -0
  8. package/out/language-server/agenticChat/tools/fsReplace.js +131 -0
  9. package/out/language-server/agenticChat/tools/fsReplace.js.map +1 -0
  10. package/out/language-server/agenticChat/tools/fsWrite.d.ts +5 -29
  11. package/out/language-server/agenticChat/tools/fsWrite.js +18 -105
  12. package/out/language-server/agenticChat/tools/fsWrite.js.map +1 -1
  13. package/out/language-server/agenticChat/tools/grepSearch.d.ts +2 -2
  14. package/out/language-server/agenticChat/tools/grepSearch.js +2 -2
  15. package/out/language-server/agenticChat/tools/grepSearch.js.map +1 -1
  16. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +12 -2
  17. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  18. package/out/language-server/agenticChat/tools/toolServer.js +6 -0
  19. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  20. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js +8 -3
  21. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js.map +1 -1
  22. package/out/shared/codeWhispererService.js +3 -0
  23. package/out/shared/codeWhispererService.js.map +1 -1
  24. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agenticChatTriggerContext.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/context/agenticChatTriggerContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agenticChatTriggerContext.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/context/agenticChatTriggerContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { CommandValidation, ExplanatoryParams, InvokeOutput } from './toolShared';
2
+ import { Features } from '@aws/language-server-runtimes/server-interface/server';
3
+ interface BaseParams extends ExplanatoryParams {
4
+ path: string;
5
+ }
6
+ export interface Diff {
7
+ oldStr: string;
8
+ newStr: string;
9
+ }
10
+ export interface ReplaceParams extends BaseParams {
11
+ diffs: Diff[];
12
+ }
13
+ export type FsReplaceParams = ReplaceParams;
14
+ export declare class FsReplace {
15
+ private readonly logging;
16
+ private readonly workspace;
17
+ private readonly lsp;
18
+ constructor(features: Pick<Features, 'workspace' | 'logging' | 'lsp'> & Partial<Features>);
19
+ validate(params: FsReplaceParams): Promise<void>;
20
+ invoke(params: FsReplaceParams): Promise<InvokeOutput>;
21
+ requiresAcceptance(params: FsReplaceParams, approvedPaths?: Set<string>): Promise<CommandValidation>;
22
+ private handleReplace;
23
+ getSpec(): {
24
+ readonly name: "fsReplace";
25
+ readonly description: string;
26
+ readonly inputSchema: {
27
+ readonly type: "object";
28
+ readonly properties: {
29
+ readonly explanation: {
30
+ readonly description: "One sentence explanation as to why this tool is being used, and how it contributes to the goal.";
31
+ readonly type: "string";
32
+ };
33
+ readonly diffs: {
34
+ readonly description: "List of `oldStr`/`newStr` pairs to replace contents in an existing file. IMPORTANT: Must be provided as an array of objects, NOT as a string. For example, `[{\"oldStr\": \"existingContent\", \"newStr\": \"newContent\"}]`";
35
+ readonly type: "array";
36
+ readonly items: {
37
+ readonly type: "object";
38
+ readonly properties: {
39
+ readonly oldStr: {
40
+ readonly description: "The exact string content to be replaced in the file. Must match EXACTLY including whitespaces (indentations, tabs, spaces) and line breaks.";
41
+ readonly type: "string";
42
+ };
43
+ readonly newStr: {
44
+ readonly description: "The new string content that will replace the oldStr. Use empty string to delete content.";
45
+ readonly type: "string";
46
+ };
47
+ };
48
+ readonly required: readonly ["oldStr"];
49
+ };
50
+ };
51
+ readonly path: {
52
+ readonly description: "Absolute path to a file, e.g. `/repo/file.py` for Unix-like system including Unix/Linux/macOS or `d:\\repo\\file.py` for Windows.";
53
+ readonly type: "string";
54
+ };
55
+ };
56
+ readonly required: readonly ["diffs", "path"];
57
+ };
58
+ };
59
+ }
60
+ export {};
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FsReplace = void 0;
4
+ const toolShared_1 = require("./toolShared");
5
+ const path_1 = require("@aws/lsp-core/out/util/path");
6
+ const os = require("os");
7
+ class FsReplace {
8
+ logging;
9
+ workspace;
10
+ lsp;
11
+ constructor(features) {
12
+ this.logging = features.logging;
13
+ this.workspace = features.workspace;
14
+ this.lsp = features.lsp;
15
+ }
16
+ async validate(params) {
17
+ if (!params.path) {
18
+ throw new Error('Path must not be empty');
19
+ }
20
+ if (!params.diffs || params.diffs.length === 0) {
21
+ throw new Error('Diffs must not be empty');
22
+ }
23
+ const sanitizedPath = (0, path_1.sanitize)(params.path);
24
+ const fileExists = await this.workspace.fs.exists(sanitizedPath);
25
+ if (!fileExists) {
26
+ throw new Error('The provided path must exist in order to replace contents into it');
27
+ }
28
+ }
29
+ async invoke(params) {
30
+ const sanitizedPath = (0, path_1.sanitize)(params.path);
31
+ await this.handleReplace(params, sanitizedPath);
32
+ return {
33
+ output: {
34
+ kind: 'text',
35
+ content: 'File updated successfully',
36
+ },
37
+ };
38
+ }
39
+ async requiresAcceptance(params, approvedPaths) {
40
+ return (0, toolShared_1.requiresPathAcceptance)(params.path, this.workspace, this.logging, approvedPaths);
41
+ }
42
+ async handleReplace(params, sanitizedPath) {
43
+ const fileContent = await this.workspace.fs.readFile(sanitizedPath);
44
+ const newContent = getReplaceContent(params, fileContent);
45
+ await this.workspace.fs.writeFile(sanitizedPath, newContent);
46
+ }
47
+ getSpec() {
48
+ return {
49
+ name: 'fsReplace',
50
+ description: 'A tool for search and replace contents of an existing file.\n\n' +
51
+ '## Overview\n' +
52
+ 'This tool replaces sections of content in an existing file using `oldStr`/`newStr` blocks that define exact changes to specific parts of the file. You MUST ALWAYS group as many changes as you can by populating the diffs array with multiple `oldStr`/`newStr` pairs, DO NOT be overly cautious and methodical by making one change at a time on the same file.\n\n' +
53
+ '## When to use\n' +
54
+ '- When you need to make targeted changes to specific parts of a file\n' +
55
+ '- When you need to update multiple sections of the same file\n' +
56
+ '## When not to use\n' +
57
+ '- When you need to create a new file\n' +
58
+ '- When you need to rename or move a file\n\n' +
59
+ '## IMPORTANT Notes\n' +
60
+ '- Use this tool to delete code by using empty `newStr` parameter\n' +
61
+ '- The `oldStr` parameter should match EXACTLY one or more consecutive lines from the target file. Be mindful of whitespaces including the tabs and spaces! Include just the changing lines, and a few surrounding lines if needed for uniqueness. Do not include long runs of unchanging lines in `oldStr`\n' +
62
+ '- When multiple edits to the same file are needed, ALWAYS populate the diffs array with MULTIPLE `oldStr` and `newStr` pairs. This improves efficiency by reducing the number of tool calls and ensures the file remains in a consistent state',
63
+ inputSchema: {
64
+ type: 'object',
65
+ properties: {
66
+ explanation: {
67
+ description: 'One sentence explanation as to why this tool is being used, and how it contributes to the goal.',
68
+ type: 'string',
69
+ },
70
+ diffs: {
71
+ description: 'List of `oldStr`/`newStr` pairs to replace contents in an existing file. IMPORTANT: Must be provided as an array of objects, NOT as a string. For example, `[{"oldStr": "existingContent", "newStr": "newContent"}]`',
72
+ type: 'array',
73
+ items: {
74
+ type: 'object',
75
+ properties: {
76
+ oldStr: {
77
+ description: 'The exact string content to be replaced in the file. Must match EXACTLY including whitespaces (indentations, tabs, spaces) and line breaks.',
78
+ type: 'string',
79
+ },
80
+ newStr: {
81
+ description: 'The new string content that will replace the oldStr. Use empty string to delete content.',
82
+ type: 'string',
83
+ },
84
+ },
85
+ required: ['oldStr'],
86
+ },
87
+ },
88
+ path: {
89
+ description: 'Absolute path to a file, e.g. `/repo/file.py` for Unix-like system including Unix/Linux/macOS or `d:\\repo\\file.py` for Windows.',
90
+ type: 'string',
91
+ },
92
+ },
93
+ required: ['diffs', 'path'],
94
+ },
95
+ };
96
+ }
97
+ }
98
+ exports.FsReplace = FsReplace;
99
+ const getReplaceContent = (params, fileContent) => {
100
+ // Detect line ending from oldContent (CRLF, LF, or CR)
101
+ const match = fileContent.match(/\r\n|\r|\n/);
102
+ const lineEnding = match ? match[0] : os.EOL;
103
+ for (const diff of params.diffs) {
104
+ if (diff.newStr == undefined) {
105
+ diff.newStr = '';
106
+ }
107
+ if (diff.oldStr === diff.newStr) {
108
+ continue;
109
+ }
110
+ // Normalize oldStr and newStr to match fileContent's line ending style
111
+ const normalizedOldStr = diff.oldStr.split(/\r\n|\r|\n/).join(lineEnding);
112
+ const normalizedNewStr = diff.newStr.split(/\r\n|\r|\n/).join(lineEnding);
113
+ // Use string indexOf and substring for safer replacement with special characters
114
+ const startIndex = fileContent.indexOf(normalizedOldStr);
115
+ if (startIndex === -1) {
116
+ throw new Error(`No occurrences of "${diff.oldStr}" were found`);
117
+ }
118
+ // Check for multiple occurrences
119
+ const secondIndex = fileContent.indexOf(normalizedOldStr, startIndex + 1);
120
+ if (secondIndex !== -1) {
121
+ throw new Error(`Multiple occurrences of "${diff.oldStr}" were found when only 1 is expected`);
122
+ }
123
+ // Perform the replacement using string operations instead of regex
124
+ fileContent =
125
+ fileContent.substring(0, startIndex) +
126
+ normalizedNewStr +
127
+ fileContent.substring(startIndex + normalizedOldStr.length);
128
+ }
129
+ return fileContent;
130
+ };
131
+ //# sourceMappingURL=fsReplace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fsReplace.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/fsReplace.ts"],"names":[],"mappings":"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"}
@@ -7,21 +7,11 @@ export interface CreateParams extends BaseParams {
7
7
  command: 'create';
8
8
  fileText: string;
9
9
  }
10
- export interface StrReplaceParams extends BaseParams {
11
- command: 'strReplace';
12
- oldStr: string;
13
- newStr: string;
14
- }
15
- export interface InsertParams extends BaseParams {
16
- command: 'insert';
17
- insertLine: number;
18
- newStr: string;
19
- }
20
10
  export interface AppendParams extends BaseParams {
21
11
  command: 'append';
22
- newStr: string;
12
+ fileText: string;
23
13
  }
24
- export type FsWriteParams = CreateParams | StrReplaceParams | InsertParams | AppendParams;
14
+ export type FsWriteParams = CreateParams | AppendParams;
25
15
  export interface FsWriteBackup {
26
16
  content: string;
27
17
  isNew: boolean;
@@ -36,8 +26,6 @@ export declare class FsWrite {
36
26
  queueDescription(updates: WritableStream): Promise<void>;
37
27
  requiresAcceptance(params: FsWriteParams, approvedPaths?: Set<string>): Promise<CommandValidation>;
38
28
  private handleCreate;
39
- private handleStrReplace;
40
- private handleInsert;
41
29
  private handleAppend;
42
30
  getSpec(): {
43
31
  readonly name: "fsWrite";
@@ -48,26 +36,14 @@ export declare class FsWrite {
48
36
  readonly command: {
49
37
  readonly type: "string";
50
38
  readonly enum: string[];
51
- readonly description: "The commands to run. Allowed options are: `create`, `strReplace`, `insert`, `append`.";
39
+ readonly description: "The command to run. Allowed options are: `create`, `append`.";
52
40
  };
53
41
  readonly explanation: {
54
42
  readonly description: "One sentence explanation as to why this tool is being used, and how it contributes to the goal.";
55
43
  readonly type: "string";
56
44
  };
57
45
  readonly fileText: {
58
- readonly description: "Required parameter of `create` command, with the content of the file to be created.";
59
- readonly type: "string";
60
- };
61
- readonly insertLine: {
62
- readonly description: "Required parameter of `insert` command. The `newStr` will be inserted AFTER the line `insertLine` of `path`.";
63
- readonly type: "number";
64
- };
65
- readonly newStr: {
66
- readonly description: "Required parameter of `strReplace` command containing the new string. Required parameter of `insert` command containing the string to insert. Required parameter of `append` command containing the content to append to the file.";
67
- readonly type: "string";
68
- };
69
- readonly oldStr: {
70
- readonly description: "Required parameter of `strReplace` command containing the string in `path` to replace.";
46
+ readonly description: "The content to write to the file. For `create`, this is the entire file content. For `append`, this is the content to add to the end of the file.";
71
47
  readonly type: "string";
72
48
  };
73
49
  readonly path: {
@@ -75,7 +51,7 @@ export declare class FsWrite {
75
51
  readonly type: "string";
76
52
  };
77
53
  };
78
- readonly required: readonly ["command", "path"];
54
+ readonly required: readonly ["command", "path", "fileText"];
79
55
  };
80
56
  };
81
57
  }
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FsWrite = void 0;
4
4
  const toolShared_1 = require("./toolShared");
5
5
  const path_1 = require("@aws/lsp-core/out/util/path");
6
- const os = require("os");
7
6
  class FsWrite {
8
7
  logging;
9
8
  workspace;
@@ -32,25 +31,8 @@ class FsWrite {
32
31
  }
33
32
  break;
34
33
  }
35
- case 'strReplace': {
36
- if (params.oldStr === params.newStr) {
37
- throw new Error('The provided oldStr and newStr are the exact same, this is a no-op');
38
- }
39
- const fileExists = await this.workspace.fs.exists(sanitizedPath);
40
- if (!fileExists) {
41
- throw new Error('The provided path must exist in order to replace contents into it');
42
- }
43
- break;
44
- }
45
- case 'insert': {
46
- const fileExists = await this.workspace.fs.exists(sanitizedPath);
47
- if (!fileExists) {
48
- throw new Error('The provided path must exist in order to insert contents into it');
49
- }
50
- break;
51
- }
52
34
  case 'append':
53
- if (!params.newStr) {
35
+ if (!params.fileText) {
54
36
  throw new Error('Content to append must not be empty');
55
37
  }
56
38
  break;
@@ -58,24 +40,21 @@ class FsWrite {
58
40
  }
59
41
  async invoke(params) {
60
42
  const sanitizedPath = (0, path_1.sanitize)(params.path);
43
+ let content = '';
61
44
  switch (params.command) {
62
45
  case 'create':
63
46
  await this.handleCreate(params, sanitizedPath);
64
- break;
65
- case 'strReplace':
66
- await this.handleStrReplace(params, sanitizedPath);
67
- break;
68
- case 'insert':
69
- await this.handleInsert(params, sanitizedPath);
47
+ content = 'File created successfully';
70
48
  break;
71
49
  case 'append':
72
50
  await this.handleAppend(params, sanitizedPath);
51
+ content = 'File appended successfully';
73
52
  break;
74
53
  }
75
54
  return {
76
55
  output: {
77
56
  kind: 'text',
78
- content: '',
57
+ content,
79
58
  },
80
59
  };
81
60
  }
@@ -93,75 +72,41 @@ class FsWrite {
93
72
  const content = params.fileText;
94
73
  await this.workspace.fs.writeFile(sanitizedPath, content);
95
74
  }
96
- async handleStrReplace(params, sanitizedPath) {
97
- const fileContent = await this.workspace.fs.readFile(sanitizedPath);
98
- const newContent = getStrReplaceContent(params, fileContent);
99
- await this.workspace.fs.writeFile(sanitizedPath, newContent);
100
- }
101
- async handleInsert(params, sanitizedPath) {
102
- const fileContent = await this.workspace.fs.readFile(sanitizedPath);
103
- const newContent = getInsertContent(params, fileContent);
104
- await this.workspace.fs.writeFile(sanitizedPath, newContent);
105
- }
106
75
  async handleAppend(params, sanitizedPath) {
107
76
  const fileContent = await this.workspace.fs.readFile(sanitizedPath);
108
77
  const newContent = getAppendContent(params, fileContent);
109
78
  await this.workspace.fs.writeFile(sanitizedPath, newContent);
110
79
  }
111
80
  getSpec() {
112
- const commands = ['create', 'strReplace', 'insert', 'append'];
81
+ const commands = ['create', 'append'];
113
82
  return {
114
83
  name: 'fsWrite',
115
- description: 'A tool for creating and editing a file.\n\n' +
84
+ description: 'A tool for creating and appending files. This tool does NOT automatically create parent directories if they do not exist, so you must ensure the directory exists before file creation.\n\n' +
116
85
  '## Overview\n' +
117
- 'This tool provides multiple commands for file operations including creating, replacing, inserting, and appending content.\n\n' +
86
+ 'This tool provides commands for file operations including creating new files and appending content to existing files.\n\n' +
118
87
  '## When to use\n' +
119
- '- When creating new files (create)\n' +
120
- '- When replacing specific text in existing files (strReplace)\n' +
121
- '- When inserting text at a specific line (insert)\n' +
122
- '- When adding text to the end of a file (append)\n\n' +
88
+ '- When creating new files or overwriting existing files with new content (create)\n' +
89
+ '- When adding text to the end of an existing file (append)\n\n' +
123
90
  '## When not to use\n' +
124
- '- When you only need to read file content (use fsRead instead)\n' +
125
- '- When you need to delete a file (no delete operation is available)\n' +
126
- '- When you need to rename or move a file\n\n' +
91
+ '- When you need to modify or delete specific portions of a file (use fsReplace instead)\n' +
92
+ '- When you need to rename, move, or delete a file\n\n' +
127
93
  '## Command details\n' +
128
- '- The `create` command will override the file at `path` if it already exists as a file, and otherwise create a new file. Make sure the `path` exists first when using this command for initial file creation, such as scaffolding a new project. You should also use this command when overwriting large boilerplate files where you want to replace the entire content at once.\n' +
129
- '- The `insert` command will insert `newStr` after `insertLine` and place it on its own line.\n' +
130
- '- The `append` command will add content to the end of an existing file, automatically adding a newline if the file does not end with one.\n' +
131
- '- The `strReplace` command will replace `oldStr` in an existing file with `newStr`.\n\n' +
132
- '## IMPORTANT Notes for using the `strReplace` command\n' +
133
- '- Use this command to delete code by using empty `newStr` parameter.\n' +
134
- '- If you need to make small changes to an existing file, consider using `strReplace` command to avoid unnecessary rewriting the entire file.\n' +
135
- '- Prefer the `create` command if the complexity or number of changes would make `strReplace` unwieldy or error-prone.\n' +
136
- '- The `oldStr` parameter should match EXACTLY one or more consecutive lines from the original file. Be mindful of whitespaces! Include just the changing lines, and a few surrounding lines if needed for uniqueness. Do not include long runs of unchanging lines in `oldStr`.\n' +
137
- '- The `newStr` parameter should contain the edited lines that should replace the `oldStr`.\n' +
138
- '- When multiple edits to the same file are needed, combine them into a single call whenever possible. This improves efficiency by reducing the number of tool calls and ensures the file remains in a consistent state.',
94
+ '- `create`: Creates a new file at `path` with the specified `fileText` content. If the file already exists, it will be overwritten. Use this command for initial file creation, scaffolding new projects, or replacing entire file contents.\n' +
95
+ '- `append`: Adds the specified `fileText` content to the end of an existing file at `path`. Automatically adds a newline if the file does not end with one. The file must exist before using this command.',
139
96
  inputSchema: {
140
97
  type: 'object',
141
98
  properties: {
142
99
  command: {
143
100
  type: 'string',
144
101
  enum: commands,
145
- description: 'The commands to run. Allowed options are: `create`, `strReplace`, `insert`, `append`.',
102
+ description: 'The command to run. Allowed options are: `create`, `append`.',
146
103
  },
147
104
  explanation: {
148
105
  description: 'One sentence explanation as to why this tool is being used, and how it contributes to the goal.',
149
106
  type: 'string',
150
107
  },
151
108
  fileText: {
152
- description: 'Required parameter of `create` command, with the content of the file to be created.',
153
- type: 'string',
154
- },
155
- insertLine: {
156
- description: 'Required parameter of `insert` command. The `newStr` will be inserted AFTER the line `insertLine` of `path`.',
157
- type: 'number',
158
- },
159
- newStr: {
160
- description: 'Required parameter of `strReplace` command containing the new string. Required parameter of `insert` command containing the string to insert. Required parameter of `append` command containing the content to append to the file.',
161
- type: 'string',
162
- },
163
- oldStr: {
164
- description: 'Required parameter of `strReplace` command containing the string in `path` to replace.',
109
+ description: 'The content to write to the file. For `create`, this is the entire file content. For `append`, this is the content to add to the end of the file.',
165
110
  type: 'string',
166
111
  },
167
112
  path: {
@@ -169,7 +114,7 @@ class FsWrite {
169
114
  type: 'string',
170
115
  },
171
116
  },
172
- required: ['command', 'path'],
117
+ required: ['command', 'path', 'fileText'],
173
118
  },
174
119
  };
175
120
  }
@@ -177,42 +122,10 @@ class FsWrite {
177
122
  exports.FsWrite = FsWrite;
178
123
  const getAppendContent = (params, oldContent) => {
179
124
  const needsNewline = oldContent.length !== 0 && !oldContent.endsWith('\n');
180
- let contentToAppend = params.newStr;
125
+ let contentToAppend = params.fileText;
181
126
  if (needsNewline) {
182
127
  contentToAppend = '\n' + contentToAppend;
183
128
  }
184
129
  return oldContent + contentToAppend;
185
130
  };
186
- const getInsertContent = (params, oldContent) => {
187
- const lines = oldContent.split('\n');
188
- const numLines = lines.length;
189
- const insertLine = Math.max(0, Math.min(params.insertLine, numLines));
190
- let newContent;
191
- if (insertLine === 0) {
192
- newContent = params.newStr + '\n' + oldContent;
193
- }
194
- else {
195
- newContent = [...lines.slice(0, insertLine), params.newStr, ...lines.slice(insertLine)].join('\n');
196
- }
197
- return newContent;
198
- };
199
- const getStrReplaceContent = (params, oldContent) => {
200
- // Detect line ending from oldContent (CRLF, LF, or CR)
201
- const match = oldContent.match(/\r\n|\r|\n/);
202
- const lineEnding = match ? match[0] : os.EOL;
203
- // Normalize oldStr and newStr to match oldContent's line ending style
204
- const normalizedOldStr = params.oldStr.split(/\r\n|\r|\n/).join(lineEnding);
205
- const normalizedNewStr = params.newStr.split(/\r\n|\r|\n/).join(lineEnding);
206
- const matches = [...oldContent.matchAll(new RegExp(escapeRegExp(normalizedOldStr), 'g'))];
207
- if (matches.length === 0) {
208
- throw new Error(`No occurrences of "${params.oldStr}" were found`);
209
- }
210
- if (matches.length > 1) {
211
- throw new Error(`${matches.length} occurrences of oldStr were found when only 1 is expected`);
212
- }
213
- return oldContent.replace(normalizedOldStr, normalizedNewStr);
214
- };
215
- const escapeRegExp = (string) => {
216
- return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
217
- };
218
131
  //# sourceMappingURL=fsWrite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fsWrite.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/fsWrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fsWrite.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/fsWrite.ts"],"names":[],"mappings":"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"}
@@ -49,11 +49,11 @@ export declare class GrepSearch {
49
49
  readonly properties: {
50
50
  readonly path: {
51
51
  readonly type: "string";
52
- readonly description: "Absolute path to a directory to search in, e.g. `/repo` for Unix-like system including Unix/Linux/macOS or `d:\\repo` for Windows. If not provided, the current workspace folder will be used.";
52
+ readonly description: "Absolute path to a directory to search in, e.g. `/repo` for Unix-like system including Unix/Linux/macOS or `d:\\repo` for Windows. If not provided, the current workspace folder will be used. Prefer searching over the whole repo to get a more comprehensive result.";
53
53
  };
54
54
  readonly query: {
55
55
  readonly type: "string";
56
- readonly description: "The text pattern to search for in files. Can be a simple string or a regular expression pattern.";
56
+ readonly description: "The text pattern to search for in files. Can be a simple string or a regular expression pattern. Use the exact keyword from user prompts directly. If the keyword is in plural form, try to search for singular form for more matches.";
57
57
  };
58
58
  readonly caseSensitive: {
59
59
  readonly type: "boolean";
@@ -222,11 +222,11 @@ class GrepSearch {
222
222
  properties: {
223
223
  path: {
224
224
  type: 'string',
225
- description: 'Absolute path to a directory to search in, e.g. `/repo` for Unix-like system including Unix/Linux/macOS or `d:\\repo` for Windows. If not provided, the current workspace folder will be used.',
225
+ description: 'Absolute path to a directory to search in, e.g. `/repo` for Unix-like system including Unix/Linux/macOS or `d:\\repo` for Windows. If not provided, the current workspace folder will be used. Prefer searching over the whole repo to get a more comprehensive result.',
226
226
  },
227
227
  query: {
228
228
  type: 'string',
229
- description: 'The text pattern to search for in files. Can be a simple string or a regular expression pattern.',
229
+ description: 'The text pattern to search for in files. Can be a simple string or a regular expression pattern. Use the exact keyword from user prompts directly. If the keyword is in plural form, try to search for singular form for more matches.',
230
230
  },
231
231
  caseSensitive: {
232
232
  type: 'boolean',
@@ -1 +1 @@
1
- {"version":3,"file":"grepSearch.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/grepSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grepSearch.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/grepSearch.ts"],"names":[],"mappings":"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"}