@google/gemini-cli 0.62.0-nightly.20260925.gbedef96ef → 0.62.0
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/bundle/{chunk-M4DUGOFW.js → chunk-2DHAEQE2.js} +90 -467
- package/bundle/{chunk-4JZM4J6T.js → chunk-2XM6DOWE.js} +2 -2
- package/bundle/{chunk-COHD3EAC.js → chunk-3VMO3WD7.js} +1 -1
- package/bundle/{chunk-TFNEL7HO.js → chunk-4GWDIIAP.js} +3 -3
- package/bundle/{chunk-LUG3MZLD.js → chunk-6DKHPDQ5.js} +1 -1
- package/bundle/{chunk-TYD74VXO.js → chunk-72GZSNV7.js} +14774 -8191
- package/bundle/{chunk-HBDPUOQW.js → chunk-7ETVC4KO.js} +1 -1
- package/bundle/{chunk-YIGDOMHJ.js → chunk-DML6Y2ZP.js} +2 -2
- package/bundle/{chunk-UFG6C5KE.js → chunk-DP2XO3WB.js} +1 -1
- package/bundle/{chunk-TNMENZTI.js → chunk-E2SRID3J.js} +1 -1
- package/bundle/{chunk-YZ6TLILF.js → chunk-F6RVU2CO.js} +1 -1
- package/bundle/{chunk-RETG7Z2C.js → chunk-GCL7X4WZ.js} +2 -2
- package/bundle/{chunk-QE6SEL5N.js → chunk-I47WLEEQ.js} +11 -45
- package/bundle/{chunk-AKMRRSMV.js → chunk-KCP45VUB.js} +1 -1
- package/bundle/{chunk-OF7DGARD.js → chunk-L5NOFB6M.js} +1 -1
- package/bundle/{chunk-H3SOW6BD.js → chunk-MLY4WQFO.js} +90 -421
- package/bundle/{chunk-MMWXIMUF.js → chunk-MNVEFU25.js} +3 -3
- package/bundle/{chunk-TKA3MSVK.js → chunk-OXDVMGJ3.js} +3 -3
- package/bundle/{chunk-GN6LRBHR.js → chunk-RWN52KQV.js} +5 -8
- package/bundle/{chunk-M5SV3LCW.js → chunk-T4GE6V5B.js} +8 -9
- package/bundle/{chunk-NZIIZAV3.js → chunk-TYBBTU4O.js} +1 -1
- package/bundle/{chunk-DOFIJ3YI.js → chunk-V43EQ7B6.js} +11 -45
- package/bundle/{chunk-R2TEKWUG.js → chunk-YOPBONYF.js} +1 -1
- package/bundle/{chunk-A3VAHJM3.js → chunk-ZRKGL4ZL.js} +62 -109
- package/bundle/{cleanup-HE7KYQAJ.js → cleanup-B2NP6ZJB.js} +2 -2
- package/bundle/{cleanup-INM5W2O2.js → cleanup-GJFEQLCV.js} +2 -2
- package/bundle/{cleanup-XSZILZES.js → cleanup-NYOWMRTL.js} +2 -2
- package/bundle/{core-PLITVDXB.js → core-4NPF436I.js} +1 -7
- package/bundle/{dist-5EPN333M.js → core-BXNHRQQE.js} +1 -7
- package/bundle/{devtoolsService-BUSRWWOS.js → devtoolsService-2TDRPBCW.js} +2 -2
- package/bundle/{devtoolsService-4D2QFII3.js → devtoolsService-47DUPCKM.js} +2 -2
- package/bundle/{devtoolsService-P7HLE6U4.js → devtoolsService-BIYZH2ME.js} +3 -4
- package/bundle/{dist-EBAUDX6K.js → dist-6S53KFXU.js} +1 -7
- package/bundle/docs/changelogs/index.md +0 -16
- package/bundle/docs/changelogs/latest.md +55 -34
- package/bundle/docs/changelogs/preview.md +3 -7
- package/bundle/{gemini-LJOD63ZZ.js → gemini-CGCV5XPN.js} +14 -14
- package/bundle/{gemini-E77OMSLO.js → gemini-J6X2T2ZI.js} +14 -14
- package/bundle/{gemini-III4I2TY.js → gemini-ZBM332DO.js} +198 -214
- package/bundle/gemini.js +7 -7
- package/bundle/{interactiveCli-GCRH54ZM.js → interactiveCli-HUDGOV74.js} +14 -31
- package/bundle/{interactiveCli-BJCS4WF5.js → interactiveCli-IDDEAOD5.js} +14 -31
- package/bundle/{interactiveCli-A3LNKRJV.js → interactiveCli-R4EMLFLM.js} +298 -334
- package/bundle/{liteRtServerManager-34QJA5UR.js → liteRtServerManager-A4B5FMXL.js} +4 -4
- package/bundle/{liteRtServerManager-PJMI7L5V.js → liteRtServerManager-QE27SHMQ.js} +4 -4
- package/bundle/{liteRtServerManager-TPFCEVH7.js → liteRtServerManager-WXCXUPDQ.js} +4 -4
- package/bundle/{oauth2-provider-HIFZ2YSU.js → oauth2-provider-3F6FOWLR.js} +1 -1
- package/bundle/{oauth2-provider-4IJXZY2A.js → oauth2-provider-43ANEHLB.js} +1 -1
- package/bundle/{oauth2-provider-65ESWRXC.js → oauth2-provider-MWRLM45J.js} +72 -38
- package/bundle/{start-6ET4IGUD.js → start-SQ2SPNQL.js} +6 -6
- package/bundle/{start-HKFTMESR.js → start-W7O4IWQ7.js} +6 -6
- package/bundle/{start-IYXWZL5M.js → start-ZMLXZ4VX.js} +6 -6
- package/package.json +1 -1
- package/bundle/chunk-BZNLCS4I.js +0 -398
- package/bundle/chunk-FW6KQPO4.js +0 -102951
- package/bundle/chunk-HM4SUAV7.js +0 -17368
- package/bundle/chunk-QPGOBA6C.js +0 -118
- package/bundle/chunk-X4QSELXY.js +0 -400361
- package/bundle/chunk-X63LZNK3.js +0 -1571
- package/bundle/chunk-YNCGLYYB.js +0 -154
- package/bundle/chunk-YUTWSGVZ.js +0 -512
- package/bundle/cleanup-ZZ2TESXC.js +0 -32
- package/bundle/devtoolsService-YD7ORPBB.js +0 -4359
- package/bundle/dist-SYCD6I6K.js +0 -2244
- package/bundle/gemini-46IOIZQR.js +0 -17863
- package/bundle/interactiveCli-XDQJSJNE.js +0 -34907
- package/bundle/liteRtServerManager-YPMJZLFF.js +0 -65
- package/bundle/oauth2-provider-KTV4RAAH.js +0 -235
- package/bundle/start-TIGZXUOM.js +0 -18
|
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
|
|
|
2
2
|
import {
|
|
3
3
|
exitCli,
|
|
4
4
|
require_source
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-L5NOFB6M.js";
|
|
6
6
|
import {
|
|
7
7
|
AppEvent,
|
|
8
8
|
appEvents
|
|
@@ -63,23 +63,21 @@ import {
|
|
|
63
63
|
stripUnsafeCharacters,
|
|
64
64
|
toCodePoints,
|
|
65
65
|
validateCustomTheme
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-RWN52KQV.js";
|
|
67
67
|
import {
|
|
68
68
|
isDevelopment
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-GCL7X4WZ.js";
|
|
70
70
|
import {
|
|
71
71
|
emptyIcon,
|
|
72
72
|
mapCoreStatusToDisplayStatus,
|
|
73
73
|
require_react
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-T4GE6V5B.js";
|
|
75
75
|
import {
|
|
76
76
|
ALL_EDITORS,
|
|
77
77
|
ApprovalMode,
|
|
78
78
|
AsyncFzf,
|
|
79
|
-
AuthType,
|
|
80
79
|
Config,
|
|
81
80
|
CoreEvent,
|
|
82
|
-
CoreToolCallStatus,
|
|
83
81
|
DiscoveredMCPTool,
|
|
84
82
|
ExtensionDisableEvent,
|
|
85
83
|
ExtensionEnableEvent,
|
|
@@ -90,32 +88,21 @@ import {
|
|
|
90
88
|
ExtensionUpdateEvent,
|
|
91
89
|
GEMINI_CLI_COMPANION_EXTENSION_NAME,
|
|
92
90
|
GEMINI_DIR,
|
|
93
|
-
HookType,
|
|
94
|
-
IDEConnectionStatus,
|
|
95
91
|
INITIAL_HISTORY_LENGTH,
|
|
96
92
|
IdeClient,
|
|
97
93
|
IdeConnectionEvent,
|
|
98
|
-
IdeConnectionType,
|
|
99
|
-
IntegrityDataStatus,
|
|
100
94
|
KeychainTokenStorage,
|
|
101
|
-
LlmRole,
|
|
102
|
-
MCPDiscoveryState,
|
|
103
95
|
MCPOAuthTokenStorage,
|
|
104
|
-
MCPServerStatus,
|
|
105
96
|
ModelSlashCommandEvent,
|
|
106
|
-
PolicyDecision,
|
|
107
97
|
ProjectIdRequiredError,
|
|
108
98
|
REFERENCE_CONTENT_END,
|
|
109
99
|
REFERENCE_CONTENT_START,
|
|
110
100
|
ReadManyFilesTool,
|
|
111
101
|
RewindEvent,
|
|
112
102
|
SHELL_TOOL_NAME,
|
|
113
|
-
SessionEndReason,
|
|
114
|
-
SessionStartSource,
|
|
115
103
|
ShellExecutionService,
|
|
116
104
|
StartSessionEvent,
|
|
117
105
|
Storage,
|
|
118
|
-
TrustLevel,
|
|
119
106
|
UPGRADE_URL_PAGE,
|
|
120
107
|
UserAccountManager,
|
|
121
108
|
ValidationRequiredError,
|
|
@@ -251,7 +238,7 @@ import {
|
|
|
251
238
|
tokenLimit,
|
|
252
239
|
uiTelemetryService,
|
|
253
240
|
unescapePath
|
|
254
|
-
} from "./chunk-
|
|
241
|
+
} from "./chunk-72GZSNV7.js";
|
|
255
242
|
import {
|
|
256
243
|
require_src
|
|
257
244
|
} from "./chunk-L6PII3GR.js";
|
|
@@ -55058,7 +55045,6 @@ var useFocus = () => {
|
|
|
55058
55045
|
};
|
|
55059
55046
|
stdout?.write(ENABLE_FOCUS_REPORTING);
|
|
55060
55047
|
stdin?.on("data", handleData);
|
|
55061
|
-
stdin?.resume?.();
|
|
55062
55048
|
return () => {
|
|
55063
55049
|
stdout?.write(DISABLE_FOCUS_REPORTING);
|
|
55064
55050
|
stdin?.removeListener("data", handleData);
|
|
@@ -55196,7 +55182,6 @@ var TerminalCapabilityManager = class _TerminalCapabilityManager {
|
|
|
55196
55182
|
process.on("SIGINT", cleanupTerminalOnExit);
|
|
55197
55183
|
return new Promise((resolve9) => {
|
|
55198
55184
|
const originalRawMode = process.stdin.isRaw;
|
|
55199
|
-
const stdinWasFlowing = process.stdin.readableFlowing === true;
|
|
55200
55185
|
if (!originalRawMode) {
|
|
55201
55186
|
process.stdin.setRawMode(true);
|
|
55202
55187
|
}
|
|
@@ -55212,9 +55197,6 @@ var TerminalCapabilityManager = class _TerminalCapabilityManager {
|
|
|
55212
55197
|
clearTimeout(timeoutId);
|
|
55213
55198
|
}
|
|
55214
55199
|
process.stdin.removeListener("data", onData);
|
|
55215
|
-
if (!stdinWasFlowing && process.stdin.listenerCount("data") === 0) {
|
|
55216
|
-
process.stdin.pause?.();
|
|
55217
|
-
}
|
|
55218
55200
|
if (!originalRawMode) {
|
|
55219
55201
|
process.stdin.setRawMode(false);
|
|
55220
55202
|
}
|
|
@@ -55967,14 +55949,11 @@ function KeypressProvider({
|
|
|
55967
55949
|
);
|
|
55968
55950
|
(0, import_react30.useEffect)(() => {
|
|
55969
55951
|
terminalCapabilityManager.enableSupportedModes();
|
|
55970
|
-
if (!stdin) {
|
|
55971
|
-
return;
|
|
55972
|
-
}
|
|
55973
55952
|
const wasRaw = stdin.isRaw;
|
|
55974
55953
|
if (wasRaw === false) {
|
|
55975
55954
|
setRawMode(true);
|
|
55976
55955
|
}
|
|
55977
|
-
stdin.setEncoding
|
|
55956
|
+
process.stdin.setEncoding("utf8");
|
|
55978
55957
|
let processor = nonKeyboardEventFilter(broadcast);
|
|
55979
55958
|
if (!terminalCapabilityManager.isKittyProtocolEnabled()) {
|
|
55980
55959
|
processor = bufferFastReturn(processor);
|
|
@@ -55992,7 +55971,6 @@ function KeypressProvider({
|
|
|
55992
55971
|
};
|
|
55993
55972
|
}
|
|
55994
55973
|
stdin.on("data", dataListener);
|
|
55995
|
-
stdin.resume?.();
|
|
55996
55974
|
return () => {
|
|
55997
55975
|
stdin.removeListener("data", dataListener);
|
|
55998
55976
|
if (wasRaw === false) {
|
|
@@ -60106,7 +60084,7 @@ var import_react34 = __toESM(require_react(), 1);
|
|
|
60106
60084
|
function useIdeTrustListener() {
|
|
60107
60085
|
const settings = useSettings();
|
|
60108
60086
|
const [connectionStatus, setConnectionStatus] = (0, import_react34.useState)(
|
|
60109
|
-
|
|
60087
|
+
"disconnected" /* Disconnected */
|
|
60110
60088
|
);
|
|
60111
60089
|
const previousTrust = (0, import_react34.useRef)(void 0);
|
|
60112
60090
|
const [restartReason, setRestartReason] = (0, import_react34.useState)("NONE");
|
|
@@ -60136,7 +60114,7 @@ function useIdeTrustListener() {
|
|
|
60136
60114
|
};
|
|
60137
60115
|
}, []);
|
|
60138
60116
|
const getSnapshot = () => {
|
|
60139
|
-
if (connectionStatus !==
|
|
60117
|
+
if (connectionStatus !== "connected" /* Connected */) {
|
|
60140
60118
|
return void 0;
|
|
60141
60119
|
}
|
|
60142
60120
|
return ideContextStore.get()?.workspaceState?.isTrusted;
|
|
@@ -60841,7 +60819,7 @@ async function initializeApp(config, settings) {
|
|
|
60841
60819
|
await ideClient.connect();
|
|
60842
60820
|
logIdeConnection(
|
|
60843
60821
|
config,
|
|
60844
|
-
new IdeConnectionEvent(
|
|
60822
|
+
new IdeConnectionEvent("start" /* START */)
|
|
60845
60823
|
);
|
|
60846
60824
|
}).catch((e) => {
|
|
60847
60825
|
debugLogger.error("Failed to initialize IDE client:", e);
|
|
@@ -60859,17 +60837,17 @@ async function initializeApp(config, settings) {
|
|
|
60859
60837
|
// packages/cli/src/config/auth.ts
|
|
60860
60838
|
async function validateAuthMethod(authMethod) {
|
|
60861
60839
|
loadEnvironment(loadSettings().merged, process.cwd());
|
|
60862
|
-
if (authMethod ===
|
|
60840
|
+
if (authMethod === "oauth-personal" /* LOGIN_WITH_GOOGLE */ || authMethod === "compute-default-credentials" /* COMPUTE_ADC */) {
|
|
60863
60841
|
return null;
|
|
60864
60842
|
}
|
|
60865
|
-
if (authMethod ===
|
|
60843
|
+
if (authMethod === "gemini-api-key" /* USE_GEMINI */) {
|
|
60866
60844
|
const key = process.env["GEMINI_API_KEY"] || await loadApiKey();
|
|
60867
60845
|
if (!key) {
|
|
60868
60846
|
return "When using Gemini API, you must specify the GEMINI_API_KEY environment variable.\nUpdate your environment and try again (no reload needed if using .env)!";
|
|
60869
60847
|
}
|
|
60870
60848
|
return null;
|
|
60871
60849
|
}
|
|
60872
|
-
if (authMethod ===
|
|
60850
|
+
if (authMethod === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
60873
60851
|
const hasVertexProjectLocationConfig = !!process.env["GOOGLE_CLOUD_PROJECT"] && !!process.env["GOOGLE_CLOUD_LOCATION"];
|
|
60874
60852
|
const hasGoogleApiKey = !!process.env["GOOGLE_API_KEY"];
|
|
60875
60853
|
if (!hasVertexProjectLocationConfig && !hasGoogleApiKey) {
|
|
@@ -65395,7 +65373,7 @@ var ExtensionManager = class extends ExtensionLoader {
|
|
|
65395
65373
|
const trustedFolders = loadTrustedFolders();
|
|
65396
65374
|
await trustedFolders.setValue(
|
|
65397
65375
|
this.workspaceDir,
|
|
65398
|
-
|
|
65376
|
+
"TRUST_FOLDER" /* TRUST_FOLDER */
|
|
65399
65377
|
);
|
|
65400
65378
|
} else {
|
|
65401
65379
|
throw new Error(
|
|
@@ -65581,7 +65559,7 @@ Would you like to attempt to install via "git clone" instead?`
|
|
|
65581
65559
|
newExtensionConfig.version,
|
|
65582
65560
|
previousExtensionConfig.version,
|
|
65583
65561
|
installMetadata.type,
|
|
65584
|
-
|
|
65562
|
+
"success" /* Success */
|
|
65585
65563
|
)
|
|
65586
65564
|
);
|
|
65587
65565
|
if (newExtensionName !== previousName) {
|
|
@@ -65604,7 +65582,7 @@ Would you like to attempt to install via "git clone" instead?`
|
|
|
65604
65582
|
getExtensionId(newExtensionConfig, installMetadata),
|
|
65605
65583
|
newExtensionConfig.version,
|
|
65606
65584
|
installMetadata.type,
|
|
65607
|
-
|
|
65585
|
+
"success" /* Success */
|
|
65608
65586
|
)
|
|
65609
65587
|
);
|
|
65610
65588
|
await this.enableExtension(
|
|
@@ -65637,7 +65615,7 @@ Would you like to attempt to install via "git clone" instead?`
|
|
|
65637
65615
|
newExtensionConfig?.version ?? "",
|
|
65638
65616
|
previousExtensionConfig.version,
|
|
65639
65617
|
installMetadata.type,
|
|
65640
|
-
|
|
65618
|
+
"error" /* Error */
|
|
65641
65619
|
)
|
|
65642
65620
|
);
|
|
65643
65621
|
} else {
|
|
@@ -65649,7 +65627,7 @@ Would you like to attempt to install via "git clone" instead?`
|
|
|
65649
65627
|
extensionId ?? "",
|
|
65650
65628
|
newExtensionConfig?.version ?? "",
|
|
65651
65629
|
installMetadata.type,
|
|
65652
|
-
|
|
65630
|
+
"error" /* Error */
|
|
65653
65631
|
)
|
|
65654
65632
|
);
|
|
65655
65633
|
}
|
|
@@ -65680,7 +65658,7 @@ Would you like to attempt to install via "git clone" instead?`
|
|
|
65680
65658
|
extension.name,
|
|
65681
65659
|
hashValue(extension.name),
|
|
65682
65660
|
extension.id,
|
|
65683
|
-
|
|
65661
|
+
"success" /* Success */
|
|
65684
65662
|
)
|
|
65685
65663
|
);
|
|
65686
65664
|
}
|
|
@@ -65942,7 +65920,7 @@ Would you like to attempt to install via "git clone" instead?`
|
|
|
65942
65920
|
if (eventHooks) {
|
|
65943
65921
|
for (const definition of eventHooks) {
|
|
65944
65922
|
for (const hook of definition.hooks) {
|
|
65945
|
-
if (hook.type ===
|
|
65923
|
+
if (hook.type === "command" /* Command */) {
|
|
65946
65924
|
hook.env = { ...hook.env, ...hookEnv };
|
|
65947
65925
|
}
|
|
65948
65926
|
}
|
|
@@ -66490,13 +66468,9 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
|
|
|
66490
66468
|
/**
|
|
66491
66469
|
* Check if server is enabled in FILE (persistent config only).
|
|
66492
66470
|
* Does NOT include session state.
|
|
66493
|
-
* Fails closed (`false`) if the config file exists on disk but cannot be read or parsed.
|
|
66494
66471
|
*/
|
|
66495
66472
|
async isFileEnabled(serverName) {
|
|
66496
66473
|
const config = await this.readConfig();
|
|
66497
|
-
if (!config) {
|
|
66498
|
-
return false;
|
|
66499
|
-
}
|
|
66500
66474
|
const state = config[normalizeServerId(serverName)];
|
|
66501
66475
|
return state?.enabled ?? true;
|
|
66502
66476
|
}
|
|
@@ -66519,14 +66493,10 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
|
|
|
66519
66493
|
/**
|
|
66520
66494
|
* Enable a server persistently.
|
|
66521
66495
|
* Removes the server from config file (defaults to enabled).
|
|
66522
|
-
* Does not overwrite the config file if existing contents cannot be read or parsed.
|
|
66523
66496
|
*/
|
|
66524
66497
|
async enable(serverName) {
|
|
66525
66498
|
const normalizedName = normalizeServerId(serverName);
|
|
66526
66499
|
const config = await this.readConfig();
|
|
66527
|
-
if (!config) {
|
|
66528
|
-
return;
|
|
66529
|
-
}
|
|
66530
66500
|
if (normalizedName in config) {
|
|
66531
66501
|
delete config[normalizedName];
|
|
66532
66502
|
await this.writeConfig(config);
|
|
@@ -66535,13 +66505,9 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
|
|
|
66535
66505
|
/**
|
|
66536
66506
|
* Disable a server persistently.
|
|
66537
66507
|
* Adds server to config file with enabled: false.
|
|
66538
|
-
* Does not overwrite the config file if existing contents cannot be read or parsed.
|
|
66539
66508
|
*/
|
|
66540
66509
|
async disable(serverName) {
|
|
66541
66510
|
const config = await this.readConfig();
|
|
66542
|
-
if (!config) {
|
|
66543
|
-
return;
|
|
66544
|
-
}
|
|
66545
66511
|
config[normalizeServerId(serverName)] = { enabled: false };
|
|
66546
66512
|
await this.writeConfig(config);
|
|
66547
66513
|
}
|
|
@@ -66600,9 +66566,7 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
|
|
|
66600
66566
|
let wasDisabled = false;
|
|
66601
66567
|
if (state.isPersistentDisabled) {
|
|
66602
66568
|
await this.enable(normalizedName);
|
|
66603
|
-
|
|
66604
|
-
wasDisabled = true;
|
|
66605
|
-
}
|
|
66569
|
+
wasDisabled = true;
|
|
66606
66570
|
}
|
|
66607
66571
|
if (state.isSessionDisabled) {
|
|
66608
66572
|
this.clearSessionDisable(normalizedName);
|
|
@@ -66616,22 +66580,11 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
|
|
|
66616
66580
|
}
|
|
66617
66581
|
/**
|
|
66618
66582
|
* Read config from file asynchronously.
|
|
66619
|
-
* Returns `{}` if the file does not exist (`ENOENT`), or `null` if the file
|
|
66620
|
-
* cannot be read or parsed as a valid JSON object.
|
|
66621
66583
|
*/
|
|
66622
66584
|
async readConfig() {
|
|
66623
66585
|
try {
|
|
66624
66586
|
const content = await fs17.readFile(this.configFilePath, "utf-8");
|
|
66625
|
-
|
|
66626
|
-
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
66627
|
-
coreEvents.emitFeedback(
|
|
66628
|
-
"error",
|
|
66629
|
-
"Failed to read MCP server enablement config.",
|
|
66630
|
-
new Error("MCP server enablement config must be a JSON object.")
|
|
66631
|
-
);
|
|
66632
|
-
return null;
|
|
66633
|
-
}
|
|
66634
|
-
return parsed;
|
|
66587
|
+
return JSON.parse(content);
|
|
66635
66588
|
} catch (error) {
|
|
66636
66589
|
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
66637
66590
|
return {};
|
|
@@ -66641,7 +66594,7 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
|
|
|
66641
66594
|
"Failed to read MCP server enablement config.",
|
|
66642
66595
|
error
|
|
66643
66596
|
);
|
|
66644
|
-
return
|
|
66597
|
+
return {};
|
|
66645
66598
|
}
|
|
66646
66599
|
}
|
|
66647
66600
|
/**
|
|
@@ -67070,7 +67023,7 @@ async function readMcpResources(resourceParts, config, signal) {
|
|
|
67070
67023
|
callId: `mcp-resource-${resource.serverName}-${resource.uri}`,
|
|
67071
67024
|
name: `resources/read (${resource.serverName})`,
|
|
67072
67025
|
description: resource.uri,
|
|
67073
|
-
status:
|
|
67026
|
+
status: "success" /* Success */,
|
|
67074
67027
|
isClientInitiated: true,
|
|
67075
67028
|
resultDisplay: `Successfully read resource ${resource.uri}`,
|
|
67076
67029
|
confirmationDetails: void 0
|
|
@@ -67085,7 +67038,7 @@ async function readMcpResources(resourceParts, config, signal) {
|
|
|
67085
67038
|
callId: `mcp-resource-${resource.serverName}-${resource.uri}`,
|
|
67086
67039
|
name: `resources/read (${resource.serverName})`,
|
|
67087
67040
|
description: resource.uri,
|
|
67088
|
-
status:
|
|
67041
|
+
status: "error" /* Error */,
|
|
67089
67042
|
isClientInitiated: true,
|
|
67090
67043
|
resultDisplay: `Error reading resource ${resource.uri}: ${getErrorMessage(error)}`,
|
|
67091
67044
|
confirmationDetails: void 0
|
|
@@ -67110,7 +67063,7 @@ Content from @${result.uri}:
|
|
|
67110
67063
|
}
|
|
67111
67064
|
if (hasError) {
|
|
67112
67065
|
const firstError = displays.find(
|
|
67113
|
-
(d) => d.status ===
|
|
67066
|
+
(d) => d.status === "error" /* Error */
|
|
67114
67067
|
);
|
|
67115
67068
|
return {
|
|
67116
67069
|
parts: [],
|
|
@@ -67151,7 +67104,7 @@ async function readLocalFiles(resolvedFiles, config, signal, userMessageTimestam
|
|
|
67151
67104
|
callId: `client-read-${userMessageTimestamp}`,
|
|
67152
67105
|
name: readManyFilesTool.displayName,
|
|
67153
67106
|
description: invocation.getDescription(),
|
|
67154
|
-
status:
|
|
67107
|
+
status: "success" /* Success */,
|
|
67155
67108
|
isClientInitiated: true,
|
|
67156
67109
|
resultDisplay: result.returnDisplay || `Successfully read: ${fileLabelsForDisplay.join(", ")}`,
|
|
67157
67110
|
confirmationDetails: void 0
|
|
@@ -67198,7 +67151,7 @@ Content from @${displayPath}:
|
|
|
67198
67151
|
callId: `client-read-${userMessageTimestamp}`,
|
|
67199
67152
|
name: readManyFilesTool.displayName,
|
|
67200
67153
|
description: invocation?.getDescription() ?? "Error attempting to execute tool to read files",
|
|
67201
|
-
status:
|
|
67154
|
+
status: "error" /* Error */,
|
|
67202
67155
|
isClientInitiated: true,
|
|
67203
67156
|
resultDisplay: `Error reading files (${fileLabelsForDisplay.join(", ")}): ${getErrorMessage(error)}`,
|
|
67204
67157
|
confirmationDetails: void 0
|
|
@@ -70465,7 +70418,7 @@ async function openFileInEditor(filePath, stdin, setRawMode, preferredEditorType
|
|
|
70465
70418
|
if (wasRaw) {
|
|
70466
70419
|
setRawMode?.(true);
|
|
70467
70420
|
}
|
|
70468
|
-
coreEvents.emit(
|
|
70421
|
+
coreEvents.emit("external-editor-closed" /* ExternalEditorClosed */);
|
|
70469
70422
|
}
|
|
70470
70423
|
}
|
|
70471
70424
|
|
|
@@ -73160,7 +73113,7 @@ async function updateExtension(extension, extensionManager, currentState, dispat
|
|
|
73160
73113
|
extension.name,
|
|
73161
73114
|
installMetadata
|
|
73162
73115
|
);
|
|
73163
|
-
if (status ===
|
|
73116
|
+
if (status === "invalid" /* INVALID */) {
|
|
73164
73117
|
throw new Error("Extension integrity cannot be verified");
|
|
73165
73118
|
}
|
|
73166
73119
|
} catch (e) {
|
|
@@ -74581,11 +74534,11 @@ var ShellProcessor = class {
|
|
|
74581
74534
|
},
|
|
74582
74535
|
void 0
|
|
74583
74536
|
);
|
|
74584
|
-
if (decision ===
|
|
74537
|
+
if (decision === "deny" /* DENY */) {
|
|
74585
74538
|
throw new Error(
|
|
74586
74539
|
`${this.commandName} cannot be run. Blocked command: "${command}". Reason: Blocked by policy.`
|
|
74587
74540
|
);
|
|
74588
|
-
} else if (decision ===
|
|
74541
|
+
} else if (decision === "ask_user" /* ASK_USER */) {
|
|
74589
74542
|
commandsToConfirm.add(command);
|
|
74590
74543
|
}
|
|
74591
74544
|
}
|
|
@@ -75700,7 +75653,7 @@ var MultiFolderTrustDialog = ({
|
|
|
75700
75653
|
if (choice === 1 /* YES_AND_REMEMBER */) {
|
|
75701
75654
|
await trustedFolders.setValue(
|
|
75702
75655
|
expandedPath,
|
|
75703
|
-
|
|
75656
|
+
"TRUST_FOLDER" /* TRUST_FOLDER */
|
|
75704
75657
|
);
|
|
75705
75658
|
}
|
|
75706
75659
|
workspaceContext.addDirectory(expandedPath);
|
|
@@ -75986,10 +75939,10 @@ function isShellTool(name) {
|
|
|
75986
75939
|
return name === SHELL_COMMAND_NAME || name === SHELL_NAME || name === SHELL_TOOL_NAME || normalized === "shell";
|
|
75987
75940
|
}
|
|
75988
75941
|
function isThisShellFocusable(name, status, config) {
|
|
75989
|
-
return !!(isShellTool(name) && status ===
|
|
75942
|
+
return !!(isShellTool(name) && status === "executing" /* Executing */ && config?.getEnableInteractiveShell());
|
|
75990
75943
|
}
|
|
75991
75944
|
function isThisShellFocused(name, status, ptyId, activeShellPtyId, embeddedShellFocused) {
|
|
75992
|
-
return !!(isShellTool(name) && status ===
|
|
75945
|
+
return !!(isShellTool(name) && status === "executing" /* Executing */ && ptyId === activeShellPtyId && embeddedShellFocused);
|
|
75993
75946
|
}
|
|
75994
75947
|
function useFocusHint(isThisShellFocusable2, isThisShellFocused2, resultDisplay) {
|
|
75995
75948
|
const [userHasFocused, setUserHasFocused] = (0, import_react56.useState)(false);
|
|
@@ -76149,14 +76102,14 @@ function getToolGroupBorderAppearance(item, activeShellPtyId, embeddedShellFocus
|
|
|
76149
76102
|
if (isTrackedToolCall(t)) {
|
|
76150
76103
|
return t.status !== "success" && t.status !== "error" && t.status !== "cancelled";
|
|
76151
76104
|
} else {
|
|
76152
|
-
return t.status !==
|
|
76105
|
+
return t.status !== "success" /* Success */ && t.status !== "error" /* Error */ && t.status !== "cancelled" /* Cancelled */;
|
|
76153
76106
|
}
|
|
76154
76107
|
});
|
|
76155
76108
|
const isEmbeddedShellFocused = toolsToInspect.some((t) => {
|
|
76156
76109
|
if (isTrackedToolCall(t)) {
|
|
76157
76110
|
return isShellTool(t.request.name) && t.status === "executing" && t.pid === activeShellPtyId && !!embeddedShellFocused;
|
|
76158
76111
|
} else {
|
|
76159
|
-
return isShellTool(t.name) && t.status ===
|
|
76112
|
+
return isShellTool(t.name) && t.status === "executing" /* Executing */ && t.ptyId === activeShellPtyId && !!embeddedShellFocused;
|
|
76160
76113
|
}
|
|
76161
76114
|
});
|
|
76162
76115
|
const isShellCommand = toolsToInspect.some((t) => {
|
|
@@ -77594,7 +77547,7 @@ var authCommand = {
|
|
|
77594
77547
|
import process29 from "node:process";
|
|
77595
77548
|
|
|
77596
77549
|
// packages/cli/src/generated/git-commit.ts
|
|
77597
|
-
var GIT_COMMIT_INFO = "
|
|
77550
|
+
var GIT_COMMIT_INFO = "9ac01f80f";
|
|
77598
77551
|
|
|
77599
77552
|
// packages/cli/src/ui/utils/historyExportUtils.ts
|
|
77600
77553
|
import * as fsPromises from "node:fs/promises";
|
|
@@ -78240,7 +78193,7 @@ var clearCommand = {
|
|
|
78240
78193
|
const config = context.services.agentContext?.config;
|
|
78241
78194
|
const hookSystem = config?.getHookSystem();
|
|
78242
78195
|
if (hookSystem) {
|
|
78243
|
-
await hookSystem.fireSessionEndEvent(
|
|
78196
|
+
await hookSystem.fireSessionEndEvent("clear" /* Clear */);
|
|
78244
78197
|
}
|
|
78245
78198
|
config?.injectionService.clear();
|
|
78246
78199
|
let newSessionId;
|
|
@@ -78257,7 +78210,7 @@ var clearCommand = {
|
|
|
78257
78210
|
}
|
|
78258
78211
|
let result;
|
|
78259
78212
|
if (hookSystem) {
|
|
78260
|
-
result = await hookSystem.fireSessionStartEvent(
|
|
78213
|
+
result = await hookSystem.fireSessionStartEvent("clear" /* Clear */);
|
|
78261
78214
|
}
|
|
78262
78215
|
await new Promise((resolve9) => setImmediate(resolve9));
|
|
78263
78216
|
if (config) {
|
|
@@ -81256,7 +81209,7 @@ var Footer = () => {
|
|
|
81256
81209
|
case "auth": {
|
|
81257
81210
|
if (!settings.merged.ui.showUserIdentity) break;
|
|
81258
81211
|
if (!authType) break;
|
|
81259
|
-
const displayStr = authType ===
|
|
81212
|
+
const displayStr = authType === "oauth-personal" /* LOGIN_WITH_GOOGLE */ ? email ?? "google" : authType;
|
|
81260
81213
|
addCol(
|
|
81261
81214
|
id,
|
|
81262
81215
|
header,
|
|
@@ -83024,12 +82977,12 @@ import path29 from "node:path";
|
|
|
83024
82977
|
function getIdeStatusMessage(ideClient) {
|
|
83025
82978
|
const connection = ideClient.getConnectionStatus();
|
|
83026
82979
|
switch (connection.status) {
|
|
83027
|
-
case
|
|
82980
|
+
case "connected" /* Connected */:
|
|
83028
82981
|
return {
|
|
83029
82982
|
messageType: "info",
|
|
83030
82983
|
content: `\u{1F7E2} Connected to ${ideClient.getDetectedIdeDisplayName()}`
|
|
83031
82984
|
};
|
|
83032
|
-
case
|
|
82985
|
+
case "connecting" /* Connecting */:
|
|
83033
82986
|
return {
|
|
83034
82987
|
messageType: "info",
|
|
83035
82988
|
content: `\u{1F7E1} Connecting...`
|
|
@@ -83070,7 +83023,7 @@ ${infoMessage}`;
|
|
|
83070
83023
|
async function getIdeStatusMessageWithFiles(ideClient) {
|
|
83071
83024
|
const connection = ideClient.getConnectionStatus();
|
|
83072
83025
|
switch (connection.status) {
|
|
83073
|
-
case
|
|
83026
|
+
case "connected" /* Connected */: {
|
|
83074
83027
|
let content = `\u{1F7E2} Connected to ${ideClient.getDetectedIdeDisplayName()}`;
|
|
83075
83028
|
const context = ideContextStore.get();
|
|
83076
83029
|
const openFiles = context?.workspaceState?.openFiles;
|
|
@@ -83082,7 +83035,7 @@ async function getIdeStatusMessageWithFiles(ideClient) {
|
|
|
83082
83035
|
content
|
|
83083
83036
|
};
|
|
83084
83037
|
}
|
|
83085
|
-
case
|
|
83038
|
+
case "connecting" /* Connecting */:
|
|
83086
83039
|
return {
|
|
83087
83040
|
messageType: "info",
|
|
83088
83041
|
content: `\u{1F7E1} Connecting...`
|
|
@@ -83104,7 +83057,7 @@ async function setIdeModeAndSyncConnection(config, value, options = {}) {
|
|
|
83104
83057
|
const ideClient = await IdeClient.getInstance();
|
|
83105
83058
|
if (value) {
|
|
83106
83059
|
await ideClient.connect(options);
|
|
83107
|
-
logIdeConnection(config, new IdeConnectionEvent(
|
|
83060
|
+
logIdeConnection(config, new IdeConnectionEvent("session" /* SESSION */));
|
|
83108
83061
|
} else {
|
|
83109
83062
|
await ideClient.disconnect();
|
|
83110
83063
|
}
|
|
@@ -83192,7 +83145,7 @@ var ideCommand = async () => {
|
|
|
83192
83145
|
logToConsole: false
|
|
83193
83146
|
}
|
|
83194
83147
|
);
|
|
83195
|
-
if (ideClient.getConnectionStatus().status ===
|
|
83148
|
+
if (ideClient.getConnectionStatus().status === "connected" /* Connected */) {
|
|
83196
83149
|
break;
|
|
83197
83150
|
}
|
|
83198
83151
|
await new Promise((resolve9) => setTimeout(resolve9, 500));
|
|
@@ -83269,7 +83222,7 @@ var ideCommand = async () => {
|
|
|
83269
83222
|
}
|
|
83270
83223
|
};
|
|
83271
83224
|
const { status } = ideClient.getConnectionStatus();
|
|
83272
|
-
const isConnected = status ===
|
|
83225
|
+
const isConnected = status === "connected" /* Connected */;
|
|
83273
83226
|
if (isConnected) {
|
|
83274
83227
|
ideSlashCommand.subCommands = [statusCommand2, disableCommand5];
|
|
83275
83228
|
} else {
|
|
@@ -83369,13 +83322,13 @@ Use /mcp auth <server-name> to authenticate.`
|
|
|
83369
83322
|
const displayListener = (message) => {
|
|
83370
83323
|
context.ui.addItem({ type: "info", text: message });
|
|
83371
83324
|
};
|
|
83372
|
-
coreEvents.on(
|
|
83325
|
+
coreEvents.on("oauth-display-message" /* OauthDisplayMessage */, displayListener);
|
|
83373
83326
|
try {
|
|
83374
83327
|
context.ui.addItem({
|
|
83375
83328
|
type: "info",
|
|
83376
83329
|
text: `Starting OAuth authentication for MCP server '${serverName}'...`
|
|
83377
83330
|
});
|
|
83378
|
-
const { MCPOAuthProvider } = await import("./
|
|
83331
|
+
const { MCPOAuthProvider } = await import("./core-4NPF436I.js");
|
|
83379
83332
|
let oauthConfig = server.oauth;
|
|
83380
83333
|
if (!oauthConfig) {
|
|
83381
83334
|
oauthConfig = { enabled: false };
|
|
@@ -83412,7 +83365,7 @@ Use /mcp auth <server-name> to authenticate.`
|
|
|
83412
83365
|
content: `Failed to authenticate with MCP server '${serverName}': ${getErrorMessage(error)}`
|
|
83413
83366
|
};
|
|
83414
83367
|
} finally {
|
|
83415
|
-
coreEvents.removeListener(
|
|
83368
|
+
coreEvents.removeListener("oauth-display-message" /* OauthDisplayMessage */, displayListener);
|
|
83416
83369
|
}
|
|
83417
83370
|
},
|
|
83418
83371
|
completion: async (context, partialArg) => {
|
|
@@ -83458,10 +83411,10 @@ var listAction2 = async (context, showDescriptions = false, showSchema = false,
|
|
|
83458
83411
|
}
|
|
83459
83412
|
const serverNames = Object.keys(mcpServers);
|
|
83460
83413
|
const connectingServers = serverNames.filter(
|
|
83461
|
-
(name) => getMCPServerStatus(name) ===
|
|
83414
|
+
(name) => getMCPServerStatus(name) === "connecting" /* CONNECTING */
|
|
83462
83415
|
);
|
|
83463
83416
|
const discoveryState = getMCPDiscoveryState();
|
|
83464
|
-
const discoveryInProgress = discoveryState ===
|
|
83417
|
+
const discoveryInProgress = discoveryState === "in_progress" /* IN_PROGRESS */ || connectingServers.length > 0;
|
|
83465
83418
|
const allTools = toolRegistry.getAllTools();
|
|
83466
83419
|
const mcpTools = allTools.filter((tool) => tool instanceof DiscoveredMCPTool);
|
|
83467
83420
|
const promptRegistry = config.getPromptRegistry();
|
|
@@ -99233,7 +99186,7 @@ Return a JSON object with:
|
|
|
99233
99186
|
},
|
|
99234
99187
|
abortSignal: new AbortController().signal,
|
|
99235
99188
|
promptId: "triage-duplicates",
|
|
99236
|
-
role:
|
|
99189
|
+
role: "utility_tool" /* UTILITY_TOOL */
|
|
99237
99190
|
});
|
|
99238
99191
|
const rec = response;
|
|
99239
99192
|
let canonical;
|
|
@@ -100067,7 +100020,7 @@ Return a JSON object with:
|
|
|
100067
100020
|
},
|
|
100068
100021
|
abortSignal: abortControllerRef.current.signal,
|
|
100069
100022
|
promptId: "triage-issues",
|
|
100070
|
-
role:
|
|
100023
|
+
role: "utility_tool" /* UTILITY_TOOL */
|
|
100071
100024
|
});
|
|
100072
100025
|
return response;
|
|
100073
100026
|
},
|
|
@@ -100641,8 +100594,8 @@ var planCommand = {
|
|
|
100641
100594
|
return;
|
|
100642
100595
|
}
|
|
100643
100596
|
const previousApprovalMode = config.getApprovalMode();
|
|
100644
|
-
config.setApprovalMode(
|
|
100645
|
-
if (previousApprovalMode !==
|
|
100597
|
+
config.setApprovalMode("plan" /* PLAN */);
|
|
100598
|
+
if (previousApprovalMode !== "plan" /* PLAN */) {
|
|
100646
100599
|
coreEvents.emitFeedback("info", "Switched to Plan Mode.");
|
|
100647
100600
|
}
|
|
100648
100601
|
if (context.invocation?.args) {
|
|
@@ -100701,10 +100654,10 @@ var categorizeRulesByMode = (rules) => {
|
|
|
100701
100654
|
rules.forEach((rule) => {
|
|
100702
100655
|
const modes = rule.modes?.length ? rule.modes : ALL_MODES;
|
|
100703
100656
|
const modeSet = new Set(modes);
|
|
100704
|
-
if (modeSet.has(
|
|
100705
|
-
if (modeSet.has(
|
|
100706
|
-
if (modeSet.has(
|
|
100707
|
-
if (modeSet.has(
|
|
100657
|
+
if (modeSet.has("default" /* DEFAULT */)) result.normal.push(rule);
|
|
100658
|
+
if (modeSet.has("autoEdit" /* AUTO_EDIT */)) result.autoEdit.push(rule);
|
|
100659
|
+
if (modeSet.has("yolo" /* YOLO */)) result.yolo.push(rule);
|
|
100660
|
+
if (modeSet.has("plan" /* PLAN */)) result.plan.push(rule);
|
|
100708
100661
|
});
|
|
100709
100662
|
return result;
|
|
100710
100663
|
};
|
|
@@ -102085,7 +102038,7 @@ var upgradeCommand = {
|
|
|
102085
102038
|
action: async (context) => {
|
|
102086
102039
|
const config = context.services.agentContext?.config;
|
|
102087
102040
|
const authType = config?.getContentGeneratorConfig()?.authType;
|
|
102088
|
-
if (authType !==
|
|
102041
|
+
if (authType !== "oauth-personal" /* LOGIN_WITH_GOOGLE */) {
|
|
102089
102042
|
return {
|
|
102090
102043
|
type: "message",
|
|
102091
102044
|
messageType: "error",
|
|
@@ -102314,7 +102267,7 @@ var BuiltinCommandLoader = class {
|
|
|
102314
102267
|
setupGithubCommand,
|
|
102315
102268
|
terminalSetupCommand,
|
|
102316
102269
|
...this.config?.isVoiceModeEnabled() ? [voiceCommand] : [],
|
|
102317
|
-
...this.config?.getContentGeneratorConfig()?.authType ===
|
|
102270
|
+
...this.config?.getContentGeneratorConfig()?.authType === "oauth-personal" /* LOGIN_WITH_GOOGLE */ ? [upgradeCommand] : []
|
|
102318
102271
|
];
|
|
102319
102272
|
handle?.end();
|
|
102320
102273
|
return allDefinitions.filter((cmd) => cmd !== null);
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
runSyncCleanup,
|
|
12
12
|
setupSignalHandlers,
|
|
13
13
|
setupTtyCheck
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-TYBBTU4O.js";
|
|
15
|
+
import "./chunk-MLY4WQFO.js";
|
|
16
16
|
import "./chunk-664ZODQF.js";
|
|
17
17
|
import "./chunk-IUUIT4SU.js";
|
|
18
18
|
import "./chunk-L6PII3GR.js";
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
runSyncCleanup,
|
|
12
12
|
setupSignalHandlers,
|
|
13
13
|
setupTtyCheck
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-E2SRID3J.js";
|
|
15
|
+
import "./chunk-2DHAEQE2.js";
|
|
16
16
|
import "./chunk-664ZODQF.js";
|
|
17
17
|
import "./chunk-IUUIT4SU.js";
|
|
18
18
|
import "./chunk-L6PII3GR.js";
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
runSyncCleanup,
|
|
12
12
|
setupSignalHandlers,
|
|
13
13
|
setupTtyCheck
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-7ETVC4KO.js";
|
|
15
|
+
import "./chunk-72GZSNV7.js";
|
|
16
16
|
import "./chunk-664ZODQF.js";
|
|
17
17
|
import "./chunk-IUUIT4SU.js";
|
|
18
18
|
import "./chunk-L6PII3GR.js";
|