summaryrefslogtreecommitdiff
path: root/packages/cli/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src')
-rw-r--r--packages/cli/src/config/config.ts9
-rw-r--r--packages/cli/src/gemini.tsx4
-rw-r--r--packages/cli/src/ui/App.test.tsx9
-rw-r--r--packages/cli/src/ui/App.tsx9
-rw-r--r--packages/cli/src/ui/hooks/slashCommandProcessor.test.ts5
-rw-r--r--packages/cli/src/ui/hooks/slashCommandProcessor.ts8
-rw-r--r--packages/cli/src/utils/version.ts29
7 files changed, 11 insertions, 62 deletions
diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts
index f18ddcdf..17f14b54 100644
--- a/packages/cli/src/config/config.ts
+++ b/packages/cli/src/config/config.ts
@@ -175,7 +175,7 @@ export async function loadCliConfig(
debugMode,
);
- const userAgent = await createUserAgent();
+ const userAgent = `GeminiCLI/${getCliVersion()}/(${process.platform}; ${process.arch})`;
const apiKeyForServer = geminiApiKey || googleApiKey || '';
const useVertexAI = hasGeminiApiKey ? false : undefined;
@@ -193,8 +193,6 @@ export async function loadCliConfig(
originalModel = checkResult.originalModelIfSwitched;
modelToUse = checkResult.effectiveModel;
}
- } else {
- // logger.debug('API key not available during config load. Skipping model availability check.');
}
const configParams: ConfigParameters = {
@@ -237,8 +235,3 @@ export async function loadCliConfig(
finalModel: modelToUse,
};
}
-
-async function createUserAgent(): Promise<string> {
- const cliVersion = await getCliVersion();
- return `GeminiCLI/${cliVersion} Node.js/${process.version} (${process.platform}; ${process.arch})`;
-}
diff --git a/packages/cli/src/gemini.tsx b/packages/cli/src/gemini.tsx
index 627f2915..309768f2 100644
--- a/packages/cli/src/gemini.tsx
+++ b/packages/cli/src/gemini.tsx
@@ -9,7 +9,6 @@ import { render } from 'ink';
import { App } from './ui/App.js';
import { loadCliConfig } from './config/config.js';
import { readStdin } from './utils/readStdin.js';
-import { getCliVersion } from './utils/version.js';
import { sandbox_command, start_sandbox } from './utils/sandbox.js';
import { LoadedSettings, loadSettings } from './config/settings.js';
import { themeManager } from './ui/themes/theme-manager.js';
@@ -101,14 +100,11 @@ export async function main() {
// Render UI, passing necessary config values. Check that there is no command line question.
if (process.stdin.isTTY && input?.length === 0) {
- const cliVersion = await getCliVersion();
-
render(
<React.StrictMode>
<App
config={config}
settings={settings}
- cliVersion={cliVersion}
startupWarnings={startupWarnings}
/>
</React.StrictMode>,
diff --git a/packages/cli/src/ui/App.test.tsx b/packages/cli/src/ui/App.test.tsx
index 90adb24f..98d82be8 100644
--- a/packages/cli/src/ui/App.test.tsx
+++ b/packages/cli/src/ui/App.test.tsx
@@ -217,7 +217,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
@@ -234,7 +233,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
@@ -255,7 +253,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
@@ -276,7 +273,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
@@ -297,7 +293,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
@@ -317,7 +312,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
@@ -338,7 +332,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
@@ -368,7 +361,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
@@ -383,7 +375,6 @@ describe('App UI', () => {
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
- cliVersion="1.0.0"
/>,
);
currentUnmount = unmount;
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx
index 2df5ba0a..37251634 100644
--- a/packages/cli/src/ui/App.tsx
+++ b/packages/cli/src/ui/App.tsx
@@ -55,16 +55,10 @@ const CTRL_C_PROMPT_DURATION_MS = 1000;
interface AppProps {
config: Config;
settings: LoadedSettings;
- cliVersion: string;
startupWarnings?: string[];
}
-export const App = ({
- config,
- settings,
- cliVersion,
- startupWarnings = [],
-}: AppProps) => {
+export const App = ({ config, settings, startupWarnings = [] }: AppProps) => {
const { history, addItem, clearItems } = useHistory();
const {
consoleMessages,
@@ -196,7 +190,6 @@ export const App = ({
openThemeDialog,
performMemoryRefresh,
toggleCorgiMode,
- cliVersion,
);
const { streamingState, submitQuery, initError, pendingHistoryItems } =
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts
index a3babddf..1d33d218 100644
--- a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts
+++ b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts
@@ -115,7 +115,6 @@ describe('useSlashCommandProcessor', () => {
mockOpenThemeDialog,
mockPerformMemoryRefresh,
mockCorgiMode,
- 'test-version',
),
);
return result.current;
@@ -253,8 +252,8 @@ describe('useSlashCommandProcessor', () => {
description?: string,
sandboxEnvVar?: string,
seatbeltProfileVar?: string,
+ cliVersion?: string,
) => {
- const cliVersion = 'test-version';
const osVersion = 'test-platform test-node-version';
let sandboxEnvStr = 'no sandbox';
if (sandboxEnvVar && sandboxEnvVar !== 'sandbox-exec') {
@@ -293,12 +292,14 @@ Add any other context about the problem here.
it('should call open with the correct GitHub issue URL and return true', async () => {
process.env.SANDBOX = 'gemini-sandbox';
process.env.SEATBELT_PROFILE = 'test_profile';
+ process.env.CLI_VERSION = 'test-version';
const { handleSlashCommand } = getProcessor();
const bugDescription = 'This is a test bug';
const expectedUrl = getExpectedUrl(
bugDescription,
process.env.SANDBOX,
process.env.SEATBELT_PROFILE,
+ process.env.CLI_VERSION,
);
let commandResult: SlashCommandActionReturn | boolean = false;
await act(async () => {
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts
index 6de2ceab..01e04d70 100644
--- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts
+++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts
@@ -14,6 +14,7 @@ import { Message, MessageType, HistoryItemWithoutId } from '../types.js';
import { createShowMemoryAction } from './useShowMemoryCommand.js';
import { GIT_COMMIT_INFO } from '../../generated/git-commit.js';
import { formatMemoryUsage } from '../utils/formatters.js';
+import { getCliVersion } from '../../utils/version.js';
export interface SlashCommandActionReturn {
shouldScheduleTool?: boolean;
@@ -46,7 +47,6 @@ export const useSlashCommandProcessor = (
openThemeDialog: () => void,
performMemoryRefresh: () => Promise<void>,
toggleCorgiMode: () => void,
- cliVersion: string,
) => {
const addMessage = useCallback(
(message: Message) => {
@@ -193,7 +193,7 @@ export const useSlashCommandProcessor = (
name: 'about',
description: 'Show version info',
action: (_mainCommand, _subCommand, _args) => {
- const osVersion = `${process.platform} ${process.version}`;
+ const osVersion = process.platform;
let sandboxEnv = 'no sandbox';
if (process.env.SANDBOX && process.env.SANDBOX !== 'sandbox-exec') {
sandboxEnv = process.env.SANDBOX;
@@ -201,7 +201,7 @@ export const useSlashCommandProcessor = (
sandboxEnv = `sandbox-exec (${process.env.SEATBELT_PROFILE || 'unknown'})`;
}
const modelVersion = config?.getModel() || 'Unknown';
-
+ const cliVersion = getCliVersion();
addMessage({
type: MessageType.ABOUT,
timestamp: new Date(),
@@ -231,6 +231,7 @@ export const useSlashCommandProcessor = (
}
const modelVersion = config?.getModel() || 'Unknown';
const memoryUsage = formatMemoryUsage(process.memoryUsage().rss);
+ const cliVersion = getCliVersion();
const diagnosticInfo = `
## Describe the bug
@@ -299,7 +300,6 @@ Add any other context about the problem here.
addMessage,
toggleCorgiMode,
config,
- cliVersion,
],
);
diff --git a/packages/cli/src/utils/version.ts b/packages/cli/src/utils/version.ts
index 8ccc3737..50b69350 100644
--- a/packages/cli/src/utils/version.ts
+++ b/packages/cli/src/utils/version.ts
@@ -4,31 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/
-import { readPackageUp } from 'read-package-up';
-import { fileURLToPath } from 'node:url';
-import { dirname } from 'node:path';
-
-const __filename = fileURLToPath(import.meta.url);
-const __dirname = dirname(__filename);
-
-let cliVersion: string | undefined;
-
-export async function getCliVersion(): Promise<string> {
- if (cliVersion) {
- return cliVersion;
- }
-
- if (process.env.CLI_VERSION) {
- cliVersion = process.env.CLI_VERSION;
- return cliVersion;
- }
-
- try {
- const readUpResult = await readPackageUp({ cwd: __dirname });
- cliVersion = readUpResult?.packageJson.version || 'unknown';
- } catch (_e) {
- cliVersion = 'unknown';
- }
-
- return cliVersion;
+export function getCliVersion(): string {
+ return process.env.CLI_VERSION || process.version;
}