From 5775cd3dfaf406e0df4b928117050caf754f85cc Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 24 Aug 2026 13:44:42 -0700 Subject: [PATCH] fix(cli): explain empty capability listings (#128852) --- src/cli/capability-cli.test.ts | 10 ++++++++++ src/cli/capability-cli/shared.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/cli/capability-cli.test.ts b/src/cli/capability-cli.test.ts index c0cd0486426f..dc3f8e7979ef 100644 --- a/src/cli/capability-cli.test.ts +++ b/src/cli/capability-cli.test.ts @@ -875,6 +875,16 @@ describe("capability cli", () => { }); }); + it("renders an explicit empty model list without changing JSON output", async () => { + mocks.loadModelCatalog.mockResolvedValue([]); + + await runCapability("model", "list", "--json"); + expect(mocks.runtime.writeJson).toHaveBeenCalledWith([]); + + await runCapability("model", "list"); + expect(mocks.runtime.log).toHaveBeenCalledWith("No results found."); + }); + it("reports model providers configured through their environment key", async () => { vi.stubEnv("OPENAI_API_KEY", "test-openai-key"); diff --git a/src/cli/capability-cli/shared.ts b/src/cli/capability-cli/shared.ts index 5885fa301bc6..4ffb6cdcdf47 100644 --- a/src/cli/capability-cli/shared.ts +++ b/src/cli/capability-cli/shared.ts @@ -90,7 +90,7 @@ export function formatEnvelopeForText(value: unknown): string { export function providerSummaryText(value: unknown): string { const providers = value as Array>; - return providers.map((entry) => JSON.stringify(entry)).join("\n"); + return providers.map((entry) => JSON.stringify(entry)).join("\n") || "No results found."; } function hasOwnKeys(value: unknown): boolean {