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`