@google/gemini-cli 0.67.0-nightly.20261104.g89e9d25d6 → 0.67.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/README.md +24 -18
- package/bundle/{chunk-TAYMSEDM.js → chunk-2E3ETS5J.js} +2 -2
- package/bundle/{chunk-2VRD7O3N.js → chunk-4JH2G4F4.js} +3 -3
- package/bundle/{chunk-AT7K3IZG.js → chunk-56IGTM4O.js} +1 -1
- package/bundle/{chunk-B2FKXXUH.js → chunk-5RNHNFYV.js} +106 -327
- package/bundle/{chunk-R7UEKGMB.js → chunk-7LX6MRZ6.js} +1 -1
- package/bundle/{chunk-HU3K5KGK.js → chunk-BW65QRZA.js} +11 -9
- package/bundle/{chunk-5WHCLVFH.js → chunk-CJFBYU4J.js} +157 -391
- package/bundle/{chunk-NMKJ47HQ.js → chunk-GBUWHRK6.js} +3 -3
- package/bundle/{chunk-VBHMFLBY.js → chunk-IDJ4QXBF.js} +1 -1
- package/bundle/{chunk-JMHCFAD6.js → chunk-IGE3G3WZ.js} +1 -1
- package/bundle/{chunk-RCF66HCI.js → chunk-LAR4JEC7.js} +1008 -1627
- package/bundle/{chunk-CXMHAFLN.js → chunk-M73CYIV5.js} +2 -2
- package/bundle/{chunk-TB5I5645.js → chunk-MQNW2IRI.js} +2 -2
- package/bundle/{chunk-DKKEYKSG.js → chunk-NGQU3QTQ.js} +996 -1558
- package/bundle/{chunk-VLYI5NP4.js → chunk-O7MGOE2I.js} +16023 -9466
- package/bundle/{chunk-RD2EMHV2.js → chunk-OJ62HCXG.js} +1 -1
- package/bundle/{chunk-HRM7UWGB.js → chunk-P62CI7AR.js} +11 -9
- package/bundle/{chunk-H3WGFU7D.js → chunk-PUNFASKY.js} +1 -1
- package/bundle/{chunk-L77QEOSK.js → chunk-QA5FT4VY.js} +3 -3
- package/bundle/{chunk-WY3X2UP2.js → chunk-QTXJG3I3.js} +8 -9
- package/bundle/{chunk-XBEZPOEF.js → chunk-VK766A3F.js} +1 -1
- package/bundle/{chunk-3DAQUNXR.js → chunk-VO6PFWLY.js} +15 -15
- package/bundle/{chunk-ILNZCTNC.js → chunk-XETHQLRU.js} +106 -327
- package/bundle/{chunk-7SSKD5HN.js → chunk-YUO7RUF4.js} +1 -1
- package/bundle/{cleanup-3ALSKRBJ.js → cleanup-B6AOSVD4.js} +2 -2
- package/bundle/{cleanup-6DVNSRQY.js → cleanup-BRFB47DL.js} +2 -2
- package/bundle/{cleanup-HRNPECKR.js → cleanup-S5QFYCEP.js} +2 -2
- package/bundle/{core-NQRKBS47.js → core-GTUUQBGE.js} +1 -3
- package/bundle/{dist-QYTQZ6QW.js → core-N27LU4DK.js} +1 -3
- package/bundle/{devtoolsService-EWNQDTC7.js → devtoolsService-6V46WMXX.js} +2 -2
- package/bundle/{devtoolsService-64TPRUWQ.js → devtoolsService-E74ZMDMM.js} +2 -2
- package/bundle/{devtoolsService-E6I4WSAL.js → devtoolsService-EFJXZRFD.js} +3 -4
- package/bundle/{dist-L5NYU7FF.js → dist-E6RCLXQU.js} +1 -3
- package/bundle/docs/changelogs/index.md +0 -24
- package/bundle/docs/changelogs/latest.md +90 -83
- package/bundle/docs/changelogs/preview.md +87 -89
- package/bundle/docs/cli/sandbox.md +2 -8
- package/bundle/docs/cli/themes.md +3 -6
- package/bundle/docs/extensions/releasing.md +0 -32
- package/bundle/docs/reference/configuration.md +10 -2
- package/bundle/{gemini-YFCTZ76S.js → gemini-4JPKPLQN.js} +24 -122
- package/bundle/{gemini-QAVNR7N4.js → gemini-QWDTSJTS.js} +209 -323
- package/bundle/{gemini-7USJ6MGR.js → gemini-VF5FS3OM.js} +24 -122
- package/bundle/gemini.js +7 -7
- package/bundle/{interactiveCli-X54KN2EM.js → interactiveCli-F2YYMYTP.js} +1145 -1350
- package/bundle/{interactiveCli-XN43CGES.js → interactiveCli-FQ3YKGOG.js} +1428 -1652
- package/bundle/{interactiveCli-3VTQP4GH.js → interactiveCli-QJZZISQQ.js} +1145 -1350
- package/bundle/{liteRtServerManager-E4PDEWY3.js → liteRtServerManager-27R2M6XE.js} +4 -4
- package/bundle/{liteRtServerManager-ENSSU4TN.js → liteRtServerManager-JAV3GR4V.js} +4 -4
- package/bundle/{liteRtServerManager-FLPMMDNM.js → liteRtServerManager-X5CCMKM6.js} +4 -4
- package/bundle/{oauth2-provider-3MJNDLJF.js → oauth2-provider-6UCP23AQ.js} +1 -1
- package/bundle/{oauth2-provider-VMBYZOC7.js → oauth2-provider-C65IJMNQ.js} +1 -1
- package/bundle/{oauth2-provider-ZIZQIT7D.js → oauth2-provider-H2KV36NU.js} +79 -41
- package/bundle/{start-B63MUWDV.js → start-E4ZL44QM.js} +6 -6
- package/bundle/{start-DFHM4HI4.js → start-GNOA75NQ.js} +6 -6
- package/bundle/{start-OHBUJSIL.js → start-K2AYYNST.js} +6 -6
- package/package.json +1 -1
- package/bundle/chunk-674DJGDU.js +0 -512
- package/bundle/chunk-M4REEHDQ.js +0 -185
- package/bundle/chunk-NOMIJA6W.js +0 -1956
- package/bundle/chunk-ORXIIXSA.js +0 -80453
- package/bundle/chunk-Q3OUSMTD.js +0 -39405
- package/bundle/chunk-Q76ZDILI.js +0 -118
- package/bundle/chunk-T6YNV33L.js +0 -1571
- package/bundle/chunk-YTSRA7S6.js +0 -403181
- package/bundle/cleanup-OQV2G5Y3.js +0 -34
- package/bundle/devtoolsService-PG47POWV.js +0 -4422
- package/bundle/dist-LJVRZOCO.js +0 -2298
- package/bundle/gemini-QVVNPYKF.js +0 -19271
- package/bundle/interactiveCli-ELN2VGHK.js +0 -35871
- package/bundle/liteRtServerManager-TYCQMNCE.js +0 -65
- package/bundle/oauth2-provider-NLSE3P5W.js +0 -273
- package/bundle/start-V3EP7MBL.js +0 -18
|
@@ -415,14 +415,8 @@ $env:SANDBOX_FLAGS="--flag1 --flag2=value"
|
|
|
415
415
|
|
|
416
416
|
### Linux UID/GID handling
|
|
417
417
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
Linux distributions) and you use rootless Podman, Gemini CLI also passes
|
|
421
|
-
`--userns=keep-id`. This keeps files that the sandbox creates in mounted
|
|
422
|
-
directories owned by your host user. To use a different user namespace mode, add
|
|
423
|
-
your own `--userns` option to `SANDBOX_FLAGS`.
|
|
424
|
-
|
|
425
|
-
Override the default Linux UID/GID mapping behavior with:
|
|
418
|
+
The sandbox automatically handles user permissions on Linux. Override these
|
|
419
|
+
permissions with:
|
|
426
420
|
|
|
427
421
|
**macOS/Linux**
|
|
428
422
|
|
|
@@ -97,6 +97,7 @@ nested configuration objects. For example:
|
|
|
97
97
|
- `diff.removed`: Background for removed lines in diffs.
|
|
98
98
|
- **`border`**: Defines border colors.
|
|
99
99
|
- `default`: The standard border color.
|
|
100
|
+
- `focused`: Border color when an element is focused.
|
|
100
101
|
- **`status`**: Colors for status indicators.
|
|
101
102
|
- `success`: Used for successful operations.
|
|
102
103
|
- `warning`: Used for warnings.
|
|
@@ -104,9 +105,6 @@ nested configuration objects. For example:
|
|
|
104
105
|
- **`ui`**: Other UI elements.
|
|
105
106
|
- `comment`: Color for code comments.
|
|
106
107
|
- `symbol`: Color for code symbols and operators.
|
|
107
|
-
- `active`: Border and text color for active or running elements.
|
|
108
|
-
- `focus`: Color for focused elements, such as selected menu items and focused
|
|
109
|
-
borders.
|
|
110
108
|
- `gradient`: An array of colors used for gradient effects.
|
|
111
109
|
|
|
112
110
|
**Required properties:**
|
|
@@ -168,7 +166,8 @@ custom theme defined in `settings.json`.
|
|
|
168
166
|
"accent": "#d3869b"
|
|
169
167
|
},
|
|
170
168
|
"border": {
|
|
171
|
-
"default": "#3c3836"
|
|
169
|
+
"default": "#3c3836",
|
|
170
|
+
"focused": "#458588"
|
|
172
171
|
},
|
|
173
172
|
"status": {
|
|
174
173
|
"success": "#b8bb26",
|
|
@@ -178,8 +177,6 @@ custom theme defined in `settings.json`.
|
|
|
178
177
|
"ui": {
|
|
179
178
|
"comment": "#928374",
|
|
180
179
|
"symbol": "#8ec07c",
|
|
181
|
-
"active": "#83a598",
|
|
182
|
-
"focus": "#b8bb26",
|
|
183
180
|
"gradient": ["#cc241d", "#d65d0e", "#d79921"]
|
|
184
181
|
}
|
|
185
182
|
}
|
|
@@ -29,38 +29,6 @@ To have your extension automatically discovered and listed:
|
|
|
29
29
|
Our system crawls tagged repositories daily. Once you tag your repository, your
|
|
30
30
|
extension will appear in the gallery if it passes validation.
|
|
31
31
|
|
|
32
|
-
### Troubleshooting gallery indexing
|
|
33
|
-
|
|
34
|
-
If your extension doesn't appear in the gallery after 24 to 48 hours despite
|
|
35
|
-
meeting the listing requirements, GitHub Code Search may not have indexed your
|
|
36
|
-
repository's manifest file yet.
|
|
37
|
-
|
|
38
|
-
The gallery crawler relies on GitHub Code Search to discover
|
|
39
|
-
`gemini-extension.json` files across public repositories. Newly created or
|
|
40
|
-
recently pushed repositories are often indexed lazily by GitHub.
|
|
41
|
-
|
|
42
|
-
To check whether GitHub has indexed your repository's manifest, run the
|
|
43
|
-
following command using the GitHub CLI:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
gh api 'search/code?q=repo:<owner>/<repo>+filename:gemini-extension.json' --jq .total_count
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
If the count is `0`, or if you don't use the GitHub CLI, trigger indexing
|
|
50
|
-
manually in your web browser:
|
|
51
|
-
|
|
52
|
-
1. Sign in to GitHub.
|
|
53
|
-
2. Navigate to
|
|
54
|
-
`https://github.com/search?q=repo%3A<owner>%2F<repo>+gemini-extension.json&type=code`
|
|
55
|
-
(replace `<owner>/<repo>` with your repository path).
|
|
56
|
-
3. If GitHub displays "This repository's code is being indexed right now", wait
|
|
57
|
-
15 to 30 minutes for indexing to finish.
|
|
58
|
-
4. Re-run the search until `gemini-extension.json` appears in the search
|
|
59
|
-
results.
|
|
60
|
-
|
|
61
|
-
Once GitHub indexes the manifest file, the crawler will discover and index your
|
|
62
|
-
extension during its next scheduled cycle.
|
|
63
|
-
|
|
64
32
|
## Release through a Git repository
|
|
65
33
|
|
|
66
34
|
Releasing through Git is the most flexible option. Create a public Git
|
|
@@ -1056,7 +1056,7 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1056
1056
|
"auto": {
|
|
1057
1057
|
"displayName": "Auto",
|
|
1058
1058
|
"tier": "auto",
|
|
1059
|
-
"isPreview":
|
|
1059
|
+
"isPreview": true,
|
|
1060
1060
|
"isVisible": true,
|
|
1061
1061
|
"features": {
|
|
1062
1062
|
"thinking": true,
|
|
@@ -1191,7 +1191,15 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1191
1191
|
]
|
|
1192
1192
|
},
|
|
1193
1193
|
"gemini-2.5-flash": {
|
|
1194
|
-
"default": "gemini-2.5-flash"
|
|
1194
|
+
"default": "gemini-2.5-flash",
|
|
1195
|
+
"contexts": [
|
|
1196
|
+
{
|
|
1197
|
+
"condition": {
|
|
1198
|
+
"useLatestFlash": true
|
|
1199
|
+
},
|
|
1200
|
+
"target": "gemini-3.8-flash"
|
|
1201
|
+
}
|
|
1202
|
+
]
|
|
1195
1203
|
},
|
|
1196
1204
|
"gemini-3-pro-preview": {
|
|
1197
1205
|
"default": "gemini-3-pro-preview",
|
|
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
|
|
|
2
2
|
import {
|
|
3
3
|
startCommand,
|
|
4
4
|
startServer
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GBUWHRK6.js";
|
|
6
6
|
import {
|
|
7
7
|
BuiltinCommandLoader,
|
|
8
8
|
CommandService,
|
|
@@ -45,11 +45,11 @@ import {
|
|
|
45
45
|
updateExtension,
|
|
46
46
|
validateAuthMethod,
|
|
47
47
|
validateContextFilePath
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-5RNHNFYV.js";
|
|
49
49
|
import {
|
|
50
50
|
exitCli,
|
|
51
51
|
require_source
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-7LX6MRZ6.js";
|
|
53
53
|
import {
|
|
54
54
|
appEvents
|
|
55
55
|
} from "./chunk-5PS3AYFU.js";
|
|
@@ -89,12 +89,12 @@ import {
|
|
|
89
89
|
saveModelChange,
|
|
90
90
|
setAmbiguousCharactersWide,
|
|
91
91
|
stripAnsi
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-VO6PFWLY.js";
|
|
93
93
|
import {
|
|
94
94
|
RELAUNCH_EXIT_CODE,
|
|
95
95
|
require_semver
|
|
96
|
-
} from "./chunk-
|
|
97
|
-
import "./chunk-
|
|
96
|
+
} from "./chunk-MQNW2IRI.js";
|
|
97
|
+
import "./chunk-IDJ4QXBF.js";
|
|
98
98
|
import {
|
|
99
99
|
cleanupCheckpoints,
|
|
100
100
|
registerCleanup,
|
|
@@ -103,7 +103,7 @@ import {
|
|
|
103
103
|
runExitCleanup,
|
|
104
104
|
runSyncCleanup,
|
|
105
105
|
setupSignalHandlers
|
|
106
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-VK766A3F.js";
|
|
107
107
|
import {
|
|
108
108
|
ASK_USER_TOOL_NAME,
|
|
109
109
|
AjvJsonSchemaValidator,
|
|
@@ -273,7 +273,7 @@ import {
|
|
|
273
273
|
updatePolicy,
|
|
274
274
|
writeToStderr,
|
|
275
275
|
writeToStdout
|
|
276
|
-
} from "./chunk-
|
|
276
|
+
} from "./chunk-O7MGOE2I.js";
|
|
277
277
|
import "./chunk-664ZODQF.js";
|
|
278
278
|
import "./chunk-IUUIT4SU.js";
|
|
279
279
|
import "./chunk-L6PII3GR.js";
|
|
@@ -6496,57 +6496,6 @@ async function validateExtension(args) {
|
|
|
6496
6496
|
`Warning: Version '${extensionConfig.version}' does not appear to be standard semver (e.g., 1.0.0).`
|
|
6497
6497
|
);
|
|
6498
6498
|
}
|
|
6499
|
-
if (extensionConfig.mcpServers) {
|
|
6500
|
-
if (typeof extensionConfig.mcpServers !== "object" || extensionConfig.mcpServers === null || Array.isArray(extensionConfig.mcpServers)) {
|
|
6501
|
-
errors.push('The "mcpServers" field must be an object.');
|
|
6502
|
-
} else {
|
|
6503
|
-
for (const [serverName, serverConfig] of Object.entries(
|
|
6504
|
-
extensionConfig.mcpServers
|
|
6505
|
-
)) {
|
|
6506
|
-
if (typeof serverConfig !== "object" || serverConfig === null || Array.isArray(serverConfig)) {
|
|
6507
|
-
errors.push(
|
|
6508
|
-
`MCP server configuration for "${serverName}" must be an object.`
|
|
6509
|
-
);
|
|
6510
|
-
continue;
|
|
6511
|
-
}
|
|
6512
|
-
const hasCommand = typeof serverConfig.command === "string" && serverConfig.command.trim().length > 0;
|
|
6513
|
-
const hasUrl = typeof serverConfig.url === "string" && serverConfig.url.trim().length > 0;
|
|
6514
|
-
const hasHttpUrl = typeof serverConfig.httpUrl === "string" && serverConfig.httpUrl.trim().length > 0;
|
|
6515
|
-
const hasTcp = typeof serverConfig.tcp === "string" && serverConfig.tcp.trim().length > 0 || typeof serverConfig.tcp === "number";
|
|
6516
|
-
if (!hasCommand && !hasUrl && !hasHttpUrl && !hasTcp) {
|
|
6517
|
-
errors.push(
|
|
6518
|
-
`MCP server "${serverName}" must specify a transport (e.g., "command", "url", or "httpUrl").`
|
|
6519
|
-
);
|
|
6520
|
-
}
|
|
6521
|
-
if (hasHttpUrl) {
|
|
6522
|
-
warnings.push(
|
|
6523
|
-
`MCP server "${serverName}" uses deprecated "httpUrl". Consider using "url" with "type": "http" instead.`
|
|
6524
|
-
);
|
|
6525
|
-
}
|
|
6526
|
-
const errorPrefix = `MCP server "${serverName}" specifies an invalid `;
|
|
6527
|
-
if (hasUrl && serverConfig.url) {
|
|
6528
|
-
const hasPlaceholder = serverConfig.url.includes("$");
|
|
6529
|
-
if (!hasPlaceholder) {
|
|
6530
|
-
try {
|
|
6531
|
-
new URL(serverConfig.url);
|
|
6532
|
-
} catch {
|
|
6533
|
-
errors.push(`${errorPrefix}URL: "${serverConfig.url}".`);
|
|
6534
|
-
}
|
|
6535
|
-
}
|
|
6536
|
-
}
|
|
6537
|
-
if (hasHttpUrl && serverConfig.httpUrl) {
|
|
6538
|
-
const hasPlaceholder = serverConfig.httpUrl.includes("$");
|
|
6539
|
-
if (!hasPlaceholder) {
|
|
6540
|
-
try {
|
|
6541
|
-
new URL(serverConfig.httpUrl);
|
|
6542
|
-
} catch {
|
|
6543
|
-
errors.push(`${errorPrefix}httpUrl: "${serverConfig.httpUrl}".`);
|
|
6544
|
-
}
|
|
6545
|
-
}
|
|
6546
|
-
}
|
|
6547
|
-
}
|
|
6548
|
-
}
|
|
6549
|
-
}
|
|
6550
6499
|
if (warnings.length > 0) {
|
|
6551
6500
|
debugLogger.warn("Validation warnings:");
|
|
6552
6501
|
for (const warning of warnings) {
|
|
@@ -6991,10 +6940,8 @@ var EVENT_MAPPING = {
|
|
|
6991
6940
|
PostToolUse: "AfterTool",
|
|
6992
6941
|
UserPromptSubmit: "BeforeAgent",
|
|
6993
6942
|
Stop: "AfterAgent",
|
|
6994
|
-
SubagentStop: "AfterAgent",
|
|
6995
|
-
// Gemini doesn't have sub-agents, map to AfterAgent
|
|
6996
6943
|
SubAgentStop: "AfterAgent",
|
|
6997
|
-
//
|
|
6944
|
+
// Gemini doesn't have sub-agents, map to AfterAgent
|
|
6998
6945
|
SessionStart: "SessionStart",
|
|
6999
6946
|
SessionEnd: "SessionEnd",
|
|
7000
6947
|
PreCompact: "PreCompress",
|
|
@@ -7082,10 +7029,7 @@ function migrateClaudeHooks(claudeConfig) {
|
|
|
7082
7029
|
}
|
|
7083
7030
|
return migratedDef;
|
|
7084
7031
|
});
|
|
7085
|
-
geminiHooks[geminiEventName] =
|
|
7086
|
-
...geminiHooks[geminiEventName] || [],
|
|
7087
|
-
...migratedDefinitions
|
|
7088
|
-
];
|
|
7032
|
+
geminiHooks[geminiEventName] = migratedDefinitions;
|
|
7089
7033
|
}
|
|
7090
7034
|
return geminiHooks;
|
|
7091
7035
|
}
|
|
@@ -8364,7 +8308,7 @@ async function loadSandboxConfig(settings, argv) {
|
|
|
8364
8308
|
}
|
|
8365
8309
|
const command2 = getSandboxCommand(sandboxValue);
|
|
8366
8310
|
const packageJson = await getPackageJson(__dirname3);
|
|
8367
|
-
const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.67.0-
|
|
8311
|
+
const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.67.0-preview.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
|
|
8368
8312
|
const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
|
|
8369
8313
|
return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
|
|
8370
8314
|
}
|
|
@@ -11432,45 +11376,6 @@ function isRecord3(value) {
|
|
|
11432
11376
|
}
|
|
11433
11377
|
var execAsync = promisify(exec);
|
|
11434
11378
|
var execFileAsync = promisify(execFile);
|
|
11435
|
-
var PODMAN_INFO_TIMEOUT_MS = 5e3;
|
|
11436
|
-
async function isPodmanRootless() {
|
|
11437
|
-
const formats = [
|
|
11438
|
-
"{{.Host.Security.Rootless}}",
|
|
11439
|
-
"{{.Host.ServiceIsRootless}}"
|
|
11440
|
-
];
|
|
11441
|
-
for (const format3 of formats) {
|
|
11442
|
-
try {
|
|
11443
|
-
const { stdout } = await execFileAsync(
|
|
11444
|
-
"podman",
|
|
11445
|
-
["info", "--format", format3],
|
|
11446
|
-
{
|
|
11447
|
-
encoding: "utf-8",
|
|
11448
|
-
timeout: PODMAN_INFO_TIMEOUT_MS,
|
|
11449
|
-
killSignal: "SIGKILL"
|
|
11450
|
-
}
|
|
11451
|
-
);
|
|
11452
|
-
const trimmed = String(stdout ?? "").trim().toLowerCase();
|
|
11453
|
-
if (trimmed === "true") {
|
|
11454
|
-
return true;
|
|
11455
|
-
}
|
|
11456
|
-
if (trimmed === "false") {
|
|
11457
|
-
return false;
|
|
11458
|
-
}
|
|
11459
|
-
} catch (err) {
|
|
11460
|
-
const isMissingBinary = isNodeError(err) && err.code === "ENOENT";
|
|
11461
|
-
const timedOut = isRecord3(err) && err["killed"] === true;
|
|
11462
|
-
if (isMissingBinary || timedOut) {
|
|
11463
|
-
break;
|
|
11464
|
-
}
|
|
11465
|
-
}
|
|
11466
|
-
}
|
|
11467
|
-
return false;
|
|
11468
|
-
}
|
|
11469
|
-
function hasUsernsFlag(flags) {
|
|
11470
|
-
return flags.some(
|
|
11471
|
-
(flag) => flag === "--userns" || flag.startsWith("--userns=")
|
|
11472
|
-
);
|
|
11473
|
-
}
|
|
11474
11379
|
async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs = []) {
|
|
11475
11380
|
const patcher = new ConsolePatcher({
|
|
11476
11381
|
debugMode: cliConfig?.getDebugMode() || !!process.env["DEBUG"],
|
|
@@ -11809,10 +11714,12 @@ async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs = []) {
|
|
|
11809
11714
|
if (config.command === "runsc") {
|
|
11810
11715
|
args.push("--runtime=runsc");
|
|
11811
11716
|
}
|
|
11812
|
-
|
|
11813
|
-
|
|
11814
|
-
|
|
11815
|
-
|
|
11717
|
+
if (process.env["SANDBOX_FLAGS"]) {
|
|
11718
|
+
const flags = (0, import_shell_quote2.parse)(process.env["SANDBOX_FLAGS"], process.env).filter(
|
|
11719
|
+
(f) => typeof f === "string"
|
|
11720
|
+
);
|
|
11721
|
+
args.push(...flags);
|
|
11722
|
+
}
|
|
11816
11723
|
if (process.stdin.isTTY) {
|
|
11817
11724
|
args.push("-t");
|
|
11818
11725
|
}
|
|
@@ -12125,9 +12032,6 @@ async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs = []) {
|
|
|
12125
12032
|
userFlag = "--user root";
|
|
12126
12033
|
} else if (await shouldUseCurrentUserInSandbox()) {
|
|
12127
12034
|
args.push("--user", "root");
|
|
12128
|
-
if (command2 === "podman" && !hasUsernsFlag(customFlags) && await isPodmanRootless()) {
|
|
12129
|
-
args.push("--userns=keep-id");
|
|
12130
|
-
}
|
|
12131
12035
|
const uid = (await execAsync("id -u")).stdout.trim();
|
|
12132
12036
|
const gid = (await execAsync("id -g")).stdout.trim();
|
|
12133
12037
|
const username = "gemini";
|
|
@@ -13032,7 +12936,7 @@ async function runNonInteractive({
|
|
|
13032
12936
|
}
|
|
13033
12937
|
});
|
|
13034
12938
|
if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
|
|
13035
|
-
const { setupInitialActivityLogger } = await import("./devtoolsService-
|
|
12939
|
+
const { setupInitialActivityLogger } = await import("./devtoolsService-6V46WMXX.js");
|
|
13036
12940
|
setupInitialActivityLogger(config);
|
|
13037
12941
|
}
|
|
13038
12942
|
const { stdout: workingStdout } = createWorkingStdio();
|
|
@@ -13560,7 +13464,7 @@ async function runNonInteractive2(params) {
|
|
|
13560
13464
|
}
|
|
13561
13465
|
});
|
|
13562
13466
|
if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
|
|
13563
|
-
const { setupInitialActivityLogger } = await import("./devtoolsService-
|
|
13467
|
+
const { setupInitialActivityLogger } = await import("./devtoolsService-6V46WMXX.js");
|
|
13564
13468
|
setupInitialActivityLogger(config);
|
|
13565
13469
|
}
|
|
13566
13470
|
const { stdout: workingStdout } = createWorkingStdio();
|
|
@@ -17810,11 +17714,9 @@ var AcpSessionManager = class {
|
|
|
17810
17714
|
currentModelId
|
|
17811
17715
|
}
|
|
17812
17716
|
};
|
|
17813
|
-
|
|
17814
|
-
await session.streamHistory(messages);
|
|
17815
|
-
} catch (err) {
|
|
17717
|
+
session.streamHistory(messages).catch((err) => {
|
|
17816
17718
|
debugLogger.error(`Error streaming history: ${err}`);
|
|
17817
|
-
}
|
|
17719
|
+
});
|
|
17818
17720
|
setTimeout(() => {
|
|
17819
17721
|
session?.sendAvailableCommands().catch((err) => {
|
|
17820
17722
|
debugLogger.error(`Error sending available commands: ${err}`);
|
|
@@ -18723,7 +18625,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
|
|
|
18723
18625
|
}
|
|
18724
18626
|
}
|
|
18725
18627
|
async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
|
|
18726
|
-
const { startInteractiveUI: doStartUI } = await import("./interactiveCli-
|
|
18628
|
+
const { startInteractiveUI: doStartUI } = await import("./interactiveCli-FQ3YKGOG.js");
|
|
18727
18629
|
await doStartUI(
|
|
18728
18630
|
config,
|
|
18729
18631
|
settings,
|
|
@@ -18948,7 +18850,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
18948
18850
|
await config.storage.initialize();
|
|
18949
18851
|
adminControlsListner.setConfig(config);
|
|
18950
18852
|
if (config.isInteractive() && settings.merged.general.devtools) {
|
|
18951
|
-
const { setupInitialActivityLogger } = await import("./devtoolsService-
|
|
18853
|
+
const { setupInitialActivityLogger } = await import("./devtoolsService-6V46WMXX.js");
|
|
18952
18854
|
setupInitialActivityLogger(config);
|
|
18953
18855
|
}
|
|
18954
18856
|
registerTelemetryConfig(config);
|
|
@@ -19007,7 +18909,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
19007
18909
|
const initAppHandle = startupProfiler.start("initialize_app");
|
|
19008
18910
|
const initializationResult = await initializeApp(config, settings);
|
|
19009
18911
|
initAppHandle?.end();
|
|
19010
|
-
import("./liteRtServerManager-
|
|
18912
|
+
import("./liteRtServerManager-JAV3GR4V.js").then(({ LiteRtServerManager }) => {
|
|
19011
18913
|
const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
|
|
19012
18914
|
if (!mergedGemma) return;
|
|
19013
18915
|
const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;
|