@google/gemini-cli-core 0.1.20 → 0.1.21
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/README.md +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/code_assist/setup.js +47 -16
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +105 -5
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/config/config.d.ts +6 -3
- package/dist/src/config/config.js +18 -6
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +61 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/core/client.d.ts +3 -1
- package/dist/src/core/client.js +21 -2
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +60 -0
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +0 -2
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +2 -4
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +2 -0
- package/dist/src/ide/detect-ide.js +18 -2
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.d.ts +6 -0
- package/dist/src/ide/detect-ide.test.js +65 -0
- package/dist/src/ide/detect-ide.test.js.map +1 -0
- package/dist/src/ide/ideContext.d.ts +6 -6
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.d.ts +0 -1
- package/dist/src/mcp/oauth-provider.js +0 -1
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +2 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +30 -5
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +64 -2
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +4 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +9 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +2 -2
- package/dist/src/telemetry/index.js +2 -2
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +2 -1
- package/dist/src/telemetry/loggers.js +15 -0
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +33 -14
- package/dist/src/telemetry/types.js +38 -23
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/tools.js +2 -2
- package/dist/src/test-utils/tools.js.map +1 -1
- package/dist/src/tools/edit.js +2 -2
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/glob.js +2 -2
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/grep.js +2 -2
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/ls.d.ts +3 -22
- package/dist/src/tools/ls.js +81 -77
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +62 -34
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +3 -5
- package/dist/src/tools/mcp-tool.js +41 -18
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +53 -51
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +9 -13
- package/dist/src/tools/memoryTool.js +124 -117
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +28 -17
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/read-file.js +2 -2
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +4 -5
- package/dist/src/tools/read-many-files.js +112 -100
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +60 -37
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +4 -6
- package/dist/src/tools/shell.js +99 -105
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +40 -46
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +5 -0
- package/dist/src/tools/tool-registry.js +13 -2
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tools.d.ts +16 -15
- package/dist/src/tools/tools.js +19 -18
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +4 -7
- package/dist/src/tools/web-fetch.js +62 -62
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +8 -4
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.js +2 -2
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +2 -1
- package/dist/src/tools/write-file.js +5 -2
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/utils/errorParsing.d.ts +8 -0
- package/dist/src/utils/errorParsing.js +93 -0
- package/dist/src/utils/errorParsing.js.map +1 -0
- package/dist/src/utils/errorParsing.test.d.ts +6 -0
- package/dist/src/utils/errorParsing.test.js +172 -0
- package/dist/src/utils/errorParsing.test.js.map +1 -0
- package/dist/src/utils/filesearch/fileSearch.js +1 -1
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/filesearch/result-cache.d.ts +1 -2
- package/dist/src/utils/filesearch/result-cache.js +1 -3
- package/dist/src/utils/filesearch/result-cache.js.map +1 -1
- package/dist/src/utils/filesearch/result-cache.test.js +3 -4
- package/dist/src/utils/filesearch/result-cache.test.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.js +1 -1
- package/dist/src/utils/memoryImportProcessor.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.test.js +17 -20
- package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
- package/dist/src/utils/quotaErrorDetection.d.ts +1 -5
- package/dist/src/utils/quotaErrorDetection.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/src/core/modelCheck.d.ts +0 -14
- package/dist/src/core/modelCheck.js +0 -62
- package/dist/src/core/modelCheck.js.map +0 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { SchemaValidator } from '../utils/schemaValidator.js';
|
|
7
|
-
import {
|
|
7
|
+
import { BaseDeclarativeTool, BaseToolInvocation, Kind, ToolConfirmationOutcome, } from './tools.js';
|
|
8
8
|
import { getErrorMessage } from '../utils/errors.js';
|
|
9
9
|
import { ApprovalMode } from '../config/config.js';
|
|
10
10
|
import { getResponseText } from '../utils/generateContentResponseUtilities.js';
|
|
@@ -18,31 +18,14 @@ function extractUrls(text) {
|
|
|
18
18
|
const urlRegex = /(https?:\/\/[^\s]+)/g;
|
|
19
19
|
return text.match(urlRegex) || [];
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
* Implementation of the WebFetch tool logic
|
|
23
|
-
*/
|
|
24
|
-
export class WebFetchTool extends BaseTool {
|
|
21
|
+
class WebFetchToolInvocation extends BaseToolInvocation {
|
|
25
22
|
config;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
super(WebFetchTool.Name, 'WebFetch', "Processes content from URL(s), including local and private network addresses (e.g., localhost), embedded in a prompt. Include up to 20 URLs and instructions (e.g., summarize, extract specific data) directly in the 'prompt' parameter.", Icon.Globe, {
|
|
29
|
-
properties: {
|
|
30
|
-
prompt: {
|
|
31
|
-
description: 'A comprehensive prompt that includes the URL(s) (up to 20) to fetch and specific instructions on how to process their content (e.g., "Summarize https://example.com/article and extract key points from https://another.com/data"). Must contain as least one URL starting with http:// or https://.',
|
|
32
|
-
type: 'string',
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
required: ['prompt'],
|
|
36
|
-
type: 'object',
|
|
37
|
-
});
|
|
23
|
+
constructor(config, params) {
|
|
24
|
+
super(params);
|
|
38
25
|
this.config = config;
|
|
39
|
-
const proxy = config.getProxy();
|
|
40
|
-
if (proxy) {
|
|
41
|
-
setGlobalDispatcher(new ProxyAgent(proxy));
|
|
42
|
-
}
|
|
43
26
|
}
|
|
44
|
-
async executeFallback(
|
|
45
|
-
const urls = extractUrls(params.prompt);
|
|
27
|
+
async executeFallback(signal) {
|
|
28
|
+
const urls = extractUrls(this.params.prompt);
|
|
46
29
|
if (urls.length === 0) {
|
|
47
30
|
return {
|
|
48
31
|
llmContent: 'Error: No URL found in the prompt for fallback.',
|
|
@@ -71,13 +54,14 @@ export class WebFetchTool extends BaseTool {
|
|
|
71
54
|
],
|
|
72
55
|
}).substring(0, MAX_CONTENT_LENGTH);
|
|
73
56
|
const geminiClient = this.config.getGeminiClient();
|
|
74
|
-
const fallbackPrompt = `The user requested the following: "${params.prompt}".
|
|
57
|
+
const fallbackPrompt = `The user requested the following: "${this.params.prompt}".
|
|
75
58
|
|
|
76
|
-
I was unable to access the URL directly. Instead, I have fetched the raw content of the page. Please use the following content to answer the
|
|
59
|
+
I was unable to access the URL directly. Instead, I have fetched the raw content of the page. Please use the following content to answer the request. Do not attempt to access the URL again.
|
|
77
60
|
|
|
78
61
|
---
|
|
79
62
|
${textContent}
|
|
80
|
-
|
|
63
|
+
---
|
|
64
|
+
`;
|
|
81
65
|
const result = await geminiClient.generateContent([{ role: 'user', parts: [{ text: fallbackPrompt }] }], {}, signal);
|
|
82
66
|
const resultText = getResponseText(result) || '';
|
|
83
67
|
return {
|
|
@@ -94,37 +78,19 @@ ${textContent}
|
|
|
94
78
|
};
|
|
95
79
|
}
|
|
96
80
|
}
|
|
97
|
-
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
if (!params.prompt || params.prompt.trim() === '') {
|
|
103
|
-
return "The 'prompt' parameter cannot be empty and must contain URL(s) and instructions.";
|
|
104
|
-
}
|
|
105
|
-
if (!params.prompt.includes('http://') &&
|
|
106
|
-
!params.prompt.includes('https://')) {
|
|
107
|
-
return "The 'prompt' must contain at least one valid URL (starting with http:// or https://).";
|
|
108
|
-
}
|
|
109
|
-
return null;
|
|
110
|
-
}
|
|
111
|
-
getDescription(params) {
|
|
112
|
-
const displayPrompt = params.prompt.length > 100
|
|
113
|
-
? params.prompt.substring(0, 97) + '...'
|
|
114
|
-
: params.prompt;
|
|
81
|
+
getDescription() {
|
|
82
|
+
const displayPrompt = this.params.prompt.length > 100
|
|
83
|
+
? this.params.prompt.substring(0, 97) + '...'
|
|
84
|
+
: this.params.prompt;
|
|
115
85
|
return `Processing URLs and instructions from prompt: "${displayPrompt}"`;
|
|
116
86
|
}
|
|
117
|
-
async shouldConfirmExecute(
|
|
87
|
+
async shouldConfirmExecute() {
|
|
118
88
|
if (this.config.getApprovalMode() === ApprovalMode.AUTO_EDIT) {
|
|
119
89
|
return false;
|
|
120
90
|
}
|
|
121
|
-
const validationError = this.validateParams(params);
|
|
122
|
-
if (validationError) {
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
91
|
// Perform GitHub URL conversion here to differentiate between user-provided
|
|
126
92
|
// URL and the actual URL to be fetched.
|
|
127
|
-
const urls = extractUrls(params.prompt).map((url) => {
|
|
93
|
+
const urls = extractUrls(this.params.prompt).map((url) => {
|
|
128
94
|
if (url.includes('github.com') && url.includes('/blob/')) {
|
|
129
95
|
return url
|
|
130
96
|
.replace('github.com', 'raw.githubusercontent.com')
|
|
@@ -135,7 +101,7 @@ ${textContent}
|
|
|
135
101
|
const confirmationDetails = {
|
|
136
102
|
type: 'info',
|
|
137
103
|
title: `Confirm Web Fetch`,
|
|
138
|
-
prompt: params.prompt,
|
|
104
|
+
prompt: this.params.prompt,
|
|
139
105
|
urls,
|
|
140
106
|
onConfirm: async (outcome) => {
|
|
141
107
|
if (outcome === ToolConfirmationOutcome.ProceedAlways) {
|
|
@@ -145,20 +111,13 @@ ${textContent}
|
|
|
145
111
|
};
|
|
146
112
|
return confirmationDetails;
|
|
147
113
|
}
|
|
148
|
-
async execute(
|
|
149
|
-
const
|
|
150
|
-
if (validationError) {
|
|
151
|
-
return {
|
|
152
|
-
llmContent: `Error: Invalid parameters provided. Reason: ${validationError}`,
|
|
153
|
-
returnDisplay: validationError,
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
const userPrompt = params.prompt;
|
|
114
|
+
async execute(signal) {
|
|
115
|
+
const userPrompt = this.params.prompt;
|
|
157
116
|
const urls = extractUrls(userPrompt);
|
|
158
117
|
const url = urls[0];
|
|
159
118
|
const isPrivate = isPrivateIp(url);
|
|
160
119
|
if (isPrivate) {
|
|
161
|
-
return this.executeFallback(
|
|
120
|
+
return this.executeFallback(signal);
|
|
162
121
|
}
|
|
163
122
|
const geminiClient = this.config.getGeminiClient();
|
|
164
123
|
try {
|
|
@@ -189,7 +148,7 @@ ${textContent}
|
|
|
189
148
|
processingError = true;
|
|
190
149
|
}
|
|
191
150
|
if (processingError) {
|
|
192
|
-
return this.executeFallback(
|
|
151
|
+
return this.executeFallback(signal);
|
|
193
152
|
}
|
|
194
153
|
const sourceListFormatted = [];
|
|
195
154
|
if (sources && sources.length > 0) {
|
|
@@ -242,4 +201,45 @@ ${sourceListFormatted.join('\n')}`;
|
|
|
242
201
|
}
|
|
243
202
|
}
|
|
244
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Implementation of the WebFetch tool logic
|
|
206
|
+
*/
|
|
207
|
+
export class WebFetchTool extends BaseDeclarativeTool {
|
|
208
|
+
config;
|
|
209
|
+
static Name = 'web_fetch';
|
|
210
|
+
constructor(config) {
|
|
211
|
+
super(WebFetchTool.Name, 'WebFetch', "Processes content from URL(s), including local and private network addresses (e.g., localhost), embedded in a prompt. Include up to 20 URLs and instructions (e.g., summarize, extract specific data) directly in the 'prompt' parameter.", Kind.Fetch, {
|
|
212
|
+
properties: {
|
|
213
|
+
prompt: {
|
|
214
|
+
description: 'A comprehensive prompt that includes the URL(s) (up to 20) to fetch and specific instructions on how to process their content (e.g., "Summarize https://example.com/article and extract key points from https://another.com/data"). Must contain as least one URL starting with http:// or https://.',
|
|
215
|
+
type: 'string',
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
required: ['prompt'],
|
|
219
|
+
type: 'object',
|
|
220
|
+
});
|
|
221
|
+
this.config = config;
|
|
222
|
+
const proxy = config.getProxy();
|
|
223
|
+
if (proxy) {
|
|
224
|
+
setGlobalDispatcher(new ProxyAgent(proxy));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
validateToolParams(params) {
|
|
228
|
+
const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
|
|
229
|
+
if (errors) {
|
|
230
|
+
return errors;
|
|
231
|
+
}
|
|
232
|
+
if (!params.prompt || params.prompt.trim() === '') {
|
|
233
|
+
return "The 'prompt' parameter cannot be empty and must contain URL(s) and instructions.";
|
|
234
|
+
}
|
|
235
|
+
if (!params.prompt.includes('http://') &&
|
|
236
|
+
!params.prompt.includes('https://')) {
|
|
237
|
+
return "The 'prompt' must contain at least one valid URL (starting with http:// or https://).";
|
|
238
|
+
}
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
createInvocation(params) {
|
|
242
|
+
return new WebFetchToolInvocation(this.config, params);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
245
|
//# sourceMappingURL=web-fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-fetch.js","sourceRoot":"","sources":["../../../src/tools/web-fetch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"web-fetch.js","sourceRoot":"","sources":["../../../src/tools/web-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,8 @@ describe('WebFetchTool', () => {
|
|
|
17
17
|
it('should return confirmation details with the correct prompt and urls', async () => {
|
|
18
18
|
const tool = new WebFetchTool(mockConfig);
|
|
19
19
|
const params = { prompt: 'fetch https://example.com' };
|
|
20
|
-
const
|
|
20
|
+
const invocation = tool.build(params);
|
|
21
|
+
const confirmationDetails = await invocation.shouldConfirmExecute(new AbortController().signal);
|
|
21
22
|
expect(confirmationDetails).toEqual({
|
|
22
23
|
type: 'info',
|
|
23
24
|
title: 'Confirm Web Fetch',
|
|
@@ -31,7 +32,8 @@ describe('WebFetchTool', () => {
|
|
|
31
32
|
const params = {
|
|
32
33
|
prompt: 'fetch https://github.com/google/gemini-react/blob/main/README.md',
|
|
33
34
|
};
|
|
34
|
-
const
|
|
35
|
+
const invocation = tool.build(params);
|
|
36
|
+
const confirmationDetails = await invocation.shouldConfirmExecute(new AbortController().signal);
|
|
35
37
|
expect(confirmationDetails).toEqual({
|
|
36
38
|
type: 'info',
|
|
37
39
|
title: 'Confirm Web Fetch',
|
|
@@ -48,7 +50,8 @@ describe('WebFetchTool', () => {
|
|
|
48
50
|
getApprovalMode: () => ApprovalMode.AUTO_EDIT,
|
|
49
51
|
});
|
|
50
52
|
const params = { prompt: 'fetch https://example.com' };
|
|
51
|
-
const
|
|
53
|
+
const invocation = tool.build(params);
|
|
54
|
+
const confirmationDetails = await invocation.shouldConfirmExecute(new AbortController().signal);
|
|
52
55
|
expect(confirmationDetails).toBe(false);
|
|
53
56
|
});
|
|
54
57
|
it('should call setApprovalMode when onConfirm is called with ProceedAlways', async () => {
|
|
@@ -58,7 +61,8 @@ describe('WebFetchTool', () => {
|
|
|
58
61
|
setApprovalMode,
|
|
59
62
|
});
|
|
60
63
|
const params = { prompt: 'fetch https://example.com' };
|
|
61
|
-
const
|
|
64
|
+
const invocation = tool.build(params);
|
|
65
|
+
const confirmationDetails = await invocation.shouldConfirmExecute(new AbortController().signal);
|
|
62
66
|
if (confirmationDetails &&
|
|
63
67
|
typeof confirmationDetails === 'object' &&
|
|
64
68
|
'onConfirm' in confirmationDetails) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-fetch.test.js","sourceRoot":"","sources":["../../../src/tools/web-fetch.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAU,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,UAAU,GAAG;QACjB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;KACG,CAAC;IAEvB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;YACvD,MAAM,mBAAmB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"web-fetch.test.js","sourceRoot":"","sources":["../../../src/tools/web-fetch.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { BaseTool,
|
|
6
|
+
import { BaseTool, Kind } from './tools.js';
|
|
7
7
|
import { Type } from '@google/genai';
|
|
8
8
|
import { SchemaValidator } from '../utils/schemaValidator.js';
|
|
9
9
|
import { getErrorMessage } from '../utils/errors.js';
|
|
@@ -15,7 +15,7 @@ export class WebSearchTool extends BaseTool {
|
|
|
15
15
|
config;
|
|
16
16
|
static Name = 'google_web_search';
|
|
17
17
|
constructor(config) {
|
|
18
|
-
super(WebSearchTool.Name, 'GoogleSearch', 'Performs a web search using Google Search (via the Gemini API) and returns the results. This tool is useful for finding information on the internet based on a query.',
|
|
18
|
+
super(WebSearchTool.Name, 'GoogleSearch', 'Performs a web search using Google Search (via the Gemini API) and returns the results. This tool is useful for finding information on the internet based on a query.', Kind.Search, {
|
|
19
19
|
type: Type.OBJECT,
|
|
20
20
|
properties: {
|
|
21
21
|
query: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../src/tools/web-search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAc,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AA4C/E;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,QAGlC;IAG8B;IAF7B,MAAM,CAAU,IAAI,GAAW,mBAAmB,CAAC;IAEnD,YAA6B,MAAc;QACzC,KAAK,CACH,aAAa,CAAC,IAAI,EAClB,cAAc,EACd,uKAAuK,EACvK,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../src/tools/web-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Config } from '../config/config.js';
|
|
7
|
-
import { BaseTool, ToolResult, ToolCallConfirmationDetails } from './tools.js';
|
|
7
|
+
import { BaseTool, ToolResult, ToolCallConfirmationDetails, ToolLocation } from './tools.js';
|
|
8
8
|
import { ModifiableDeclarativeTool, ModifyContext } from './modifiable-tool.js';
|
|
9
9
|
/**
|
|
10
10
|
* Parameters for the WriteFile tool
|
|
@@ -34,6 +34,7 @@ export declare class WriteFileTool extends BaseTool<WriteFileToolParams, ToolRes
|
|
|
34
34
|
private readonly config;
|
|
35
35
|
static readonly Name: string;
|
|
36
36
|
constructor(config: Config);
|
|
37
|
+
toolLocations(params: WriteFileToolParams): ToolLocation[];
|
|
37
38
|
validateToolParams(params: WriteFileToolParams): string | null;
|
|
38
39
|
getDescription(params: WriteFileToolParams): string;
|
|
39
40
|
/**
|
|
@@ -7,7 +7,7 @@ import fs from 'fs';
|
|
|
7
7
|
import path from 'path';
|
|
8
8
|
import * as Diff from 'diff';
|
|
9
9
|
import { ApprovalMode } from '../config/config.js';
|
|
10
|
-
import { BaseTool, ToolConfirmationOutcome,
|
|
10
|
+
import { BaseTool, ToolConfirmationOutcome, Kind, } from './tools.js';
|
|
11
11
|
import { ToolErrorType } from './tool-error.js';
|
|
12
12
|
import { SchemaValidator } from '../utils/schemaValidator.js';
|
|
13
13
|
import { makeRelative, shortenPath } from '../utils/paths.js';
|
|
@@ -26,7 +26,7 @@ export class WriteFileTool extends BaseTool {
|
|
|
26
26
|
constructor(config) {
|
|
27
27
|
super(WriteFileTool.Name, 'WriteFile', `Writes content to a specified file in the local filesystem.
|
|
28
28
|
|
|
29
|
-
The user has the ability to modify \`content\`. If modified, this will be stated in the response.`,
|
|
29
|
+
The user has the ability to modify \`content\`. If modified, this will be stated in the response.`, Kind.Edit, {
|
|
30
30
|
properties: {
|
|
31
31
|
file_path: {
|
|
32
32
|
description: "The absolute path to the file to write to (e.g., '/home/user/project/file.txt'). Relative paths are not supported.",
|
|
@@ -42,6 +42,9 @@ export class WriteFileTool extends BaseTool {
|
|
|
42
42
|
});
|
|
43
43
|
this.config = config;
|
|
44
44
|
}
|
|
45
|
+
toolLocations(params) {
|
|
46
|
+
return [{ path: params.file_path }];
|
|
47
|
+
}
|
|
45
48
|
validateToolParams(params) {
|
|
46
49
|
const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
|
|
47
50
|
if (errors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAU,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,QAAQ,EAIR,uBAAuB,EAEvB,IAAI,GACL,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,yBAAyB,EACzB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAkC3D;;GAEG;AACH,MAAM,OAAO,aACX,SAAQ,QAAyC;IAKpB;IAF7B,MAAM,CAAU,IAAI,GAAW,YAAY,CAAC;IAE5C,YAA6B,MAAc;QACzC,KAAK,CACH,aAAa,CAAC,IAAI,EAClB,WAAW,EACX;;wGAEkG,EAClG,IAAI,CAAC,MAAM,EACX;YACE,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,WAAW,EACT,oHAAoH;oBACtH,IAAI,EAAE,QAAQ;iBACf;gBACD,OAAO,EAAE;oBACP,WAAW,EAAE,mCAAmC;oBAChD,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;YAClC,IAAI,EAAE,QAAQ;SACf,CACF,CAAC;QAvByB,WAAM,GAAN,MAAM,CAAQ;IAwB3C,CAAC;IAED,kBAAkB,CAAC,MAA2B;QAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CACrC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAChC,MAAM,CACP,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,+BAA+B,QAAQ,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACtD,OAAO,8DAA8D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,CAAC;QAED,IAAI,CAAC;YACH,0DAA0D;YAC1D,oEAAoE;YACpE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,OAAO,oCAAoC,QAAQ,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,SAAkB,EAAE,CAAC;YAC5B,yGAAyG;YACzG,2EAA2E;YAC3E,OAAO,mDAAmD,QAAQ,aAAa,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACtJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,MAA2B;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,0FAA0F,CAAC;QACpG,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAC/B,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAC3B,CAAC;QACF,OAAO,cAAc,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAA2B,EAC3B,WAAwB;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAChE,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,WAAW,CACZ,CAAC;QAEF,IAAI,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACjC,8EAA8E;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,sBAAsB,CAAC;QACrE,MAAM,YAAY,GAAG,YAAY,CAC/B,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAC3B,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC/B,QAAQ,EACR,eAAe,EAAE,qDAAqD;QACtE,gBAAgB,EAAE,qCAAqC;QACvD,SAAS,EACT,UAAU,EACV,oBAAoB,CACrB,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,eAAe,GACnB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACxB,SAAS,CAAC,mBAAmB,EAAE,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS;YACtE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,mBAAmB,GAAgC;YACvD,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,kBAAkB,WAAW,CAAC,YAAY,CAAC,EAAE;YACpD,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,QAAQ;YACR,eAAe;YACf,UAAU,EAAE,gBAAgB;YAC5B,SAAS,EAAE,KAAK,EAAE,OAAgC,EAAE,EAAE;gBACpD,IAAI,OAAO,KAAK,uBAAuB,CAAC,aAAa,EAAE,CAAC;oBACtD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACtD,CAAC;gBAED,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;oBACrC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,eAAe;SAChB,CAAC;QACF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAA2B,EAC3B,WAAwB;QAExB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO;gBACL,UAAU,EAAE,mDAAmD,eAAe,EAAE;gBAChF,aAAa,EAAE,eAAe;gBAC9B,KAAK,EAAE;oBACL,OAAO,EAAE,eAAe;oBACxB,IAAI,EAAE,aAAa,CAAC,mBAAmB;iBACxC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAChE,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,WAAW,CACZ,CAAC;QAEF,IAAI,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC;YAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI;gBAC9B,CAAC,CAAC,iCAAiC,MAAM,CAAC,SAAS,MAAM,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,GAAG;gBAClG,CAAC,CAAC,iCAAiC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1D,OAAO;gBACL,UAAU,EAAE,QAAQ;gBACpB,aAAa,EAAE,QAAQ;gBACvB,KAAK,EAAE;oBACL,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,aAAa,CAAC,kBAAkB;iBACvC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,EACJ,eAAe,EACf,gBAAgB,EAAE,WAAW,EAC7B,UAAU,GACX,GAAG,sBAAsB,CAAC;QAC3B,mGAAmG;QACnG,0DAA0D;QAC1D,MAAM,SAAS,GACb,CAAC,UAAU;YACX,CAAC,sBAAsB,CAAC,KAAK,KAAK,SAAS;gBACzC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YAED,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAExD,mCAAmC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjD,6EAA6E;YAC7E,iGAAiG;YACjG,sEAAsE;YACtE,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,KAAK;gBACxD,CAAC,CAAC,EAAE,CAAC,0CAA0C;gBAC/C,CAAC,CAAC,eAAe,CAAC;YAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC/B,QAAQ,EACR,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,SAAS,EACT,oBAAoB,CACrB,CAAC;YAEF,MAAM,yBAAyB,GAC7B,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,OAAO,CAAC;YAC/C,MAAM,QAAQ,GAAG,WAAW,CAC1B,QAAQ,EACR,qBAAqB,EACrB,yBAAyB,EACzB,MAAM,CAAC,OAAO,CACf,CAAC;YAEF,MAAM,sBAAsB,GAAG;gBAC7B,SAAS;oBACP,CAAC,CAAC,+CAA+C,MAAM,CAAC,SAAS,GAAG;oBACpE,CAAC,CAAC,gCAAgC,MAAM,CAAC,SAAS,GAAG;aACxD,CAAC;YACF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,sBAAsB,CAAC,IAAI,CACzB,wCAAwC,MAAM,CAAC,OAAO,EAAE,CACzD,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAa;gBAC9B,QAAQ;gBACR,QAAQ;gBACR,eAAe,EAAE,sBAAsB,CAAC,eAAe;gBACvD,UAAU,EAAE,sBAAsB,CAAC,gBAAgB;gBACnD,QAAQ;aACT,CAAC;YAEF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB;YAClE,IAAI,SAAS,EAAE,CAAC;gBACd,yBAAyB,CACvB,IAAI,CAAC,MAAM,EACX,aAAa,CAAC,MAAM,EACpB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,CACT,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,yBAAyB,CACvB,IAAI,CAAC,MAAM,EACX,aAAa,CAAC,MAAM,EACpB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,CACT,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC5C,aAAa,EAAE,aAAa;aAC7B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mDAAmD;YACnD,IAAI,QAAgB,CAAC;YACrB,IAAI,SAAS,GAAG,aAAa,CAAC,kBAAkB,CAAC;YAEjD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,wDAAwD;gBACxD,QAAQ,GAAG,0BAA0B,MAAM,CAAC,SAAS,MAAM,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;gBAE3F,gDAAgD;gBAChD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,QAAQ,GAAG,sCAAsC,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;oBACpF,SAAS,GAAG,aAAa,CAAC,iBAAiB,CAAC;gBAC9C,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACnC,QAAQ,GAAG,4BAA4B,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;oBAC1E,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC;gBAC1C,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACnC,QAAQ,GAAG,sCAAsC,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;oBACpF,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC;gBAChD,CAAC;gBAED,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC9C,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAClC,QAAQ,GAAG,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,0BAA0B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,CAAC;YAED,OAAO;gBACL,UAAU,EAAE,QAAQ;gBACpB,aAAa,EAAE,QAAQ;gBACvB,KAAK,EAAE;oBACL,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,QAAgB,EAChB,eAAuB,EACvB,WAAwB;QAExB,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,gBAAgB,GAAG,eAAe,CAAC;QAEvC,IAAI,CAAC;YACH,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpD,UAAU,GAAG,IAAI,CAAC,CAAC,2BAA2B;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9C,UAAU,GAAG,KAAK,CAAC;gBACnB,eAAe,GAAG,EAAE,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,wDAAwD;gBACxD,UAAU,GAAG,IAAI,CAAC,CAAC,mCAAmC;gBACtD,eAAe,GAAG,EAAE,CAAC,CAAC,wBAAwB;gBAC9C,MAAM,KAAK,GAAG;oBACZ,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC;oBAC7B,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iBAC9C,CAAC;gBACF,wEAAwE;gBACxE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,+EAA+E;QAC/E,2DAA2D;QAE3D,IAAI,UAAU,EAAE,CAAC;YACf,4CAA4C;YAC5C,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CACzD,QAAQ,EACR,eAAe,EACf;gBACE,UAAU,EAAE,eAAe,EAAE,6CAA6C;gBAC1E,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,QAAQ;aACpB,EACD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAC7B,WAAW,CACZ,CAAC;YACF,gBAAgB,GAAG,eAAe,CAAC,UAAU,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,gBAAgB,GAAG,MAAM,wBAAwB,CAC/C,eAAe,EACf,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAC7B,WAAW,CACZ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,gBAAgB,CACd,WAAwB;QAExB,OAAO;YACL,WAAW,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS;YAC9D,iBAAiB,EAAE,KAAK,EAAE,MAA2B,EAAE,EAAE;gBACvD,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAChE,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,WAAW,CACZ,CAAC;gBACF,OAAO,sBAAsB,CAAC,eAAe,CAAC;YAChD,CAAC;YACD,kBAAkB,EAAE,KAAK,EAAE,MAA2B,EAAE,EAAE;gBACxD,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAChE,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,WAAW,CACZ,CAAC;gBACF,OAAO,sBAAsB,CAAC,gBAAgB,CAAC;YACjD,CAAC;YACD,mBAAmB,EAAE,CACnB,WAAmB,EACnB,uBAA+B,EAC/B,cAAmC,EACnC,EAAE;gBACF,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;gBACvC,OAAO;oBACL,GAAG,cAAc;oBACjB,mBAAmB,EAAE,OAAO;oBAC5B,OAAO,EAAE,uBAAuB;oBAChC,gBAAgB,EAAE,IAAI;iBACvB,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { UserTierId } from '../code_assist/types.js';
|
|
7
|
+
import { AuthType } from '../core/contentGenerator.js';
|
|
8
|
+
export declare function parseAndFormatApiError(error: unknown, authType?: AuthType, userTier?: UserTierId, currentModel?: string, fallbackModel?: string): string;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { isProQuotaExceededError, isGenericQuotaExceededError, isApiError, isStructuredError, } from './quotaErrorDetection.js';
|
|
7
|
+
import { DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, } from '../config/models.js';
|
|
8
|
+
import { UserTierId } from '../code_assist/types.js';
|
|
9
|
+
import { AuthType } from '../core/contentGenerator.js';
|
|
10
|
+
// Free Tier message functions
|
|
11
|
+
const getRateLimitErrorMessageGoogleFree = (fallbackModel = DEFAULT_GEMINI_FLASH_MODEL) => `\nPossible quota limitations in place or slow response times detected. Switching to the ${fallbackModel} model for the rest of this session.`;
|
|
12
|
+
const getRateLimitErrorMessageGoogleProQuotaFree = (currentModel = DEFAULT_GEMINI_MODEL, fallbackModel = DEFAULT_GEMINI_FLASH_MODEL) => `\nYou have reached your daily ${currentModel} quota limit. You will be switched to the ${fallbackModel} model for the rest of this session. To increase your limits, upgrade to a Gemini Code Assist Standard or Enterprise plan with higher limits at https://goo.gle/set-up-gemini-code-assist, or use /auth to switch to using a paid API key from AI Studio at https://aistudio.google.com/apikey`;
|
|
13
|
+
const getRateLimitErrorMessageGoogleGenericQuotaFree = () => `\nYou have reached your daily quota limit. To increase your limits, upgrade to a Gemini Code Assist Standard or Enterprise plan with higher limits at https://goo.gle/set-up-gemini-code-assist, or use /auth to switch to using a paid API key from AI Studio at https://aistudio.google.com/apikey`;
|
|
14
|
+
// Legacy/Standard Tier message functions
|
|
15
|
+
const getRateLimitErrorMessageGooglePaid = (fallbackModel = DEFAULT_GEMINI_FLASH_MODEL) => `\nPossible quota limitations in place or slow response times detected. Switching to the ${fallbackModel} model for the rest of this session. We appreciate you for choosing Gemini Code Assist and the Gemini CLI.`;
|
|
16
|
+
const getRateLimitErrorMessageGoogleProQuotaPaid = (currentModel = DEFAULT_GEMINI_MODEL, fallbackModel = DEFAULT_GEMINI_FLASH_MODEL) => `\nYou have reached your daily ${currentModel} quota limit. You will be switched to the ${fallbackModel} model for the rest of this session. We appreciate you for choosing Gemini Code Assist and the Gemini CLI. To continue accessing the ${currentModel} model today, consider using /auth to switch to using a paid API key from AI Studio at https://aistudio.google.com/apikey`;
|
|
17
|
+
const getRateLimitErrorMessageGoogleGenericQuotaPaid = (currentModel = DEFAULT_GEMINI_MODEL) => `\nYou have reached your daily quota limit. We appreciate you for choosing Gemini Code Assist and the Gemini CLI. To continue accessing the ${currentModel} model today, consider using /auth to switch to using a paid API key from AI Studio at https://aistudio.google.com/apikey`;
|
|
18
|
+
const RATE_LIMIT_ERROR_MESSAGE_USE_GEMINI = '\nPlease wait and try again later. To increase your limits, request a quota increase through AI Studio, or switch to another /auth method';
|
|
19
|
+
const RATE_LIMIT_ERROR_MESSAGE_VERTEX = '\nPlease wait and try again later. To increase your limits, request a quota increase through Vertex, or switch to another /auth method';
|
|
20
|
+
const getRateLimitErrorMessageDefault = (fallbackModel = DEFAULT_GEMINI_FLASH_MODEL) => `\nPossible quota limitations in place or slow response times detected. Switching to the ${fallbackModel} model for the rest of this session.`;
|
|
21
|
+
function getRateLimitMessage(authType, error, userTier, currentModel, fallbackModel) {
|
|
22
|
+
switch (authType) {
|
|
23
|
+
case AuthType.LOGIN_WITH_GOOGLE: {
|
|
24
|
+
// Determine if user is on a paid tier (Legacy or Standard) - default to FREE if not specified
|
|
25
|
+
const isPaidTier = userTier === UserTierId.LEGACY || userTier === UserTierId.STANDARD;
|
|
26
|
+
if (isProQuotaExceededError(error)) {
|
|
27
|
+
return isPaidTier
|
|
28
|
+
? getRateLimitErrorMessageGoogleProQuotaPaid(currentModel || DEFAULT_GEMINI_MODEL, fallbackModel)
|
|
29
|
+
: getRateLimitErrorMessageGoogleProQuotaFree(currentModel || DEFAULT_GEMINI_MODEL, fallbackModel);
|
|
30
|
+
}
|
|
31
|
+
else if (isGenericQuotaExceededError(error)) {
|
|
32
|
+
return isPaidTier
|
|
33
|
+
? getRateLimitErrorMessageGoogleGenericQuotaPaid(currentModel || DEFAULT_GEMINI_MODEL)
|
|
34
|
+
: getRateLimitErrorMessageGoogleGenericQuotaFree();
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return isPaidTier
|
|
38
|
+
? getRateLimitErrorMessageGooglePaid(fallbackModel)
|
|
39
|
+
: getRateLimitErrorMessageGoogleFree(fallbackModel);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
case AuthType.USE_GEMINI:
|
|
43
|
+
return RATE_LIMIT_ERROR_MESSAGE_USE_GEMINI;
|
|
44
|
+
case AuthType.USE_VERTEX_AI:
|
|
45
|
+
return RATE_LIMIT_ERROR_MESSAGE_VERTEX;
|
|
46
|
+
default:
|
|
47
|
+
return getRateLimitErrorMessageDefault(fallbackModel);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export function parseAndFormatApiError(error, authType, userTier, currentModel, fallbackModel) {
|
|
51
|
+
if (isStructuredError(error)) {
|
|
52
|
+
let text = `[API Error: ${error.message}]`;
|
|
53
|
+
if (error.status === 429) {
|
|
54
|
+
text += getRateLimitMessage(authType, error, userTier, currentModel, fallbackModel);
|
|
55
|
+
}
|
|
56
|
+
return text;
|
|
57
|
+
}
|
|
58
|
+
// The error message might be a string containing a JSON object.
|
|
59
|
+
if (typeof error === 'string') {
|
|
60
|
+
const jsonStart = error.indexOf('{');
|
|
61
|
+
if (jsonStart === -1) {
|
|
62
|
+
return `[API Error: ${error}]`; // Not a JSON error, return as is.
|
|
63
|
+
}
|
|
64
|
+
const jsonString = error.substring(jsonStart);
|
|
65
|
+
try {
|
|
66
|
+
const parsedError = JSON.parse(jsonString);
|
|
67
|
+
if (isApiError(parsedError)) {
|
|
68
|
+
let finalMessage = parsedError.error.message;
|
|
69
|
+
try {
|
|
70
|
+
// See if the message is a stringified JSON with another error
|
|
71
|
+
const nestedError = JSON.parse(finalMessage);
|
|
72
|
+
if (isApiError(nestedError)) {
|
|
73
|
+
finalMessage = nestedError.error.message;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (_e) {
|
|
77
|
+
// It's not a nested JSON error, so we just use the message as is.
|
|
78
|
+
}
|
|
79
|
+
let text = `[API Error: ${finalMessage} (Status: ${parsedError.error.status})]`;
|
|
80
|
+
if (parsedError.error.code === 429) {
|
|
81
|
+
text += getRateLimitMessage(authType, parsedError, userTier, currentModel, fallbackModel);
|
|
82
|
+
}
|
|
83
|
+
return text;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch (_e) {
|
|
87
|
+
// Not a valid JSON, fall through and return the original message.
|
|
88
|
+
}
|
|
89
|
+
return `[API Error: ${error}]`;
|
|
90
|
+
}
|
|
91
|
+
return '[API Error: An unknown error occurred.]';
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=errorParsing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorParsing.js","sourceRoot":"","sources":["../../../src/utils/errorParsing.ts"],"names":[],"mappings":"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"}
|