@vybestack/llxprt-code-core 0.3.4-nightly.250919.5e3f575d → 0.3.4-nightly.250921.fdbf3cd7
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 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/src/auth/types.d.ts +2 -2
- package/dist/src/code_assist/codeAssist.d.ts +9 -2
- package/dist/src/code_assist/codeAssist.js +33 -0
- package/dist/src/code_assist/codeAssist.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +4 -0
- package/dist/src/code_assist/oauth2.js +85 -40
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/config/config.d.ts +11 -1
- package/dist/src/config/config.js +41 -8
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/core/client.d.ts +2 -2
- package/dist/src/core/client.js +7 -6
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +2 -2
- package/dist/src/core/geminiChat.d.ts +14 -1
- package/dist/src/core/geminiChat.js +12 -1
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.js +11 -11
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/subagent.d.ts +2 -0
- package/dist/src/core/subagent.js +13 -3
- package/dist/src/core/subagent.js.map +1 -1
- package/dist/src/core/turn.d.ts +26 -4
- package/dist/src/core/turn.js +64 -3
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/filters/EmojiFilter.js +1 -0
- package/dist/src/filters/EmojiFilter.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +6 -1
- package/dist/src/ide/ide-client.js +20 -2
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ideContext.d.ts +44 -32
- package/dist/src/ide/ideContext.js +1 -0
- package/dist/src/ide/ideContext.js.map +1 -1
- package/dist/src/ide/process-utils.js +49 -33
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/file-token-store.d.ts +20 -1
- package/dist/src/mcp/file-token-store.js +95 -14
- package/dist/src/mcp/file-token-store.js.map +1 -1
- package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
- package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
- package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
- package/dist/src/mcp/token-storage/file-token-storage.js +144 -0
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +23 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +78 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +31 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.js +190 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/types.d.ts +40 -0
- package/dist/src/mcp/token-storage/types.js +11 -0
- package/dist/src/mcp/token-storage/types.js.map +1 -0
- package/dist/src/providers/anthropic/AnthropicProvider.js +1 -3
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/tokenizers/OpenAITokenizer.d.ts +1 -0
- package/dist/src/providers/tokenizers/OpenAITokenizer.js +3 -1
- package/dist/src/providers/tokenizers/OpenAITokenizer.js.map +1 -1
- package/dist/src/services/loopDetectionService.d.ts +23 -0
- package/dist/src/services/loopDetectionService.js +134 -1
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +8 -7
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/telemetry/sdk.js +2 -1
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +12 -0
- package/dist/src/telemetry/types.js +19 -0
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/config.d.ts +10 -0
- package/dist/src/test-utils/config.js +24 -0
- package/dist/src/test-utils/config.js.map +1 -0
- package/dist/src/test-utils/index.d.ts +6 -0
- package/dist/src/test-utils/index.js +7 -0
- package/dist/src/test-utils/index.js.map +1 -0
- package/dist/src/test-utils/mock-tool.d.ts +41 -0
- package/dist/src/test-utils/mock-tool.js +51 -0
- package/dist/src/test-utils/mock-tool.js.map +1 -0
- package/dist/src/tools/edit.d.ts +2 -2
- package/dist/src/tools/edit.js +20 -30
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +8 -6
- package/dist/src/tools/mcp-client-manager.js +30 -5
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +5 -5
- package/dist/src/tools/mcp-client.js +13 -22
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +3 -2
- package/dist/src/tools/mcp-tool.js +9 -9
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/memoryTool.js +5 -33
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/shell.js +6 -3
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/smart-edit.d.ts +73 -0
- package/dist/src/tools/smart-edit.js +606 -0
- package/dist/src/tools/smart-edit.js.map +1 -0
- package/dist/src/tools/tool-registry.d.ts +2 -1
- package/dist/src/tools/tool-registry.js +6 -6
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/web-fetch.js +3 -1
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +19 -3
- package/dist/src/utils/fileUtils.js +139 -28
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.d.ts +1 -0
- package/dist/src/utils/gitIgnoreParser.js +101 -10
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/ide-trust.d.ts +10 -0
- package/dist/src/utils/ide-trust.js +14 -0
- package/dist/src/utils/ide-trust.js.map +1 -0
- package/dist/src/utils/llm-edit-fixer.d.ts +25 -0
- package/dist/src/utils/llm-edit-fixer.js +111 -0
- package/dist/src/utils/llm-edit-fixer.js.map +1 -0
- package/dist/src/utils/memoryDiscovery.d.ts +5 -4
- package/dist/src/utils/memoryDiscovery.js +10 -9
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/partUtils.d.ts +1 -2
- package/dist/src/utils/partUtils.js +0 -14
- package/dist/src/utils/partUtils.js.map +1 -1
- package/dist/src/utils/pathReader.d.ts +28 -0
- package/dist/src/utils/pathReader.js +47 -0
- package/dist/src/utils/pathReader.js.map +1 -0
- package/dist/src/utils/summarizer.js +2 -1
- package/dist/src/utils/summarizer.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
package/dist/index.d.ts
CHANGED
@@ -11,3 +11,7 @@ export { openBrowserSecurely, shouldLaunchBrowser, } from './src/utils/secure-br
|
|
11
11
|
export { SettingsService } from './src/settings/SettingsService.js';
|
12
12
|
export type { ISettingsService, GlobalSettings, SettingsChangeEvent, ProviderSettings, UISettings, AdvancedSettings, EventListener, EventUnsubscribe, } from './src/settings/types.js';
|
13
13
|
export type { TelemetrySettings as SettingsTelemetrySettings } from './src/settings/types.js';
|
14
|
+
export { IdeConnectionEvent, IdeConnectionType, } from './src/telemetry/types.js';
|
15
|
+
export { getIdeTrust } from './src/utils/ide-trust.js';
|
16
|
+
export { makeFakeConfig } from './src/test-utils/config.js';
|
17
|
+
export * from './src/utils/pathReader.js';
|
package/dist/index.js
CHANGED
@@ -11,4 +11,8 @@ export { openBrowserSecurely, shouldLaunchBrowser, } from './src/utils/secure-br
|
|
11
11
|
// Re-export settings system for explicit access
|
12
12
|
export { SettingsService } from './src/settings/SettingsService.js';
|
13
13
|
// IDE connection telemetry exports removed - telemetry disabled in llxprt
|
14
|
+
export { IdeConnectionEvent, IdeConnectionType, } from './src/telemetry/types.js';
|
15
|
+
export { getIdeTrust } from './src/utils/ide-trust.js';
|
16
|
+
export { makeFakeConfig } from './src/test-utils/config.js';
|
17
|
+
export * from './src/utils/pathReader.js';
|
14
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAEhD,gDAAgD;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAYpE,0EAA0E"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAEhD,gDAAgD;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAYpE,0EAA0E;AAC1E,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,cAAc,2BAA2B,CAAC"}
|
package/dist/src/auth/types.d.ts
CHANGED
@@ -111,14 +111,14 @@ export declare const AuthStatusSchema: z.ZodObject<{
|
|
111
111
|
expiresIn: z.ZodOptional<z.ZodNumber>;
|
112
112
|
oauthEnabled: z.ZodOptional<z.ZodBoolean>;
|
113
113
|
}, "strip", z.ZodTypeAny, {
|
114
|
-
provider: string;
|
115
114
|
authType: "none" | "oauth" | "api-key";
|
115
|
+
provider: string;
|
116
116
|
authenticated: boolean;
|
117
117
|
expiresIn?: number | undefined;
|
118
118
|
oauthEnabled?: boolean | undefined;
|
119
119
|
}, {
|
120
|
-
provider: string;
|
121
120
|
authType: "none" | "oauth" | "api-key";
|
121
|
+
provider: string;
|
122
122
|
authenticated: boolean;
|
123
123
|
expiresIn?: number | undefined;
|
124
124
|
oauthEnabled?: boolean | undefined;
|
@@ -4,7 +4,14 @@
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
6
|
import { AuthType, ContentGenerator } from '../core/contentGenerator.js';
|
7
|
-
import { HttpOptions } from './server.js';
|
8
|
-
import {
|
7
|
+
import type { HttpOptions } from './server.js';
|
8
|
+
import { CodeAssistServer } from './server.js';
|
9
|
+
import type { Config } from '../config/config.js';
|
9
10
|
export declare function createCodeAssistContentGenerator(httpOptions: HttpOptions, authType: AuthType, config: Config, baseURL?: string, // Add baseURL parameter
|
10
11
|
_sessionId?: string): Promise<ContentGenerator>;
|
12
|
+
export declare function getCodeAssistServer(config: Config): CodeAssistServer | undefined;
|
13
|
+
/**
|
14
|
+
* Emits a citation event if citation display is enabled for the current user.
|
15
|
+
* This function integrates with llxprt's provider abstraction to work across all providers.
|
16
|
+
*/
|
17
|
+
export declare function emitCitationEvent(config: Config, citationText: string): void;
|
@@ -7,6 +7,7 @@ import { AuthType } from '../core/contentGenerator.js';
|
|
7
7
|
import { getOauthClient } from './oauth2.js';
|
8
8
|
import { setupUser } from './setup.js';
|
9
9
|
import { CodeAssistServer } from './server.js';
|
10
|
+
import { LoggingContentGenerator } from '../core/loggingContentGenerator.js';
|
10
11
|
import { DebugLogger } from '../debug/index.js';
|
11
12
|
export async function createCodeAssistContentGenerator(httpOptions, authType, config, baseURL, // Add baseURL parameter
|
12
13
|
_sessionId) {
|
@@ -33,4 +34,36 @@ _sessionId) {
|
|
33
34
|
}
|
34
35
|
throw new Error(`Unsupported authType: ${authType}`);
|
35
36
|
}
|
37
|
+
export function getCodeAssistServer(config) {
|
38
|
+
let server = config.getGeminiClient().getContentGenerator();
|
39
|
+
// Unwrap LoggingContentGenerator if present
|
40
|
+
if (server instanceof LoggingContentGenerator) {
|
41
|
+
server = server.getWrapped();
|
42
|
+
}
|
43
|
+
if (!(server instanceof CodeAssistServer)) {
|
44
|
+
return undefined;
|
45
|
+
}
|
46
|
+
return server;
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* Emits a citation event if citation display is enabled for the current user.
|
50
|
+
* This function integrates with llxprt's provider abstraction to work across all providers.
|
51
|
+
*/
|
52
|
+
export function emitCitationEvent(config, citationText) {
|
53
|
+
// Get provider manager to emit citation through the event system
|
54
|
+
const providerManager = config.getProviderManager();
|
55
|
+
if (providerManager) {
|
56
|
+
// Use the provider manager's event system to emit citation events
|
57
|
+
// This ensures the event flows through the proper channels to reach the CLI
|
58
|
+
try {
|
59
|
+
// TODO: Implement provider-neutral event emission
|
60
|
+
// For now, this is a placeholder that can be extended when we have
|
61
|
+
// a provider-neutral event emission system
|
62
|
+
console.debug('Citation event would be emitted:', citationText);
|
63
|
+
}
|
64
|
+
catch (error) {
|
65
|
+
console.debug('Failed to emit citation event:', error);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
36
69
|
//# sourceMappingURL=codeAssist.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"codeAssist.js","sourceRoot":"","sources":["../../../src/code_assist/codeAssist.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAoB,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
1
|
+
{"version":3,"file":"codeAssist.js","sourceRoot":"","sources":["../../../src/code_assist/codeAssist.ts"],"names":[],"mappings":"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"}
|
@@ -15,8 +15,12 @@ export interface OauthWebLogin {
|
|
15
15
|
authUrl: string;
|
16
16
|
loginCompletePromise: Promise<void>;
|
17
17
|
}
|
18
|
+
export declare function performLogin(authType: AuthType, config: Config): Promise<boolean>;
|
18
19
|
export declare function getOauthClient(authType: AuthType, config: Config): Promise<OAuth2Client>;
|
19
20
|
export declare function getAvailablePort(): Promise<number>;
|
21
|
+
export declare function authWithCode(client: OAuth2Client, code: string, codeVerifier: {
|
22
|
+
codeVerifier: string;
|
23
|
+
} | undefined, redirectUri: string): Promise<boolean>;
|
20
24
|
export declare function clearCachedCredentialFile(): Promise<void>;
|
21
25
|
/**
|
22
26
|
* Clears the OAuth client cache to prevent session leakage during logout.
|
@@ -71,8 +71,9 @@ async function initOauthClient(authType, config) {
|
|
71
71
|
try {
|
72
72
|
await fetchAndCacheUserInfo(client);
|
73
73
|
}
|
74
|
-
catch {
|
74
|
+
catch (error) {
|
75
75
|
// Non-fatal, continue with existing auth.
|
76
|
+
console.warn('Failed to fetch user info:', getErrorMessage(error));
|
76
77
|
}
|
77
78
|
}
|
78
79
|
// Loaded cached credentials
|
@@ -124,17 +125,27 @@ async function initOauthClient(authType, config) {
|
|
124
125
|
// Without this, if `open` fails to spawn a process (e.g., `xdg-open` is not found
|
125
126
|
// in a minimal Docker container), it will emit an unhandled 'error' event,
|
126
127
|
// causing the entire Node.js process to crash.
|
127
|
-
childProcess.on('error', (
|
128
|
+
childProcess.on('error', (error) => {
|
128
129
|
console.error('Failed to open browser automatically. Please try running again with NO_BROWSER=true set.');
|
129
|
-
|
130
|
+
console.error('Browser error details:', getErrorMessage(error));
|
130
131
|
});
|
131
132
|
}
|
132
133
|
catch (_err) {
|
133
|
-
console.error('
|
134
|
-
throw new FatalAuthenticationError(
|
134
|
+
console.error('An unexpected error occurred while trying to open the browser:', getErrorMessage(_err), '\nThis might be due to browser compatibility issues or system configuration.', '\nPlease try running again with NO_BROWSER=true set for manual authentication.');
|
135
|
+
throw new FatalAuthenticationError(`Failed to open browser: ${getErrorMessage(_err)}`);
|
135
136
|
}
|
136
|
-
|
137
|
-
|
137
|
+
if (typeof config.isInteractive === 'function' && config.isInteractive()) {
|
138
|
+
console.log('Waiting for authentication...');
|
139
|
+
}
|
140
|
+
// Add timeout to prevent infinite waiting when browser tab gets stuck
|
141
|
+
const authTimeout = 5 * 60 * 1000; // 5 minutes timeout
|
142
|
+
const timeoutPromise = new Promise((_, reject) => {
|
143
|
+
setTimeout(() => {
|
144
|
+
reject(new FatalAuthenticationError('Authentication timed out after 5 minutes. The browser tab may have gotten stuck in a loading state. ' +
|
145
|
+
'Please try again or use NO_BROWSER=true for manual authentication.'));
|
146
|
+
}, authTimeout);
|
147
|
+
});
|
148
|
+
await Promise.race([webLogin.loginCompletePromise, timeoutPromise]);
|
138
149
|
// Reset global state variables after successful authentication
|
139
150
|
/**
|
140
151
|
* @plan PLAN-20250822-GEMINIFALLBACK.P13
|
@@ -146,6 +157,10 @@ async function initOauthClient(authType, config) {
|
|
146
157
|
}
|
147
158
|
return client;
|
148
159
|
}
|
160
|
+
export async function performLogin(authType, config) {
|
161
|
+
await initOauthClient(authType, config);
|
162
|
+
return true;
|
163
|
+
}
|
149
164
|
export async function getOauthClient(authType, config) {
|
150
165
|
if (!oauthClientPromises.has(authType)) {
|
151
166
|
oauthClientPromises.set(authType, initOauthClient(authType, config));
|
@@ -199,19 +214,7 @@ async function authWithUserCode(client) {
|
|
199
214
|
console.error('Authorization code is required.');
|
200
215
|
return false;
|
201
216
|
}
|
202
|
-
|
203
|
-
const { tokens } = await client.getToken({
|
204
|
-
code,
|
205
|
-
codeVerifier: codeVerifier.codeVerifier,
|
206
|
-
redirect_uri: redirectUri,
|
207
|
-
});
|
208
|
-
client.setCredentials(tokens);
|
209
|
-
}
|
210
|
-
catch (error) {
|
211
|
-
console.error('Failed to exchange authorization code for tokens:', error);
|
212
|
-
return false;
|
213
|
-
}
|
214
|
-
return true;
|
217
|
+
return authWithCode(client, code, codeVerifier, redirectUri);
|
215
218
|
}
|
216
219
|
async function authWithWeb(client) {
|
217
220
|
const port = await getAvailablePort();
|
@@ -235,49 +238,62 @@ async function authWithWeb(client) {
|
|
235
238
|
if (req.url.indexOf('/oauth2callback') === -1) {
|
236
239
|
res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_FAILURE_URL });
|
237
240
|
res.end();
|
238
|
-
reject(new
|
241
|
+
reject(new FatalAuthenticationError('OAuth callback not received. Unexpected request: ' + req.url));
|
239
242
|
}
|
240
243
|
// acquire the code from the querystring, and close the web server.
|
241
244
|
const qs = new url.URL(req.url, 'http://localhost:3000').searchParams;
|
242
245
|
if (qs.get('error')) {
|
243
246
|
res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_FAILURE_URL });
|
244
247
|
res.end();
|
245
|
-
|
248
|
+
const errorCode = qs.get('error');
|
249
|
+
const errorDescription = qs.get('error_description') || 'No additional details provided';
|
250
|
+
reject(new FatalAuthenticationError(`Google OAuth error: ${errorCode}. ${errorDescription}`));
|
246
251
|
}
|
247
252
|
else if (qs.get('state') !== state) {
|
248
253
|
res.end('State mismatch. Possible CSRF attack');
|
249
|
-
reject(new
|
254
|
+
reject(new FatalAuthenticationError('OAuth state mismatch. Possible CSRF attack or browser session issue.'));
|
250
255
|
}
|
251
256
|
else if (qs.get('code')) {
|
252
|
-
const { tokens } = await client.getToken({
|
253
|
-
code: qs.get('code'),
|
254
|
-
redirect_uri: redirectUri,
|
255
|
-
});
|
256
|
-
client.setCredentials(tokens);
|
257
|
-
// Retrieve and cache Google Account ID during authentication
|
258
257
|
try {
|
259
|
-
await
|
258
|
+
const success = await authWithCode(client, qs.get('code'), undefined, redirectUri);
|
259
|
+
if (!success) {
|
260
|
+
throw new FatalAuthenticationError('Failed to exchange authorization code for tokens.');
|
261
|
+
}
|
262
|
+
res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_SUCCESS_URL });
|
263
|
+
res.end();
|
264
|
+
resolve();
|
260
265
|
}
|
261
266
|
catch (error) {
|
262
|
-
|
263
|
-
|
267
|
+
res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_FAILURE_URL });
|
268
|
+
res.end();
|
269
|
+
reject(error instanceof FatalAuthenticationError
|
270
|
+
? error
|
271
|
+
: new FatalAuthenticationError(`Failed to exchange authorization code for tokens: ${getErrorMessage(error)}`));
|
264
272
|
}
|
265
|
-
res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_SUCCESS_URL });
|
266
|
-
res.end();
|
267
|
-
resolve();
|
268
273
|
}
|
269
274
|
else {
|
270
|
-
reject(new
|
275
|
+
reject(new FatalAuthenticationError('No authorization code received from Google OAuth. Please try authenticating again.'));
|
271
276
|
}
|
272
277
|
}
|
273
278
|
catch (e) {
|
274
|
-
|
279
|
+
// Provide more specific error message for unexpected errors during OAuth flow
|
280
|
+
if (e instanceof FatalAuthenticationError) {
|
281
|
+
reject(e);
|
282
|
+
}
|
283
|
+
else {
|
284
|
+
reject(new FatalAuthenticationError(`Unexpected error during OAuth authentication: ${getErrorMessage(e)}`));
|
285
|
+
}
|
275
286
|
}
|
276
287
|
finally {
|
277
288
|
server.close();
|
278
289
|
}
|
279
290
|
});
|
280
|
-
server.listen(port, host)
|
291
|
+
server.listen(port, host, () => {
|
292
|
+
// Server started successfully
|
293
|
+
});
|
294
|
+
server.on('error', (err) => {
|
295
|
+
reject(new FatalAuthenticationError(`OAuth callback server error: ${getErrorMessage(err)}`));
|
296
|
+
});
|
281
297
|
});
|
282
298
|
return {
|
283
299
|
authUrl,
|
@@ -328,8 +344,9 @@ async function loadCachedCredentials(client) {
|
|
328
344
|
return true;
|
329
345
|
}
|
330
346
|
}
|
331
|
-
catch {
|
332
|
-
//
|
347
|
+
catch (error) {
|
348
|
+
// Log specific error for debugging, but continue trying other paths
|
349
|
+
console.debug(`Failed to load credentials from ${credPath}:`, getErrorMessage(error));
|
333
350
|
}
|
334
351
|
}
|
335
352
|
return false;
|
@@ -360,12 +377,40 @@ async function cacheCredentials(credentials) {
|
|
360
377
|
await fs.writeFile(filePath, JSON.stringify(credentials, null, 2), {
|
361
378
|
mode: 0o600,
|
362
379
|
});
|
380
|
+
// Belt-and-suspenders: explicitly chmod the file for platforms where writeFile mode may not work
|
381
|
+
try {
|
382
|
+
await fs.chmod(filePath, 0o600);
|
383
|
+
}
|
384
|
+
catch {
|
385
|
+
/* empty - file already has correct permissions from writeFile */
|
386
|
+
}
|
363
387
|
}
|
364
388
|
catch (error) {
|
365
389
|
console.error('Failed to cache OAuth credentials:', error);
|
366
390
|
// Don't throw - allow OAuth to continue without caching
|
367
391
|
}
|
368
392
|
}
|
393
|
+
export async function authWithCode(client, code, codeVerifier, redirectUri) {
|
394
|
+
try {
|
395
|
+
const { tokens } = await client.getToken({
|
396
|
+
code,
|
397
|
+
redirect_uri: redirectUri,
|
398
|
+
...(codeVerifier ? { codeVerifier: codeVerifier.codeVerifier } : {}),
|
399
|
+
});
|
400
|
+
client.setCredentials(tokens);
|
401
|
+
try {
|
402
|
+
await fetchAndCacheUserInfo(client);
|
403
|
+
}
|
404
|
+
catch (error) {
|
405
|
+
console.warn('Failed to retrieve Google Account ID during authentication:', getErrorMessage(error));
|
406
|
+
}
|
407
|
+
return true;
|
408
|
+
}
|
409
|
+
catch (error) {
|
410
|
+
console.error('Failed to authenticate with authorization code:', getErrorMessage(error));
|
411
|
+
return false;
|
412
|
+
}
|
413
|
+
}
|
369
414
|
export async function clearCachedCredentialFile() {
|
370
415
|
try {
|
371
416
|
await fs.rm(Storage.getOAuthCredsPath(), { force: true });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oauth2.js","sourceRoot":"","sources":["../../../src/code_assist/oauth2.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,YAAY,EAEZ,OAAO,EACP,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEpD,wDAAwD;AACxD,MAAM,eAAe,GACnB,0EAA0E,CAAC;AAE7E,0DAA0D;AAC1D,6EAA6E;AAC7E,uFAAuF;AACvF,2EAA2E;AAC3E,4EAA4E;AAC5E,4DAA4D;AAC5D,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAElE,6CAA6C;AAC7C,MAAM,WAAW,GAAG;IAClB,gDAAgD;IAChD,gDAAgD;IAChD,kDAAkD;CACnD,CAAC;AAEF,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,mBAAmB,GACvB,sEAAsE,CAAC;AACzE,MAAM,mBAAmB,GACvB,sEAAsE,CAAC;AAYzE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAmC,CAAC;AAEvE,KAAK,UAAU,eAAe,CAC5B,QAAkB,EAClB,MAAc;IAEd,kDAAkD;IAClD,IAAI,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,QAAQ,EAAE,eAAe;QACzB,YAAY,EAAE,mBAAmB;QACjC,kBAAkB,EAAE;YAClB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;SACzB;KACF,CAAC,CAAC;IAEH,IACE,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EACrC,CAAC;QACD,MAAM,CAAC,cAAc,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;SACpD,CAAC,CAAC;QACH,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAmB,EAAE,EAAE;QAC1C,mEAAmE;QACnE,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACvC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,IAAI,MAAM,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,kCAAkC;QAClC,0DAA0D;QAC1D,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;QACH,CAAC;QACD,4BAA4B;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,QAAQ,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC;YAChC,kEAAkE;YAClE,6BAA6B;aAC9B,CAAC,CAAC;YACH,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAE1C,wFAAwF;YACxF,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,wKAAwK,eAAe,CACrL,CAAC,CACF,EAAE,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;QACvC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACX,0CAA0C,EAC1C,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,wBAAwB,CAChC,wCAAwC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO,CAAC,GAAG,CACT,mCAAmC;YACjC,2DAA2D;YAC3D,6BAA6B,QAAQ,CAAC,OAAO,MAAM,CACtD,CAAC;QAEF,IAAI,CAAC;YACH,iEAAiE;YACjE,2EAA2E;YAC3E,iFAAiF;YACjF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAElD,oEAAoE;YACpE,kFAAkF;YAClF,2EAA2E;YAC3E,+CAA+C;YAC/C,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC7B,OAAO,CAAC,KAAK,CACX,0FAA0F,CAC3F,CAAC;gBACF,MAAM,IAAI,wBAAwB,CAAC,yBAAyB,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACX,8EAA8E,CAC/E,CAAC;YACF,MAAM,IAAI,wBAAwB,CAAC,yBAAyB,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,MAAM,QAAQ,CAAC,oBAAoB,CAAC;QAEpC,+DAA+D;QAC/D;;;;WAIG;QACF,MAAkC,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAC9D,MAAkC,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACnE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAkB,EAClB,MAAc;IAEd,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAoB;IAClD,MAAM,WAAW,GAAG,wCAAwC,CAAC;IAC7D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,yBAAyB,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,OAAO,GAAW,MAAM,CAAC,eAAe,CAAC;QAC7C,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,WAAW;QAClB,qBAAqB,EAAE,mBAAmB,CAAC,IAAI;QAC/C,cAAc,EAAE,YAAY,CAAC,aAAa;QAC1C,KAAK;KACN,CAAC,CAAC;IAEH,+BAA+B;IAC/B;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CACT,mCAAmC;YACjC,6DAA6D;YAC7D,sDAAsD;YACtD,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IAAC,OAAO,cAAc,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;QAClE,8EAA8E;QAC9E,OAAO,CAAC,GAAG,CACT,gEAAgE,CACjE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CACT,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACjD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,EAAE,CAAC,QAAQ,CAAC,gCAAgC,EAAE,CAAC,IAAI,EAAE,EAAE;YACrD,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACvC,IAAI;YACJ,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAoB;IAC7C,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACtC,6EAA6E;IAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WAAW,CAAC;IAC5D,yFAAyF;IACzF,0FAA0F;IAC1F,iFAAiF;IACjF,2CAA2C;IAC3C,MAAM,WAAW,GAAG,oBAAoB,IAAI,iBAAiB,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;QACrC,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,WAAW;QAClB,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAClD,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,GAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBAChE,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,CAAC;gBACD,mEAAmE;gBACnE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAI,EAAE,uBAAuB,CAAC,CAAC,YAAY,CAAC;gBACvE,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpB,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBAChE,GAAG,CAAC,GAAG,EAAE,CAAC;oBAEV,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;qBAAM,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;oBACrC,GAAG,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;oBAEhD,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;wBACvC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAE;wBACrB,YAAY,EAAE,WAAW;qBAC1B,CAAC,CAAC;oBACH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC9B,6DAA6D;oBAC7D,IAAI,CAAC;wBACH,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;oBACtC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CACX,6DAA6D,EAC7D,KAAK,CACN,CAAC;wBACF,gEAAgE;oBAClE,CAAC;oBAED,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBAChE,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;oBAC7C,OAAO,MAAM,CACX,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAC/D,CAAC;gBACJ,CAAC;gBACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;gBACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;oBAChE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAoB;IACvD,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,iBAAiB,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;KAC9C,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAgB,CAAC;YACnD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,WAAwB;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,CAAC;QACH,mEAAmE;QACnE,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;QACrC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6EAA6E;YAC7E,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;gBAChE,wDAAwD;gBACxD,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,4DAA4D;QAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YACjE,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC3D,wDAAwD;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,iEAAiE;QACjE,MAAM,kBAAkB,CAAC,wBAAwB,EAAE,CAAC;QACpD,oEAAoE;QACpE,qBAAqB,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAoB;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,+CAA+C,EAC/C;YACE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC;SACF,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACX,4BAA4B,EAC5B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,CACpB,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;QAC/D,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAmB;IACvD,IAAI,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oFAAoF;QACpF,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,0BAA0B;IACxC,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC"}
|
1
|
+
{"version":3,"file":"oauth2.js","sourceRoot":"","sources":["../../../src/code_assist/oauth2.ts"],"names":[],"mappings":"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"}
|
@@ -21,6 +21,7 @@ import type { AnyToolInvocation } from '../tools/tools.js';
|
|
21
21
|
import { WorkspaceContext } from '../utils/workspaceContext.js';
|
22
22
|
import { Storage } from './storage.js';
|
23
23
|
import { FileExclusions } from '../utils/ignorePatterns.js';
|
24
|
+
import type { EventEmitter } from 'node:events';
|
24
25
|
export interface RedactionConfig {
|
25
26
|
redactApiKeys: boolean;
|
26
27
|
redactCredentials: boolean;
|
@@ -198,6 +199,8 @@ export interface ConfigParameters {
|
|
198
199
|
skipNextSpeakerCheck?: boolean;
|
199
200
|
extensionManagement?: boolean;
|
200
201
|
enablePromptCompletion?: boolean;
|
202
|
+
eventEmitter?: EventEmitter;
|
203
|
+
useSmartEdit?: boolean;
|
201
204
|
}
|
202
205
|
export declare class Config {
|
203
206
|
private toolRegistry;
|
@@ -273,6 +276,8 @@ export declare class Config {
|
|
273
276
|
private readonly shellReplacement;
|
274
277
|
readonly storage: Storage;
|
275
278
|
private readonly fileExclusions;
|
279
|
+
private readonly eventEmitter?;
|
280
|
+
private readonly useSmartEdit;
|
276
281
|
constructor(params: ConfigParameters);
|
277
282
|
/**
|
278
283
|
* Must only be called once, throws if called again.
|
@@ -377,8 +382,12 @@ export declare class Config {
|
|
377
382
|
getIdeClient(): IdeClient | undefined;
|
378
383
|
getIdeMode(): boolean;
|
379
384
|
getFolderTrustFeature(): boolean;
|
385
|
+
/**
|
386
|
+
* Returns 'true' if the workspace is considered "trusted".
|
387
|
+
* 'false' for untrusted.
|
388
|
+
*/
|
380
389
|
getFolderTrust(): boolean;
|
381
|
-
isTrustedFolder(): boolean
|
390
|
+
isTrustedFolder(): boolean;
|
382
391
|
setIdeMode(value: boolean): void;
|
383
392
|
setIdeClientDisconnected(): void;
|
384
393
|
setIdeClientConnected(): void;
|
@@ -406,6 +415,7 @@ export declare class Config {
|
|
406
415
|
getSkipNextSpeakerCheck(): boolean;
|
407
416
|
getScreenReader(): boolean;
|
408
417
|
getEnablePromptCompletion(): boolean;
|
418
|
+
getUseSmartEdit(): boolean;
|
409
419
|
getGitService(): Promise<GitService>;
|
410
420
|
/**
|
411
421
|
* Get the SettingsService instance
|
@@ -15,6 +15,7 @@ import { RipGrepTool } from '../tools/ripGrep.js';
|
|
15
15
|
import { GlobTool } from '../tools/glob.js';
|
16
16
|
import { DebugLogger } from '../debug/DebugLogger.js';
|
17
17
|
import { EditTool } from '../tools/edit.js';
|
18
|
+
import { SmartEditTool } from '../tools/smart-edit.js';
|
18
19
|
import { ShellTool } from '../tools/shell.js';
|
19
20
|
import { WriteFileTool } from '../tools/write-file.js';
|
20
21
|
import { WebFetchTool } from '../tools/web-fetch.js';
|
@@ -34,6 +35,7 @@ initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT, logCliConf
|
|
34
35
|
import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, } from './models.js';
|
35
36
|
import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
|
36
37
|
import { IdeClient } from '../ide/ide-client.js';
|
38
|
+
import { ideContext } from '../ide/ideContext.js';
|
37
39
|
import { getSettingsService } from '../settings/settingsServiceInstance.js';
|
38
40
|
import { StandardFileSystemService, } from '../services/fileSystemService.js';
|
39
41
|
import { WorkspaceContext } from '../utils/workspaceContext.js';
|
@@ -189,6 +191,8 @@ export class Config {
|
|
189
191
|
shellReplacement = false;
|
190
192
|
storage;
|
191
193
|
fileExclusions;
|
194
|
+
eventEmitter;
|
195
|
+
useSmartEdit;
|
192
196
|
constructor(params) {
|
193
197
|
this.sessionId = params.sessionId;
|
194
198
|
this.embeddingModel =
|
@@ -269,24 +273,27 @@ export class Config {
|
|
269
273
|
this.useRipgrep = params.useRipgrep ?? false;
|
270
274
|
this.shouldUseNodePtyShell = params.shouldUseNodePtyShell ?? false;
|
271
275
|
this.skipNextSpeakerCheck = params.skipNextSpeakerCheck ?? false;
|
276
|
+
this.useSmartEdit = params.useSmartEdit ?? false;
|
272
277
|
this.extensionManagement = params.extensionManagement ?? false;
|
273
278
|
this.storage = new Storage(this.targetDir);
|
274
279
|
this.enablePromptCompletion = params.enablePromptCompletion ?? false;
|
275
280
|
this.fileExclusions = new FileExclusions(this);
|
281
|
+
this.eventEmitter = params.eventEmitter;
|
276
282
|
if (params.contextFileName) {
|
277
283
|
setLlxprtMdFilename(params.contextFileName);
|
278
284
|
}
|
279
285
|
// TELEMETRY: Re-enabled for local file logging only - no network endpoints allowed
|
280
|
-
|
286
|
+
const isTestEnvironment = process.env.NODE_ENV === 'test' || process.env.VITEST;
|
287
|
+
if (process.env.VERBOSE === 'true' && !isTestEnvironment) {
|
281
288
|
console.log(`[CONFIG] Telemetry settings:`, JSON.stringify(this.telemetrySettings));
|
282
289
|
}
|
283
290
|
if (this.telemetrySettings.enabled) {
|
284
|
-
if (process.env.VERBOSE === 'true') {
|
291
|
+
if (process.env.VERBOSE === 'true' && !isTestEnvironment) {
|
285
292
|
console.log(`[CONFIG] Initializing telemetry`);
|
286
293
|
}
|
287
294
|
initializeTelemetry(this);
|
288
295
|
}
|
289
|
-
else if (process.env.VERBOSE === 'true') {
|
296
|
+
else if (process.env.VERBOSE === 'true' && !isTestEnvironment) {
|
290
297
|
console.log(`[CONFIG] Telemetry disabled`);
|
291
298
|
}
|
292
299
|
logCliConfiguration(this, new StartSessionEvent(this));
|
@@ -536,7 +543,7 @@ export class Config {
|
|
536
543
|
return this.approvalMode;
|
537
544
|
}
|
538
545
|
setApprovalMode(mode) {
|
539
|
-
if (this.isTrustedFolder()
|
546
|
+
if (!this.isTrustedFolder() && mode !== ApprovalMode.DEFAULT) {
|
540
547
|
throw new Error('Cannot enable privileged approval modes in an untrusted folder.');
|
541
548
|
}
|
542
549
|
this.approvalMode = mode;
|
@@ -752,11 +759,29 @@ export class Config {
|
|
752
759
|
getFolderTrustFeature() {
|
753
760
|
return this.folderTrustFeature;
|
754
761
|
}
|
762
|
+
/**
|
763
|
+
* Returns 'true' if the workspace is considered "trusted".
|
764
|
+
* 'false' for untrusted.
|
765
|
+
*/
|
755
766
|
getFolderTrust() {
|
756
767
|
return this.folderTrust;
|
757
768
|
}
|
758
769
|
isTrustedFolder() {
|
759
|
-
|
770
|
+
// isWorkspaceTrusted in cli/src/config/trustedFolder.js returns undefined
|
771
|
+
// when the file based trust value is unavailable, since it is mainly used
|
772
|
+
// in the initialization for trust dialogs, etc. Here we return true since
|
773
|
+
// config.isTrustedFolder() is used for the main business logic of blocking
|
774
|
+
// tool calls etc in the rest of the application.
|
775
|
+
//
|
776
|
+
// Default value is true since we load with trusted settings to avoid
|
777
|
+
// restarts in the more common path. If the user chooses to mark the folder
|
778
|
+
// as untrusted, the CLI will restart and we will have the trust value
|
779
|
+
// reloaded.
|
780
|
+
const context = ideContext.getIdeContext();
|
781
|
+
if (context?.workspaceState?.isTrusted !== undefined) {
|
782
|
+
return context.workspaceState.isTrusted;
|
783
|
+
}
|
784
|
+
return this.trustedFolder ?? true;
|
760
785
|
}
|
761
786
|
setIdeMode(value) {
|
762
787
|
this.ideMode = value;
|
@@ -859,6 +884,9 @@ export class Config {
|
|
859
884
|
getEnablePromptCompletion() {
|
860
885
|
return this.enablePromptCompletion;
|
861
886
|
}
|
887
|
+
getUseSmartEdit() {
|
888
|
+
return this.useSmartEdit;
|
889
|
+
}
|
862
890
|
async getGitService() {
|
863
891
|
if (!this.gitService) {
|
864
892
|
this.gitService = new GitService(this.targetDir, this.storage);
|
@@ -878,13 +906,13 @@ export class Config {
|
|
878
906
|
async refreshMemory() {
|
879
907
|
const { memoryContent, fileCount } = await loadServerHierarchicalMemory(this.getWorkingDir(), this.shouldLoadMemoryFromIncludeDirectories()
|
880
908
|
? this.getWorkspaceContext().getDirectories()
|
881
|
-
: [], this.getDebugMode(), this.getFileService(), this.getExtensionContextFilePaths());
|
909
|
+
: [], this.getDebugMode(), this.getFileService(), this.getExtensionContextFilePaths(), this.getFolderTrust());
|
882
910
|
this.setUserMemory(memoryContent);
|
883
911
|
this.setLlxprtMdFileCount(fileCount);
|
884
912
|
return { memoryContent, fileCount };
|
885
913
|
}
|
886
914
|
async createToolRegistry() {
|
887
|
-
const registry = new ToolRegistry(this);
|
915
|
+
const registry = new ToolRegistry(this, this.eventEmitter);
|
888
916
|
// helper to create & register core tools that are enabled
|
889
917
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
890
918
|
const registerCoreTool = (ToolClass, ...args) => {
|
@@ -916,7 +944,12 @@ export class Config {
|
|
916
944
|
registerCoreTool(GrepTool, this);
|
917
945
|
}
|
918
946
|
registerCoreTool(GlobTool, this);
|
919
|
-
|
947
|
+
if (this.getUseSmartEdit()) {
|
948
|
+
registerCoreTool(SmartEditTool, this);
|
949
|
+
}
|
950
|
+
else {
|
951
|
+
registerCoreTool(EditTool, this);
|
952
|
+
}
|
920
953
|
registerCoreTool(WriteFileTool, this);
|
921
954
|
registerCoreTool(WebFetchTool, this);
|
922
955
|
registerCoreTool(ReadManyFilesTool, this);
|