@vybestack/llxprt-code 0.1.18-nightly.250811.b0db22c6 → 0.1.18-nightly.250812.19ec42a3
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 +49 -2
- package/dist/package.json +3 -3
- package/dist/src/auth/anthropic-oauth-provider.d.ts +33 -0
- package/dist/src/auth/anthropic-oauth-provider.js +129 -0
- package/dist/src/auth/anthropic-oauth-provider.js.map +1 -0
- package/dist/src/auth/oauth-manager.d.ts +6 -0
- package/dist/src/auth/oauth-manager.js +8 -0
- package/dist/src/auth/oauth-manager.js.map +1 -1
- package/dist/src/config/auth.js +3 -1
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/providers/providerManagerInstance.d.ts +2 -0
- package/dist/src/providers/providerManagerInstance.js +10 -1
- package/dist/src/providers/providerManagerInstance.js.map +1 -1
- package/dist/src/ui/App.js +81 -10
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/commands/authCommand.js +3 -1
- package/dist/src/ui/commands/authCommand.js.map +1 -1
- package/dist/src/ui/commands/diagnosticsCommand.js +94 -10
- package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
- package/dist/src/ui/commands/keyCommand.js +32 -2
- package/dist/src/ui/commands/keyCommand.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.js +21 -3
- package/dist/src/ui/commands/modelCommand.js.map +1 -1
- package/dist/src/ui/commands/providerCommand.js +52 -14
- package/dist/src/ui/commands/providerCommand.js.map +1 -1
- package/dist/src/ui/commands/setCommand.js +17 -1
- package/dist/src/ui/commands/setCommand.js.map +1 -1
- package/dist/src/ui/commands/toolformatCommand.js +79 -23
- package/dist/src/ui/commands/toolformatCommand.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +4 -0
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/OAuthCodeDialog.d.ts +13 -0
- package/dist/src/ui/components/OAuthCodeDialog.js +54 -0
- package/dist/src/ui/components/OAuthCodeDialog.js.map +1 -0
- package/dist/src/ui/hooks/useAuthCommand.js +41 -9
- package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +21 -7
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/reducers/appReducer.d.ts +3 -2
- package/dist/src/ui/reducers/appReducer.js +1 -0
- package/dist/src/ui/reducers/appReducer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# LLxprt Code
|
2
2
|
|
3
3
|
[](https://github.com/acoliver/llxprt-code/actions/workflows/ci.yml)
|
4
|
+
|
5
|
+
[](https://github.com/Piebald-AI/awesome-gemini-cli)
|
4
6
|
|
5
7
|

|
6
8
|
|
@@ -87,7 +89,26 @@ Direct access to o3, o1, GPT-4.1, and other OpenAI models:
|
|
87
89
|
|
88
90
|
### Using Anthropic
|
89
91
|
|
90
|
-
Access Claude Sonnet 4, Claude Opus 4, and other Anthropic models:
|
92
|
+
Access Claude Sonnet 4, Claude Opus 4.1, and other Anthropic models:
|
93
|
+
|
94
|
+
#### Option 1: Log in with Anthropic to use your Claude Pro or Max account
|
95
|
+
|
96
|
+
Use OAuth authentication to access Claude with your existing Claude Pro or Max subscription:
|
97
|
+
|
98
|
+
1. Select the Anthropic provider:
|
99
|
+
```
|
100
|
+
/provider anthropic
|
101
|
+
```
|
102
|
+
2. Authenticate with your Claude account:
|
103
|
+
```
|
104
|
+
/auth
|
105
|
+
```
|
106
|
+
3. Your browser will open to the Claude authentication page
|
107
|
+
4. Log in and authorize LLxprt Code
|
108
|
+
5. Copy the authorization code shown and paste it back in the terminal
|
109
|
+
6. You're now using your Claude Pro/Max account!
|
110
|
+
|
111
|
+
#### Option 2: Use an API Key
|
91
112
|
|
92
113
|
1. Get your API key from [Anthropic](https://console.anthropic.com/account/keys)
|
93
114
|
2. Configure:
|
@@ -97,6 +118,32 @@ Access Claude Sonnet 4, Claude Opus 4, and other Anthropic models:
|
|
97
118
|
/model claude-sonnet-4-20250115
|
98
119
|
```
|
99
120
|
|
121
|
+
### Using Qwen
|
122
|
+
|
123
|
+
Access Qwen3-Coder-Pro and other Qwen models for free:
|
124
|
+
|
125
|
+
#### Option 1: Log in with Qwen (FREE)
|
126
|
+
|
127
|
+
Use OAuth authentication to access Qwen with your free account:
|
128
|
+
|
129
|
+
```
|
130
|
+
/auth qwen
|
131
|
+
```
|
132
|
+
|
133
|
+
Your browser will open to the Qwen authentication page. Log in and authorize LLxprt Code, then copy the authorization code shown and paste it back in the terminal. You're now using Qwen3-Coder-Pro for free!
|
134
|
+
|
135
|
+
#### Option 2: Use an API Key
|
136
|
+
|
137
|
+
For advanced users who need API access:
|
138
|
+
|
139
|
+
1. Get your API key from [Qwen](https://platform.qwen.ai/)
|
140
|
+
2. Configure:
|
141
|
+
```
|
142
|
+
/provider qwen
|
143
|
+
/key your-qwen-api-key
|
144
|
+
/model qwen3-coder-pro
|
145
|
+
```
|
146
|
+
|
100
147
|
### Using Local Models
|
101
148
|
|
102
149
|
Run models locally for complete privacy and control. LLxprt Code works with any OpenAI-compatible server.
|
@@ -277,7 +324,7 @@ Learn more in the [Prompt Configuration Guide](./docs/prompt-configuration.md).
|
|
277
324
|
- `/baseurl` - Set custom API endpoint
|
278
325
|
- `/key` - Set API key for current session
|
279
326
|
- `/keyfile` - Load API key from file
|
280
|
-
- `/auth` - Authenticate with Google (for Gemini
|
327
|
+
- `/auth` - Authenticate with Google (for Gemini), Anthropic (for Claude), or Qwen
|
281
328
|
|
282
329
|
### Troubleshooting
|
283
330
|
|
package/dist/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vybestack/llxprt-code",
|
3
|
-
"version": "0.1.18-nightly.
|
3
|
+
"version": "0.1.18-nightly.250812.19ec42a3",
|
4
4
|
"description": "LLxprt Code",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -33,7 +33,7 @@
|
|
33
33
|
"dist"
|
34
34
|
],
|
35
35
|
"config": {
|
36
|
-
"sandboxImageUri": "ghcr.io/acoliver/llxprt-code/sandbox:0.1.18-nightly.
|
36
|
+
"sandboxImageUri": "ghcr.io/acoliver/llxprt-code/sandbox:0.1.18-nightly.250812.19ec42a3"
|
37
37
|
},
|
38
38
|
"dependencies": {
|
39
39
|
"@anthropic-ai/sdk": "^0.55.1",
|
@@ -42,7 +42,7 @@
|
|
42
42
|
"@iarna/toml": "^2.2.5",
|
43
43
|
"@modelcontextprotocol/sdk": "^1.15.1",
|
44
44
|
"@types/update-notifier": "^6.0.8",
|
45
|
-
"@vybestack/llxprt-code-core": "0.1.18-nightly.
|
45
|
+
"@vybestack/llxprt-code-core": "0.1.18-nightly.250812.19ec42a3",
|
46
46
|
"chalk": "^5.3.0",
|
47
47
|
"command-exists": "^1.2.9",
|
48
48
|
"diff": "^7.0.0",
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/**
|
2
|
+
* Anthropic OAuth Provider Implementation
|
3
|
+
*/
|
4
|
+
import { OAuthProvider } from './oauth-manager.js';
|
5
|
+
import { OAuthToken } from '@vybestack/llxprt-code-core';
|
6
|
+
export declare class AnthropicOAuthProvider implements OAuthProvider {
|
7
|
+
name: string;
|
8
|
+
private deviceFlow;
|
9
|
+
private currentToken;
|
10
|
+
private authCodeResolver?;
|
11
|
+
private authCodeRejecter?;
|
12
|
+
private pendingAuthPromise?;
|
13
|
+
constructor();
|
14
|
+
/**
|
15
|
+
* Wait for authorization code from UI dialog
|
16
|
+
*/
|
17
|
+
waitForAuthCode(): Promise<string>;
|
18
|
+
/**
|
19
|
+
* Submit authorization code from UI dialog
|
20
|
+
*/
|
21
|
+
submitAuthCode(code: string): void;
|
22
|
+
/**
|
23
|
+
* Cancel OAuth flow
|
24
|
+
*/
|
25
|
+
cancelAuth(): void;
|
26
|
+
initiateAuth(): Promise<void>;
|
27
|
+
/**
|
28
|
+
* Complete authentication with the authorization code
|
29
|
+
*/
|
30
|
+
completeAuth(authCode: string): Promise<void>;
|
31
|
+
getToken(): Promise<OAuthToken | null>;
|
32
|
+
refreshIfNeeded(): Promise<OAuthToken | null>;
|
33
|
+
}
|
@@ -0,0 +1,129 @@
|
|
1
|
+
/**
|
2
|
+
* Anthropic OAuth Provider Implementation
|
3
|
+
*/
|
4
|
+
import { AnthropicDeviceFlow, openBrowserSecurely, shouldLaunchBrowser, } from '@vybestack/llxprt-code-core';
|
5
|
+
export class AnthropicOAuthProvider {
|
6
|
+
name = 'anthropic';
|
7
|
+
deviceFlow;
|
8
|
+
currentToken = null;
|
9
|
+
authCodeResolver;
|
10
|
+
authCodeRejecter;
|
11
|
+
pendingAuthPromise;
|
12
|
+
constructor() {
|
13
|
+
this.deviceFlow = new AnthropicDeviceFlow();
|
14
|
+
}
|
15
|
+
/**
|
16
|
+
* Wait for authorization code from UI dialog
|
17
|
+
*/
|
18
|
+
waitForAuthCode() {
|
19
|
+
return new Promise((resolve, reject) => {
|
20
|
+
this.authCodeResolver = resolve;
|
21
|
+
this.authCodeRejecter = reject;
|
22
|
+
});
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* Submit authorization code from UI dialog
|
26
|
+
*/
|
27
|
+
submitAuthCode(code) {
|
28
|
+
if (this.authCodeResolver) {
|
29
|
+
this.authCodeResolver(code);
|
30
|
+
this.authCodeResolver = undefined;
|
31
|
+
this.authCodeRejecter = undefined;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* Cancel OAuth flow
|
36
|
+
*/
|
37
|
+
cancelAuth() {
|
38
|
+
if (this.authCodeRejecter) {
|
39
|
+
this.authCodeRejecter(new Error('OAuth authentication cancelled'));
|
40
|
+
this.authCodeResolver = undefined;
|
41
|
+
this.authCodeRejecter = undefined;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
async initiateAuth() {
|
45
|
+
// Start device flow
|
46
|
+
const deviceCodeResponse = await this.deviceFlow.initiateDeviceFlow();
|
47
|
+
// Construct the authorization URL
|
48
|
+
const authUrl = deviceCodeResponse.verification_uri_complete ||
|
49
|
+
`${deviceCodeResponse.verification_uri}?user_code=${deviceCodeResponse.user_code}`;
|
50
|
+
// Display user instructions
|
51
|
+
console.log('\nAnthropic Claude OAuth Authentication');
|
52
|
+
console.log('─'.repeat(40));
|
53
|
+
// Try to open browser if appropriate
|
54
|
+
if (shouldLaunchBrowser()) {
|
55
|
+
console.log('Opening browser for authentication...');
|
56
|
+
console.log('If the browser does not open, please visit:');
|
57
|
+
console.log(authUrl);
|
58
|
+
try {
|
59
|
+
await openBrowserSecurely(authUrl);
|
60
|
+
}
|
61
|
+
catch (_error) {
|
62
|
+
// If browser fails to open, just show the URL
|
63
|
+
console.log('Failed to open browser automatically.');
|
64
|
+
}
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
// In non-interactive environments, just show the URL
|
68
|
+
console.log('Visit this URL to authorize:');
|
69
|
+
console.log(authUrl);
|
70
|
+
}
|
71
|
+
console.log('─'.repeat(40));
|
72
|
+
// Store the provider name globally so the dialog knows which provider
|
73
|
+
global.__oauth_provider =
|
74
|
+
'anthropic';
|
75
|
+
// Create a promise that will resolve when the code is entered
|
76
|
+
this.pendingAuthPromise = new Promise((resolve, reject) => {
|
77
|
+
this.authCodeResolver = resolve;
|
78
|
+
this.authCodeRejecter = reject;
|
79
|
+
// Set a timeout to prevent hanging forever
|
80
|
+
setTimeout(() => {
|
81
|
+
reject(new Error('OAuth authentication timed out'));
|
82
|
+
}, 5 * 60 * 1000); // 5 minute timeout
|
83
|
+
});
|
84
|
+
// Signal that we need the OAuth code dialog
|
85
|
+
// This needs to be caught by the UI to open the dialog
|
86
|
+
global.__oauth_needs_code =
|
87
|
+
true;
|
88
|
+
// Wait for the code to be entered
|
89
|
+
const authCode = await this.pendingAuthPromise;
|
90
|
+
// Exchange the code for tokens
|
91
|
+
await this.completeAuth(authCode);
|
92
|
+
}
|
93
|
+
/**
|
94
|
+
* Complete authentication with the authorization code
|
95
|
+
*/
|
96
|
+
async completeAuth(authCode) {
|
97
|
+
if (!authCode) {
|
98
|
+
throw new Error('No authorization code provided');
|
99
|
+
}
|
100
|
+
// Exchange the authorization code for tokens
|
101
|
+
this.currentToken = await this.deviceFlow.exchangeCodeForToken(authCode);
|
102
|
+
console.log('Successfully authenticated with Anthropic Claude!');
|
103
|
+
}
|
104
|
+
async getToken() {
|
105
|
+
return this.currentToken;
|
106
|
+
}
|
107
|
+
async refreshIfNeeded() {
|
108
|
+
if (!this.currentToken) {
|
109
|
+
return null;
|
110
|
+
}
|
111
|
+
// Check if token needs refresh (30 second buffer)
|
112
|
+
const now = Date.now() / 1000;
|
113
|
+
const expiresAt = this.currentToken.expiry;
|
114
|
+
if (expiresAt && expiresAt - now < 30) {
|
115
|
+
// Token expires soon, refresh it
|
116
|
+
if (this.currentToken.refresh_token) {
|
117
|
+
try {
|
118
|
+
this.currentToken = await this.deviceFlow.refreshToken(this.currentToken.refresh_token);
|
119
|
+
}
|
120
|
+
catch (error) {
|
121
|
+
console.error('Failed to refresh Anthropic token:', error);
|
122
|
+
return null;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
}
|
126
|
+
return this.currentToken;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
//# sourceMappingURL=anthropic-oauth-provider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"anthropic-oauth-provider.js","sourceRoot":"","sources":["../../../src/auth/anthropic-oauth-provider.ts"],"names":[],"mappings":"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"}
|
@@ -42,6 +42,12 @@ export declare class OAuthManager {
|
|
42
42
|
* @param provider - The OAuth provider to register
|
43
43
|
*/
|
44
44
|
registerProvider(provider: OAuthProvider): void;
|
45
|
+
/**
|
46
|
+
* Get a registered OAuth provider
|
47
|
+
* @param name - Provider name
|
48
|
+
* @returns OAuth provider or undefined if not registered
|
49
|
+
*/
|
50
|
+
getProvider(name: string): OAuthProvider | undefined;
|
45
51
|
/**
|
46
52
|
* Authenticate with a specific provider
|
47
53
|
* @param providerName - Name of the provider to authenticate with
|
@@ -40,6 +40,14 @@ export class OAuthManager {
|
|
40
40
|
}
|
41
41
|
this.providers.set(provider.name, provider);
|
42
42
|
}
|
43
|
+
/**
|
44
|
+
* Get a registered OAuth provider
|
45
|
+
* @param name - Provider name
|
46
|
+
* @returns OAuth provider or undefined if not registered
|
47
|
+
*/
|
48
|
+
getProvider(name) {
|
49
|
+
return this.providers.get(name);
|
50
|
+
}
|
43
51
|
/**
|
44
52
|
* Authenticate with a specific provider
|
45
53
|
* @param providerName - Name of the provider to authenticate with
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oauth-manager.js","sourceRoot":"","sources":["../../../src/auth/oauth-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAkB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AA6BrE;;;GAGG;AACH,MAAM,OAAO,YAAY;IACf,SAAS,CAA6B;IACtC,UAAU,CAAa;IACvB,QAAQ,CAAkB;IAElC,YAAY,UAAsB,EAAE,QAAyB;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAuB;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,yCAAyC;QACzC,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;YAE9B,mDAAmD;YACnD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;YAED,kCAAkC;YAClC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2CAA2C;YAC3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,KAAK,CACb,sCAAsC,YAAY,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAElC,sDAAsD;QACtD,KAAK,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAEvD,IAAI,KAAK,EAAE,CAAC;oBACV,yDAAyD;oBACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CACxC,CAAC,CAAC,UAAU;oBAEb,QAAQ,CAAC,IAAI,CAAC;wBACZ,QAAQ,EAAE,YAAY;wBACtB,aAAa,EAAE,IAAI;wBACnB,QAAQ,EAAE,OAAO;wBACjB,SAAS;wBACT,YAAY;qBACb,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,gCAAgC;oBAChC,QAAQ,CAAC,IAAI,CAAC;wBACZ,QAAQ,EAAE,YAAY;wBACtB,aAAa,EAAE,KAAK;wBACpB,QAAQ,EAAE,MAAM;wBAChB,YAAY;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,4DAA4D;gBAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACvD,QAAQ,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,YAAY;oBACtB,aAAa,EAAE,KAAK;oBACpB,QAAQ,EAAE,MAAM;oBAChB,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,YAAoB;QACxC,sEAAsE;QACtE,IAAI,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,gEAAgE;YAChE,wDAAwD;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACrD,OAAO,KAAK,KAAK,IAAI,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,YAAoB;QACjC,8CAA8C;QAC9C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAErD,2CAA2C;QAC3C,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,+DAA+D;YAC/D,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,yDAAyD;QACzD,IAAI,YAAY,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACxD,wFAAwF;YACxF,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oDAAoD;YACpD,OAAO,CAAC,KAAK,CAAC,mCAAmC,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,YAAoB;QACtC,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,wDAAwD;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,oBAAoB,GAAG,GAAG,GAAG,KAAK,CAAC;YAEzC,IAAI,KAAK,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;gBACzC,sDAAsD;gBACtD,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;oBACxD,IAAI,cAAc,EAAE,CAAC;wBACnB,sCAAsC;wBACtC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;wBAC9D,OAAO,cAAc,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,8BAA8B;wBAC9B,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,iDAAiD;oBACjD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uDAAuD;YACvD,IACE,KAAK,YAAY,KAAK;gBACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAC1C,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,gCAAgC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QAC3C,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC;QAEnC,iEAAiE;QACjE,MAAM,qBAAqB,GACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC;QACnD,qBAAqB,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;QAE/C,iCAAiC;QACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,YAAY,CAAC,IAAI,EACjB,uBAAuB,EACvB,qBAAqB,CACtB,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,YAAoB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,4CAA4C;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,qBAAqB,GACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC;QACnD,OAAO,qBAAqB,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,YAAoB;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEpC,wCAAwC;QACxC,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,+CAA+C;QAC/C,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,kCAAkC;QAClC,MAAM,UAAU,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC;QAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,sBAAsB,CAAC;QAChC,CAAC;QAED,6DAA6D;QAC7D,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9D,OAAO,yBAAyB,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,GAAW;QACrC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,CAAC,wCAAwC;QAE/D,uBAAuB;QACvB,MAAM,WAAW,GAAG,CAAC,wBAAwB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAE3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,CAAC,qBAAqB;QACrC,CAAC;IACH,CAAC;CACF"}
|
1
|
+
{"version":3,"file":"oauth-manager.js","sourceRoot":"","sources":["../../../src/auth/oauth-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/src/config/auth.js
CHANGED
@@ -8,7 +8,9 @@ import { loadEnvironment } from './settings.js';
|
|
8
8
|
export const validateAuthMethod = (authMethod) => {
|
9
9
|
loadEnvironment();
|
10
10
|
// Handle OAuth provider selections
|
11
|
-
if (authMethod === 'oauth_gemini' ||
|
11
|
+
if (authMethod === 'oauth_gemini' ||
|
12
|
+
authMethod === 'oauth_qwen' ||
|
13
|
+
authMethod === 'oauth_anthropic') {
|
12
14
|
return null; // OAuth providers are always valid
|
13
15
|
}
|
14
16
|
if (authMethod === AuthType.USE_PROVIDER) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAiB,EAAE;IACtE,eAAe,EAAE,CAAC;IAElB,mCAAmC;IACnC,
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAiB,EAAE;IACtE,eAAe,EAAE,CAAC;IAElB,mCAAmC;IACnC,IACE,UAAU,KAAK,cAAc;QAC7B,UAAU,KAAK,YAAY;QAC3B,UAAU,KAAK,iBAAiB,EAChC,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,mCAAmC;IAClD,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QACzC,2DAA2D;QAC3D,qCAAqC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAsD;IACtD,IAAI,UAAU,KAAK,cAAc,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QACnE,sDAAsD;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,UAAU,KAAK,QAAQ,CAAC,iBAAiB;QACzC,UAAU,KAAK,QAAQ,CAAC,WAAW,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,6HAA6H,CAAC;QACvI,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,8BAA8B,GAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC5E,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACrD,IAAI,CAAC,8BAA8B,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,OAAO,CACL,kDAAkD;gBAClD,2EAA2E;gBAC3E,kEAAkE;gBAClE,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC,0EAA0E;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,+BAA+B,CAAC;AACzC,CAAC,CAAC"}
|
@@ -5,10 +5,12 @@
|
|
5
5
|
*/
|
6
6
|
import { Config, ProviderManager } from '@vybestack/llxprt-code-core';
|
7
7
|
import { IFileSystem } from './IFileSystem.js';
|
8
|
+
import { OAuthManager } from '../auth/oauth-manager.js';
|
8
9
|
/**
|
9
10
|
* Set a custom file system implementation (mainly for testing).
|
10
11
|
*/
|
11
12
|
export declare function setFileSystem(fs: IFileSystem): void;
|
12
13
|
export declare function getProviderManager(config?: Config, allowBrowserEnvironment?: boolean): ProviderManager;
|
13
14
|
export declare function resetProviderManager(): void;
|
15
|
+
export declare function getOAuthManager(): OAuthManager | null;
|
14
16
|
export { getProviderManager as providerManager };
|
@@ -13,6 +13,7 @@ import { OAuthManager } from '../auth/oauth-manager.js';
|
|
13
13
|
import { MultiProviderTokenStore } from '../auth/types.js';
|
14
14
|
import { GeminiOAuthProvider } from '../auth/gemini-oauth-provider.js';
|
15
15
|
import { QwenOAuthProvider } from '../auth/qwen-oauth-provider.js';
|
16
|
+
import { AnthropicOAuthProvider } from '../auth/anthropic-oauth-provider.js';
|
16
17
|
/**
|
17
18
|
* Sanitizes API keys to remove problematic characters that cause ByteString errors.
|
18
19
|
* This handles cases where API key files have encoding issues or contain
|
@@ -28,6 +29,7 @@ function sanitizeApiKey(key) {
|
|
28
29
|
}
|
29
30
|
let providerManagerInstance = null;
|
30
31
|
let fileSystemInstance = null;
|
32
|
+
let oauthManagerInstance = null;
|
31
33
|
/**
|
32
34
|
* Set a custom file system implementation (mainly for testing).
|
33
35
|
*/
|
@@ -68,9 +70,11 @@ export function getProviderManager(config, allowBrowserEnvironment = false) {
|
|
68
70
|
[])
|
69
71
|
: undefined;
|
70
72
|
const oauthManager = new OAuthManager(tokenStore, loadedSettings);
|
73
|
+
oauthManagerInstance = oauthManager;
|
71
74
|
// Register OAuth providers
|
72
75
|
oauthManager.registerProvider(new GeminiOAuthProvider());
|
73
76
|
oauthManager.registerProvider(new QwenOAuthProvider());
|
77
|
+
oauthManager.registerProvider(new AnthropicOAuthProvider());
|
74
78
|
// Set config BEFORE registering providers so logging wrapper works
|
75
79
|
if (config) {
|
76
80
|
providerManagerInstance.setConfig(config);
|
@@ -169,7 +173,8 @@ export function getProviderManager(config, allowBrowserEnvironment = false) {
|
|
169
173
|
const anthropicProviderConfig = {
|
170
174
|
allowBrowserEnvironment,
|
171
175
|
};
|
172
|
-
const anthropicProvider = new AnthropicProvider(anthropicApiKey ||
|
176
|
+
const anthropicProvider = new AnthropicProvider(anthropicApiKey || undefined, // Pass undefined instead of empty string to allow OAuth fallback
|
177
|
+
anthropicBaseUrl, anthropicProviderConfig, oauthManager);
|
173
178
|
providerManagerInstance.registerProvider(anthropicProvider);
|
174
179
|
// Set default provider to gemini
|
175
180
|
providerManagerInstance.setActiveProvider('gemini');
|
@@ -179,6 +184,10 @@ export function getProviderManager(config, allowBrowserEnvironment = false) {
|
|
179
184
|
export function resetProviderManager() {
|
180
185
|
providerManagerInstance = null;
|
181
186
|
fileSystemInstance = null;
|
187
|
+
oauthManagerInstance = null;
|
188
|
+
}
|
189
|
+
export function getOAuthManager() {
|
190
|
+
return oauthManagerInstance;
|
182
191
|
}
|
183
192
|
export { getProviderManager as providerManager };
|
184
193
|
//# sourceMappingURL=providerManagerInstance.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"providerManagerInstance.js","sourceRoot":"","sources":["../../../src/providers/providerManagerInstance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAe,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAEL,cAAc,EACd,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
1
|
+
{"version":3,"file":"providerManagerInstance.js","sourceRoot":"","sources":["../../../src/providers/providerManagerInstance.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ui/App.js
CHANGED
@@ -26,6 +26,7 @@ import { Footer } from './components/Footer.js';
|
|
26
26
|
import { ThemeDialog } from './components/ThemeDialog.js';
|
27
27
|
import { AuthDialog } from './components/AuthDialog.js';
|
28
28
|
import { AuthInProgress } from './components/AuthInProgress.js';
|
29
|
+
import { OAuthCodeDialog } from './components/OAuthCodeDialog.js';
|
29
30
|
import { EditorSettingsDialog } from './components/EditorSettingsDialog.js';
|
30
31
|
import { FolderTrustDialog } from './components/FolderTrustDialog.js';
|
31
32
|
import { ShellConfirmationDialog } from './components/ShellConfirmationDialog.js';
|
@@ -42,7 +43,7 @@ import { HistoryItemDisplay } from './components/HistoryItemDisplay.js';
|
|
42
43
|
import { ContextSummaryDisplay } from './components/ContextSummaryDisplay.js';
|
43
44
|
import { useHistory } from './hooks/useHistoryManager.js';
|
44
45
|
import process from 'node:process';
|
45
|
-
import { getErrorMessage, getAllLlxprtMdFilenames, ApprovalMode, isEditorAvailable, FlashFallbackEvent, logFlashFallback, AuthType, ideContext, } from '@vybestack/llxprt-code-core';
|
46
|
+
import { getErrorMessage, getAllLlxprtMdFilenames, ApprovalMode, isEditorAvailable, FlashFallbackEvent, logFlashFallback, AuthType, ideContext, getSettingsService, } from '@vybestack/llxprt-code-core';
|
46
47
|
import { IdeIntegrationNudge, } from './IdeIntegrationNudge.js';
|
47
48
|
import { validateAuthMethod } from '../config/auth.js';
|
48
49
|
import { useLogger } from './hooks/useLogger.js';
|
@@ -91,7 +92,7 @@ const AppWithState = (props) => {
|
|
91
92
|
return (_jsx(AppDispatchProvider, { value: appDispatch, children: _jsx(App, { ...props, appState: appState, appDispatch: appDispatch }) }));
|
92
93
|
};
|
93
94
|
const App = (props) => {
|
94
|
-
const { config, settings, startupWarnings = [], version, appState } = props;
|
95
|
+
const { config, settings, startupWarnings = [], version, appState, appDispatch, } = props;
|
95
96
|
const isFocused = useFocus();
|
96
97
|
useBracketedPaste();
|
97
98
|
const [updateInfo, setUpdateInfo] = useState(null);
|
@@ -163,6 +164,37 @@ const App = (props) => {
|
|
163
164
|
setIdeContextState(ideContext.getIdeContext());
|
164
165
|
return unsubscribe;
|
165
166
|
}, []);
|
167
|
+
// Update currentModel when settings change - get it from the SAME place as diagnostics
|
168
|
+
useEffect(() => {
|
169
|
+
const updateModel = async () => {
|
170
|
+
const settingsService = getSettingsService();
|
171
|
+
// Try to get from SettingsService first (same as diagnostics does)
|
172
|
+
if (settingsService && settingsService.getDiagnosticsData) {
|
173
|
+
try {
|
174
|
+
const diagnosticsData = await settingsService.getDiagnosticsData();
|
175
|
+
if (diagnosticsData && diagnosticsData.model) {
|
176
|
+
setCurrentModel(diagnosticsData.model);
|
177
|
+
return;
|
178
|
+
}
|
179
|
+
}
|
180
|
+
catch (_error) {
|
181
|
+
// Fall through to config
|
182
|
+
}
|
183
|
+
}
|
184
|
+
// Otherwise use config (which is what diagnostics falls back to)
|
185
|
+
setCurrentModel(config.getModel());
|
186
|
+
};
|
187
|
+
// Update immediately
|
188
|
+
updateModel();
|
189
|
+
// Also listen for any changes if SettingsService is available
|
190
|
+
const settingsService = getSettingsService();
|
191
|
+
if (settingsService) {
|
192
|
+
settingsService.on('settings-changed', updateModel);
|
193
|
+
return () => {
|
194
|
+
settingsService.off('settings-changed', updateModel);
|
195
|
+
};
|
196
|
+
}
|
197
|
+
}, [config]);
|
166
198
|
useEffect(() => {
|
167
199
|
const openDebugConsole = () => {
|
168
200
|
setShowErrorDetails(true);
|
@@ -201,13 +233,12 @@ const App = (props) => {
|
|
201
233
|
const error = validateAuthMethod(settings.merged.selectedAuthType);
|
202
234
|
if (error) {
|
203
235
|
setAuthError(error);
|
204
|
-
|
236
|
+
// Don't automatically open auth dialog - user must use /auth command
|
205
237
|
}
|
206
238
|
}
|
207
239
|
}, [
|
208
240
|
settings.merged.selectedAuthType,
|
209
241
|
settings.merged.useExternalAuth,
|
210
|
-
openAuthDialog,
|
211
242
|
setAuthError,
|
212
243
|
]);
|
213
244
|
// Sync user tier from config when authentication changes
|
@@ -217,6 +248,19 @@ const App = (props) => {
|
|
217
248
|
setUserTier(config.getGeminiClient()?.getUserTier());
|
218
249
|
}
|
219
250
|
}, [config, isAuthenticating]);
|
251
|
+
// Check for OAuth code needed flag
|
252
|
+
useEffect(() => {
|
253
|
+
const checkOAuthFlag = setInterval(() => {
|
254
|
+
if (global
|
255
|
+
.__oauth_needs_code) {
|
256
|
+
// Clear the flag
|
257
|
+
global.__oauth_needs_code = false;
|
258
|
+
// Open the OAuth code dialog
|
259
|
+
appDispatch({ type: 'OPEN_DIALOG', payload: 'oauthCode' });
|
260
|
+
}
|
261
|
+
}, 100); // Check every 100ms
|
262
|
+
return () => clearInterval(checkOAuthFlag);
|
263
|
+
}, [appDispatch]);
|
220
264
|
const { isEditorDialogOpen, openEditorDialog, handleEditorSelect, exitEditorDialog, } = useEditorSettings(settings, appState, addItem);
|
221
265
|
const providerManager = getProviderManager(config);
|
222
266
|
const { showDialog: isProviderDialogOpen, openDialog: openProviderDialog, handleSelect: handleProviderSelect, closeDialog: exitProviderDialog, } = useProviderDialog({
|
@@ -411,13 +455,20 @@ const App = (props) => {
|
|
411
455
|
}, [settings, openEditorDialog]);
|
412
456
|
const onAuthError = useCallback(() => {
|
413
457
|
setAuthError('reauth required');
|
414
|
-
|
415
|
-
}, [
|
458
|
+
// NEVER automatically open auth dialog - user must use /auth
|
459
|
+
}, [setAuthError]);
|
460
|
+
const onOAuthCodeNeeded = useCallback((provider) => {
|
461
|
+
// Store provider for the dialog
|
462
|
+
global.__oauth_provider =
|
463
|
+
provider;
|
464
|
+
// Open the OAuth code input dialog
|
465
|
+
appDispatch({ type: 'OPEN_DIALOG', payload: 'oauthCode' });
|
466
|
+
}, [appDispatch]);
|
416
467
|
const handleAuthTimeout = useCallback(() => {
|
417
468
|
setAuthError('Authentication timed out. Please try again.');
|
418
469
|
cancelAuthentication();
|
419
|
-
|
420
|
-
}, [setAuthError, cancelAuthentication
|
470
|
+
// NEVER automatically open auth dialog - user must use /auth
|
471
|
+
}, [setAuthError, cancelAuthentication]);
|
421
472
|
const handlePrivacyNoticeExit = useCallback(() => {
|
422
473
|
setShowPrivacyNotice(false);
|
423
474
|
}, []);
|
@@ -439,7 +490,26 @@ const App = (props) => {
|
|
439
490
|
buffer.setText(lastUserMessage);
|
440
491
|
}
|
441
492
|
}, [buffer, userMessages]);
|
442
|
-
const
|
493
|
+
const handleOAuthCodeDialogClose = useCallback(() => {
|
494
|
+
appDispatch({ type: 'CLOSE_DIALOG', payload: 'oauthCode' });
|
495
|
+
}, [appDispatch]);
|
496
|
+
const handleOAuthCodeSubmit = useCallback(async (code) => {
|
497
|
+
const provider = global
|
498
|
+
.__oauth_provider;
|
499
|
+
if (provider === 'anthropic') {
|
500
|
+
// Get the OAuth manager from provider manager
|
501
|
+
const { getOAuthManager } = await import('../providers/providerManagerInstance.js');
|
502
|
+
const oauthManager = getOAuthManager();
|
503
|
+
if (oauthManager) {
|
504
|
+
const anthropicProvider = oauthManager.getProvider('anthropic');
|
505
|
+
if (anthropicProvider && 'submitAuthCode' in anthropicProvider) {
|
506
|
+
// This will resolve the promise in initiateAuth
|
507
|
+
anthropicProvider.submitAuthCode(code);
|
508
|
+
}
|
509
|
+
}
|
510
|
+
}
|
511
|
+
}, []);
|
512
|
+
const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, } = useGeminiStream(config.getGeminiClient(), history, addItem, setShowHelp, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, handleUserCancel, onOAuthCodeNeeded);
|
443
513
|
// Input handling
|
444
514
|
const handleFinalSubmit = useCallback((submittedValue) => {
|
445
515
|
const trimmedValue = submittedValue.trim();
|
@@ -695,7 +765,8 @@ const App = (props) => {
|
|
695
765
|
{ label: 'No', value: false },
|
696
766
|
], onSelect: handleConfirmationSelect }) })] })) : isThemeDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [_themeError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: _themeError }) })), _jsx(ThemeDialog, { onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, settings: settings, availableTerminalHeight: constrainHeight
|
697
767
|
? terminalHeight - staticExtraHeight
|
698
|
-
: undefined, terminalWidth: mainAreaWidth })] })) : isSettingsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(SettingsDialog, { settings: settings, onSelect: closeSettingsDialog, onRestartRequest: handleSettingsRestart }) })) : isAuthenticating ? (_jsxs(_Fragment, { children: [_jsx(AuthInProgress, { onTimeout: handleAuthTimeout }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }))] })) : isAuthDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(AuthDialog, { onSelect: handleAuthSelect, settings: settings, initialErrorMessage: authError }) })) :
|
768
|
+
: undefined, terminalWidth: mainAreaWidth })] })) : isSettingsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(SettingsDialog, { settings: settings, onSelect: closeSettingsDialog, onRestartRequest: handleSettingsRestart }) })) : isAuthenticating ? (_jsxs(_Fragment, { children: [_jsx(AuthInProgress, { onTimeout: handleAuthTimeout }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }))] })) : isAuthDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(AuthDialog, { onSelect: handleAuthSelect, settings: settings, initialErrorMessage: authError }) })) : appState.openDialogs.oauthCode ? (_jsx(Box, { flexDirection: "column", children: _jsx(OAuthCodeDialog, { provider: global
|
769
|
+
.__oauth_provider || 'anthropic', onClose: handleOAuthCodeDialogClose, onSubmit: handleOAuthCodeSubmit }) })) : isEditorDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [_editorError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: _editorError }) })), _jsx(EditorSettingsDialog, { onSelect: handleEditorSelect, settings: settings, onExit: exitEditorDialog })] })) : isProviderDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ProviderDialog, { providers: providerManager.listProviders(), currentProvider: providerManager.getActiveProviderName(), onSelect: handleProviderSelect, onClose: exitProviderDialog }) })) : isProviderModelDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ProviderModelDialog, { models: providerModels, currentModel: currentModel, onSelect: handleProviderModelChange, onClose: exitProviderModelDialog }) })) : isLoadProfileDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(LoadProfileDialog, { profiles: profiles, onSelect: handleProfileSelect, onClose: exitLoadProfileDialog }) })) : isToolsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ToolsDialog, { tools: toolsDialogTools, action: toolsDialogAction, disabledTools: toolsDialogDisabledTools, onSelect: handleToolsSelect, onClose: exitToolsDialog }) })) : showPrivacyNotice ? (_jsx(PrivacyNotice, { onExit: handlePrivacyNoticeExit, config: config })) : (_jsxs(_Fragment, { children: [_jsx(LoadingIndicator, { thought: streamingState === StreamingState.WaitingForConfirmation ||
|
699
770
|
config.getAccessibility()?.disableLoadingPhrases
|
700
771
|
? undefined
|
701
772
|
: thought, currentLoadingPhrase: config.getAccessibility()?.disableLoadingPhrases
|