resolveAgents() throwing once (e.g. tenant id not ready on the first
render) latched resolveFailed=true, and nothing ever cleared it — so
the FAB stayed hidden permanently even after a later retry succeeded.
Reset the flag at the start of each resolution attempt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@crema/agent-dock-ui — a floating Sparkles FAB that opens a right-side
slide-over chat with an agents-platform agent. Extracted from
skyai-finance (the canonical dock) and made app-agnostic.
The shell, threading, compose box, and rich-block rendering (via
@crema/agent-ui's MessageBody) live here; the app injects identity
(resolveAgents), context (getPageContext → structured PageContext),
and transport (auth closed over inside it — the dock never sees a
token). Self-contained: raw slide-over + buttons styled with theme
tokens, no app-local shadcn dependency. Page context travels as a
structured field, never concatenated into the message.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>