feat: Vertex AI service account credentials support
Add service account auth for Vertex AI Standard. When google_backend
is "vertex", users can upload or paste a GCP service account JSON in
settings. Credentials are saved to {journal}/config/vertex-credentials.json
and used for all Gemini operations via google.oauth2.service_account.
Credentials. GOOGLE_APPLICATION_CREDENTIALS is passed to cogitate
subprocesses. The AI Studio API key flow is unchanged.
- Settings UI: credentials upload/paste/remove, "Vertex AI" label,
required project/location, API key hidden when vertex
- Backend: POST/DELETE /api/vertex-credentials endpoints
- Client init: service account, ADC fallback, and API key branches
- Cogitate env: GOOGLE_APPLICATION_CREDENTIALS for service account
- Validation: vertex credentials validated via validate-keys
- Tests: client init, cogitate env, validation, settings API