Files
fusion/packages/dashboard/app/components/GrokCliProviderCard.css
gsxdsm 71e9f484bb FN-7716: stop requiring a Fusion-visible API key for Grok CLI provider
Grok CLI provider readiness now mirrors the Cursor CLI provider: it is derived from the `grok` binary being available rather than requiring a Fusion-visible GROK_API_KEY or ~/.grok/user-settings.json, since the CLI manages its own auth.

- probeGrokBinary now derives `authenticated` from binary availability (readiness) instead of API-key/user-settings presence; key detection surfaces as a non-blocking `apiKeyDetected` hint
- /auth/status treats the grok-cli provider as authenticated when enabled + binary available
- GrokCliProviderCard drops the blocking "Set GROK_API_KEY" state
- Direct xAI streaming path is unchanged and still uses $GROK_API_KEY when present (FN-7711/FN-7714)
- Added changeset for @runfusion/fusion (patch)

Files changed:
$(cat /tmp/diffstat_fn7716.txt)

Fusion-Task-Id: FN-7716

Fusion-Task-Lineage: ac0efc79-2510-465e-9cd2-4938c08989c9

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-09 19:58:03 -07:00

76 lines
1.9 KiB
CSS

.grok-cli-provider-card .auth-provider-cli-actions,
.grok-cli-provider-card .onboarding-provider-card__actions {
display: flex;
gap: var(--space-sm);
align-items: center;
}
/*
FNXC:GrokCli 2026-07-08-00:00:
Mirrors .cursor-cli-provider-card__body (FN-7695) — compact card body must be inset to match
`.auth-provider-header`'s horizontal padding (`var(--space-sm) var(--space-md)`), otherwise the
status line and binary-path control render flush against the card's left/right/bottom edges.
*/
.grok-cli-provider-card__body {
display: flex;
flex-direction: column;
gap: var(--space-sm);
padding: 0 var(--space-md) var(--space-sm);
}
/*
FNXC:GrokCli 2026-07-09-00:00:
FN-7716: the no-Fusion-visible-key hint is informational only (never blocking), so it renders one
notch quieter than the primary status line via reduced opacity on the shared `.settings-muted` tone
— no new color token, no hardcoded hex.
*/
.grok-cli-provider-card__key-hint {
opacity: 0.75;
}
.grok-cli-binary-path-control {
display: grid;
gap: var(--space-xs);
margin-top: var(--space-sm);
}
.grok-cli-binary-path-label {
color: var(--text-secondary);
font-size: 0.78rem;
font-weight: 600;
}
.grok-cli-binary-path-row {
display: flex;
gap: var(--space-sm);
align-items: center;
}
.grok-cli-binary-path-input {
min-width: 0;
flex: 1 1 18rem;
height: 2rem;
border: 1px solid var(--border-subtle);
border-radius: var(--radius-sm);
background: var(--surface-elevated);
color: var(--text-primary);
padding: 0 var(--space-sm);
}
@media (max-width: 768px) {
.grok-cli-provider-card .auth-provider-cli-actions,
.grok-cli-provider-card .onboarding-provider-card__actions,
.grok-cli-binary-path-row {
flex-wrap: wrap;
}
.grok-cli-binary-path-row .btn,
.grok-cli-binary-path-input {
width: 100%;
}
.grok-cli-provider-card__body {
padding: 0 var(--space-sm) var(--space-sm);
}
}