SIGN IN SIGN UP

onboarding: move first-run login into the TUI guided flow

The fresh-install path used to block at the CLI with an Approve sources
import prompt and a 39-item provider selection menu before the TUI even
launched. Onboarding now happens entirely inside the TUI:

- CLI: maybe_prompt_server_bootstrap_login no longer runs the blocking
  import/provider prompts for the interactive TUI launch. The server
  spawns unauthenticated and the TUI drives login. A JCODE_CLI_BOOTSTRAP_LOGIN
  env var preserves the old blocking behavior for headless provisioning.
- TUI: add an OnboardingPhase::Login at the front of the guided flow.
  When we boot without working credentials we start there, render a
  'log in to get started' welcome card, and Enter opens the existing
  login picker (which already offers external-auth import). On a
  successful login we advance Login -> ModelSelect.

Tests cover begin_at_login, Login->ModelSelect advance, Enter opening
the picker, and the startup check landing in Login when unauthenticated.
J
jeremy committed
279b29303a648d8fcbdab4d6bca5a6bdd97f676c
Parent: d4faefb