@vybestack/llxprt-code 0.1.18-nightly.250812.1f3a4675 → 0.1.18-nightly.250813.9f0866cb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +3 -3
- package/dist/src/auth/oauth-manager.d.ts +1 -0
- package/dist/src/auth/oauth-manager.js +24 -13
- package/dist/src/auth/oauth-manager.js.map +1 -1
- package/dist/src/config/config.js +12 -9
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/gemini.js +23 -5
- package/dist/src/gemini.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/ui/App.js +17 -7
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.d.ts +7 -4
- package/dist/src/ui/IdeIntegrationNudge.js +26 -6
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
- package/dist/src/ui/commands/authCommand.js +15 -7
- package/dist/src/ui/commands/authCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +7 -4
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +51 -19
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/OAuthCodeDialog.js +12 -14
- package/dist/src/ui/components/OAuthCodeDialog.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +2 -2
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +17 -4
- package/dist/src/ui/components/shared/text-buffer.js +224 -70
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.js +137 -151
- package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
- package/dist/src/ui/hooks/useAuthCommand.js +8 -60
- package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -0
- package/dist/src/ui/hooks/useGeminiStream.js +46 -18
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
@@ -3,154 +3,96 @@
|
|
3
3
|
* Copyright 2025 Google LLC
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
|
-
import {
|
7
|
-
import { cpLen } from '../../utils/textUtils.js';
|
6
|
+
import { getLineRangeOffsets, getPositionFromOffsets, replaceRangeInternal, pushUndo, isWordCharStrict, isWordCharWithCombining, isCombiningMark, findNextWordAcrossLines, findPrevWordAcrossLines, findWordEndInLine, } from './text-buffer.js';
|
7
|
+
import { cpLen, toCodePoints } from '../../utils/textUtils.js';
|
8
|
+
// Check if we're at the end of a base word (on the last base character)
|
9
|
+
// Returns true if current position has a base character followed only by combining marks until non-word
|
10
|
+
function isAtEndOfBaseWord(lineCodePoints, col) {
|
11
|
+
if (!isWordCharStrict(lineCodePoints[col]))
|
12
|
+
return false;
|
13
|
+
// Look ahead to see if we have only combining marks followed by non-word
|
14
|
+
let i = col + 1;
|
15
|
+
// Skip any combining marks
|
16
|
+
while (i < lineCodePoints.length && isCombiningMark(lineCodePoints[i])) {
|
17
|
+
i++;
|
18
|
+
}
|
19
|
+
// If we hit end of line or non-word character, we were at end of base word
|
20
|
+
return i >= lineCodePoints.length || !isWordCharStrict(lineCodePoints[i]);
|
21
|
+
}
|
8
22
|
export function handleVimAction(state, action) {
|
9
23
|
const { lines, cursorRow, cursorCol } = state;
|
10
|
-
// Cache text join to avoid repeated calculations for word operations
|
11
|
-
let text = null;
|
12
|
-
const getText = () => text ?? (text = lines.join('\n'));
|
13
24
|
switch (action.type) {
|
14
|
-
case 'vim_delete_word_forward':
|
15
|
-
const { count } = action.payload;
|
16
|
-
const currentOffset = getOffsetFromPosition(cursorRow, cursorCol, lines);
|
17
|
-
let endOffset = currentOffset;
|
18
|
-
let searchOffset = currentOffset;
|
19
|
-
for (let i = 0; i < count; i++) {
|
20
|
-
const nextWordOffset = findNextWordStart(getText(), searchOffset);
|
21
|
-
if (nextWordOffset > searchOffset) {
|
22
|
-
searchOffset = nextWordOffset;
|
23
|
-
endOffset = nextWordOffset;
|
24
|
-
}
|
25
|
-
else {
|
26
|
-
// If no next word, delete to end of current word
|
27
|
-
const wordEndOffset = findWordEnd(getText(), searchOffset);
|
28
|
-
endOffset = Math.min(wordEndOffset + 1, getText().length);
|
29
|
-
break;
|
30
|
-
}
|
31
|
-
}
|
32
|
-
if (endOffset > currentOffset) {
|
33
|
-
const nextState = pushUndo(state);
|
34
|
-
const { startRow, startCol, endRow, endCol } = getPositionFromOffsets(currentOffset, endOffset, nextState.lines);
|
35
|
-
return replaceRangeInternal(nextState, startRow, startCol, endRow, endCol, '');
|
36
|
-
}
|
37
|
-
return state;
|
38
|
-
}
|
39
|
-
case 'vim_delete_word_backward': {
|
40
|
-
const { count } = action.payload;
|
41
|
-
const currentOffset = getOffsetFromPosition(cursorRow, cursorCol, lines);
|
42
|
-
let startOffset = currentOffset;
|
43
|
-
let searchOffset = currentOffset;
|
44
|
-
for (let i = 0; i < count; i++) {
|
45
|
-
const prevWordOffset = findPrevWordStart(getText(), searchOffset);
|
46
|
-
if (prevWordOffset < searchOffset) {
|
47
|
-
searchOffset = prevWordOffset;
|
48
|
-
startOffset = prevWordOffset;
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
break;
|
52
|
-
}
|
53
|
-
}
|
54
|
-
if (startOffset < currentOffset) {
|
55
|
-
const nextState = pushUndo(state);
|
56
|
-
const { startRow, startCol, endRow, endCol } = getPositionFromOffsets(startOffset, currentOffset, nextState.lines);
|
57
|
-
const newState = replaceRangeInternal(nextState, startRow, startCol, endRow, endCol, '');
|
58
|
-
// Cursor is already at the correct position after deletion
|
59
|
-
return newState;
|
60
|
-
}
|
61
|
-
return state;
|
62
|
-
}
|
63
|
-
case 'vim_delete_word_end': {
|
64
|
-
const { count } = action.payload;
|
65
|
-
const currentOffset = getOffsetFromPosition(cursorRow, cursorCol, lines);
|
66
|
-
let offset = currentOffset;
|
67
|
-
let endOffset = currentOffset;
|
68
|
-
for (let i = 0; i < count; i++) {
|
69
|
-
const wordEndOffset = findWordEnd(getText(), offset);
|
70
|
-
if (wordEndOffset >= offset) {
|
71
|
-
endOffset = wordEndOffset + 1; // Include the character at word end
|
72
|
-
// For next iteration, move to start of next word
|
73
|
-
if (i < count - 1) {
|
74
|
-
const nextWordStart = findNextWordStart(getText(), wordEndOffset + 1);
|
75
|
-
offset = nextWordStart;
|
76
|
-
if (nextWordStart <= wordEndOffset) {
|
77
|
-
break; // No more words
|
78
|
-
}
|
79
|
-
}
|
80
|
-
}
|
81
|
-
else {
|
82
|
-
break;
|
83
|
-
}
|
84
|
-
}
|
85
|
-
endOffset = Math.min(endOffset, getText().length);
|
86
|
-
if (endOffset > currentOffset) {
|
87
|
-
const nextState = pushUndo(state);
|
88
|
-
const { startRow, startCol, endRow, endCol } = getPositionFromOffsets(currentOffset, endOffset, nextState.lines);
|
89
|
-
return replaceRangeInternal(nextState, startRow, startCol, endRow, endCol, '');
|
90
|
-
}
|
91
|
-
return state;
|
92
|
-
}
|
25
|
+
case 'vim_delete_word_forward':
|
93
26
|
case 'vim_change_word_forward': {
|
94
27
|
const { count } = action.payload;
|
95
|
-
|
96
|
-
let
|
97
|
-
let endOffset = currentOffset;
|
28
|
+
let endRow = cursorRow;
|
29
|
+
let endCol = cursorCol;
|
98
30
|
for (let i = 0; i < count; i++) {
|
99
|
-
const
|
100
|
-
if (
|
101
|
-
|
102
|
-
|
31
|
+
const nextWord = findNextWordAcrossLines(lines, endRow, endCol, true);
|
32
|
+
if (nextWord) {
|
33
|
+
endRow = nextWord.row;
|
34
|
+
endCol = nextWord.col;
|
103
35
|
}
|
104
36
|
else {
|
105
|
-
//
|
106
|
-
const
|
107
|
-
|
37
|
+
// No more words, delete/change to end of current word or line
|
38
|
+
const currentLine = lines[endRow] || '';
|
39
|
+
const wordEnd = findWordEndInLine(currentLine, endCol);
|
40
|
+
if (wordEnd !== null) {
|
41
|
+
endCol = wordEnd + 1; // Include the character at word end
|
42
|
+
}
|
43
|
+
else {
|
44
|
+
endCol = cpLen(currentLine);
|
45
|
+
}
|
108
46
|
break;
|
109
47
|
}
|
110
48
|
}
|
111
|
-
if (
|
49
|
+
if (endRow !== cursorRow || endCol !== cursorCol) {
|
112
50
|
const nextState = pushUndo(state);
|
113
|
-
|
114
|
-
return replaceRangeInternal(nextState, startRow, startCol, endRow, endCol, '');
|
51
|
+
return replaceRangeInternal(nextState, cursorRow, cursorCol, endRow, endCol, '');
|
115
52
|
}
|
116
53
|
return state;
|
117
54
|
}
|
55
|
+
case 'vim_delete_word_backward':
|
118
56
|
case 'vim_change_word_backward': {
|
119
57
|
const { count } = action.payload;
|
120
|
-
|
121
|
-
let
|
122
|
-
let searchOffset = currentOffset;
|
58
|
+
let startRow = cursorRow;
|
59
|
+
let startCol = cursorCol;
|
123
60
|
for (let i = 0; i < count; i++) {
|
124
|
-
const
|
125
|
-
if (
|
126
|
-
|
127
|
-
|
61
|
+
const prevWord = findPrevWordAcrossLines(lines, startRow, startCol);
|
62
|
+
if (prevWord) {
|
63
|
+
startRow = prevWord.row;
|
64
|
+
startCol = prevWord.col;
|
128
65
|
}
|
129
66
|
else {
|
130
67
|
break;
|
131
68
|
}
|
132
69
|
}
|
133
|
-
if (
|
70
|
+
if (startRow !== cursorRow || startCol !== cursorCol) {
|
134
71
|
const nextState = pushUndo(state);
|
135
|
-
|
136
|
-
return replaceRangeInternal(nextState, startRow, startCol, endRow, endCol, '');
|
72
|
+
return replaceRangeInternal(nextState, startRow, startCol, cursorRow, cursorCol, '');
|
137
73
|
}
|
138
74
|
return state;
|
139
75
|
}
|
76
|
+
case 'vim_delete_word_end':
|
140
77
|
case 'vim_change_word_end': {
|
141
78
|
const { count } = action.payload;
|
142
|
-
|
143
|
-
let
|
144
|
-
let
|
79
|
+
let row = cursorRow;
|
80
|
+
let col = cursorCol;
|
81
|
+
let endRow = cursorRow;
|
82
|
+
let endCol = cursorCol;
|
145
83
|
for (let i = 0; i < count; i++) {
|
146
|
-
const
|
147
|
-
if (
|
148
|
-
|
84
|
+
const wordEnd = findNextWordAcrossLines(lines, row, col, false);
|
85
|
+
if (wordEnd) {
|
86
|
+
endRow = wordEnd.row;
|
87
|
+
endCol = wordEnd.col + 1; // Include the character at word end
|
149
88
|
// For next iteration, move to start of next word
|
150
89
|
if (i < count - 1) {
|
151
|
-
const
|
152
|
-
|
153
|
-
|
90
|
+
const nextWord = findNextWordAcrossLines(lines, wordEnd.row, wordEnd.col + 1, true);
|
91
|
+
if (nextWord) {
|
92
|
+
row = nextWord.row;
|
93
|
+
col = nextWord.col;
|
94
|
+
}
|
95
|
+
else {
|
154
96
|
break; // No more words
|
155
97
|
}
|
156
98
|
}
|
@@ -159,11 +101,14 @@ export function handleVimAction(state, action) {
|
|
159
101
|
break;
|
160
102
|
}
|
161
103
|
}
|
162
|
-
|
163
|
-
if (
|
104
|
+
// Ensure we don't go past the end of the last line
|
105
|
+
if (endRow < lines.length) {
|
106
|
+
const lineLen = cpLen(lines[endRow] || '');
|
107
|
+
endCol = Math.min(endCol, lineLen);
|
108
|
+
}
|
109
|
+
if (endRow !== cursorRow || endCol !== cursorCol) {
|
164
110
|
const nextState = pushUndo(state);
|
165
|
-
|
166
|
-
return replaceRangeInternal(nextState, startRow, startCol, endRow, endCol, '');
|
111
|
+
return replaceRangeInternal(nextState, cursorRow, cursorCol, endRow, endCol, '');
|
167
112
|
}
|
168
113
|
return state;
|
169
114
|
}
|
@@ -209,19 +154,12 @@ export function handleVimAction(state, action) {
|
|
209
154
|
const { startRow, startCol, endRow, endCol } = getPositionFromOffsets(startOffset, endOffset, nextState.lines);
|
210
155
|
return replaceRangeInternal(nextState, startRow, startCol, endRow, endCol, '');
|
211
156
|
}
|
212
|
-
case 'vim_delete_to_end_of_line':
|
213
|
-
const currentLine = lines[cursorRow] || '';
|
214
|
-
if (cursorCol < currentLine.length) {
|
215
|
-
const nextState = pushUndo(state);
|
216
|
-
return replaceRangeInternal(nextState, cursorRow, cursorCol, cursorRow, currentLine.length, '');
|
217
|
-
}
|
218
|
-
return state;
|
219
|
-
}
|
157
|
+
case 'vim_delete_to_end_of_line':
|
220
158
|
case 'vim_change_to_end_of_line': {
|
221
159
|
const currentLine = lines[cursorRow] || '';
|
222
|
-
if (cursorCol < currentLine
|
160
|
+
if (cursorCol < cpLen(currentLine)) {
|
223
161
|
const nextState = pushUndo(state);
|
224
|
-
return replaceRangeInternal(nextState, cursorRow, cursorCol, cursorRow, currentLine
|
162
|
+
return replaceRangeInternal(nextState, cursorRow, cursorCol, cursorRow, cpLen(currentLine), '');
|
225
163
|
}
|
226
164
|
return state;
|
227
165
|
}
|
@@ -329,6 +267,13 @@ export function handleVimAction(state, action) {
|
|
329
267
|
}
|
330
268
|
else if (newCol < lineLength - 1) {
|
331
269
|
newCol++;
|
270
|
+
// Skip over combining marks - don't let cursor land on them
|
271
|
+
const currentLinePoints = toCodePoints(currentLine);
|
272
|
+
while (newCol < currentLinePoints.length &&
|
273
|
+
isCombiningMark(currentLinePoints[newCol]) &&
|
274
|
+
newCol < lineLength - 1) {
|
275
|
+
newCol++;
|
276
|
+
}
|
332
277
|
}
|
333
278
|
else if (newRow < lines.length - 1) {
|
334
279
|
// At end of line - move to beginning of next line
|
@@ -347,7 +292,9 @@ export function handleVimAction(state, action) {
|
|
347
292
|
const { count } = action.payload;
|
348
293
|
const { cursorRow, cursorCol, lines } = state;
|
349
294
|
const newRow = Math.max(0, cursorRow - count);
|
350
|
-
const
|
295
|
+
const targetLine = lines[newRow] || '';
|
296
|
+
const targetLineLength = cpLen(targetLine);
|
297
|
+
const newCol = Math.min(cursorCol, targetLineLength > 0 ? targetLineLength - 1 : 0);
|
351
298
|
return {
|
352
299
|
...state,
|
353
300
|
cursorRow: newRow,
|
@@ -359,7 +306,9 @@ export function handleVimAction(state, action) {
|
|
359
306
|
const { count } = action.payload;
|
360
307
|
const { cursorRow, cursorCol, lines } = state;
|
361
308
|
const newRow = Math.min(lines.length - 1, cursorRow + count);
|
362
|
-
const
|
309
|
+
const targetLine = lines[newRow] || '';
|
310
|
+
const targetLineLength = cpLen(targetLine);
|
311
|
+
const newCol = Math.min(cursorCol, targetLineLength > 0 ? targetLineLength - 1 : 0);
|
363
312
|
return {
|
364
313
|
...state,
|
365
314
|
cursorRow: newRow,
|
@@ -369,50 +318,87 @@ export function handleVimAction(state, action) {
|
|
369
318
|
}
|
370
319
|
case 'vim_move_word_forward': {
|
371
320
|
const { count } = action.payload;
|
372
|
-
let
|
321
|
+
let row = cursorRow;
|
322
|
+
let col = cursorCol;
|
373
323
|
for (let i = 0; i < count; i++) {
|
374
|
-
const
|
375
|
-
if (
|
376
|
-
|
324
|
+
const nextWord = findNextWordAcrossLines(lines, row, col, true);
|
325
|
+
if (nextWord) {
|
326
|
+
row = nextWord.row;
|
327
|
+
col = nextWord.col;
|
377
328
|
}
|
378
329
|
else {
|
379
330
|
// No more words to move to
|
380
331
|
break;
|
381
332
|
}
|
382
333
|
}
|
383
|
-
const { startRow, startCol } = getPositionFromOffsets(offset, offset, lines);
|
384
334
|
return {
|
385
335
|
...state,
|
386
|
-
cursorRow:
|
387
|
-
cursorCol:
|
336
|
+
cursorRow: row,
|
337
|
+
cursorCol: col,
|
388
338
|
preferredCol: null,
|
389
339
|
};
|
390
340
|
}
|
391
341
|
case 'vim_move_word_backward': {
|
392
342
|
const { count } = action.payload;
|
393
|
-
let
|
343
|
+
let row = cursorRow;
|
344
|
+
let col = cursorCol;
|
394
345
|
for (let i = 0; i < count; i++) {
|
395
|
-
|
346
|
+
const prevWord = findPrevWordAcrossLines(lines, row, col);
|
347
|
+
if (prevWord) {
|
348
|
+
row = prevWord.row;
|
349
|
+
col = prevWord.col;
|
350
|
+
}
|
351
|
+
else {
|
352
|
+
break;
|
353
|
+
}
|
396
354
|
}
|
397
|
-
const { startRow, startCol } = getPositionFromOffsets(offset, offset, lines);
|
398
355
|
return {
|
399
356
|
...state,
|
400
|
-
cursorRow:
|
401
|
-
cursorCol:
|
357
|
+
cursorRow: row,
|
358
|
+
cursorCol: col,
|
402
359
|
preferredCol: null,
|
403
360
|
};
|
404
361
|
}
|
405
362
|
case 'vim_move_word_end': {
|
406
363
|
const { count } = action.payload;
|
407
|
-
let
|
364
|
+
let row = cursorRow;
|
365
|
+
let col = cursorCol;
|
408
366
|
for (let i = 0; i < count; i++) {
|
409
|
-
|
367
|
+
// Special handling for the first iteration when we're at end of word
|
368
|
+
if (i === 0) {
|
369
|
+
const currentLine = lines[row] || '';
|
370
|
+
const lineCodePoints = toCodePoints(currentLine);
|
371
|
+
// Check if we're at the end of a word (on the last base character)
|
372
|
+
const atEndOfWord = col < lineCodePoints.length &&
|
373
|
+
isWordCharStrict(lineCodePoints[col]) &&
|
374
|
+
(col + 1 >= lineCodePoints.length ||
|
375
|
+
!isWordCharWithCombining(lineCodePoints[col + 1]) ||
|
376
|
+
// Or if we're on a base char followed only by combining marks until non-word
|
377
|
+
(isWordCharStrict(lineCodePoints[col]) &&
|
378
|
+
isAtEndOfBaseWord(lineCodePoints, col)));
|
379
|
+
if (atEndOfWord) {
|
380
|
+
// We're already at end of word, find next word end
|
381
|
+
const nextWord = findNextWordAcrossLines(lines, row, col + 1, false);
|
382
|
+
if (nextWord) {
|
383
|
+
row = nextWord.row;
|
384
|
+
col = nextWord.col;
|
385
|
+
continue;
|
386
|
+
}
|
387
|
+
}
|
388
|
+
}
|
389
|
+
const wordEnd = findNextWordAcrossLines(lines, row, col, false);
|
390
|
+
if (wordEnd) {
|
391
|
+
row = wordEnd.row;
|
392
|
+
col = wordEnd.col;
|
393
|
+
}
|
394
|
+
else {
|
395
|
+
break;
|
396
|
+
}
|
410
397
|
}
|
411
|
-
const { startRow, startCol } = getPositionFromOffsets(offset, offset, lines);
|
412
398
|
return {
|
413
399
|
...state,
|
414
|
-
cursorRow:
|
415
|
-
cursorCol:
|
400
|
+
cursorRow: row,
|
401
|
+
cursorCol: col,
|
416
402
|
preferredCol: null,
|
417
403
|
};
|
418
404
|
}
|
@@ -475,7 +461,7 @@ export function handleVimAction(state, action) {
|
|
475
461
|
const currentLine = lines[cursorRow] || '';
|
476
462
|
let col = 0;
|
477
463
|
// Find first non-whitespace character using proper Unicode handling
|
478
|
-
const lineCodePoints =
|
464
|
+
const lineCodePoints = toCodePoints(currentLine);
|
479
465
|
while (col < lineCodePoints.length && /\s/.test(lineCodePoints[col])) {
|
480
466
|
col++;
|
481
467
|
}
|
@@ -506,7 +492,7 @@ export function handleVimAction(state, action) {
|
|
506
492
|
const currentLine = lines[cursorRow] || '';
|
507
493
|
let col = 0;
|
508
494
|
// Find first non-whitespace character using proper Unicode handling
|
509
|
-
const lineCodePoints =
|
495
|
+
const lineCodePoints = toCodePoints(currentLine);
|
510
496
|
while (col < lineCodePoints.length && /\s/.test(lineCodePoints[col])) {
|
511
497
|
col++;
|
512
498
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"vim-buffer-actions.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/vim-buffer-actions.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"vim-buffer-actions.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/vim-buffer-actions.ts"],"names":[],"mappings":"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"}
|
@@ -4,9 +4,8 @@
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
6
|
import { useState, useCallback, useEffect } from 'react';
|
7
|
-
import {
|
7
|
+
import { getErrorMessage } from '@vybestack/llxprt-code-core';
|
8
8
|
import { useAppDispatch } from '../contexts/AppDispatchContext.js';
|
9
|
-
import { runExitCleanup } from '../../utils/cleanup.js';
|
10
9
|
import { getProviderManager } from '../../providers/providerManagerInstance.js';
|
11
10
|
export const useAuthCommand = (settings, appState, config) => {
|
12
11
|
const appDispatch = useAppDispatch();
|
@@ -69,68 +68,17 @@ export const useAuthCommand = (settings, appState, config) => {
|
|
69
68
|
void authFlow();
|
70
69
|
}, [isAuthDialogOpen, settings, config, appDispatch, openAuthDialog]);
|
71
70
|
const handleAuthSelect = useCallback(async (authType, scope) => {
|
72
|
-
//
|
73
|
-
if (authType ===
|
74
|
-
|
75
|
-
authType === AuthType.OAUTH_ANTHROPIC) {
|
76
|
-
// Trigger the OAuth flow directly
|
77
|
-
let provider;
|
78
|
-
if (authType === AuthType.OAUTH_GEMINI) {
|
79
|
-
provider = 'gemini';
|
80
|
-
}
|
81
|
-
else if (authType === AuthType.OAUTH_QWEN) {
|
82
|
-
provider = 'qwen';
|
83
|
-
}
|
84
|
-
else {
|
85
|
-
provider = 'anthropic';
|
86
|
-
}
|
87
|
-
// Close the dialog first
|
71
|
+
// If undefined passed, it means close was selected
|
72
|
+
if (authType === undefined) {
|
73
|
+
// Close the dialog
|
88
74
|
appDispatch({ type: 'CLOSE_DIALOG', payload: 'auth' });
|
89
75
|
appDispatch({ type: 'SET_AUTH_ERROR', payload: null });
|
90
|
-
// Get the existing OAuth manager from provider manager
|
91
|
-
const { getOAuthManager } = await import('../../providers/providerManagerInstance.js');
|
92
|
-
const oauthManager = getOAuthManager();
|
93
|
-
if (!oauthManager) {
|
94
|
-
console.error('OAuth manager not initialized');
|
95
|
-
appDispatch({
|
96
|
-
type: 'SET_AUTH_ERROR',
|
97
|
-
payload: 'OAuth system not initialized. Please restart the application.',
|
98
|
-
});
|
99
|
-
return;
|
100
|
-
}
|
101
|
-
// Trigger authentication
|
102
|
-
try {
|
103
|
-
await oauthManager.authenticate(provider);
|
104
|
-
console.log(`Successfully authenticated with ${provider}!`);
|
105
|
-
}
|
106
|
-
catch (error) {
|
107
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
108
|
-
console.error(`Authentication failed: ${errorMessage}`);
|
109
|
-
appDispatch({
|
110
|
-
type: 'SET_AUTH_ERROR',
|
111
|
-
payload: `Failed to authenticate with ${provider}: ${errorMessage}`,
|
112
|
-
});
|
113
|
-
}
|
114
76
|
return;
|
115
77
|
}
|
116
|
-
//
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
if (authType === AuthType.LOGIN_WITH_GOOGLE &&
|
121
|
-
config.isBrowserLaunchSuppressed()) {
|
122
|
-
runExitCleanup();
|
123
|
-
console.log(`
|
124
|
-
----------------------------------------------------------------
|
125
|
-
Logging in with Google... Please restart Gemini CLI to continue.
|
126
|
-
----------------------------------------------------------------
|
127
|
-
`);
|
128
|
-
process.exit(0);
|
129
|
-
}
|
130
|
-
}
|
131
|
-
appDispatch({ type: 'CLOSE_DIALOG', payload: 'auth' });
|
132
|
-
appDispatch({ type: 'SET_AUTH_ERROR', payload: null });
|
133
|
-
}, [settings, appDispatch, config]);
|
78
|
+
// Save the selected auth type - NO OAuth flow triggering
|
79
|
+
settings.setValue(scope, 'selectedAuthType', authType);
|
80
|
+
// Don't close dialog - let user continue toggling providers
|
81
|
+
}, [settings, appDispatch]);
|
134
82
|
const cancelAuthentication = useCallback(() => {
|
135
83
|
setIsAuthenticating(false);
|
136
84
|
}, []);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAuthCommand.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useAuthCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,
|
1
|
+
{"version":3,"file":"useAuthCommand.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useAuthCommand.ts"],"names":[],"mappings":"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"}
|