Repository navigation
feat(command-center-ai): show the working agent's pose for its tools - #16
Merged
Merged
Conversation
The platform may now declare, per agent, pose sprites and which pose a declared application's tools show (tdag-django ADR-033, amended 2026-10-16): the projection carries poses (name to delivery URL) and toolPoses (application to pose). AgentIcon gains activity; with it the icon shows the application's pose while its tool runs, otherwise working, error after a failed tool or run, thinking while the agent works, and the idle icon when a pose is missing (resolveAgentIconPose, AGENT_ICON_RUN_STATUS_POSES, exported). The thread avatar of the working agent reads the latest tool call from its message parts; the rail header reads the engine's new optional currentTool, followed from the stream's tool-call-start and tool-result chunks and null outside a run. Places that animate load the agent's poses ahead through the byte cache; a pose still loading keeps the idle icon, and reduced motion shows the chosen pose's frame 0. ADR 090 amended (section 7, implementation scope); the UI README, the design-agent-conversation-capabilities skill and the changelog describe it. Additive npm API only; no stylesheet class, storage key, skill name or path, installer or SDK peer range change. Tests (Node 22): ai:check exit 0; command-center-ai 55 files / 412 tests passed plus node --test 15; ai:build exit 0; test:browser 6 passed; scripts/verify-packed-consumer.mjs exit 0; repo npm run check exit 0. New: the resolver, the projection's poses, AgentIcon pose choice and loading, and a thread whose running tutorial_api tool shows its pose. Co-Authored-By: Claude Opus 5.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
The working agent shows what it's doing (ADR 090 amended 2026-10-16, section 7). The platform side is Main-Sequence-Server-Side/tdag-django#1013.
poses(pose name → delivery URL) andtoolPoses(declared application → pose). The parser keeps only rules whose pose exists.AgentIcongainsactivity. With it the icon picks, in order:workingwhile any other tool runs;errorafter a failed tool or run;thinkingwhile the agent works;The rule is
resolveAgentIconPose, exported withAGENT_ICON_RUN_STATUS_POSESand the types.useChatRunStatus().currentTool, which is followed from the stream'stool-call-startandtool-resultchunks and is null outside a run.Compatibility: additive npm API only. There's no stylesheet class, storage key, skill name or path, installer or peer range change, and an agent without poses renders as before.
Test plan
ai:checkpassed; 55 test files / 412 tests passed, plusnode --test15;ai:build;test:browser6 passed;verify-packed-consumer; reponpm run check.AgentIconpose choice and loading, and a thread whose runningtutorial_apitool shows its declared pose.🤖 Generated with Claude Code