diff options
| author | Olcan <[email protected]> | 2025-06-02 09:56:32 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-02 09:56:32 -0700 |
| commit | c5869db0806d04bc0d1f4da6823f9e13d22e476b (patch) | |
| tree | 6e5b4c112dd14f948f6deed7b80c2e10589967cc /packages/cli/src | |
| parent | 467dec4edf17abcb03784caadc1694aac29d0373 (diff) | |
enable async tool discovery by making the registry accessor async; remove call to discoverTools that caused duplicate discovery (#691)
Diffstat (limited to 'packages/cli/src')
| -rw-r--r-- | packages/cli/src/nonInteractiveCli.test.ts | 2 | ||||
| -rw-r--r-- | packages/cli/src/nonInteractiveCli.ts | 3 | ||||
| -rw-r--r-- | packages/cli/src/ui/hooks/atCommandProcessor.ts | 2 |
3 files changed, 2 insertions, 5 deletions
diff --git a/packages/cli/src/nonInteractiveCli.test.ts b/packages/cli/src/nonInteractiveCli.test.ts index dca3b855..389d35f2 100644 --- a/packages/cli/src/nonInteractiveCli.test.ts +++ b/packages/cli/src/nonInteractiveCli.test.ts @@ -42,7 +42,6 @@ describe('runNonInteractive', () => { startChat: vi.fn().mockResolvedValue(mockChat), } as unknown as GeminiClient; mockToolRegistry = { - discoverTools: vi.fn().mockResolvedValue(undefined), getFunctionDeclarations: vi.fn().mockReturnValue([]), getTool: vi.fn(), } as unknown as ToolRegistry; @@ -82,7 +81,6 @@ describe('runNonInteractive', () => { await runNonInteractive(mockConfig, 'Test input'); expect(mockGeminiClient.startChat).toHaveBeenCalled(); - expect(mockToolRegistry.discoverTools).toHaveBeenCalled(); expect(mockChat.sendMessageStream).toHaveBeenCalledWith({ message: [{ text: 'Test input' }], config: { diff --git a/packages/cli/src/nonInteractiveCli.ts b/packages/cli/src/nonInteractiveCli.ts index 9077ecbf..f7b4108b 100644 --- a/packages/cli/src/nonInteractiveCli.ts +++ b/packages/cli/src/nonInteractiveCli.ts @@ -40,8 +40,7 @@ export async function runNonInteractive( input: string, ): Promise<void> { const geminiClient = new GeminiClient(config); - const toolRegistry: ToolRegistry = config.getToolRegistry(); - await toolRegistry.discoverTools(); + const toolRegistry: ToolRegistry = await config.getToolRegistry(); const chat = await geminiClient.startChat(); const abortController = new AbortController(); diff --git a/packages/cli/src/ui/hooks/atCommandProcessor.ts b/packages/cli/src/ui/hooks/atCommandProcessor.ts index 54b10d51..ac56ab75 100644 --- a/packages/cli/src/ui/hooks/atCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/atCommandProcessor.ts @@ -138,7 +138,7 @@ export async function handleAtCommand({ const atPathToResolvedSpecMap = new Map<string, string>(); const contentLabelsForDisplay: string[] = []; - const toolRegistry = config.getToolRegistry(); + const toolRegistry = await config.getToolRegistry(); const readManyFilesTool = toolRegistry.getTool('read_many_files'); const globTool = toolRegistry.getTool('glob'); |
