feat(bridle): thinking event relay + admin thinking timeline (CLEAN-10) - #29
Merged
Merged
Conversation
Mirrors the new wire types and adds @SubscribeMessage('thinking') →
handleAgentEvent so live reasoning steps reach the addressed browser
client. Opaque relay like 'stream'; visitor-safe payload, not
admin-gated.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…10 US3) The admin bridle store now advertises the 'thinking' capability, folds incoming thinking events into per-turn blocks (freeze on terminal event, socket drop, or a 75s stale watchdog), and the chat preview renders the Rovo-style block: shimmer status line instead of the bouncing dots, collapsible step timeline with expandable markdown detail, interleaved with messages by timestamp. DebugPanel is untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ts, tasks Speckit artifacts for the Rovo-style thinking UI: shimmer status line, thinking wire event contract with compatibility matrix, widget UI contract, quickstart validation guide, and the task list with implementation status. Design docs synced to the implemented protocol (terminal done event, in-flow blocks, loop-context capability gate). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The production hub never read auth.capabilities from the handshake, so messages reached the runtime with capabilities undefined and the capability-gated thinking emission never armed — thinking-capable clients got the shimmer status but no step timeline. Mirror the standalone hub: parse the handshake list, keep it on the client record, and attach it to every message forwarded to the agent (same pattern as the per-client prompt). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…p (CLEAN-10) Replaces the hand-rolled background-clip gradient classes with the official shimmer utility from shadcn-vue/tailwind.css (works off currentColor, dark-mode aware, honors prefers-reduced-motion out of the box). shimmer-duration-1600 keeps the previous 1.6s rhythm; the custom keyframes and reduced-motion overrides are deleted. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…-follow (CLEAN-10) Mirrors the SDK behavior in the agent chat preview: segments seal when content lands below them and the next step opens a new segment at the bottom, so the current step is always visible near the newest output. Turn-close straggler guard on terminal paths; auto-scroll only follows a reader already near the bottom. data-model.md updated with the segment/seal-vs-close semantics. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ranch side of CLEAN-10 — Rovo-style "agent is thinking" UI:
thinkingwire types and whitelists@SubscribeMessage('thinking')→ opaque relay to the addressed browser client (likestream; visitor-safe payload, not admin-gated).'thinking'capability, folds events into per-turn blocks (freeze on terminaldone:true, socket drop, or 75s stale watchdog); the preview renders a shimmer status line instead of bouncing dots plus a collapsible step timeline with expandable markdown detail. DebugPanel untouched.specs/005-shimmer-thinking-ui/— spec, plan, research, wire/UI contracts with compatibility matrix, quickstart validation guide, tasks with implementation status.Cross-repo: pairs with
feat/CLEAN-10-shimmer-thinkingPRs inCleanSlice/bridle(SDK + canonical types, stacked on #1 auto-popup) andCleanSlice/runtime(loop emission). Any deploy order is safe — the event is strictly additive and capability-gated; recommended: hubs → runtime → SDK.Test plan
api:tsc --noEmitclean🤖 Generated with Claude Code