fix(coding-agent): surfaced invalid models config errors

Converted ArkType validation failures into ConfigError results and surfaced models.yml validation failures in CLI model listing and noninteractive startup.

Fixes #4305
This commit is contained in:
roboomp
2026-07-02 11:58:56 +00:00
parent 0ea6ea630b
commit a86bf4f41b
6 changed files with 114 additions and 6 deletions
@@ -84,6 +84,14 @@ function writeLine(line = ""): void {
process.stdout.write(`${line}\n`);
}
function writeModelsConfigError(error: Error): void {
writeLine(chalk.yellow("Warning: models.yml validation failed — custom providers disabled"));
for (const line of error.message.split("\n")) {
writeLine(` ${line}`);
}
writeLine();
}
function formatLimit(n: number | null): string {
return n === null ? "-" : formatNumber(n);
}
@@ -187,12 +195,23 @@ function renderProviderModels(
}
}
const configError = modelRegistry.getError();
if (json) {
if (configError) {
process.stderr.write(
`Warning: models.yml validation failed — custom providers disabled\n${configError.message}\n`,
);
}
const output: ModelsJson = { models: filtered.slice().sort(byProviderThenId).map(toModelJson) };
writeLine(JSON.stringify(output));
return;
}
if (configError) {
writeModelsConfigError(configError);
}
if (available.length === 0) {
writeLine("No models available. Set API keys in environment variables.");
return;