@google/gemini-cli-a2a-server 0.34.0-preview.2 → 0.34.0-preview.3
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/a2a-server.mjs +267 -289
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/a2a-server.mjs
CHANGED
|
@@ -94139,161 +94139,6 @@ var init_base_token_storage = __esm({
|
|
|
94139
94139
|
}
|
|
94140
94140
|
});
|
|
94141
94141
|
|
|
94142
|
-
// packages/core/dist/src/mcp/token-storage/file-token-storage.js
|
|
94143
|
-
import { promises as fs16 } from "node:fs";
|
|
94144
|
-
import * as path9 from "node:path";
|
|
94145
|
-
import * as os6 from "node:os";
|
|
94146
|
-
import * as crypto11 from "node:crypto";
|
|
94147
|
-
var FileTokenStorage;
|
|
94148
|
-
var init_file_token_storage = __esm({
|
|
94149
|
-
"packages/core/dist/src/mcp/token-storage/file-token-storage.js"() {
|
|
94150
|
-
"use strict";
|
|
94151
|
-
init_base_token_storage();
|
|
94152
|
-
init_paths();
|
|
94153
|
-
FileTokenStorage = class extends BaseTokenStorage {
|
|
94154
|
-
tokenFilePath;
|
|
94155
|
-
encryptionKey;
|
|
94156
|
-
constructor(serviceName) {
|
|
94157
|
-
super(serviceName);
|
|
94158
|
-
const configDir = path9.join(homedir(), GEMINI_DIR);
|
|
94159
|
-
this.tokenFilePath = path9.join(configDir, "mcp-oauth-tokens-v2.json");
|
|
94160
|
-
this.encryptionKey = this.deriveEncryptionKey();
|
|
94161
|
-
}
|
|
94162
|
-
deriveEncryptionKey() {
|
|
94163
|
-
const salt = `${os6.hostname()}-${os6.userInfo().username}-gemini-cli`;
|
|
94164
|
-
return crypto11.scryptSync("gemini-cli-oauth", salt, 32);
|
|
94165
|
-
}
|
|
94166
|
-
encrypt(text) {
|
|
94167
|
-
const iv = crypto11.randomBytes(16);
|
|
94168
|
-
const cipher = crypto11.createCipheriv("aes-256-gcm", this.encryptionKey, iv);
|
|
94169
|
-
let encrypted = cipher.update(text, "utf8", "hex");
|
|
94170
|
-
encrypted += cipher.final("hex");
|
|
94171
|
-
const authTag = cipher.getAuthTag();
|
|
94172
|
-
return iv.toString("hex") + ":" + authTag.toString("hex") + ":" + encrypted;
|
|
94173
|
-
}
|
|
94174
|
-
decrypt(encryptedData) {
|
|
94175
|
-
const parts2 = encryptedData.split(":");
|
|
94176
|
-
if (parts2.length !== 3) {
|
|
94177
|
-
throw new Error("Invalid encrypted data format");
|
|
94178
|
-
}
|
|
94179
|
-
const iv = Buffer.from(parts2[0], "hex");
|
|
94180
|
-
const authTag = Buffer.from(parts2[1], "hex");
|
|
94181
|
-
const encrypted = parts2[2];
|
|
94182
|
-
const decipher = crypto11.createDecipheriv("aes-256-gcm", this.encryptionKey, iv);
|
|
94183
|
-
decipher.setAuthTag(authTag);
|
|
94184
|
-
let decrypted = decipher.update(encrypted, "hex", "utf8");
|
|
94185
|
-
decrypted += decipher.final("utf8");
|
|
94186
|
-
return decrypted;
|
|
94187
|
-
}
|
|
94188
|
-
async ensureDirectoryExists() {
|
|
94189
|
-
const dir = path9.dirname(this.tokenFilePath);
|
|
94190
|
-
await fs16.mkdir(dir, { recursive: true, mode: 448 });
|
|
94191
|
-
}
|
|
94192
|
-
async loadTokens() {
|
|
94193
|
-
try {
|
|
94194
|
-
const data = await fs16.readFile(this.tokenFilePath, "utf-8");
|
|
94195
|
-
const decrypted = this.decrypt(data);
|
|
94196
|
-
const tokens = JSON.parse(decrypted);
|
|
94197
|
-
return new Map(Object.entries(tokens));
|
|
94198
|
-
} catch (error2) {
|
|
94199
|
-
const err2 = error2;
|
|
94200
|
-
if (err2.code === "ENOENT") {
|
|
94201
|
-
return /* @__PURE__ */ new Map();
|
|
94202
|
-
}
|
|
94203
|
-
if (err2.message?.includes("Invalid encrypted data format") || err2.message?.includes("Unsupported state or unable to authenticate data")) {
|
|
94204
|
-
throw new Error(`Corrupted token file detected at: ${this.tokenFilePath}
|
|
94205
|
-
Please delete or rename this file to resolve the issue.`);
|
|
94206
|
-
}
|
|
94207
|
-
throw error2;
|
|
94208
|
-
}
|
|
94209
|
-
}
|
|
94210
|
-
async saveTokens(tokens) {
|
|
94211
|
-
await this.ensureDirectoryExists();
|
|
94212
|
-
const data = Object.fromEntries(tokens);
|
|
94213
|
-
const json2 = JSON.stringify(data, null, 2);
|
|
94214
|
-
const encrypted = this.encrypt(json2);
|
|
94215
|
-
await fs16.writeFile(this.tokenFilePath, encrypted, { mode: 384 });
|
|
94216
|
-
}
|
|
94217
|
-
async getCredentials(serverName) {
|
|
94218
|
-
const tokens = await this.loadTokens();
|
|
94219
|
-
const credentials2 = tokens.get(serverName);
|
|
94220
|
-
if (!credentials2) {
|
|
94221
|
-
return null;
|
|
94222
|
-
}
|
|
94223
|
-
if (this.isTokenExpired(credentials2)) {
|
|
94224
|
-
return null;
|
|
94225
|
-
}
|
|
94226
|
-
return credentials2;
|
|
94227
|
-
}
|
|
94228
|
-
async setCredentials(credentials2) {
|
|
94229
|
-
this.validateCredentials(credentials2);
|
|
94230
|
-
const tokens = await this.loadTokens();
|
|
94231
|
-
const updatedCredentials = {
|
|
94232
|
-
...credentials2,
|
|
94233
|
-
updatedAt: Date.now()
|
|
94234
|
-
};
|
|
94235
|
-
tokens.set(credentials2.serverName, updatedCredentials);
|
|
94236
|
-
await this.saveTokens(tokens);
|
|
94237
|
-
}
|
|
94238
|
-
async deleteCredentials(serverName) {
|
|
94239
|
-
const tokens = await this.loadTokens();
|
|
94240
|
-
if (!tokens.has(serverName)) {
|
|
94241
|
-
throw new Error(`No credentials found for ${serverName}`);
|
|
94242
|
-
}
|
|
94243
|
-
tokens.delete(serverName);
|
|
94244
|
-
if (tokens.size === 0) {
|
|
94245
|
-
try {
|
|
94246
|
-
await fs16.unlink(this.tokenFilePath);
|
|
94247
|
-
} catch (error2) {
|
|
94248
|
-
const err2 = error2;
|
|
94249
|
-
if (err2.code !== "ENOENT") {
|
|
94250
|
-
throw error2;
|
|
94251
|
-
}
|
|
94252
|
-
}
|
|
94253
|
-
} else {
|
|
94254
|
-
await this.saveTokens(tokens);
|
|
94255
|
-
}
|
|
94256
|
-
}
|
|
94257
|
-
async listServers() {
|
|
94258
|
-
const tokens = await this.loadTokens();
|
|
94259
|
-
return Array.from(tokens.keys());
|
|
94260
|
-
}
|
|
94261
|
-
async getAllCredentials() {
|
|
94262
|
-
const tokens = await this.loadTokens();
|
|
94263
|
-
const result2 = /* @__PURE__ */ new Map();
|
|
94264
|
-
for (const [serverName, credentials2] of tokens) {
|
|
94265
|
-
if (!this.isTokenExpired(credentials2)) {
|
|
94266
|
-
result2.set(serverName, credentials2);
|
|
94267
|
-
}
|
|
94268
|
-
}
|
|
94269
|
-
return result2;
|
|
94270
|
-
}
|
|
94271
|
-
async clearAll() {
|
|
94272
|
-
try {
|
|
94273
|
-
await fs16.unlink(this.tokenFilePath);
|
|
94274
|
-
} catch (error2) {
|
|
94275
|
-
const err2 = error2;
|
|
94276
|
-
if (err2.code !== "ENOENT") {
|
|
94277
|
-
throw error2;
|
|
94278
|
-
}
|
|
94279
|
-
}
|
|
94280
|
-
}
|
|
94281
|
-
};
|
|
94282
|
-
}
|
|
94283
|
-
});
|
|
94284
|
-
|
|
94285
|
-
// packages/core/dist/src/mcp/token-storage/types.js
|
|
94286
|
-
var TokenStorageType;
|
|
94287
|
-
var init_types = __esm({
|
|
94288
|
-
"packages/core/dist/src/mcp/token-storage/types.js"() {
|
|
94289
|
-
"use strict";
|
|
94290
|
-
(function(TokenStorageType2) {
|
|
94291
|
-
TokenStorageType2["KEYCHAIN"] = "keychain";
|
|
94292
|
-
TokenStorageType2["ENCRYPTED_FILE"] = "encrypted_file";
|
|
94293
|
-
})(TokenStorageType || (TokenStorageType = {}));
|
|
94294
|
-
}
|
|
94295
|
-
});
|
|
94296
|
-
|
|
94297
94142
|
// packages/core/dist/src/utils/events.js
|
|
94298
94143
|
import { EventEmitter as EventEmitter2 } from "node:events";
|
|
94299
94144
|
var CoreEvent, CoreEventEmitter, coreEvents;
|
|
@@ -94477,7 +94322,7 @@ var init_events = __esm({
|
|
|
94477
94322
|
|
|
94478
94323
|
// packages/core/dist/src/policy/types.js
|
|
94479
94324
|
var PolicyDecision, ApprovalMode, InProcessCheckerType, PRIORITY_SUBAGENT_TOOL;
|
|
94480
|
-
var
|
|
94325
|
+
var init_types = __esm({
|
|
94481
94326
|
"packages/core/dist/src/policy/types.js"() {
|
|
94482
94327
|
"use strict";
|
|
94483
94328
|
(function(PolicyDecision2) {
|
|
@@ -94501,10 +94346,10 @@ var init_types2 = __esm({
|
|
|
94501
94346
|
|
|
94502
94347
|
// packages/core/dist/src/scheduler/types.js
|
|
94503
94348
|
var ROOT_SCHEDULER_ID, CoreToolCallStatus;
|
|
94504
|
-
var
|
|
94349
|
+
var init_types2 = __esm({
|
|
94505
94350
|
"packages/core/dist/src/scheduler/types.js"() {
|
|
94506
94351
|
"use strict";
|
|
94507
|
-
|
|
94352
|
+
init_types();
|
|
94508
94353
|
ROOT_SCHEDULER_ID = "root";
|
|
94509
94354
|
(function(CoreToolCallStatus2) {
|
|
94510
94355
|
CoreToolCallStatus2["Validating"] = "validating";
|
|
@@ -107903,7 +107748,7 @@ var init_schemaValidator = __esm({
|
|
|
107903
107748
|
|
|
107904
107749
|
// packages/core/dist/src/confirmation-bus/types.js
|
|
107905
107750
|
var MessageBusType, QuestionType;
|
|
107906
|
-
var
|
|
107751
|
+
var init_types3 = __esm({
|
|
107907
107752
|
"packages/core/dist/src/confirmation-bus/types.js"() {
|
|
107908
107753
|
"use strict";
|
|
107909
107754
|
init_node();
|
|
@@ -107998,8 +107843,8 @@ var init_tools = __esm({
|
|
|
107998
107843
|
"use strict";
|
|
107999
107844
|
init_tool_error();
|
|
108000
107845
|
init_schemaValidator();
|
|
108001
|
-
|
|
108002
|
-
|
|
107846
|
+
init_types3();
|
|
107847
|
+
init_types();
|
|
108003
107848
|
BaseToolInvocation = class {
|
|
108004
107849
|
params;
|
|
108005
107850
|
messageBus;
|
|
@@ -108920,7 +108765,7 @@ var init_ComponentLogger = __esm({
|
|
|
108920
108765
|
|
|
108921
108766
|
// node_modules/@opentelemetry/api/build/esm/diag/types.js
|
|
108922
108767
|
var DiagLogLevel;
|
|
108923
|
-
var
|
|
108768
|
+
var init_types4 = __esm({
|
|
108924
108769
|
"node_modules/@opentelemetry/api/build/esm/diag/types.js"() {
|
|
108925
108770
|
(function(DiagLogLevel2) {
|
|
108926
108771
|
DiagLogLevel2[DiagLogLevel2["NONE"] = 0] = "NONE";
|
|
@@ -108960,7 +108805,7 @@ function createLogLevelDiagLogger(maxLevel, logger7) {
|
|
|
108960
108805
|
}
|
|
108961
108806
|
var init_logLevelLogger = __esm({
|
|
108962
108807
|
"node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js"() {
|
|
108963
|
-
|
|
108808
|
+
init_types4();
|
|
108964
108809
|
}
|
|
108965
108810
|
});
|
|
108966
108811
|
|
|
@@ -108970,7 +108815,7 @@ var init_diag = __esm({
|
|
|
108970
108815
|
"node_modules/@opentelemetry/api/build/esm/api/diag.js"() {
|
|
108971
108816
|
init_ComponentLogger();
|
|
108972
108817
|
init_logLevelLogger();
|
|
108973
|
-
|
|
108818
|
+
init_types4();
|
|
108974
108819
|
init_global_utils();
|
|
108975
108820
|
__read2 = function(o3, n3) {
|
|
108976
108821
|
var m3 = typeof Symbol === "function" && o3[Symbol.iterator];
|
|
@@ -110279,7 +110124,7 @@ var init_esm = __esm({
|
|
|
110279
110124
|
init_utils();
|
|
110280
110125
|
init_context();
|
|
110281
110126
|
init_consoleLogger();
|
|
110282
|
-
|
|
110127
|
+
init_types4();
|
|
110283
110128
|
init_NoopMeter();
|
|
110284
110129
|
init_Metric();
|
|
110285
110130
|
init_TextMapPropagator();
|
|
@@ -110341,9 +110186,9 @@ var init_constants = __esm({
|
|
|
110341
110186
|
});
|
|
110342
110187
|
|
|
110343
110188
|
// packages/core/dist/src/utils/installationManager.js
|
|
110344
|
-
import * as
|
|
110189
|
+
import * as fs16 from "node:fs";
|
|
110345
110190
|
import { randomUUID as randomUUID4 } from "node:crypto";
|
|
110346
|
-
import * as
|
|
110191
|
+
import * as path9 from "node:path";
|
|
110347
110192
|
var InstallationManager;
|
|
110348
110193
|
var init_installationManager = __esm({
|
|
110349
110194
|
"packages/core/dist/src/utils/installationManager.js"() {
|
|
@@ -110356,17 +110201,17 @@ var init_installationManager = __esm({
|
|
|
110356
110201
|
}
|
|
110357
110202
|
readInstallationIdFromFile() {
|
|
110358
110203
|
const installationIdFile = this.getInstallationIdPath();
|
|
110359
|
-
if (
|
|
110360
|
-
const installationid =
|
|
110204
|
+
if (fs16.existsSync(installationIdFile)) {
|
|
110205
|
+
const installationid = fs16.readFileSync(installationIdFile, "utf-8").trim();
|
|
110361
110206
|
return installationid || null;
|
|
110362
110207
|
}
|
|
110363
110208
|
return null;
|
|
110364
110209
|
}
|
|
110365
110210
|
writeInstallationIdToFile(installationId) {
|
|
110366
110211
|
const installationIdFile = this.getInstallationIdPath();
|
|
110367
|
-
const dir =
|
|
110368
|
-
|
|
110369
|
-
|
|
110212
|
+
const dir = path9.dirname(installationIdFile);
|
|
110213
|
+
fs16.mkdirSync(dir, { recursive: true });
|
|
110214
|
+
fs16.writeFileSync(installationIdFile, installationId, "utf-8");
|
|
110370
110215
|
}
|
|
110371
110216
|
/**
|
|
110372
110217
|
* Retrieves the installation ID from a file, creating it if it doesn't exist.
|
|
@@ -113702,10 +113547,10 @@ function makeChatCompressionEvent({ tokens_before, tokens_after }) {
|
|
|
113702
113547
|
};
|
|
113703
113548
|
}
|
|
113704
113549
|
var EVENT_TOOL_CALL, ToolCallEvent, EVENT_API_REQUEST, ApiRequestEvent, EVENT_API_ERROR, ApiErrorEvent, EVENT_API_RESPONSE, EVENT_GEN_AI_OPERATION_DETAILS, ApiResponseEvent, EVENT_FLASH_FALLBACK, FlashFallbackEvent, EVENT_RIPGREP_FALLBACK, RipgrepFallbackEvent, LoopType, LoopDetectedEvent, LoopDetectionDisabledEvent, EVENT_NEXT_SPEAKER_CHECK, NextSpeakerCheckEvent, EVENT_CONSECA_POLICY_GENERATION, ConsecaPolicyGenerationEvent, EVENT_CONSECA_VERDICT, ConsecaVerdictEvent, SlashCommandStatus, EVENT_CHAT_COMPRESSION2, EVENT_MALFORMED_JSON_RESPONSE, MalformedJsonResponseEvent, IdeConnectionType, EVENT_FILE_OPERATION, FileOperationEvent, EVENT_INVALID_CHUNK, InvalidChunkEvent, EVENT_CONTENT_RETRY, ContentRetryEvent, EVENT_CONTENT_RETRY_FAILURE, ContentRetryFailureEvent, EVENT_MODEL_ROUTING, ModelRoutingEvent, EVENT_TOOL_OUTPUT_TRUNCATED, ToolOutputTruncatedEvent, EVENT_TOOL_OUTPUT_MASKING, ToolOutputMaskingEvent, EVENT_LLM_LOOP_CHECK, LlmLoopCheckEvent, EVENT_EDIT_STRATEGY, EditStrategyEvent, EVENT_EDIT_CORRECTION, EditCorrectionEvent, EVENT_STARTUP_STATS, StartupStatsEvent, BaseAgentEvent, EVENT_AGENT_START, AgentStartEvent, EVENT_AGENT_FINISH, AgentFinishEvent, EVENT_AGENT_RECOVERY_ATTEMPT, RecoveryAttemptEvent, EVENT_WEB_FETCH_FALLBACK_ATTEMPT, WebFetchFallbackAttemptEvent, EVENT_HOOK_CALL, EVENT_APPROVAL_MODE_SWITCH, ApprovalModeSwitchEvent, EVENT_APPROVAL_MODE_DURATION, ApprovalModeDurationEvent, EVENT_PLAN_EXECUTION, PlanExecutionEvent, HookCallEvent, EVENT_KEYCHAIN_AVAILABILITY, KeychainAvailabilityEvent, EVENT_TOKEN_STORAGE_INITIALIZATION, TokenStorageInitializationEvent;
|
|
113705
|
-
var
|
|
113550
|
+
var init_types5 = __esm({
|
|
113706
113551
|
"packages/core/dist/src/telemetry/types.js"() {
|
|
113707
113552
|
"use strict";
|
|
113708
|
-
|
|
113553
|
+
init_types2();
|
|
113709
113554
|
init_mcp_tool();
|
|
113710
113555
|
init_contentGenerator();
|
|
113711
113556
|
init_tool_call_decision();
|
|
@@ -115677,7 +115522,7 @@ function custom(check2, _params = {}, fatal) {
|
|
|
115677
115522
|
return ZodAny.create();
|
|
115678
115523
|
}
|
|
115679
115524
|
var ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, BRAND, ZodBranded, ZodPipeline, ZodReadonly, late, ZodFirstPartyTypeKind, instanceOfType, stringType, numberType, nanType, bigIntType, booleanType, dateType, symbolType, undefinedType, nullType, anyType, unknownType, neverType, voidType, arrayType, objectType, strictObjectType, unionType, discriminatedUnionType, intersectionType, tupleType, recordType, mapType, setType, functionType, lazyType, literalType, enumType, nativeEnumType, promiseType, effectsType, optionalType, nullableType, preprocessType, pipelineType, ostring, onumber, oboolean, coerce, NEVER;
|
|
115680
|
-
var
|
|
115525
|
+
var init_types6 = __esm({
|
|
115681
115526
|
"node_modules/zod/v3/types.js"() {
|
|
115682
115527
|
init_ZodError();
|
|
115683
115528
|
init_errors2();
|
|
@@ -119057,7 +118902,7 @@ var init_external = __esm({
|
|
|
119057
118902
|
init_parseUtil();
|
|
119058
118903
|
init_typeAliases();
|
|
119059
118904
|
init_util();
|
|
119060
|
-
|
|
118905
|
+
init_types6();
|
|
119061
118906
|
init_ZodError();
|
|
119062
118907
|
}
|
|
119063
118908
|
});
|
|
@@ -119179,17 +119024,137 @@ var init_markdownUtils = __esm({
|
|
|
119179
119024
|
}
|
|
119180
119025
|
});
|
|
119181
119026
|
|
|
119027
|
+
// packages/core/dist/src/services/fileKeychain.js
|
|
119028
|
+
import { promises as fs17 } from "node:fs";
|
|
119029
|
+
import * as path10 from "node:path";
|
|
119030
|
+
import * as os6 from "node:os";
|
|
119031
|
+
import * as crypto11 from "node:crypto";
|
|
119032
|
+
var FileKeychain;
|
|
119033
|
+
var init_fileKeychain = __esm({
|
|
119034
|
+
"packages/core/dist/src/services/fileKeychain.js"() {
|
|
119035
|
+
"use strict";
|
|
119036
|
+
init_paths();
|
|
119037
|
+
FileKeychain = class {
|
|
119038
|
+
tokenFilePath;
|
|
119039
|
+
encryptionKey;
|
|
119040
|
+
constructor() {
|
|
119041
|
+
const configDir = path10.join(homedir(), GEMINI_DIR);
|
|
119042
|
+
this.tokenFilePath = path10.join(configDir, "gemini-credentials.json");
|
|
119043
|
+
this.encryptionKey = this.deriveEncryptionKey();
|
|
119044
|
+
}
|
|
119045
|
+
deriveEncryptionKey() {
|
|
119046
|
+
const salt = `${os6.hostname()}-${os6.userInfo().username}-gemini-cli`;
|
|
119047
|
+
return crypto11.scryptSync("gemini-cli-oauth", salt, 32);
|
|
119048
|
+
}
|
|
119049
|
+
encrypt(text) {
|
|
119050
|
+
const iv = crypto11.randomBytes(16);
|
|
119051
|
+
const cipher = crypto11.createCipheriv("aes-256-gcm", this.encryptionKey, iv);
|
|
119052
|
+
let encrypted = cipher.update(text, "utf8", "hex");
|
|
119053
|
+
encrypted += cipher.final("hex");
|
|
119054
|
+
const authTag = cipher.getAuthTag();
|
|
119055
|
+
return iv.toString("hex") + ":" + authTag.toString("hex") + ":" + encrypted;
|
|
119056
|
+
}
|
|
119057
|
+
decrypt(encryptedData) {
|
|
119058
|
+
const parts2 = encryptedData.split(":");
|
|
119059
|
+
if (parts2.length !== 3) {
|
|
119060
|
+
throw new Error("Invalid encrypted data format");
|
|
119061
|
+
}
|
|
119062
|
+
const iv = Buffer.from(parts2[0], "hex");
|
|
119063
|
+
const authTag = Buffer.from(parts2[1], "hex");
|
|
119064
|
+
const encrypted = parts2[2];
|
|
119065
|
+
const decipher = crypto11.createDecipheriv("aes-256-gcm", this.encryptionKey, iv);
|
|
119066
|
+
decipher.setAuthTag(authTag);
|
|
119067
|
+
let decrypted = decipher.update(encrypted, "hex", "utf8");
|
|
119068
|
+
decrypted += decipher.final("utf8");
|
|
119069
|
+
return decrypted;
|
|
119070
|
+
}
|
|
119071
|
+
async ensureDirectoryExists() {
|
|
119072
|
+
const dir = path10.dirname(this.tokenFilePath);
|
|
119073
|
+
await fs17.mkdir(dir, { recursive: true, mode: 448 });
|
|
119074
|
+
}
|
|
119075
|
+
async loadData() {
|
|
119076
|
+
try {
|
|
119077
|
+
const data = await fs17.readFile(this.tokenFilePath, "utf-8");
|
|
119078
|
+
const decrypted = this.decrypt(data);
|
|
119079
|
+
return JSON.parse(decrypted);
|
|
119080
|
+
} catch (error2) {
|
|
119081
|
+
const err2 = error2;
|
|
119082
|
+
if (err2.code === "ENOENT") {
|
|
119083
|
+
return {};
|
|
119084
|
+
}
|
|
119085
|
+
if (err2.message?.includes("Invalid encrypted data format") || err2.message?.includes("Unsupported state or unable to authenticate data")) {
|
|
119086
|
+
throw new Error(`Corrupted credentials file detected at: ${this.tokenFilePath}
|
|
119087
|
+
Please delete or rename this file to resolve the issue.`);
|
|
119088
|
+
}
|
|
119089
|
+
throw error2;
|
|
119090
|
+
}
|
|
119091
|
+
}
|
|
119092
|
+
async saveData(data) {
|
|
119093
|
+
await this.ensureDirectoryExists();
|
|
119094
|
+
const json2 = JSON.stringify(data, null, 2);
|
|
119095
|
+
const encrypted = this.encrypt(json2);
|
|
119096
|
+
await fs17.writeFile(this.tokenFilePath, encrypted, { mode: 384 });
|
|
119097
|
+
}
|
|
119098
|
+
async getPassword(service, account) {
|
|
119099
|
+
const data = await this.loadData();
|
|
119100
|
+
return data[service]?.[account] ?? null;
|
|
119101
|
+
}
|
|
119102
|
+
async setPassword(service, account, password) {
|
|
119103
|
+
const data = await this.loadData();
|
|
119104
|
+
if (!data[service]) {
|
|
119105
|
+
data[service] = {};
|
|
119106
|
+
}
|
|
119107
|
+
data[service][account] = password;
|
|
119108
|
+
await this.saveData(data);
|
|
119109
|
+
}
|
|
119110
|
+
async deletePassword(service, account) {
|
|
119111
|
+
const data = await this.loadData();
|
|
119112
|
+
if (data[service] && account in data[service]) {
|
|
119113
|
+
delete data[service][account];
|
|
119114
|
+
if (Object.keys(data[service]).length === 0) {
|
|
119115
|
+
delete data[service];
|
|
119116
|
+
}
|
|
119117
|
+
if (Object.keys(data).length === 0) {
|
|
119118
|
+
try {
|
|
119119
|
+
await fs17.unlink(this.tokenFilePath);
|
|
119120
|
+
} catch (error2) {
|
|
119121
|
+
const err2 = error2;
|
|
119122
|
+
if (err2.code !== "ENOENT") {
|
|
119123
|
+
throw error2;
|
|
119124
|
+
}
|
|
119125
|
+
}
|
|
119126
|
+
} else {
|
|
119127
|
+
await this.saveData(data);
|
|
119128
|
+
}
|
|
119129
|
+
return true;
|
|
119130
|
+
}
|
|
119131
|
+
return false;
|
|
119132
|
+
}
|
|
119133
|
+
async findCredentials(service) {
|
|
119134
|
+
const data = await this.loadData();
|
|
119135
|
+
const serviceData = data[service] || {};
|
|
119136
|
+
return Object.entries(serviceData).map(([account, password]) => ({
|
|
119137
|
+
account,
|
|
119138
|
+
password
|
|
119139
|
+
}));
|
|
119140
|
+
}
|
|
119141
|
+
};
|
|
119142
|
+
}
|
|
119143
|
+
});
|
|
119144
|
+
|
|
119182
119145
|
// packages/core/dist/src/services/keychainService.js
|
|
119183
119146
|
import * as crypto12 from "node:crypto";
|
|
119184
|
-
var KeychainService;
|
|
119147
|
+
var FORCE_FILE_STORAGE_ENV_VAR, KeychainService;
|
|
119185
119148
|
var init_keychainService = __esm({
|
|
119186
119149
|
"packages/core/dist/src/services/keychainService.js"() {
|
|
119187
119150
|
"use strict";
|
|
119188
119151
|
init_events();
|
|
119189
|
-
|
|
119152
|
+
init_types5();
|
|
119190
119153
|
init_debugLogger();
|
|
119191
119154
|
init_keychainTypes();
|
|
119192
119155
|
init_markdownUtils();
|
|
119156
|
+
init_fileKeychain();
|
|
119157
|
+
FORCE_FILE_STORAGE_ENV_VAR = "GEMINI_FORCE_FILE_STORAGE";
|
|
119193
119158
|
KeychainService = class {
|
|
119194
119159
|
serviceName;
|
|
119195
119160
|
// Track an ongoing initialization attempt to avoid race conditions.
|
|
@@ -119203,6 +119168,13 @@ var init_keychainService = __esm({
|
|
|
119203
119168
|
async isAvailable() {
|
|
119204
119169
|
return await this.getKeychain() !== null;
|
|
119205
119170
|
}
|
|
119171
|
+
/**
|
|
119172
|
+
* Returns true if the service is using the encrypted file fallback backend.
|
|
119173
|
+
*/
|
|
119174
|
+
async isUsingFileFallback() {
|
|
119175
|
+
const keychain = await this.getKeychain();
|
|
119176
|
+
return keychain instanceof FileKeychain;
|
|
119177
|
+
}
|
|
119206
119178
|
/**
|
|
119207
119179
|
* Retrieves a secret for the given account.
|
|
119208
119180
|
* @throws Error if the keychain is unavailable.
|
|
@@ -119249,20 +119221,27 @@ var init_keychainService = __esm({
|
|
|
119249
119221
|
// High-level orchestration of the loading and testing cycle.
|
|
119250
119222
|
async initializeKeychain() {
|
|
119251
119223
|
let resultKeychain = null;
|
|
119252
|
-
|
|
119253
|
-
|
|
119254
|
-
|
|
119255
|
-
|
|
119256
|
-
|
|
119257
|
-
|
|
119258
|
-
|
|
119224
|
+
const forceFileStorage = process.env[FORCE_FILE_STORAGE_ENV_VAR] === "true";
|
|
119225
|
+
if (!forceFileStorage) {
|
|
119226
|
+
try {
|
|
119227
|
+
const keychainModule = await this.loadKeychainModule();
|
|
119228
|
+
if (keychainModule) {
|
|
119229
|
+
if (await this.isKeychainFunctional(keychainModule)) {
|
|
119230
|
+
resultKeychain = keychainModule;
|
|
119231
|
+
} else {
|
|
119232
|
+
debugLogger.log("Keychain functional verification failed");
|
|
119233
|
+
}
|
|
119259
119234
|
}
|
|
119235
|
+
} catch (error2) {
|
|
119236
|
+
const message = error2 instanceof Error ? error2.message : String(error2);
|
|
119237
|
+
debugLogger.log("Keychain initialization encountered an error:", message);
|
|
119260
119238
|
}
|
|
119261
|
-
} catch (error2) {
|
|
119262
|
-
const message = error2 instanceof Error ? error2.message : String(error2);
|
|
119263
|
-
debugLogger.log("Keychain initialization encountered an error:", message);
|
|
119264
119239
|
}
|
|
119265
|
-
coreEvents.emitTelemetryKeychainAvailability(new KeychainAvailabilityEvent(resultKeychain !== null));
|
|
119240
|
+
coreEvents.emitTelemetryKeychainAvailability(new KeychainAvailabilityEvent(resultKeychain !== null && !forceFileStorage));
|
|
119241
|
+
if (!resultKeychain) {
|
|
119242
|
+
resultKeychain = new FileKeychain();
|
|
119243
|
+
debugLogger.log("Using FileKeychain fallback for secure storage.");
|
|
119244
|
+
}
|
|
119266
119245
|
return resultKeychain;
|
|
119267
119246
|
}
|
|
119268
119247
|
// Low-level dynamic loading and structural validation.
|
|
@@ -119291,10 +119270,6 @@ var init_keychainService = __esm({
|
|
|
119291
119270
|
});
|
|
119292
119271
|
|
|
119293
119272
|
// packages/core/dist/src/mcp/token-storage/keychain-token-storage.js
|
|
119294
|
-
var keychain_token_storage_exports = {};
|
|
119295
|
-
__export(keychain_token_storage_exports, {
|
|
119296
|
-
KeychainTokenStorage: () => KeychainTokenStorage
|
|
119297
|
-
});
|
|
119298
119273
|
var KeychainTokenStorage;
|
|
119299
119274
|
var init_keychain_token_storage = __esm({
|
|
119300
119275
|
"packages/core/dist/src/mcp/token-storage/keychain-token-storage.js"() {
|
|
@@ -119395,6 +119370,9 @@ var init_keychain_token_storage = __esm({
|
|
|
119395
119370
|
async isAvailable() {
|
|
119396
119371
|
return this.keychainService.isAvailable();
|
|
119397
119372
|
}
|
|
119373
|
+
async isUsingFileFallback() {
|
|
119374
|
+
return this.keychainService.isUsingFileFallback();
|
|
119375
|
+
}
|
|
119398
119376
|
async setSecret(key, value) {
|
|
119399
119377
|
await this.keychainService.setPassword(`${SECRET_PREFIX}${key}`, value);
|
|
119400
119378
|
}
|
|
@@ -119420,17 +119398,29 @@ var init_keychain_token_storage = __esm({
|
|
|
119420
119398
|
}
|
|
119421
119399
|
});
|
|
119422
119400
|
|
|
119401
|
+
// packages/core/dist/src/mcp/token-storage/types.js
|
|
119402
|
+
var TokenStorageType;
|
|
119403
|
+
var init_types7 = __esm({
|
|
119404
|
+
"packages/core/dist/src/mcp/token-storage/types.js"() {
|
|
119405
|
+
"use strict";
|
|
119406
|
+
(function(TokenStorageType2) {
|
|
119407
|
+
TokenStorageType2["KEYCHAIN"] = "keychain";
|
|
119408
|
+
TokenStorageType2["ENCRYPTED_FILE"] = "encrypted_file";
|
|
119409
|
+
})(TokenStorageType || (TokenStorageType = {}));
|
|
119410
|
+
}
|
|
119411
|
+
});
|
|
119412
|
+
|
|
119423
119413
|
// packages/core/dist/src/mcp/token-storage/hybrid-token-storage.js
|
|
119424
|
-
var
|
|
119414
|
+
var HybridTokenStorage;
|
|
119425
119415
|
var init_hybrid_token_storage = __esm({
|
|
119426
119416
|
"packages/core/dist/src/mcp/token-storage/hybrid-token-storage.js"() {
|
|
119427
119417
|
"use strict";
|
|
119428
119418
|
init_base_token_storage();
|
|
119429
|
-
|
|
119430
|
-
|
|
119419
|
+
init_keychain_token_storage();
|
|
119420
|
+
init_types7();
|
|
119431
119421
|
init_events();
|
|
119432
|
-
|
|
119433
|
-
|
|
119422
|
+
init_types5();
|
|
119423
|
+
init_keychainService();
|
|
119434
119424
|
HybridTokenStorage = class extends BaseTokenStorage {
|
|
119435
119425
|
storage = null;
|
|
119436
119426
|
storageType = null;
|
|
@@ -119440,23 +119430,11 @@ var init_hybrid_token_storage = __esm({
|
|
|
119440
119430
|
}
|
|
119441
119431
|
async initializeStorage() {
|
|
119442
119432
|
const forceFileStorage = process.env[FORCE_FILE_STORAGE_ENV_VAR] === "true";
|
|
119443
|
-
|
|
119444
|
-
|
|
119445
|
-
|
|
119446
|
-
|
|
119447
|
-
|
|
119448
|
-
if (isAvailable) {
|
|
119449
|
-
this.storage = keychainStorage;
|
|
119450
|
-
this.storageType = TokenStorageType.KEYCHAIN;
|
|
119451
|
-
coreEvents.emitTelemetryTokenStorageType(new TokenStorageInitializationEvent("keychain", forceFileStorage));
|
|
119452
|
-
return this.storage;
|
|
119453
|
-
}
|
|
119454
|
-
} catch (_e2) {
|
|
119455
|
-
}
|
|
119456
|
-
}
|
|
119457
|
-
this.storage = new FileTokenStorage(this.serviceName);
|
|
119458
|
-
this.storageType = TokenStorageType.ENCRYPTED_FILE;
|
|
119459
|
-
coreEvents.emitTelemetryTokenStorageType(new TokenStorageInitializationEvent("encrypted_file", forceFileStorage));
|
|
119433
|
+
const keychainStorage = new KeychainTokenStorage(this.serviceName);
|
|
119434
|
+
this.storage = keychainStorage;
|
|
119435
|
+
const isUsingFileFallback = await keychainStorage.isUsingFileFallback();
|
|
119436
|
+
this.storageType = isUsingFileFallback ? TokenStorageType.ENCRYPTED_FILE : TokenStorageType.KEYCHAIN;
|
|
119437
|
+
coreEvents.emitTelemetryTokenStorageType(new TokenStorageInitializationEvent(isUsingFileFallback ? "encrypted_file" : "keychain", forceFileStorage));
|
|
119460
119438
|
return this.storage;
|
|
119461
119439
|
}
|
|
119462
119440
|
async getStorage() {
|
|
@@ -119604,10 +119582,10 @@ var DEFAULT_SERVICE_NAME, FORCE_ENCRYPTED_FILE_ENV_VAR;
|
|
|
119604
119582
|
var init_token_storage = __esm({
|
|
119605
119583
|
"packages/core/dist/src/mcp/token-storage/index.js"() {
|
|
119606
119584
|
"use strict";
|
|
119607
|
-
|
|
119585
|
+
init_types7();
|
|
119608
119586
|
init_base_token_storage();
|
|
119609
|
-
init_file_token_storage();
|
|
119610
119587
|
init_hybrid_token_storage();
|
|
119588
|
+
init_keychain_token_storage();
|
|
119611
119589
|
DEFAULT_SERVICE_NAME = "gemini-cli-oauth";
|
|
119612
119590
|
FORCE_ENCRYPTED_FILE_ENV_VAR = "GEMINI_FORCE_ENCRYPTED_FILE_STORAGE";
|
|
119613
119591
|
}
|
|
@@ -200239,8 +200217,8 @@ var GIT_COMMIT_INFO, CLI_VERSION;
|
|
|
200239
200217
|
var init_git_commit = __esm({
|
|
200240
200218
|
"packages/core/dist/src/generated/git-commit.js"() {
|
|
200241
200219
|
"use strict";
|
|
200242
|
-
GIT_COMMIT_INFO = "
|
|
200243
|
-
CLI_VERSION = "0.34.0-preview.
|
|
200220
|
+
GIT_COMMIT_INFO = "810cd6716";
|
|
200221
|
+
CLI_VERSION = "0.34.0-preview.3";
|
|
200244
200222
|
}
|
|
200245
200223
|
});
|
|
200246
200224
|
|
|
@@ -270285,7 +270263,7 @@ var createInitialRoleMetrics, createInitialModelMetrics, createInitialMetrics, U
|
|
|
270285
270263
|
var init_uiTelemetry = __esm({
|
|
270286
270264
|
"packages/core/dist/src/telemetry/uiTelemetry.js"() {
|
|
270287
270265
|
"use strict";
|
|
270288
|
-
|
|
270266
|
+
init_types5();
|
|
270289
270267
|
init_tool_call_decision();
|
|
270290
270268
|
createInitialRoleMetrics = () => ({
|
|
270291
270269
|
totalRequests: 0,
|
|
@@ -271166,7 +271144,7 @@ var init_startupProfiler = __esm({
|
|
|
271166
271144
|
"use strict";
|
|
271167
271145
|
init_metrics2();
|
|
271168
271146
|
init_debugLogger();
|
|
271169
|
-
|
|
271147
|
+
init_types5();
|
|
271170
271148
|
init_loggers();
|
|
271171
271149
|
StartupProfiler = class _StartupProfiler {
|
|
271172
271150
|
phases = /* @__PURE__ */ new Map();
|
|
@@ -271324,9 +271302,9 @@ var init_telemetry = __esm({
|
|
|
271324
271302
|
init_gcp_exporters();
|
|
271325
271303
|
init_loggers();
|
|
271326
271304
|
init_conseca_logger();
|
|
271327
|
-
|
|
271305
|
+
init_types5();
|
|
271328
271306
|
init_llmRole();
|
|
271329
|
-
|
|
271307
|
+
init_types5();
|
|
271330
271308
|
init_uiTelemetry();
|
|
271331
271309
|
init_billingEvents();
|
|
271332
271310
|
init_memory_monitor();
|
|
@@ -272076,7 +272054,7 @@ var init_loggers = __esm({
|
|
|
272076
272054
|
"use strict";
|
|
272077
272055
|
import_api_logs2 = __toESM(require_src17(), 1);
|
|
272078
272056
|
init_constants();
|
|
272079
|
-
|
|
272057
|
+
init_types5();
|
|
272080
272058
|
init_metrics2();
|
|
272081
272059
|
init_sdk();
|
|
272082
272060
|
init_uiTelemetry();
|
|
@@ -314530,7 +314508,7 @@ var init_baseLlmClient = __esm({
|
|
|
314530
314508
|
init_errorReporting();
|
|
314531
314509
|
init_errors();
|
|
314532
314510
|
init_loggers();
|
|
314533
|
-
|
|
314511
|
+
init_types5();
|
|
314534
314512
|
init_retry();
|
|
314535
314513
|
init_policyHelpers();
|
|
314536
314514
|
DEFAULT_MAX_ATTEMPTS2 = 5;
|
|
@@ -314758,7 +314736,7 @@ var init_llm_edit_fixer = __esm({
|
|
|
314758
314736
|
init_mnemonist();
|
|
314759
314737
|
init_promptIdContext();
|
|
314760
314738
|
init_debugLogger();
|
|
314761
|
-
|
|
314739
|
+
init_types5();
|
|
314762
314740
|
MAX_CACHE_SIZE = 50;
|
|
314763
314741
|
GENERATE_JSON_TIMEOUT_MS = 4e4;
|
|
314764
314742
|
EDIT_SYS_PROMPT = `
|
|
@@ -315329,15 +315307,15 @@ var init_edit = __esm({
|
|
|
315329
315307
|
init_paths();
|
|
315330
315308
|
init_errors();
|
|
315331
315309
|
init_pathCorrector();
|
|
315310
|
+
init_types();
|
|
315332
315311
|
init_types2();
|
|
315333
|
-
init_types3();
|
|
315334
315312
|
init_diffOptions();
|
|
315335
315313
|
init_diff_utils();
|
|
315336
315314
|
init_modifiable_tool();
|
|
315337
315315
|
init_ide_client();
|
|
315338
315316
|
init_llm_edit_fixer();
|
|
315339
315317
|
init_textUtils();
|
|
315340
|
-
|
|
315318
|
+
init_types5();
|
|
315341
315319
|
init_loggers();
|
|
315342
315320
|
init_tool_names();
|
|
315343
315321
|
init_debugLogger();
|
|
@@ -315926,7 +315904,7 @@ var init_editCorrector = __esm({
|
|
|
315926
315904
|
init_promptIdContext();
|
|
315927
315905
|
init_debugLogger();
|
|
315928
315906
|
init_mnemonist();
|
|
315929
|
-
|
|
315907
|
+
init_types5();
|
|
315930
315908
|
CODE_CORRECTION_SYSTEM_PROMPT = `
|
|
315931
315909
|
You are an expert code-editing assistant. Your task is to analyze a failed edit attempt and provide a corrected version of the text snippets.
|
|
315932
315910
|
The correction should be as minimal as possible, staying very close to the original.
|
|
@@ -317205,7 +317183,7 @@ var init_write_file = __esm({
|
|
|
317205
317183
|
"use strict";
|
|
317206
317184
|
init_libesm();
|
|
317207
317185
|
init_tool_names();
|
|
317208
|
-
|
|
317186
|
+
init_types();
|
|
317209
317187
|
init_tools();
|
|
317210
317188
|
init_utils4();
|
|
317211
317189
|
init_tool_error();
|
|
@@ -317217,7 +317195,7 @@ var init_write_file = __esm({
|
|
|
317217
317195
|
init_diff_utils();
|
|
317218
317196
|
init_ide_client();
|
|
317219
317197
|
init_loggers();
|
|
317220
|
-
|
|
317198
|
+
init_types5();
|
|
317221
317199
|
init_metrics2();
|
|
317222
317200
|
init_fileUtils();
|
|
317223
317201
|
init_language_detection();
|
|
@@ -322632,7 +322610,7 @@ function getVersion() {
|
|
|
322632
322610
|
}
|
|
322633
322611
|
versionPromise = (async () => {
|
|
322634
322612
|
const pkgJson = await getPackageJson(__dirname3);
|
|
322635
|
-
return "0.34.0-preview.
|
|
322613
|
+
return "0.34.0-preview.3";
|
|
322636
322614
|
})();
|
|
322637
322615
|
return versionPromise;
|
|
322638
322616
|
}
|
|
@@ -322716,7 +322694,7 @@ var init_server = __esm({
|
|
|
322716
322694
|
init_converter();
|
|
322717
322695
|
init_telemetry2();
|
|
322718
322696
|
init_client_metadata();
|
|
322719
|
-
|
|
322697
|
+
init_types5();
|
|
322720
322698
|
CODE_ASSIST_ENDPOINT = "https://cloudcode-pa.googleapis.com";
|
|
322721
322699
|
CODE_ASSIST_API_VERSION = "v1internal";
|
|
322722
322700
|
GENERATE_CONTENT_RETRY_DELAY_IN_MILLISECONDS = 1e3;
|
|
@@ -323448,7 +323426,7 @@ var LoggingContentGenerator;
|
|
|
323448
323426
|
var init_loggingContentGenerator = __esm({
|
|
323449
323427
|
"packages/core/dist/src/core/loggingContentGenerator.js"() {
|
|
323450
323428
|
"use strict";
|
|
323451
|
-
|
|
323429
|
+
init_types5();
|
|
323452
323430
|
init_loggers();
|
|
323453
323431
|
init_server();
|
|
323454
323432
|
init_converter();
|
|
@@ -324385,7 +324363,7 @@ var init_tool_registry = __esm({
|
|
|
324385
324363
|
"packages/core/dist/src/tools/tool-registry.js"() {
|
|
324386
324364
|
"use strict";
|
|
324387
324365
|
init_tools();
|
|
324388
|
-
|
|
324366
|
+
init_types();
|
|
324389
324367
|
init_mcp_tool();
|
|
324390
324368
|
import_shell_quote = __toESM(require_shell_quote(), 1);
|
|
324391
324369
|
init_tool_error();
|
|
@@ -325950,7 +325928,7 @@ var init_read_file = __esm({
|
|
|
325950
325928
|
init_metrics2();
|
|
325951
325929
|
init_telemetry_utils();
|
|
325952
325930
|
init_loggers();
|
|
325953
|
-
|
|
325931
|
+
init_types5();
|
|
325954
325932
|
init_tool_names();
|
|
325955
325933
|
init_fileDiscoveryService();
|
|
325956
325934
|
init_coreTools();
|
|
@@ -374309,7 +374287,7 @@ var init_web_fetch = __esm({
|
|
|
374309
374287
|
init_utils4();
|
|
374310
374288
|
init_tool_error();
|
|
374311
374289
|
init_errors();
|
|
374312
|
-
|
|
374290
|
+
init_types();
|
|
374313
374291
|
init_partUtils();
|
|
374314
374292
|
init_fetch();
|
|
374315
374293
|
init_textUtils();
|
|
@@ -374913,7 +374891,7 @@ var init_ask_user = __esm({
|
|
|
374913
374891
|
"use strict";
|
|
374914
374892
|
init_tools();
|
|
374915
374893
|
init_tool_error();
|
|
374916
|
-
|
|
374894
|
+
init_types3();
|
|
374917
374895
|
init_tool_names();
|
|
374918
374896
|
init_coreTools();
|
|
374919
374897
|
init_resolver();
|
|
@@ -375110,7 +375088,7 @@ function getPlanModeExitMessage(newMode, isManual = false) {
|
|
|
375110
375088
|
var init_approvalModeUtils = __esm({
|
|
375111
375089
|
"packages/core/dist/src/utils/approvalModeUtils.js"() {
|
|
375112
375090
|
"use strict";
|
|
375113
|
-
|
|
375091
|
+
init_types();
|
|
375114
375092
|
init_checks4();
|
|
375115
375093
|
}
|
|
375116
375094
|
});
|
|
@@ -375124,10 +375102,10 @@ var init_exit_plan_mode = __esm({
|
|
|
375124
375102
|
init_tools();
|
|
375125
375103
|
init_tool_names();
|
|
375126
375104
|
init_planUtils();
|
|
375127
|
-
|
|
375105
|
+
init_types();
|
|
375128
375106
|
init_paths();
|
|
375129
375107
|
init_loggers();
|
|
375130
|
-
|
|
375108
|
+
init_types5();
|
|
375131
375109
|
init_coreTools();
|
|
375132
375110
|
init_resolver();
|
|
375133
375111
|
init_approvalModeUtils();
|
|
@@ -375278,7 +375256,7 @@ var init_enter_plan_mode = __esm({
|
|
|
375278
375256
|
"use strict";
|
|
375279
375257
|
init_tools();
|
|
375280
375258
|
init_tool_names();
|
|
375281
|
-
|
|
375259
|
+
init_types();
|
|
375282
375260
|
init_coreTools();
|
|
375283
375261
|
init_resolver();
|
|
375284
375262
|
EnterPlanModeTool = class _EnterPlanModeTool extends BaseDeclarativeTool {
|
|
@@ -375491,8 +375469,8 @@ var init_tool_utils = __esm({
|
|
|
375491
375469
|
init_src2();
|
|
375492
375470
|
init_shell_utils();
|
|
375493
375471
|
import_fast_levenshtein2 = __toESM(require_levenshtein(), 1);
|
|
375472
|
+
init_types();
|
|
375494
375473
|
init_types2();
|
|
375495
|
-
init_types3();
|
|
375496
375474
|
init_tool_names();
|
|
375497
375475
|
}
|
|
375498
375476
|
});
|
|
@@ -376097,7 +376075,7 @@ var init_tool_executor = __esm({
|
|
|
376097
376075
|
init_coreToolHookTriggers();
|
|
376098
376076
|
init_fileUtils();
|
|
376099
376077
|
init_generateContentResponseUtilities();
|
|
376100
|
-
|
|
376078
|
+
init_types2();
|
|
376101
376079
|
init_constants();
|
|
376102
376080
|
ToolExecutor = class {
|
|
376103
376081
|
config;
|
|
@@ -376423,8 +376401,8 @@ var init_policy = __esm({
|
|
|
376423
376401
|
"packages/core/dist/src/scheduler/policy.js"() {
|
|
376424
376402
|
"use strict";
|
|
376425
376403
|
init_tool_error();
|
|
376426
|
-
|
|
376427
|
-
|
|
376404
|
+
init_types();
|
|
376405
|
+
init_types3();
|
|
376428
376406
|
init_tools();
|
|
376429
376407
|
init_utils4();
|
|
376430
376408
|
init_paths();
|
|
@@ -376439,15 +376417,15 @@ var init_coreToolScheduler = __esm({
|
|
|
376439
376417
|
"packages/core/dist/src/core/coreToolScheduler.js"() {
|
|
376440
376418
|
"use strict";
|
|
376441
376419
|
init_tools();
|
|
376442
|
-
|
|
376420
|
+
init_types();
|
|
376443
376421
|
init_loggers();
|
|
376444
376422
|
init_tool_error();
|
|
376445
|
-
|
|
376423
|
+
init_types5();
|
|
376446
376424
|
init_trace3();
|
|
376447
376425
|
init_tool_modifier();
|
|
376448
376426
|
init_tool_utils();
|
|
376449
|
-
init_types4();
|
|
376450
376427
|
init_types3();
|
|
376428
|
+
init_types2();
|
|
376451
376429
|
init_tool_executor();
|
|
376452
376430
|
init_mcp_tool();
|
|
376453
376431
|
init_policy();
|
|
@@ -377643,7 +377621,7 @@ var init_geminiChat = __esm({
|
|
|
377643
377621
|
init_tools();
|
|
377644
377622
|
init_loggers();
|
|
377645
377623
|
init_chatRecordingService();
|
|
377646
|
-
|
|
377624
|
+
init_types5();
|
|
377647
377625
|
init_handler();
|
|
377648
377626
|
init_messageInspectors();
|
|
377649
377627
|
init_geminiRequest();
|
|
@@ -378220,8 +378198,8 @@ var init_turn = __esm({
|
|
|
378220
378198
|
init_geminiChat();
|
|
378221
378199
|
init_thoughtUtils();
|
|
378222
378200
|
init_generateContentResponseUtilities();
|
|
378223
|
-
|
|
378224
|
-
|
|
378201
|
+
init_types5();
|
|
378202
|
+
init_types2();
|
|
378225
378203
|
(function(GeminiEventType2) {
|
|
378226
378204
|
GeminiEventType2["Content"] = "content";
|
|
378227
378205
|
GeminiEventType2["ToolCallRequest"] = "tool_call_request";
|
|
@@ -379841,7 +379819,7 @@ var init_promptProvider = __esm({
|
|
|
379841
379819
|
"packages/core/dist/src/prompts/promptProvider.js"() {
|
|
379842
379820
|
"use strict";
|
|
379843
379821
|
init_paths();
|
|
379844
|
-
|
|
379822
|
+
init_types();
|
|
379845
379823
|
init_snippets();
|
|
379846
379824
|
init_snippets_legacy();
|
|
379847
379825
|
init_utils6();
|
|
@@ -380048,7 +380026,7 @@ var init_nextSpeakerChecker = __esm({
|
|
|
380048
380026
|
"use strict";
|
|
380049
380027
|
init_messageInspectors();
|
|
380050
380028
|
init_debugLogger();
|
|
380051
|
-
|
|
380029
|
+
init_types5();
|
|
380052
380030
|
CHECK_PROMPT = `Analyze *only* the content and structure of your immediately preceding response (your last turn in the conversation history). Based *strictly* on that response, determine who should logically speak next: the 'user' or the 'model' (you).
|
|
380053
380031
|
**Decision Rules (apply in order):**
|
|
380054
380032
|
1. **Model Continues:** If your last response explicitly states an immediate next action *you* intend to take (e.g., "Next, I will...", "Now I'll process...", "Moving on to analyze...", indicates an intended tool call that didn't execute), OR if the response seems clearly incomplete (cut off mid-thought without a natural conclusion), then the **'model'** should speak next.
|
|
@@ -380102,7 +380080,7 @@ var init_loopDetectionService = __esm({
|
|
|
380102
380080
|
"use strict";
|
|
380103
380081
|
init_turn();
|
|
380104
380082
|
init_loggers();
|
|
380105
|
-
|
|
380083
|
+
init_types5();
|
|
380106
380084
|
init_messageInspectors();
|
|
380107
380085
|
init_debugLogger();
|
|
380108
380086
|
TOOL_CALL_LOOP_THRESHOLD = 5;
|
|
@@ -380687,7 +380665,7 @@ var init_chatCompressionService = __esm({
|
|
|
380687
380665
|
init_prompts();
|
|
380688
380666
|
init_partUtils();
|
|
380689
380667
|
init_loggers();
|
|
380690
|
-
|
|
380668
|
+
init_types5();
|
|
380691
380669
|
init_fileUtils();
|
|
380692
380670
|
init_debugLogger();
|
|
380693
380671
|
init_environmentContext();
|
|
@@ -380879,7 +380857,7 @@ var init_toolOutputMaskingService = __esm({
|
|
|
380879
380857
|
init_fileUtils();
|
|
380880
380858
|
init_loggers();
|
|
380881
380859
|
init_tool_names();
|
|
380882
|
-
|
|
380860
|
+
init_types5();
|
|
380883
380861
|
DEFAULT_TOOL_PROTECTION_THRESHOLD = 5e4;
|
|
380884
380862
|
DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD = 3e4;
|
|
380885
380863
|
DEFAULT_PROTECT_LATEST_TURN = true;
|
|
@@ -381123,7 +381101,7 @@ var init_client3 = __esm({
|
|
|
381123
381101
|
init_chatCompressionService();
|
|
381124
381102
|
init_ideContext();
|
|
381125
381103
|
init_loggers();
|
|
381126
|
-
|
|
381104
|
+
init_types5();
|
|
381127
381105
|
init_uiTelemetry();
|
|
381128
381106
|
init_handler();
|
|
381129
381107
|
init_debugLogger();
|
|
@@ -387512,7 +387490,7 @@ var init_classifierStrategy = __esm({
|
|
|
387512
387490
|
init_node();
|
|
387513
387491
|
init_messageInspectors();
|
|
387514
387492
|
init_debugLogger();
|
|
387515
|
-
|
|
387493
|
+
init_types5();
|
|
387516
387494
|
HISTORY_TURNS_FOR_CONTEXT2 = 4;
|
|
387517
387495
|
HISTORY_SEARCH_WINDOW2 = 20;
|
|
387518
387496
|
FLASH_MODEL2 = "flash";
|
|
@@ -387677,7 +387655,7 @@ var init_numericalClassifierStrategy = __esm({
|
|
|
387677
387655
|
init_models();
|
|
387678
387656
|
init_node();
|
|
387679
387657
|
init_debugLogger();
|
|
387680
|
-
|
|
387658
|
+
init_types5();
|
|
387681
387659
|
HISTORY_TURNS_FOR_CONTEXT3 = 8;
|
|
387682
387660
|
FLASH_MODEL3 = "flash";
|
|
387683
387661
|
PRO_MODEL3 = "pro";
|
|
@@ -387947,7 +387925,7 @@ var init_approvalModeStrategy = __esm({
|
|
|
387947
387925
|
"packages/core/dist/src/routing/strategies/approvalModeStrategy.js"() {
|
|
387948
387926
|
"use strict";
|
|
387949
387927
|
init_models();
|
|
387950
|
-
|
|
387928
|
+
init_types();
|
|
387951
387929
|
ApprovalModeStrategy = class {
|
|
387952
387930
|
name = "approval-mode";
|
|
387953
387931
|
async route(context2, config3, _baseLlmClient) {
|
|
@@ -388006,7 +387984,7 @@ var init_modelRouterService = __esm({
|
|
|
388006
387984
|
init_overrideStrategy();
|
|
388007
387985
|
init_approvalModeStrategy();
|
|
388008
387986
|
init_loggers();
|
|
388009
|
-
|
|
387987
|
+
init_types5();
|
|
388010
387988
|
init_debugLogger();
|
|
388011
387989
|
ModelRouterService = class {
|
|
388012
387990
|
config;
|
|
@@ -389729,8 +389707,8 @@ var MessageBus;
|
|
|
389729
389707
|
var init_message_bus = __esm({
|
|
389730
389708
|
"packages/core/dist/src/confirmation-bus/message-bus.js"() {
|
|
389731
389709
|
"use strict";
|
|
389732
|
-
|
|
389733
|
-
|
|
389710
|
+
init_types();
|
|
389711
|
+
init_types3();
|
|
389734
389712
|
init_safeJsonStringify();
|
|
389735
389713
|
init_debugLogger();
|
|
389736
389714
|
MessageBus = class extends EventEmitter10 {
|
|
@@ -389990,7 +389968,7 @@ var init_policy_engine = __esm({
|
|
|
389990
389968
|
"packages/core/dist/src/policy/policy-engine.js"() {
|
|
389991
389969
|
"use strict";
|
|
389992
389970
|
init_node();
|
|
389993
|
-
|
|
389971
|
+
init_types();
|
|
389994
389972
|
init_stable_stringify();
|
|
389995
389973
|
init_debugLogger();
|
|
389996
389974
|
init_protocol2();
|
|
@@ -391375,7 +391353,7 @@ var init_hookEventHandler = __esm({
|
|
|
391375
391353
|
init_types16();
|
|
391376
391354
|
init_hookTranslator();
|
|
391377
391355
|
init_loggers();
|
|
391378
|
-
|
|
391356
|
+
init_types5();
|
|
391379
391357
|
init_debugLogger();
|
|
391380
391358
|
init_events();
|
|
391381
391359
|
HookEventHandler = class {
|
|
@@ -400138,7 +400116,7 @@ var init_registry = __esm({
|
|
|
400138
400116
|
init_debugLogger();
|
|
400139
400117
|
init_models();
|
|
400140
400118
|
init_modelConfigService();
|
|
400141
|
-
|
|
400119
|
+
init_types();
|
|
400142
400120
|
init_a2a_errors();
|
|
400143
400121
|
AgentRegistry = class {
|
|
400144
400122
|
config;
|
|
@@ -400604,8 +400582,8 @@ var SchedulerStateManager;
|
|
|
400604
400582
|
var init_state_manager = __esm({
|
|
400605
400583
|
"packages/core/dist/src/scheduler/state-manager.js"() {
|
|
400606
400584
|
"use strict";
|
|
400585
|
+
init_types2();
|
|
400607
400586
|
init_types3();
|
|
400608
|
-
init_types4();
|
|
400609
400587
|
init_tool_utils();
|
|
400610
400588
|
SchedulerStateManager = class {
|
|
400611
400589
|
messageBus;
|
|
@@ -401130,9 +401108,9 @@ async function waitForConfirmation(messageBus, correlationId, signal, ideConfirm
|
|
|
401130
401108
|
var init_confirmation = __esm({
|
|
401131
401109
|
"packages/core/dist/src/scheduler/confirmation.js"() {
|
|
401132
401110
|
"use strict";
|
|
401133
|
-
init_types4();
|
|
401134
|
-
init_tools();
|
|
401135
401111
|
init_types3();
|
|
401112
|
+
init_tools();
|
|
401113
|
+
init_types2();
|
|
401136
401114
|
init_editor();
|
|
401137
401115
|
init_debugLogger();
|
|
401138
401116
|
init_events();
|
|
@@ -401149,15 +401127,15 @@ var init_scheduler2 = __esm({
|
|
|
401149
401127
|
init_policy();
|
|
401150
401128
|
init_tool_executor();
|
|
401151
401129
|
init_tool_modifier();
|
|
401152
|
-
init_types3();
|
|
401153
|
-
init_tool_error();
|
|
401154
401130
|
init_types2();
|
|
401131
|
+
init_tool_error();
|
|
401132
|
+
init_types();
|
|
401155
401133
|
init_tools();
|
|
401156
401134
|
init_tool_utils();
|
|
401157
401135
|
init_trace3();
|
|
401158
401136
|
init_loggers();
|
|
401159
|
-
|
|
401160
|
-
|
|
401137
|
+
init_types5();
|
|
401138
|
+
init_types3();
|
|
401161
401139
|
init_toolCallContext();
|
|
401162
401140
|
init_events();
|
|
401163
401141
|
init_constants();
|
|
@@ -401744,13 +401722,13 @@ var init_local_executor = __esm({
|
|
|
401744
401722
|
init_tools();
|
|
401745
401723
|
init_mcp_tool();
|
|
401746
401724
|
init_turn();
|
|
401725
|
+
init_types2();
|
|
401747
401726
|
init_types3();
|
|
401748
|
-
init_types4();
|
|
401749
401727
|
init_chatCompressionService();
|
|
401750
401728
|
init_environmentContext();
|
|
401751
401729
|
init_promptIdContext();
|
|
401752
401730
|
init_loggers();
|
|
401753
|
-
|
|
401731
|
+
init_types5();
|
|
401754
401732
|
init_types18();
|
|
401755
401733
|
init_errors();
|
|
401756
401734
|
init_utils8();
|
|
@@ -421438,7 +421416,7 @@ var import_fast_levenshtein3, import_toml, MAX_TYPO_DISTANCE, PolicyRuleSchema,
|
|
|
421438
421416
|
var init_toml_loader = __esm({
|
|
421439
421417
|
"packages/core/dist/src/policy/toml-loader.js"() {
|
|
421440
421418
|
"use strict";
|
|
421441
|
-
|
|
421419
|
+
init_types();
|
|
421442
421420
|
init_utils4();
|
|
421443
421421
|
init_tool_names();
|
|
421444
421422
|
init_tool_utils();
|
|
@@ -421519,11 +421497,11 @@ var init_config3 = __esm({
|
|
|
421519
421497
|
"packages/core/dist/src/policy/config.js"() {
|
|
421520
421498
|
"use strict";
|
|
421521
421499
|
init_storage();
|
|
421522
|
-
|
|
421500
|
+
init_types();
|
|
421523
421501
|
init_toml_loader();
|
|
421524
421502
|
init_utils4();
|
|
421525
421503
|
import_toml2 = __toESM(require_toml(), 1);
|
|
421526
|
-
|
|
421504
|
+
init_types3();
|
|
421527
421505
|
init_message_bus();
|
|
421528
421506
|
init_events();
|
|
421529
421507
|
init_debugLogger();
|
|
@@ -422294,7 +422272,7 @@ var init_registry2 = __esm({
|
|
|
422294
422272
|
"packages/core/dist/src/safety/registry.js"() {
|
|
422295
422273
|
"use strict";
|
|
422296
422274
|
init_built_in();
|
|
422297
|
-
|
|
422275
|
+
init_types();
|
|
422298
422276
|
init_conseca();
|
|
422299
422277
|
CheckerRegistry = class _CheckerRegistry {
|
|
422300
422278
|
checkersPath;
|
|
@@ -425596,7 +425574,7 @@ var init_config4 = __esm({
|
|
|
425596
425574
|
init_fileSystemService();
|
|
425597
425575
|
init_trackerTools2();
|
|
425598
425576
|
init_loggers();
|
|
425599
|
-
|
|
425577
|
+
init_types5();
|
|
425600
425578
|
init_modelAvailabilityService();
|
|
425601
425579
|
init_modelRouterService();
|
|
425602
425580
|
init_types17();
|
|
@@ -425609,7 +425587,7 @@ var init_config4 = __esm({
|
|
|
425609
425587
|
init_ignorePatterns();
|
|
425610
425588
|
init_message_bus();
|
|
425611
425589
|
init_policy_engine();
|
|
425612
|
-
|
|
425590
|
+
init_types();
|
|
425613
425591
|
init_hooks();
|
|
425614
425592
|
init_codeAssist();
|
|
425615
425593
|
init_experiments();
|
|
@@ -430341,7 +430319,7 @@ var init_sessionSummaryService = __esm({
|
|
|
430341
430319
|
init_geminiRequest();
|
|
430342
430320
|
init_debugLogger();
|
|
430343
430321
|
init_partUtils();
|
|
430344
|
-
|
|
430322
|
+
init_types5();
|
|
430345
430323
|
}
|
|
430346
430324
|
});
|
|
430347
430325
|
|
|
@@ -430387,7 +430365,7 @@ var init_read_many_files = __esm({
|
|
|
430387
430365
|
init_metrics2();
|
|
430388
430366
|
init_telemetry_utils();
|
|
430389
430367
|
init_loggers();
|
|
430390
|
-
|
|
430368
|
+
init_types5();
|
|
430391
430369
|
init_tool_error();
|
|
430392
430370
|
init_tool_names();
|
|
430393
430371
|
init_coreTools();
|
|
@@ -430430,13 +430408,13 @@ var init_src2 = __esm({
|
|
|
430430
430408
|
init_types17();
|
|
430431
430409
|
init_json_formatter();
|
|
430432
430410
|
init_stream_json_formatter();
|
|
430433
|
-
|
|
430411
|
+
init_types();
|
|
430434
430412
|
init_policy_engine();
|
|
430435
430413
|
init_toml_loader();
|
|
430436
430414
|
init_config3();
|
|
430437
430415
|
init_integrity();
|
|
430438
430416
|
init_billing2();
|
|
430439
|
-
|
|
430417
|
+
init_types3();
|
|
430440
430418
|
init_message_bus();
|
|
430441
430419
|
init_extensions();
|
|
430442
430420
|
init_restore();
|
|
@@ -430455,7 +430433,7 @@ var init_src2 = __esm({
|
|
|
430455
430433
|
init_geminiRequest();
|
|
430456
430434
|
init_coreToolScheduler();
|
|
430457
430435
|
init_scheduler2();
|
|
430458
|
-
|
|
430436
|
+
init_types2();
|
|
430459
430437
|
init_tool_executor();
|
|
430460
430438
|
init_recordingContentGenerator();
|
|
430461
430439
|
init_types20();
|
|
@@ -430494,7 +430472,7 @@ var init_src2 = __esm({
|
|
|
430494
430472
|
init_fileDiffUtils();
|
|
430495
430473
|
init_retry();
|
|
430496
430474
|
init_shell_utils();
|
|
430497
|
-
|
|
430475
|
+
init_types();
|
|
430498
430476
|
init_tool_utils();
|
|
430499
430477
|
init_terminalSerializer();
|
|
430500
430478
|
init_systemEncoding();
|
|
@@ -430619,7 +430597,7 @@ var init_dist7 = __esm({
|
|
|
430619
430597
|
init_config4();
|
|
430620
430598
|
init_detect_ide();
|
|
430621
430599
|
init_loggers();
|
|
430622
|
-
|
|
430600
|
+
init_types5();
|
|
430623
430601
|
init_config5();
|
|
430624
430602
|
init_pathReader();
|
|
430625
430603
|
init_clearcut_logger();
|