@google/gemini-cli-core 0.29.0-preview.0 → 0.30.0-nightly.20260211.0d034b8c1
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.
- package/dist/docs/cli/keyboard-shortcuts.md +2 -1
- package/dist/docs/cli/plan-mode.md +4 -2
- package/dist/docs/cli/settings.md +7 -0
- package/dist/docs/get-started/configuration.md +4 -0
- package/dist/google-gemini-cli-core-0.30.0-nightly.20260210.a2174751d.tgz +0 -0
- package/dist/src/core/prompts.test.js +16 -0
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/policy/config.js +76 -53
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/persistence.test.js +30 -10
- package/dist/src/policy/persistence.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.js +17 -3
- package/dist/src/policy/policy-updater.test.js.map +1 -1
- package/dist/src/policy/toml-loader.js +28 -4
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/utils.d.ts +5 -0
- package/dist/src/policy/utils.js +28 -0
- package/dist/src/policy/utils.js.map +1 -1
- package/dist/src/policy/utils.test.js +33 -1
- package/dist/src/policy/utils.test.js.map +1 -1
- package/dist/src/prompts/snippets.js +42 -26
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/tools/definitions/coreTools.js +10 -0
- package/dist/src/tools/definitions/coreTools.js.map +1 -1
- package/dist/src/tools/grep.d.ts +8 -0
- package/dist/src/tools/grep.js +23 -2
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +34 -0
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +2 -5
- package/dist/src/tools/mcp-client.js +14 -42
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +6 -8
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +8 -0
- package/dist/src/tools/ripGrep.js +24 -2
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +69 -0
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +22 -15
|
@@ -70,7 +70,11 @@ describe('createPolicyUpdater', () => {
|
|
|
70
70
|
createPolicyUpdater(policyEngine, messageBus);
|
|
71
71
|
vi.mocked(fs.readFile).mockRejectedValue({ code: 'ENOENT' });
|
|
72
72
|
vi.mocked(fs.mkdir).mockResolvedValue(undefined);
|
|
73
|
-
|
|
73
|
+
const mockFileHandle = {
|
|
74
|
+
writeFile: vi.fn().mockResolvedValue(undefined),
|
|
75
|
+
close: vi.fn().mockResolvedValue(undefined),
|
|
76
|
+
};
|
|
77
|
+
vi.mocked(fs.open).mockResolvedValue(mockFileHandle);
|
|
74
78
|
vi.mocked(fs.rename).mockResolvedValue(undefined);
|
|
75
79
|
await messageBus.publish({
|
|
76
80
|
type: MessageBusType.UPDATE_POLICY,
|
|
@@ -80,12 +84,22 @@ describe('createPolicyUpdater', () => {
|
|
|
80
84
|
});
|
|
81
85
|
// Wait for the async listener to complete
|
|
82
86
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
83
|
-
expect(fs.
|
|
84
|
-
const [
|
|
87
|
+
expect(fs.open).toHaveBeenCalled();
|
|
88
|
+
const [content] = mockFileHandle.writeFile.mock.calls[0];
|
|
85
89
|
const parsed = toml.parse(content);
|
|
86
90
|
expect(parsed.rule).toHaveLength(1);
|
|
87
91
|
expect(parsed.rule[0].commandPrefix).toEqual(['echo', 'ls']);
|
|
88
92
|
});
|
|
93
|
+
it('should reject unsafe regex patterns', async () => {
|
|
94
|
+
createPolicyUpdater(policyEngine, messageBus);
|
|
95
|
+
await messageBus.publish({
|
|
96
|
+
type: MessageBusType.UPDATE_POLICY,
|
|
97
|
+
toolName: 'test_tool',
|
|
98
|
+
argsPattern: '(a+)+',
|
|
99
|
+
persist: false,
|
|
100
|
+
});
|
|
101
|
+
expect(policyEngine.addRule).not.toHaveBeenCalled();
|
|
102
|
+
});
|
|
89
103
|
});
|
|
90
104
|
describe('ShellToolInvocation Policy Update', () => {
|
|
91
105
|
let mockConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-updater.test.js","sourceRoot":"","sources":["../../../src/policy/policy-updater.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"policy-updater.test.js","sourceRoot":"","sources":["../../../src/policy/policy-updater.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { PolicyDecision, ApprovalMode, InProcessCheckerType, } from './types.js';
|
|
7
|
-
import { buildArgsPatterns } from './utils.js';
|
|
7
|
+
import { buildArgsPatterns, isSafeRegExp } from './utils.js';
|
|
8
8
|
import fs from 'node:fs/promises';
|
|
9
9
|
import path from 'node:path';
|
|
10
10
|
import toml from '@iarna/toml';
|
|
@@ -273,7 +273,7 @@ export async function loadPoliciesFromToml(policyDirs, getPolicyTier) {
|
|
|
273
273
|
// Compile regex pattern
|
|
274
274
|
if (argsPattern) {
|
|
275
275
|
try {
|
|
276
|
-
|
|
276
|
+
new RegExp(argsPattern);
|
|
277
277
|
}
|
|
278
278
|
catch (e) {
|
|
279
279
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
@@ -287,9 +287,21 @@ export async function loadPoliciesFromToml(policyDirs, getPolicyTier) {
|
|
|
287
287
|
details: `Pattern: ${argsPattern}\nError: ${error.message}`,
|
|
288
288
|
suggestion: 'Check regex syntax for errors like unmatched brackets or invalid escape sequences',
|
|
289
289
|
});
|
|
290
|
-
// Skip this rule if regex compilation fails
|
|
291
290
|
return null;
|
|
292
291
|
}
|
|
292
|
+
if (!isSafeRegExp(argsPattern)) {
|
|
293
|
+
errors.push({
|
|
294
|
+
filePath,
|
|
295
|
+
fileName: file,
|
|
296
|
+
tier: tierName,
|
|
297
|
+
errorType: 'regex_compilation',
|
|
298
|
+
message: 'Unsafe regex pattern (potential ReDoS)',
|
|
299
|
+
details: `Pattern: ${argsPattern}`,
|
|
300
|
+
suggestion: 'Avoid nested quantifiers or extremely long patterns',
|
|
301
|
+
});
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
304
|
+
policyRule.argsPattern = new RegExp(argsPattern);
|
|
293
305
|
}
|
|
294
306
|
return policyRule;
|
|
295
307
|
});
|
|
@@ -327,7 +339,7 @@ export async function loadPoliciesFromToml(policyDirs, getPolicyTier) {
|
|
|
327
339
|
};
|
|
328
340
|
if (argsPattern) {
|
|
329
341
|
try {
|
|
330
|
-
|
|
342
|
+
new RegExp(argsPattern);
|
|
331
343
|
}
|
|
332
344
|
catch (e) {
|
|
333
345
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
@@ -342,6 +354,18 @@ export async function loadPoliciesFromToml(policyDirs, getPolicyTier) {
|
|
|
342
354
|
});
|
|
343
355
|
return null;
|
|
344
356
|
}
|
|
357
|
+
if (!isSafeRegExp(argsPattern)) {
|
|
358
|
+
errors.push({
|
|
359
|
+
filePath,
|
|
360
|
+
fileName: file,
|
|
361
|
+
tier: tierName,
|
|
362
|
+
errorType: 'regex_compilation',
|
|
363
|
+
message: 'Unsafe regex pattern in safety checker (potential ReDoS)',
|
|
364
|
+
details: `Pattern: ${argsPattern}`,
|
|
365
|
+
});
|
|
366
|
+
return null;
|
|
367
|
+
}
|
|
368
|
+
safetyCheckerRule.argsPattern = new RegExp(argsPattern);
|
|
345
369
|
}
|
|
346
370
|
return safetyCheckerRule;
|
|
347
371
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toml-loader.js","sourceRoot":"","sources":["../../../src/policy/toml-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toml-loader.js","sourceRoot":"","sources":["../../../src/policy/toml-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
* Escapes a string for use in a regular expression.
|
|
8
8
|
*/
|
|
9
9
|
export declare function escapeRegex(text: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Basic validation for regular expressions to prevent common ReDoS patterns.
|
|
12
|
+
* This is a heuristic check and not a substitute for a full ReDoS scanner.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isSafeRegExp(pattern: string): boolean;
|
|
10
15
|
/**
|
|
11
16
|
* Builds a list of args patterns for policy matching.
|
|
12
17
|
*
|
package/dist/src/policy/utils.js
CHANGED
|
@@ -9,6 +9,34 @@
|
|
|
9
9
|
export function escapeRegex(text) {
|
|
10
10
|
return text.replace(/[-[\]{}()*+?.,\\^$|#\s"]/g, '\\$&');
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Basic validation for regular expressions to prevent common ReDoS patterns.
|
|
14
|
+
* This is a heuristic check and not a substitute for a full ReDoS scanner.
|
|
15
|
+
*/
|
|
16
|
+
export function isSafeRegExp(pattern) {
|
|
17
|
+
try {
|
|
18
|
+
// 1. Ensure it's a valid regex
|
|
19
|
+
new RegExp(pattern);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
// 2. Limit length to prevent extremely long regexes
|
|
25
|
+
if (pattern.length > 2048) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
// 3. Heuristic: Check for nested quantifiers which are a primary source of ReDoS.
|
|
29
|
+
// Examples: (a+)+, (a|b)*, (.*)*, ([a-z]+)+
|
|
30
|
+
// We look for a group (...) followed by a quantifier (+, *, or {n,m})
|
|
31
|
+
// where the group itself contains a quantifier.
|
|
32
|
+
// This matches a '(' followed by some content including a quantifier, then ')',
|
|
33
|
+
// followed by another quantifier.
|
|
34
|
+
const nestedQuantifierPattern = /\([^)]*[*+?{].*\)[*+?{]/;
|
|
35
|
+
if (nestedQuantifierPattern.test(pattern)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
12
40
|
/**
|
|
13
41
|
* Builds a list of args patterns for policy matching.
|
|
14
42
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/policy/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAoB,EACpB,aAAiC,EACjC,YAAqB;IAErB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAEpB,gDAAgD;QAChD,4EAA4E;QAC5E,wEAAwE;QACxE,iDAAiD;QACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,wEAAwE;YACxE,yEAAyE;YACzE,kBAAkB;YAClB,OAAO,cAAc,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/policy/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kFAAkF;IAClF,4CAA4C;IAC5C,sEAAsE;IACtE,gDAAgD;IAChD,gFAAgF;IAChF,kCAAkC;IAClC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;IAC1D,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAoB,EACpB,aAAiC,EACjC,YAAqB;IAErB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAEpB,gDAAgD;QAChD,4EAA4E;QAC5E,wEAAwE;QACxE,iDAAiD;QACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,wEAAwE;YACxE,yEAAyE;YACzE,kBAAkB;YAClB,OAAO,cAAc,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { describe, it, expect } from 'vitest';
|
|
7
|
-
import { escapeRegex, buildArgsPatterns } from './utils.js';
|
|
7
|
+
import { escapeRegex, buildArgsPatterns, isSafeRegExp } from './utils.js';
|
|
8
8
|
describe('policy/utils', () => {
|
|
9
9
|
describe('escapeRegex', () => {
|
|
10
10
|
it('should escape special regex characters', () => {
|
|
@@ -17,6 +17,38 @@ describe('policy/utils', () => {
|
|
|
17
17
|
expect(escapeRegex(input)).toBe(input);
|
|
18
18
|
});
|
|
19
19
|
});
|
|
20
|
+
describe('isSafeRegExp', () => {
|
|
21
|
+
it('should return true for simple regexes', () => {
|
|
22
|
+
expect(isSafeRegExp('abc')).toBe(true);
|
|
23
|
+
expect(isSafeRegExp('^abc$')).toBe(true);
|
|
24
|
+
expect(isSafeRegExp('a|b')).toBe(true);
|
|
25
|
+
});
|
|
26
|
+
it('should return true for safe quantifiers', () => {
|
|
27
|
+
expect(isSafeRegExp('a+')).toBe(true);
|
|
28
|
+
expect(isSafeRegExp('a*')).toBe(true);
|
|
29
|
+
expect(isSafeRegExp('a?')).toBe(true);
|
|
30
|
+
expect(isSafeRegExp('a{1,3}')).toBe(true);
|
|
31
|
+
});
|
|
32
|
+
it('should return true for safe groups', () => {
|
|
33
|
+
expect(isSafeRegExp('(abc)*')).toBe(true);
|
|
34
|
+
expect(isSafeRegExp('(a|b)+')).toBe(true);
|
|
35
|
+
});
|
|
36
|
+
it('should return false for invalid regexes', () => {
|
|
37
|
+
expect(isSafeRegExp('([a-z)')).toBe(false);
|
|
38
|
+
expect(isSafeRegExp('*')).toBe(false);
|
|
39
|
+
});
|
|
40
|
+
it('should return false for extremely long regexes', () => {
|
|
41
|
+
expect(isSafeRegExp('a'.repeat(2049))).toBe(false);
|
|
42
|
+
});
|
|
43
|
+
it('should return false for nested quantifiers (potential ReDoS)', () => {
|
|
44
|
+
expect(isSafeRegExp('(a+)+')).toBe(false);
|
|
45
|
+
expect(isSafeRegExp('(a+)*')).toBe(false);
|
|
46
|
+
expect(isSafeRegExp('(a*)+')).toBe(false);
|
|
47
|
+
expect(isSafeRegExp('(a*)*')).toBe(false);
|
|
48
|
+
expect(isSafeRegExp('(a|b+)+')).toBe(false);
|
|
49
|
+
expect(isSafeRegExp('(.*)+')).toBe(false);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
20
52
|
describe('buildArgsPatterns', () => {
|
|
21
53
|
it('should return argsPattern if provided and no commandPrefix/regex', () => {
|
|
22
54
|
const result = buildArgsPatterns('my-pattern', undefined, undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/policy/utils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/policy/utils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,7 +121,7 @@ export function renderAgentSkills(skills) {
|
|
|
121
121
|
return `
|
|
122
122
|
# Available Agent Skills
|
|
123
123
|
|
|
124
|
-
You have access to the following specialized skills. To activate a skill and receive its detailed instructions,
|
|
124
|
+
You have access to the following specialized skills. To activate a skill and receive its detailed instructions, call the ${formatToolName(ACTIVATE_SKILL_TOOL_NAME)} tool with the skill's name.
|
|
125
125
|
|
|
126
126
|
<available_skills>
|
|
127
127
|
${skillsXml}
|
|
@@ -311,34 +311,50 @@ ${options.planModeToolsList}
|
|
|
311
311
|
- You are restricted to writing files within this directory while in Plan Mode.
|
|
312
312
|
- Use descriptive filenames: \`feature-name.md\` or \`bugfix-description.md\`
|
|
313
313
|
|
|
314
|
+
## Workflow Rules
|
|
315
|
+
1. Sequential Execution: Complete ONE phase at a time. Do NOT skip ahead or combine phases.
|
|
316
|
+
2. User Confirmation: Wait for user input/approval before proceeding to the next phase.
|
|
317
|
+
3. Step Back Protocol: If new information discovered during Exploration or Design invalidates previous assumptions or requirements, you MUST pause, inform the user, and request to return to the appropriate previous phase.
|
|
318
|
+
|
|
314
319
|
## Workflow Phases
|
|
315
320
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
-
|
|
320
|
-
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
-
|
|
326
|
-
-
|
|
327
|
-
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
-
|
|
332
|
-
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
-
|
|
337
|
-
|
|
338
|
-
### Phase 4:
|
|
321
|
+
### Phase 1: Requirements
|
|
322
|
+
- Analyze the user's request to identify core requirements and constraints.
|
|
323
|
+
- Proactively identify ambiguities, implicit assumptions, and edge cases.
|
|
324
|
+
- Categorize questions: functional requirements, non-functional constraints (performance, compatibility), and scope boundaries.
|
|
325
|
+
- Use the ${formatToolName(ASK_USER_TOOL_NAME)} tool with well-structured options to clarify ambiguities. Prefer providing multiple-choice options for the user to select from when possible.
|
|
326
|
+
|
|
327
|
+
### Phase 2: Exploration
|
|
328
|
+
- Only begin this phase after requirements are clear.
|
|
329
|
+
- Use the available read-only tools to explore the project.
|
|
330
|
+
- Map relevant code paths, dependencies, and architectural patterns.
|
|
331
|
+
- Identify existing utilities, patterns, and abstractions that can be reused.
|
|
332
|
+
- Note potential constraints (e.g., existing conventions, test infrastructure).
|
|
333
|
+
- Output: Summarize key findings to the user before proceeding to design.
|
|
334
|
+
|
|
335
|
+
### Phase 3: Design
|
|
336
|
+
- Only begin this phase after exploration is complete.
|
|
337
|
+
- **Identify Approaches:**
|
|
338
|
+
- For Complex Tasks: Identify at least 2 viable implementation approaches. Document the approach summary, pros, cons, complexity estimate, and risk factors for each.
|
|
339
|
+
- For Canonical Tasks: If there is only one reasonable, standard approach (e.g., a standard library pattern or specific bug fix), detail it and explicitly explain why no other viable alternatives were considered.
|
|
340
|
+
- Mandatory User Interaction: Present the analysis to the user via ${formatToolName(ASK_USER_TOOL_NAME)} and recommend a preferred approach.
|
|
341
|
+
- Wait for Selection: You MUST pause and wait for the user to select an approach before proceeding. Do NOT assume the user will agree with your recommendation.
|
|
342
|
+
|
|
343
|
+
### Phase 4: Planning
|
|
344
|
+
- Pre-requisite: You MUST have a user-selected approach from Phase 3 before generating the plan.
|
|
345
|
+
- Create a detailed implementation plan and save it to the designated plans directory.
|
|
346
|
+
- **Document Structure:** The plan MUST be a structured Markdown document (focused on implementation guidance, not workflow logging) using exactly these H2 headings:
|
|
347
|
+
- \`## Problem Statement\` - Describe the problem or need this change addresses.
|
|
348
|
+
- \`## Proposed Solution\` - Provide technical details of the implementation.
|
|
349
|
+
- \`## Implementation Plan\` - List ordered steps with specific file paths and the nature of each change.
|
|
350
|
+
- \`## Verification Plan\` - Define specific tests or manual steps to verify the change works and breaks nothing else.
|
|
351
|
+
- \`## Risks & Mitigations\` - Identify potential failure modes and mitigation strategies.
|
|
352
|
+
- \`## Alternatives Considered\` - Provide a brief analysis of other approaches considered and why they were rejected.
|
|
353
|
+
|
|
354
|
+
### Phase 5: Approval
|
|
339
355
|
- Present the plan and request approval for the finalized plan using the ${formatToolName(EXIT_PLAN_MODE_TOOL_NAME)} tool
|
|
340
|
-
- If plan is approved, you can begin implementation
|
|
341
|
-
- If plan is rejected, address the feedback and iterate on the plan
|
|
356
|
+
- If plan is approved, you can begin implementation.
|
|
357
|
+
- If plan is rejected, address the feedback and iterate on the plan.
|
|
342
358
|
|
|
343
359
|
${renderApprovedPlanSection(options.approvedPlanPath)}
|
|
344
360
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippets.js","sourceRoot":"","sources":["../../../src/prompts/snippets.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"snippets.js","sourceRoot":"","sources":["../../../src/prompts/snippets.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,6 +85,16 @@ export const GREP_DEFINITION = {
|
|
|
85
85
|
description: `Optional: A glob pattern to filter which files are searched (e.g., '*.js', '*.{ts,tsx}', 'src/**'). If omitted, searches all files (respecting potential global ignores).`,
|
|
86
86
|
type: 'string',
|
|
87
87
|
},
|
|
88
|
+
max_matches_per_file: {
|
|
89
|
+
description: 'Optional: Maximum number of matches to return per file. Use this to prevent being overwhelmed by repetitive matches in large files.',
|
|
90
|
+
type: 'integer',
|
|
91
|
+
minimum: 1,
|
|
92
|
+
},
|
|
93
|
+
total_max_matches: {
|
|
94
|
+
description: 'Optional: Maximum number of total matches to return. Use this to limit the overall size of the response. Defaults to 100 if omitted.',
|
|
95
|
+
type: 'integer',
|
|
96
|
+
minimum: 1,
|
|
97
|
+
},
|
|
88
98
|
},
|
|
89
99
|
required: ['pattern'],
|
|
90
100
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreTools.js","sourceRoot":"","sources":["../../../../src/tools/definitions/coreTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coreTools.js","sourceRoot":"","sources":["../../../../src/tools/definitions/coreTools.ts"],"names":[],"mappings":"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"}
|
package/dist/src/tools/grep.d.ts
CHANGED
|
@@ -23,6 +23,14 @@ export interface GrepToolParams {
|
|
|
23
23
|
* File pattern to include in the search (e.g. "*.js", "*.{ts,tsx}")
|
|
24
24
|
*/
|
|
25
25
|
include?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Optional: Maximum number of matches to return per file. Use this to prevent being overwhelmed by repetitive matches in large files.
|
|
28
|
+
*/
|
|
29
|
+
max_matches_per_file?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Optional: Maximum number of total matches to return. Use this to limit the overall size of the response. Defaults to 100 if omitted.
|
|
32
|
+
*/
|
|
33
|
+
total_max_matches?: number;
|
|
26
34
|
}
|
|
27
35
|
/**
|
|
28
36
|
* Implementation of the Grep tool logic (moved from CLI)
|
package/dist/src/tools/grep.js
CHANGED
|
@@ -128,7 +128,7 @@ class GrepToolInvocation extends BaseToolInvocation {
|
|
|
128
128
|
}
|
|
129
129
|
// Collect matches from all search directories
|
|
130
130
|
let allMatches = [];
|
|
131
|
-
const totalMaxMatches = DEFAULT_TOTAL_MAX_MATCHES;
|
|
131
|
+
const totalMaxMatches = this.params.total_max_matches ?? DEFAULT_TOTAL_MAX_MATCHES;
|
|
132
132
|
// Create a timeout controller to prevent indefinitely hanging searches
|
|
133
133
|
const timeoutController = new AbortController();
|
|
134
134
|
const timeoutId = setTimeout(() => {
|
|
@@ -152,6 +152,7 @@ class GrepToolInvocation extends BaseToolInvocation {
|
|
|
152
152
|
path: searchDir,
|
|
153
153
|
include: this.params.include,
|
|
154
154
|
maxMatches: remainingLimit,
|
|
155
|
+
max_matches_per_file: this.params.max_matches_per_file,
|
|
155
156
|
signal: timeoutController.signal,
|
|
156
157
|
});
|
|
157
158
|
// Add directory prefix if searching multiple directories
|
|
@@ -259,7 +260,7 @@ class GrepToolInvocation extends BaseToolInvocation {
|
|
|
259
260
|
* @returns A promise resolving to an array of match objects.
|
|
260
261
|
*/
|
|
261
262
|
async performGrepSearch(options) {
|
|
262
|
-
const { pattern, path: absolutePath, include, maxMatches } = options;
|
|
263
|
+
const { pattern, path: absolutePath, include, maxMatches, max_matches_per_file, } = options;
|
|
263
264
|
let strategyUsed = 'none';
|
|
264
265
|
try {
|
|
265
266
|
// --- Strategy 1: git grep ---
|
|
@@ -275,6 +276,9 @@ class GrepToolInvocation extends BaseToolInvocation {
|
|
|
275
276
|
'--ignore-case',
|
|
276
277
|
pattern,
|
|
277
278
|
];
|
|
279
|
+
if (max_matches_per_file) {
|
|
280
|
+
gitArgs.push('--max-count', max_matches_per_file.toString());
|
|
281
|
+
}
|
|
278
282
|
if (include) {
|
|
279
283
|
gitArgs.push('--', include);
|
|
280
284
|
}
|
|
@@ -328,6 +332,9 @@ class GrepToolInvocation extends BaseToolInvocation {
|
|
|
328
332
|
})
|
|
329
333
|
.filter((dir) => !!dir);
|
|
330
334
|
commonExcludes.forEach((dir) => grepArgs.push(`--exclude-dir=${dir}`));
|
|
335
|
+
if (max_matches_per_file) {
|
|
336
|
+
grepArgs.push('--max-count', max_matches_per_file.toString());
|
|
337
|
+
}
|
|
331
338
|
if (include) {
|
|
332
339
|
grepArgs.push(`--include=${include}`);
|
|
333
340
|
}
|
|
@@ -387,6 +394,7 @@ class GrepToolInvocation extends BaseToolInvocation {
|
|
|
387
394
|
try {
|
|
388
395
|
const content = await fsPromises.readFile(fileAbsolutePath, 'utf8');
|
|
389
396
|
const lines = content.split(/\r?\n/);
|
|
397
|
+
let matchesInFile = 0;
|
|
390
398
|
for (let index = 0; index < lines.length; index++) {
|
|
391
399
|
const line = lines[index];
|
|
392
400
|
if (regex.test(line)) {
|
|
@@ -396,8 +404,13 @@ class GrepToolInvocation extends BaseToolInvocation {
|
|
|
396
404
|
lineNumber: index + 1,
|
|
397
405
|
line,
|
|
398
406
|
});
|
|
407
|
+
matchesInFile++;
|
|
399
408
|
if (allMatches.length >= maxMatches)
|
|
400
409
|
break;
|
|
410
|
+
if (max_matches_per_file &&
|
|
411
|
+
matchesInFile >= max_matches_per_file) {
|
|
412
|
+
break;
|
|
413
|
+
}
|
|
401
414
|
}
|
|
402
415
|
}
|
|
403
416
|
}
|
|
@@ -464,6 +477,14 @@ export class GrepTool extends BaseDeclarativeTool {
|
|
|
464
477
|
catch (error) {
|
|
465
478
|
return `Invalid regular expression pattern provided: ${params.pattern}. Error: ${getErrorMessage(error)}`;
|
|
466
479
|
}
|
|
480
|
+
if (params.max_matches_per_file !== undefined &&
|
|
481
|
+
params.max_matches_per_file < 1) {
|
|
482
|
+
return 'max_matches_per_file must be at least 1.';
|
|
483
|
+
}
|
|
484
|
+
if (params.total_max_matches !== undefined &&
|
|
485
|
+
params.total_max_matches < 1) {
|
|
486
|
+
return 'total_max_matches must be at least 1.';
|
|
487
|
+
}
|
|
467
488
|
// Only validate dir_path if one is provided
|
|
468
489
|
if (params.dir_path) {
|
|
469
490
|
const resolvedPath = path.resolve(this.config.getTargetDir(), params.dir_path);
|