SIGN IN SIGN UP

fix(auth): make external-login import validation non-destructive

The onboarding import flow validated each approved login by performing a
live OAuth token *refresh* and rolled the import back (revoked the trusted
source) if that refresh failed. This caused two real problems:

1. OAuth refresh tokens are single-use. The probe rotated the source's
   refresh token on the provider's servers and then discarded the rotated
   result (refresh was called with no jcode account label, so nothing was
   persisted). This could burn the original tool's login too.

2. Any transient/expired-token hiccup (e.g. Claude Code creds with an empty
   refresh token, or an already-rotated Codex token) silently reverted the
   import, so /model then showed every Anthropic/OpenAI route as
   'x no credentials' with no explanation.

Validation is now a non-destructive presence check: we trust the source and
confirm reusable credentials exist. Expired tokens are still imported (they
refresh lazily and persist at request time, or the user runs /login) and we
surface a 'token expired, will refresh on first use' note instead of failing.
J
jeremy committed
93eae8747f424f41cc81aa034c26b17bda78c939
Parent: 382dce8