feat(FN-2898): expand Claude model coverage and subprocess diagnostics

- Add missing Claude model entries and extend provider metadata handling for model extras
- Improve subprocess diagnostics in pi-claude-cli process management for clearer failure visibility
- Add targeted tests for provider model extras and process-manager diagnostic behavior
- Update Settings modal copy for project default model guidance and record changes in pi-claude-cli changelog

Fusion-Task-Id: FN-2898
This commit is contained in:
Fusion
2026-04-28 18:38:35 -07:00
committed by gsxdsm
parent fc2b391c32
commit 0c9d9be856
6 changed files with 237 additions and 11 deletions

View File

@@ -41,6 +41,7 @@ vi.mock("node:os", () => ({
import { spawn, execSync } from "node:child_process";
import {
spawnClaude,
buildClaudeSpawnArgs,
writeUserMessage,
cleanupProcess,
captureStderr,
@@ -52,6 +53,32 @@ import {
cleanupSystemPromptFile,
} from "../process-manager";
describe("buildClaudeSpawnArgs", () => {
beforeEach(() => {
vi.clearAllMocks();
mocks.writeFileSync.mockReset();
mocks.tmpdir.mockReset();
mocks.tmpdir.mockReturnValue("/mock-tmp");
});
it("builds args including model and optional session/mcp flags", () => {
const args = buildClaudeSpawnArgs("claude-sonnet-4-6", undefined, {
resumeSessionId: "sess-1",
effort: "high",
mcpConfigPath: "/tmp/mcp.json",
});
expect(args).toContain("--model");
expect(args).toContain("claude-sonnet-4-6");
expect(args).toContain("--resume");
expect(args).toContain("sess-1");
expect(args).toContain("--effort");
expect(args).toContain("high");
expect(args).toContain("--mcp-config");
expect(args).toContain("/tmp/mcp.json");
});
});
describe("spawnClaude", () => {
beforeEach(() => {
vi.clearAllMocks();