@google/gemini-cli 0.42.0-preview.1 → 0.43.0-preview.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-AS4E6DX7.js → chunk-43AGRA7S.js} +3 -3
- package/bundle/{chunk-UZZVXATH.js → chunk-46T44JOY.js} +1 -1
- package/bundle/{chunk-BI5ZICGL.js → chunk-4TLQKGTR.js} +1 -1
- package/bundle/{chunk-BZZHETT5.js → chunk-6XOSIMPZ.js} +8 -9
- package/bundle/{chunk-6K3EFSDX.js → chunk-HQXINMBL.js} +2 -2
- package/bundle/{chunk-I5JMJ2LU.js → chunk-JENIU3E3.js} +1 -1
- package/bundle/{chunk-LK7LIPO6.js → chunk-LBQFRHYD.js} +1 -1
- package/bundle/{chunk-5AFGMGVT.js → chunk-LFGJVOVZ.js} +486 -381
- package/bundle/{chunk-UVBJHP26.js → chunk-MRHFLHPJ.js} +2 -2
- package/bundle/{chunk-7LOMS5HP.js → chunk-MXKXLNQD.js} +3 -3
- package/bundle/{chunk-ECNYAST2.js → chunk-N6QYTC2T.js} +5417 -5376
- package/bundle/{chunk-QZ2JZRLK.js → chunk-NBRZ4A3S.js} +2170 -791
- package/bundle/{chunk-L7GACEVA.js → chunk-P4UQCQUB.js} +3 -3
- package/bundle/{chunk-NHDN46IK.js → chunk-PGJUNQPO.js} +34 -16
- package/bundle/{chunk-GZ4FSF4B.js → chunk-PSWUV2OO.js} +3 -3
- package/bundle/{chunk-UKCYYERR.js → chunk-PYLHDAUK.js} +3 -3
- package/bundle/{chunk-47QC6PWE.js → chunk-Q23X5R4A.js} +486 -381
- package/bundle/{chunk-VERP26KN.js → chunk-QYUN3J2L.js} +533 -441
- package/bundle/{chunk-A564QXJJ.js → chunk-SAISHGWW.js} +1907 -716
- package/bundle/{chunk-IBIKJW2L.js → chunk-SYD5SJFT.js} +38 -23
- package/bundle/{chunk-WX6CHISQ.js → chunk-T3SUXLQQ.js} +2 -2
- package/bundle/{chunk-BUJZOWQ7.js → chunk-UIG2IVPJ.js} +34 -16
- package/bundle/{chunk-JEW7ZIWE.js → chunk-UJ26GAE5.js} +5326 -5290
- package/bundle/{chunk-ARLWCFGI.js → chunk-UNAVBUTP.js} +14729 -7452
- package/bundle/{chunk-7H3CQGS6.js → chunk-WQOLTO3C.js} +1 -1
- package/bundle/{chunk-KSNNZBTV.js → chunk-X26T73X6.js} +3 -3
- package/bundle/{cleanup-6PVHIK4C.js → cleanup-EIZJH2E3.js} +3 -3
- package/bundle/{cleanup-FRS7FPOS.js → cleanup-MI76P55B.js} +3 -3
- package/bundle/{cleanup-NDTUQVOW.js → cleanup-NZBQYB7U.js} +3 -3
- package/bundle/{core-RZFMBCSX.js → core-ERSGIOMQ.js} +30 -2
- package/bundle/{dist-7BJPFNU7.js → core-T2TBFAYG.js} +30 -2
- package/bundle/{devtoolsService-WER5PRLG.js → devtoolsService-7KZDSYEF.js} +3 -3
- package/bundle/{devtoolsService-6D355RSX.js → devtoolsService-FYTOIC37.js} +3 -3
- package/bundle/{devtoolsService-7SBW23VD.js → devtoolsService-LV5NJ2BT.js} +4 -5
- package/bundle/{dist-DTPIOJ3P.js → dist-ETX67B7P.js} +30 -2
- package/bundle/docs/changelogs/index.md +14 -0
- package/bundle/docs/changelogs/latest.md +108 -166
- package/bundle/docs/changelogs/preview.md +227 -103
- package/bundle/docs/cli/auto-memory.md +60 -38
- package/bundle/docs/cli/settings.md +1 -1
- package/bundle/docs/cli/tutorials/memory-management.md +1 -1
- package/bundle/docs/extensions/releasing.md +58 -24
- package/bundle/docs/reference/configuration.md +14 -1
- package/bundle/docs/reference/keyboard-shortcuts.md +23 -0
- package/bundle/{gemini-KMMF6AK3.js → gemini-IVKBXHDT.js} +160 -60
- package/bundle/{gemini-GLORNPU2.js → gemini-JKWQQTKP.js} +160 -60
- package/bundle/{gemini-HCJBP42A.js → gemini-Z77GAAR6.js} +331 -245
- package/bundle/gemini.js +8 -8
- package/bundle/{interactiveCli-5UVCH7FM.js → interactiveCli-36WZS6KT.js} +1704 -1457
- package/bundle/{interactiveCli-HBRMSAIT.js → interactiveCli-BQ36B66Z.js} +1703 -1457
- package/bundle/{interactiveCli-TWDP2H52.js → interactiveCli-SME5QTEN.js} +1967 -1739
- package/bundle/{liteRtServerManager-3YA2HL46.js → liteRtServerManager-2QD4R3A3.js} +5 -5
- package/bundle/{liteRtServerManager-BYQVAM6Y.js → liteRtServerManager-ISYDOBNC.js} +5 -5
- package/bundle/{liteRtServerManager-IQHHDTUM.js → liteRtServerManager-N6OMT6W5.js} +5 -5
- package/bundle/{memoryDiscovery-FB7MMKTA.js → memoryDiscovery-LLSKN6HL.js} +1 -1
- package/bundle/{memoryDiscovery-KSYZVCWF.js → memoryDiscovery-SJ7P6RCN.js} +1 -1
- package/bundle/node_modules/@google/gemini-cli-devtools/package.json +1 -1
- package/bundle/{oauth2-provider-C66JRVDQ.js → oauth2-provider-DOSIH6VE.js} +2 -2
- package/bundle/{oauth2-provider-TUVQXNLY.js → oauth2-provider-TZF6EZRX.js} +2 -2
- package/bundle/{oauth2-provider-OAXWX3Z3.js → oauth2-provider-VFOABWBW.js} +73 -39
- package/bundle/{start-ELTWFVNO.js → start-3GPIRK3E.js} +7 -7
- package/bundle/{start-HHZI73VV.js → start-6NONW677.js} +7 -7
- package/bundle/{start-NCMR7HOQ.js → start-M6MUPEJS.js} +7 -7
- package/package.json +1 -1
- package/bundle/chunk-5MQ5VMQK.js +0 -17230
- package/bundle/chunk-66C7JVNE.js +0 -391
- package/bundle/chunk-A3GDBSEI.js +0 -512
- package/bundle/chunk-L6GBKGQX.js +0 -118
- package/bundle/chunk-LCB7VVYS.js +0 -356008
- package/bundle/chunk-OGZGOFAJ.js +0 -1571
- package/bundle/chunk-PBD26LJQ.js +0 -81544
- package/bundle/chunk-YDSDSLSO.js +0 -156
- package/bundle/cleanup-O4IDJYU2.js +0 -33
- package/bundle/devtoolsService-SPV43SGI.js +0 -857
- package/bundle/dist-ZZ5HEQGP.js +0 -2096
- package/bundle/gemini-3NXWUDHV.js +0 -16256
- package/bundle/interactiveCli-BNDKNCVJ.js +0 -34505
- package/bundle/liteRtServerManager-RTBP2SLV.js +0 -66
- package/bundle/oauth2-provider-ZPJOR5SG.js +0 -237
- package/bundle/start-S3TEO5BN.js +0 -19
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
|
|
2
2
|
import {
|
|
3
3
|
AuthProviderType,
|
|
4
|
-
AuthType,
|
|
5
|
-
CoreToolCallStatus,
|
|
6
4
|
DEFAULT_MODEL_CONFIGS,
|
|
7
5
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
|
|
8
6
|
SESSION_FILE_PREFIX,
|
|
@@ -22,9 +20,8 @@ import {
|
|
|
22
20
|
require_strip_json_comments,
|
|
23
21
|
sanitizeFilenamePart,
|
|
24
22
|
stripAnsi
|
|
25
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-UNAVBUTP.js";
|
|
26
24
|
import {
|
|
27
|
-
CoreEvent,
|
|
28
25
|
FatalConfigError,
|
|
29
26
|
GEMINI_DIR,
|
|
30
27
|
Storage,
|
|
@@ -33,7 +30,7 @@ import {
|
|
|
33
30
|
external_exports,
|
|
34
31
|
getErrorMessage,
|
|
35
32
|
homedir
|
|
36
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-N6QYTC2T.js";
|
|
37
34
|
import {
|
|
38
35
|
__commonJS,
|
|
39
36
|
__require,
|
|
@@ -9962,9 +9959,13 @@ var getAllSessionFiles = async (chatsDir, currentSessionId, options = {}) => {
|
|
|
9962
9959
|
if (!content) {
|
|
9963
9960
|
return { fileName: file, sessionInfo: null };
|
|
9964
9961
|
}
|
|
9965
|
-
if (!content.sessionId
|
|
9962
|
+
if (!content.sessionId) {
|
|
9966
9963
|
return { fileName: file, sessionInfo: null };
|
|
9967
9964
|
}
|
|
9965
|
+
const fileTimestamp = !content.startTime || !content.lastUpdated ? (await fs.stat(filePath).catch(() => void 0))?.mtime.toISOString() : void 0;
|
|
9966
|
+
const fallbackTimestamp = fileTimestamp ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
9967
|
+
const startTime = content.startTime || content.lastUpdated || fallbackTimestamp;
|
|
9968
|
+
const lastUpdated = content.lastUpdated || content.startTime || fallbackTimestamp;
|
|
9968
9969
|
if (!content.hasUserOrAssistantMessage) {
|
|
9969
9970
|
return { fileName: file, sessionInfo: null };
|
|
9970
9971
|
}
|
|
@@ -9986,8 +9987,8 @@ var getAllSessionFiles = async (chatsDir, currentSessionId, options = {}) => {
|
|
|
9986
9987
|
id: content.sessionId,
|
|
9987
9988
|
file: file.replace(/\.jsonl?$/, ""),
|
|
9988
9989
|
fileName: file,
|
|
9989
|
-
startTime
|
|
9990
|
-
lastUpdated
|
|
9990
|
+
startTime,
|
|
9991
|
+
lastUpdated,
|
|
9991
9992
|
messageCount: content.messageCount ?? content.messages.length,
|
|
9992
9993
|
displayName: content.summary ? stripUnsafeCharacters(content.summary) : firstUserMessage,
|
|
9993
9994
|
firstUserMessage,
|
|
@@ -10141,10 +10142,15 @@ var SessionSelector = class {
|
|
|
10141
10142
|
if (!sessionData) {
|
|
10142
10143
|
throw new Error("Failed to load session data");
|
|
10143
10144
|
}
|
|
10145
|
+
const normalizedSessionData = {
|
|
10146
|
+
...sessionData,
|
|
10147
|
+
startTime: sessionData.startTime || sessionInfo.startTime,
|
|
10148
|
+
lastUpdated: sessionData.lastUpdated || sessionInfo.lastUpdated
|
|
10149
|
+
};
|
|
10144
10150
|
const displayInfo = `Session ${sessionInfo.index}: ${sessionInfo.firstUserMessage} (${sessionInfo.messageCount} messages, ${formatRelativeTime(sessionInfo.lastUpdated)})`;
|
|
10145
10151
|
return {
|
|
10146
10152
|
sessionPath,
|
|
10147
|
-
sessionData,
|
|
10153
|
+
sessionData: normalizedSessionData,
|
|
10148
10154
|
displayInfo
|
|
10149
10155
|
};
|
|
10150
10156
|
} catch (error) {
|
|
@@ -10208,7 +10214,7 @@ function convertSessionToHistoryFormats(messages) {
|
|
|
10208
10214
|
args: tool.args,
|
|
10209
10215
|
description: tool.description || "",
|
|
10210
10216
|
renderOutputAsMarkdown: tool.renderOutputAsMarkdown ?? true,
|
|
10211
|
-
status: tool.status === "success" ?
|
|
10217
|
+
status: tool.status === "success" ? "success" /* Success */ : "error" /* Error */,
|
|
10212
10218
|
resultDisplay: tool.resultDisplay,
|
|
10213
10219
|
confirmationDetails: void 0
|
|
10214
10220
|
}))
|
|
@@ -10531,8 +10537,8 @@ async function cleanupToolOutputFiles(settings, debugMode = false, projectTempDi
|
|
|
10531
10537
|
files.map(async (file) => {
|
|
10532
10538
|
try {
|
|
10533
10539
|
const filePath = path2.join(toolOutputDir, file.name);
|
|
10534
|
-
const
|
|
10535
|
-
return { name: file.name, mtime:
|
|
10540
|
+
const stat3 = await fs2.stat(filePath);
|
|
10541
|
+
return { name: file.name, mtime: stat3.mtime };
|
|
10536
10542
|
} catch (error) {
|
|
10537
10543
|
debugLogger.debug(
|
|
10538
10544
|
`Failed to stat file ${file.name}: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
@@ -10585,12 +10591,12 @@ async function cleanupToolOutputFiles(settings, debugMode = false, projectTempDi
|
|
|
10585
10591
|
continue;
|
|
10586
10592
|
}
|
|
10587
10593
|
const subdirPath = path2.join(toolOutputDir, subdir.name);
|
|
10588
|
-
const
|
|
10594
|
+
const stat3 = await fs2.stat(subdirPath);
|
|
10589
10595
|
let shouldDelete = false;
|
|
10590
10596
|
if (retentionConfig.maxAge) {
|
|
10591
10597
|
const maxAgeMs = parseRetentionPeriod(retentionConfig.maxAge);
|
|
10592
10598
|
const cutoffDate = new Date(now.getTime() - maxAgeMs);
|
|
10593
|
-
if (
|
|
10599
|
+
if (stat3.mtime < cutoffDate) {
|
|
10594
10600
|
shouldDelete = true;
|
|
10595
10601
|
}
|
|
10596
10602
|
}
|
|
@@ -14268,7 +14274,7 @@ var SETTINGS_SCHEMA = {
|
|
|
14268
14274
|
label: "Voice Stop Grace Period (ms)",
|
|
14269
14275
|
category: "Experimental",
|
|
14270
14276
|
requiresRestart: false,
|
|
14271
|
-
default:
|
|
14277
|
+
default: 4e3,
|
|
14272
14278
|
description: "How long to wait for final transcription after stopping recording.",
|
|
14273
14279
|
showInDialog: true
|
|
14274
14280
|
}
|
|
@@ -16175,6 +16181,14 @@ var LoadedSettings = class {
|
|
|
16175
16181
|
get merged() {
|
|
16176
16182
|
return this._merged;
|
|
16177
16183
|
}
|
|
16184
|
+
/**
|
|
16185
|
+
* Returns a merged settings object as if the folder were trusted.
|
|
16186
|
+
* This is useful for commands like 'mcp list' that want to show
|
|
16187
|
+
* what's configured even if it's currently disabled for security reasons.
|
|
16188
|
+
*/
|
|
16189
|
+
getMergedSettingsAsIfTrusted() {
|
|
16190
|
+
return this.computeMergedSettings(true);
|
|
16191
|
+
}
|
|
16178
16192
|
setTrusted(isTrusted) {
|
|
16179
16193
|
if (this.isTrusted === isTrusted) {
|
|
16180
16194
|
return;
|
|
@@ -16191,13 +16205,15 @@ var LoadedSettings = class {
|
|
|
16191
16205
|
originalSettings: {}
|
|
16192
16206
|
};
|
|
16193
16207
|
}
|
|
16194
|
-
computeMergedSettings() {
|
|
16208
|
+
computeMergedSettings(forceTrusted = false) {
|
|
16209
|
+
const isTrusted = forceTrusted || this.isTrusted;
|
|
16210
|
+
const workspace = forceTrusted ? this._workspaceFile : this.workspace;
|
|
16195
16211
|
const merged = mergeSettings(
|
|
16196
16212
|
this.system.settings,
|
|
16197
16213
|
this.systemDefaults.settings,
|
|
16198
16214
|
this.user.settings,
|
|
16199
|
-
|
|
16200
|
-
|
|
16215
|
+
workspace.settings,
|
|
16216
|
+
isTrusted
|
|
16201
16217
|
);
|
|
16202
16218
|
const adminSettingSchema = getSettingsSchema().admin;
|
|
16203
16219
|
if (adminSettingSchema?.properties) {
|
|
@@ -16213,8 +16229,7 @@ var LoadedSettings = class {
|
|
|
16213
16229
|
}
|
|
16214
16230
|
computeSnapshot() {
|
|
16215
16231
|
const cloneSettingsFile = (file) => ({
|
|
16216
|
-
|
|
16217
|
-
rawJson: file.rawJson,
|
|
16232
|
+
...file,
|
|
16218
16233
|
settings: structuredClone(file.settings),
|
|
16219
16234
|
originalSettings: structuredClone(file.originalSettings)
|
|
16220
16235
|
});
|
|
@@ -16232,8 +16247,8 @@ var LoadedSettings = class {
|
|
|
16232
16247
|
// React will pass a listener fn into this subscribe fn
|
|
16233
16248
|
// that listener fn will perform an object identity check on the snapshot and trigger a React re render if the snapshot has changed
|
|
16234
16249
|
subscribe(listener) {
|
|
16235
|
-
coreEvents.on(
|
|
16236
|
-
return () => coreEvents.off(
|
|
16250
|
+
coreEvents.on("settings-changed" /* SettingsChanged */, listener);
|
|
16251
|
+
return () => coreEvents.off("settings-changed" /* SettingsChanged */, listener);
|
|
16237
16252
|
}
|
|
16238
16253
|
getSnapshot() {
|
|
16239
16254
|
return this._snapshot;
|
|
@@ -16336,7 +16351,7 @@ function setUpCloudShellEnvironment(envFilePath, isTrusted, isSandboxed, selecte
|
|
|
16336
16351
|
}
|
|
16337
16352
|
}
|
|
16338
16353
|
let value = "cloudshell-gca";
|
|
16339
|
-
if (selectedAuthType ===
|
|
16354
|
+
if (selectedAuthType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
16340
16355
|
value = process2.env[USER_GCP_PROJECT];
|
|
16341
16356
|
}
|
|
16342
16357
|
if (envFilePath && fs4.existsSync(envFilePath)) {
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
isTelemetrySdkInitialized,
|
|
5
5
|
resetBrowserSession,
|
|
6
6
|
shutdownTelemetry
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UNAVBUTP.js";
|
|
8
8
|
import {
|
|
9
9
|
Storage
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-N6QYTC2T.js";
|
|
11
11
|
|
|
12
12
|
// packages/cli/src/utils/cleanup.ts
|
|
13
13
|
import { promises as fs } from "node:fs";
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
require_strip_json_comments,
|
|
23
23
|
sanitizeFilenamePart,
|
|
24
24
|
stripAnsi
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-SAISHGWW.js";
|
|
26
26
|
import {
|
|
27
27
|
CoreEvent,
|
|
28
28
|
FatalConfigError,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
external_exports,
|
|
34
34
|
getErrorMessage,
|
|
35
35
|
homedir
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-UJ26GAE5.js";
|
|
37
37
|
import {
|
|
38
38
|
__commonJS,
|
|
39
39
|
__require,
|
|
@@ -9962,9 +9962,13 @@ var getAllSessionFiles = async (chatsDir, currentSessionId, options = {}) => {
|
|
|
9962
9962
|
if (!content) {
|
|
9963
9963
|
return { fileName: file, sessionInfo: null };
|
|
9964
9964
|
}
|
|
9965
|
-
if (!content.sessionId
|
|
9965
|
+
if (!content.sessionId) {
|
|
9966
9966
|
return { fileName: file, sessionInfo: null };
|
|
9967
9967
|
}
|
|
9968
|
+
const fileTimestamp = !content.startTime || !content.lastUpdated ? (await fs.stat(filePath).catch(() => void 0))?.mtime.toISOString() : void 0;
|
|
9969
|
+
const fallbackTimestamp = fileTimestamp ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
9970
|
+
const startTime = content.startTime || content.lastUpdated || fallbackTimestamp;
|
|
9971
|
+
const lastUpdated = content.lastUpdated || content.startTime || fallbackTimestamp;
|
|
9968
9972
|
if (!content.hasUserOrAssistantMessage) {
|
|
9969
9973
|
return { fileName: file, sessionInfo: null };
|
|
9970
9974
|
}
|
|
@@ -9986,8 +9990,8 @@ var getAllSessionFiles = async (chatsDir, currentSessionId, options = {}) => {
|
|
|
9986
9990
|
id: content.sessionId,
|
|
9987
9991
|
file: file.replace(/\.jsonl?$/, ""),
|
|
9988
9992
|
fileName: file,
|
|
9989
|
-
startTime
|
|
9990
|
-
lastUpdated
|
|
9993
|
+
startTime,
|
|
9994
|
+
lastUpdated,
|
|
9991
9995
|
messageCount: content.messageCount ?? content.messages.length,
|
|
9992
9996
|
displayName: content.summary ? stripUnsafeCharacters(content.summary) : firstUserMessage,
|
|
9993
9997
|
firstUserMessage,
|
|
@@ -10141,10 +10145,15 @@ var SessionSelector = class {
|
|
|
10141
10145
|
if (!sessionData) {
|
|
10142
10146
|
throw new Error("Failed to load session data");
|
|
10143
10147
|
}
|
|
10148
|
+
const normalizedSessionData = {
|
|
10149
|
+
...sessionData,
|
|
10150
|
+
startTime: sessionData.startTime || sessionInfo.startTime,
|
|
10151
|
+
lastUpdated: sessionData.lastUpdated || sessionInfo.lastUpdated
|
|
10152
|
+
};
|
|
10144
10153
|
const displayInfo = `Session ${sessionInfo.index}: ${sessionInfo.firstUserMessage} (${sessionInfo.messageCount} messages, ${formatRelativeTime(sessionInfo.lastUpdated)})`;
|
|
10145
10154
|
return {
|
|
10146
10155
|
sessionPath,
|
|
10147
|
-
sessionData,
|
|
10156
|
+
sessionData: normalizedSessionData,
|
|
10148
10157
|
displayInfo
|
|
10149
10158
|
};
|
|
10150
10159
|
} catch (error) {
|
|
@@ -10531,8 +10540,8 @@ async function cleanupToolOutputFiles(settings, debugMode = false, projectTempDi
|
|
|
10531
10540
|
files.map(async (file) => {
|
|
10532
10541
|
try {
|
|
10533
10542
|
const filePath = path2.join(toolOutputDir, file.name);
|
|
10534
|
-
const
|
|
10535
|
-
return { name: file.name, mtime:
|
|
10543
|
+
const stat3 = await fs2.stat(filePath);
|
|
10544
|
+
return { name: file.name, mtime: stat3.mtime };
|
|
10536
10545
|
} catch (error) {
|
|
10537
10546
|
debugLogger.debug(
|
|
10538
10547
|
`Failed to stat file ${file.name}: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
@@ -10585,12 +10594,12 @@ async function cleanupToolOutputFiles(settings, debugMode = false, projectTempDi
|
|
|
10585
10594
|
continue;
|
|
10586
10595
|
}
|
|
10587
10596
|
const subdirPath = path2.join(toolOutputDir, subdir.name);
|
|
10588
|
-
const
|
|
10597
|
+
const stat3 = await fs2.stat(subdirPath);
|
|
10589
10598
|
let shouldDelete = false;
|
|
10590
10599
|
if (retentionConfig.maxAge) {
|
|
10591
10600
|
const maxAgeMs = parseRetentionPeriod(retentionConfig.maxAge);
|
|
10592
10601
|
const cutoffDate = new Date(now.getTime() - maxAgeMs);
|
|
10593
|
-
if (
|
|
10602
|
+
if (stat3.mtime < cutoffDate) {
|
|
10594
10603
|
shouldDelete = true;
|
|
10595
10604
|
}
|
|
10596
10605
|
}
|
|
@@ -14268,7 +14277,7 @@ var SETTINGS_SCHEMA = {
|
|
|
14268
14277
|
label: "Voice Stop Grace Period (ms)",
|
|
14269
14278
|
category: "Experimental",
|
|
14270
14279
|
requiresRestart: false,
|
|
14271
|
-
default:
|
|
14280
|
+
default: 4e3,
|
|
14272
14281
|
description: "How long to wait for final transcription after stopping recording.",
|
|
14273
14282
|
showInDialog: true
|
|
14274
14283
|
}
|
|
@@ -16175,6 +16184,14 @@ var LoadedSettings = class {
|
|
|
16175
16184
|
get merged() {
|
|
16176
16185
|
return this._merged;
|
|
16177
16186
|
}
|
|
16187
|
+
/**
|
|
16188
|
+
* Returns a merged settings object as if the folder were trusted.
|
|
16189
|
+
* This is useful for commands like 'mcp list' that want to show
|
|
16190
|
+
* what's configured even if it's currently disabled for security reasons.
|
|
16191
|
+
*/
|
|
16192
|
+
getMergedSettingsAsIfTrusted() {
|
|
16193
|
+
return this.computeMergedSettings(true);
|
|
16194
|
+
}
|
|
16178
16195
|
setTrusted(isTrusted) {
|
|
16179
16196
|
if (this.isTrusted === isTrusted) {
|
|
16180
16197
|
return;
|
|
@@ -16191,13 +16208,15 @@ var LoadedSettings = class {
|
|
|
16191
16208
|
originalSettings: {}
|
|
16192
16209
|
};
|
|
16193
16210
|
}
|
|
16194
|
-
computeMergedSettings() {
|
|
16211
|
+
computeMergedSettings(forceTrusted = false) {
|
|
16212
|
+
const isTrusted = forceTrusted || this.isTrusted;
|
|
16213
|
+
const workspace = forceTrusted ? this._workspaceFile : this.workspace;
|
|
16195
16214
|
const merged = mergeSettings(
|
|
16196
16215
|
this.system.settings,
|
|
16197
16216
|
this.systemDefaults.settings,
|
|
16198
16217
|
this.user.settings,
|
|
16199
|
-
|
|
16200
|
-
|
|
16218
|
+
workspace.settings,
|
|
16219
|
+
isTrusted
|
|
16201
16220
|
);
|
|
16202
16221
|
const adminSettingSchema = getSettingsSchema().admin;
|
|
16203
16222
|
if (adminSettingSchema?.properties) {
|
|
@@ -16213,8 +16232,7 @@ var LoadedSettings = class {
|
|
|
16213
16232
|
}
|
|
16214
16233
|
computeSnapshot() {
|
|
16215
16234
|
const cloneSettingsFile = (file) => ({
|
|
16216
|
-
|
|
16217
|
-
rawJson: file.rawJson,
|
|
16235
|
+
...file,
|
|
16218
16236
|
settings: structuredClone(file.settings),
|
|
16219
16237
|
originalSettings: structuredClone(file.originalSettings)
|
|
16220
16238
|
});
|