summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/cli/src/config/config.ts2
-rw-r--r--packages/cli/src/ui/hooks/slashCommandProcessor.test.ts6
-rw-r--r--packages/cli/src/ui/hooks/slashCommandProcessor.ts8
-rw-r--r--packages/cli/src/utils/version.ts7
4 files changed, 13 insertions, 10 deletions
diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts
index 7875f91e..c790db0b 100644
--- a/packages/cli/src/config/config.ts
+++ b/packages/cli/src/config/config.ts
@@ -123,7 +123,7 @@ async function parseArguments(): Promise<CliArgs> {
description: 'Enables checkpointing of file edits',
default: false,
})
- .version(getCliVersion()) // This will enable the --version flag based on package.json
+ .version(await getCliVersion()) // This will enable the --version flag based on package.json
.alias('v', 'version')
.help()
.alias('h', 'help')
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts
index 2eec29ca..7c750af1 100644
--- a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts
+++ b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts
@@ -48,7 +48,7 @@ vi.mock('node:fs/promises', () => ({
mkdir: vi.fn(),
}));
-const mockGetCliVersionFn = vi.fn(() => '0.1.0');
+const mockGetCliVersionFn = vi.fn(() => Promise.resolve('0.1.0'));
vi.mock('../../utils/version.js', () => ({
getCliVersion: (...args: []) => mockGetCliVersionFn(...args),
}));
@@ -377,7 +377,7 @@ describe('useSlashCommandProcessor', () => {
const originalEnv = process.env;
beforeEach(() => {
vi.resetModules();
- mockGetCliVersionFn.mockReturnValue('0.1.0');
+ mockGetCliVersionFn.mockResolvedValue('0.1.0');
process.env = { ...originalEnv };
});
@@ -427,7 +427,7 @@ Add any other context about the problem here.
};
it('should call open with the correct GitHub issue URL and return true', async () => {
- mockGetCliVersionFn.mockReturnValue('test-version');
+ mockGetCliVersionFn.mockResolvedValue('test-version');
process.env.SANDBOX = 'gemini-sandbox';
process.env.SEATBELT_PROFILE = 'test_profile';
const { handleSlashCommand } = getProcessor();
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts
index 8303ea55..0e622f23 100644
--- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts
+++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts
@@ -518,7 +518,7 @@ export const useSlashCommandProcessor = (
{
name: 'about',
description: 'show version info',
- action: (_mainCommand, _subCommand, _args) => {
+ action: async (_mainCommand, _subCommand, _args) => {
const osVersion = process.platform;
let sandboxEnv = 'no sandbox';
if (process.env.SANDBOX && process.env.SANDBOX !== 'sandbox-exec') {
@@ -529,7 +529,7 @@ export const useSlashCommandProcessor = (
})`;
}
const modelVersion = config?.getModel() || 'Unknown';
- const cliVersion = getCliVersion();
+ const cliVersion = await getCliVersion();
addMessage({
type: MessageType.ABOUT,
timestamp: new Date(),
@@ -543,7 +543,7 @@ export const useSlashCommandProcessor = (
{
name: 'bug',
description: 'submit a bug report',
- action: (_mainCommand, _subCommand, args) => {
+ action: async (_mainCommand, _subCommand, args) => {
let bugDescription = _subCommand || '';
if (args) {
bugDescription += ` ${args}`;
@@ -560,8 +560,8 @@ export const useSlashCommandProcessor = (
})`;
}
const modelVersion = config?.getModel() || 'Unknown';
+ const cliVersion = await getCliVersion();
const memoryUsage = formatMemoryUsage(process.memoryUsage().rss);
- const cliVersion = getCliVersion();
const diagnosticInfo = `
## Describe the bug
diff --git a/packages/cli/src/utils/version.ts b/packages/cli/src/utils/version.ts
index 78aeafcd..3b7bb0e2 100644
--- a/packages/cli/src/utils/version.ts
+++ b/packages/cli/src/utils/version.ts
@@ -4,6 +4,9 @@
* SPDX-License-Identifier: Apache-2.0
*/
-export function getCliVersion(): string {
- return process.env.CLI_VERSION || 'unknown';
+import { getPackageJson } from './package.js';
+
+export async function getCliVersion(): Promise<string> {
+ const pkgJson = await getPackageJson();
+ return process.env.CLI_VERSION || pkgJson?.version || 'unknown';
}