From 1c31d91c83e10c1872f83c0f5b27cd31a47bed81 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Thu, 25 Dec 2025 01:15:17 +0100 Subject: [PATCH] WIP: Rename model-config.ts to models-json.ts - loadCustomModels now takes file path instead of agentDir --- packages/coding-agent/src/cli/list-models.ts | 2 +- .../coding-agent/src/core/agent-session.ts | 2 +- .../coding-agent/src/core/model-resolver.ts | 2 +- .../core/{model-config.ts => models-json.ts} | 19 +++++++++---------- packages/coding-agent/src/core/sdk.ts | 2 +- packages/coding-agent/src/index.ts | 2 +- packages/coding-agent/src/main.ts | 2 +- .../modes/interactive/components/footer.ts | 2 +- .../interactive/components/model-selector.ts | 2 +- .../src/modes/interactive/interactive-mode.ts | 2 +- 10 files changed, 18 insertions(+), 19 deletions(-) rename packages/coding-agent/src/core/{model-config.ts => models-json.ts} (96%) diff --git a/packages/coding-agent/src/cli/list-models.ts b/packages/coding-agent/src/cli/list-models.ts index 59ef03da..3f6a0121 100644 --- a/packages/coding-agent/src/cli/list-models.ts +++ b/packages/coding-agent/src/cli/list-models.ts @@ -3,7 +3,7 @@ */ import type { Api, Model } from "@mariozechner/pi-ai"; -import { getAvailableModels } from "../core/model-config.js"; +import { getAvailableModels } from "../core/models-json.js"; import type { SettingsManager } from "../core/settings-manager.js"; import { fuzzyFilter } from "../utils/fuzzy.js"; diff --git a/packages/coding-agent/src/core/agent-session.ts b/packages/coding-agent/src/core/agent-session.ts index e4b9c2e6..40a36200 100644 --- a/packages/coding-agent/src/core/agent-session.ts +++ b/packages/coding-agent/src/core/agent-session.ts @@ -23,7 +23,7 @@ import type { LoadedCustomTool, SessionEvent as ToolSessionEvent } from "./custo import { exportSessionToHtml } from "./export-html.js"; import type { HookRunner, SessionEventResult, TurnEndEvent, TurnStartEvent } from "./hooks/index.js"; import type { BashExecutionMessage } from "./messages.js"; -import { getApiKeyForModel, getAvailableModels } from "./model-config.js"; +import { getApiKeyForModel, getAvailableModels } from "./models-json.js"; import type { CompactionEntry, SessionManager } from "./session-manager.js"; import type { SettingsManager, SkillsSettings } from "./settings-manager.js"; import { expandSlashCommand, type FileSlashCommand } from "./slash-commands.js"; diff --git a/packages/coding-agent/src/core/model-resolver.ts b/packages/coding-agent/src/core/model-resolver.ts index 7e11d9d6..53b4eaa9 100644 --- a/packages/coding-agent/src/core/model-resolver.ts +++ b/packages/coding-agent/src/core/model-resolver.ts @@ -6,7 +6,7 @@ import type { ThinkingLevel } from "@mariozechner/pi-agent-core"; import type { Api, KnownProvider, Model } from "@mariozechner/pi-ai"; import chalk from "chalk"; import { isValidThinkingLevel } from "../cli/args.js"; -import { findModel, getApiKeyForModel, getAvailableModels } from "./model-config.js"; +import { findModel, getApiKeyForModel, getAvailableModels } from "./models-json.js"; import type { SettingsManager } from "./settings-manager.js"; /** Default model IDs for each known provider */ diff --git a/packages/coding-agent/src/core/model-config.ts b/packages/coding-agent/src/core/models-json.ts similarity index 96% rename from packages/coding-agent/src/core/model-config.ts rename to packages/coding-agent/src/core/models-json.ts index 3b1bf43c..c56f15c0 100644 --- a/packages/coding-agent/src/core/model-config.ts +++ b/packages/coding-agent/src/core/models-json.ts @@ -95,17 +95,16 @@ export function resolveApiKey(keyConfig: string): string | undefined { } /** - * Load custom models from models.json in agent config dir + * Load custom models from a models.json file * Returns { models, error } - either models array or error message */ -function loadCustomModels(agentDir: string = getAgentDir()): { models: Model[]; error: string | null } { - const configPath = join(agentDir, "models.json"); - if (!existsSync(configPath)) { +function loadCustomModels(modelsJsonPath: string): { models: Model[]; error: string | null } { + if (!existsSync(modelsJsonPath)) { return { models: [], error: null }; } try { - const content = readFileSync(configPath, "utf-8"); + const content = readFileSync(modelsJsonPath, "utf-8"); const config: ModelsConfig = JSON.parse(content); // Validate schema @@ -117,7 +116,7 @@ function loadCustomModels(agentDir: string = getAgentDir()): { models: Model