diff --git a/src/cli.ts b/src/cli.ts index 29b7c804b..ba0f204ef 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -16,8 +16,7 @@ import { agentDir, sessionsDir, authFilePath } from './app-paths.js' import { initResources, buildResourceLoader, getNewerManagedResourceVersion } from './resource-loader.js' import { ensureManagedTools } from './tool-bootstrap.js' import { loadStoredEnvKeys } from './wizard.js' -import { migratePiCredentials } from './pi-migration.js' -import { validateConfiguredModel } from './startup-model-validation.js' +import { migratePiCredentials, getPiDefaultModelAndProvider } from './pi-migration.js' import { shouldMigrateAnthropicToClaudeCode } from './provider-migrations.js' import { shouldRunOnboarding, runOnboarding } from './onboarding.js' import chalk from 'chalk' diff --git a/src/tests/pi-migration-exports.test.ts b/src/tests/pi-migration-exports.test.ts new file mode 100644 index 000000000..e54a8a8c7 --- /dev/null +++ b/src/tests/pi-migration-exports.test.ts @@ -0,0 +1,23 @@ +// GSD-2 — Regression test for pi-migration.ts public exports consumed by cli.ts +// +// Guards against the TS2304 regression introduced by 080c6ac1e where +// src/cli.ts called `getPiDefaultModelAndProvider()` without importing it. +// If the symbol is ever renamed or unexported, this test fails before the +// root `tsc` build breaks every CI job on main. + +import { test } from "node:test"; +import assert from "node:assert/strict"; + +import * as piMigration from "../pi-migration.js"; + +test("pi-migration exports getPiDefaultModelAndProvider for cli.ts fallback-model resolution", () => { + assert.equal( + typeof piMigration.getPiDefaultModelAndProvider, + "function", + "cli.ts validateConfiguredModel relies on this export to pick a fallback model", + ); +}); + +test("pi-migration exports migratePiCredentials for cli.ts startup migration", () => { + assert.equal(typeof piMigration.migratePiCredentials, "function"); +});