diff --git a/src/lib/onboard.ts b/src/lib/onboard.ts index bcf606e74b3..42a34d1b94f 100644 --- a/src/lib/onboard.ts +++ b/src/lib/onboard.ts @@ -6054,7 +6054,7 @@ async function setupNim( preferredInferenceApi: string | null; nimContainer: string | null; }> { - step(3, 8, "Configuring inference (NIM)"); + step(3, 8, "Configuring inference provider"); let model: string | null = null; let provider: string = REMOTE_PROVIDER_CONFIG.build.providerName; @@ -8983,7 +8983,7 @@ function startRecordedStep( const ONBOARD_STEP_INDEX: Record = { preflight: { number: 1, title: "Preflight checks" }, gateway: { number: 2, title: "Starting OpenShell gateway" }, - provider_selection: { number: 3, title: "Configuring inference (NIM)" }, + provider_selection: { number: 3, title: "Configuring inference provider" }, inference: { number: 4, title: "Setting up inference provider" }, messaging: { number: 5, title: "Messaging channels" }, sandbox: { number: 6, title: "Creating sandbox" }, diff --git a/test/onboard-selection.test.ts b/test/onboard-selection.test.ts index fa00d8f03ce..28090f06c8c 100644 --- a/test/onboard-selection.test.ts +++ b/test/onboard-selection.test.ts @@ -227,6 +227,18 @@ const { setupNim } = require(${onboardPath}); assert.ok( payload.lines.some((line: string) => line.includes("Chat Completions API available")), ); + // #3951: step 3 banner must be provider-agnostic — selecting a non-NIM + // provider (here, NVIDIA Endpoints) must not be labeled "(NIM)". + assert.ok( + payload.lines.some((line: string) => + /\[3\/8\] Configuring inference provider\b/.test(line), + ), + "expected provider-agnostic [3/8] banner", + ); + assert.ok( + !payload.lines.some((line: string) => line.includes("Configuring inference (NIM)")), + 'step 3 banner must not be labeled "Configuring inference (NIM)" for non-NIM providers', + ); }); it("offers detected running vLLM without requiring a rerun", () => {