From 4d6667ba35b69b023be2ba2d70fd7c5becf26cdd Mon Sep 17 00:00:00 2001 From: John Richmond <5629+jr@users.noreply.github.com> Date: Mon, 12 May 2025 14:12:11 -0700 Subject: [PATCH] fix: get model id from ApiHandler (#3512) Not all handlers/providers use apiModelId, but they do all return a model id from getModel(). --- src/core/environment/__tests__/getEnvironmentDetails.test.ts | 4 ++-- src/core/environment/getEnvironmentDetails.ts | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/core/environment/__tests__/getEnvironmentDetails.test.ts b/src/core/environment/__tests__/getEnvironmentDetails.test.ts index c375375b73..008b0de14e 100644 --- a/src/core/environment/__tests__/getEnvironmentDetails.test.ts +++ b/src/core/environment/__tests__/getEnvironmentDetails.test.ts @@ -69,7 +69,6 @@ describe("getEnvironmentDetails", () => { maxOpenTabsContext: 10, mode: "code", customModes: [], - apiModelId: "test-model", experiments: {}, customInstructions: "test instructions", language: "en", @@ -102,7 +101,7 @@ describe("getEnvironmentDetails", () => { } as unknown as RooIgnoreController, clineMessages: [], api: { - getModel: jest.fn().mockReturnValue({ info: { contextWindow: 100000 } }), + getModel: jest.fn().mockReturnValue({ id: "test-model", info: { contextWindow: 100000 } }), createMessage: jest.fn(), countTokens: jest.fn(), } as unknown as ApiHandler, @@ -144,6 +143,7 @@ describe("getEnvironmentDetails", () => { expect(result).toContain("# Current Context Size (Tokens)") expect(result).toContain("# Current Cost") expect(result).toContain("# Current Mode") + expect(result).toContain("test-model") expect(mockProvider.getState).toHaveBeenCalled() diff --git a/src/core/environment/getEnvironmentDetails.ts b/src/core/environment/getEnvironmentDetails.ts index dc43f2e347..3d8a9cdbc3 100644 --- a/src/core/environment/getEnvironmentDetails.ts +++ b/src/core/environment/getEnvironmentDetails.ts @@ -190,7 +190,7 @@ export async function getEnvironmentDetails(cline: Task, includeFileDetails: boo // Add context tokens information. const { contextTokens, totalCost } = getApiMetrics(cline.clineMessages) - const modelInfo = cline.api.getModel().info + const { id: modelId, info: modelInfo } = cline.api.getModel() const contextWindow = modelInfo.contextWindow const contextPercentage = @@ -203,7 +203,6 @@ export async function getEnvironmentDetails(cline: Task, includeFileDetails: boo const { mode, customModes, - apiModelId, customModePrompts, experiments = {} as Record, customInstructions: globalCustomInstructions, @@ -221,7 +220,7 @@ export async function getEnvironmentDetails(cline: Task, includeFileDetails: boo details += `\n\n# Current Mode\n` details += `${currentMode}\n` details += `${modeDetails.name}\n` - details += `${apiModelId}\n` + details += `${modelId}\n` if (Experiments.isEnabled(experiments ?? {}, EXPERIMENT_IDS.POWER_STEERING)) { details += `${modeDetails.roleDefinition}\n`