From 7356764a489b47bc43dae9e9653380cbe9bce294 Mon Sep 17 00:00:00 2001 From: Daniel Lee Date: Mon, 28 Jul 2025 18:40:47 -0700 Subject: feat(commands): add custom commands support for extensions (#4703) --- packages/cli/src/ui/commands/types.ts | 3 +++ packages/cli/src/ui/hooks/slashCommandProcessor.test.ts | 9 +++++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'packages/cli/src/ui') diff --git a/packages/cli/src/ui/commands/types.ts b/packages/cli/src/ui/commands/types.ts index 2844177f..900be866 100644 --- a/packages/cli/src/ui/commands/types.ts +++ b/packages/cli/src/ui/commands/types.ts @@ -157,6 +157,9 @@ export interface SlashCommand { kind: CommandKind; + // Optional metadata for extension commands + extensionName?: string; + // The action to run. Optional for parent commands that only group sub-commands. action?: ( context: CommandContext, diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts index 5b367cd4..42c2e277 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts @@ -74,11 +74,12 @@ describe('useSlashCommandProcessor', () => { const mockSetQuittingMessages = vi.fn(); const mockConfig = { - getProjectRoot: () => '/mock/cwd', - getSessionId: () => 'test-session', - getGeminiClient: () => ({ + getProjectRoot: vi.fn(() => '/mock/cwd'), + getSessionId: vi.fn(() => 'test-session'), + getGeminiClient: vi.fn(() => ({ setHistory: vi.fn().mockResolvedValue(undefined), - }), + })), + getExtensions: vi.fn(() => []), } as unknown as Config; const mockSettings = {} as LoadedSettings; -- cgit v1.2.3