Skip to content

feat(command-center-ai): show the working agent's pose for its tools - #16

Merged
MainSequenceDev merged 1 commit into
mainfrom
feat/agent-icon-poses
Oct 16, 2026
Merged

MainSequenceDev merged 1 commit into
mainfrom
feat/agent-icon-poses

Conversation

@MainSequenceDev

Copy link
Copy Markdown
Contributor

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.

  • Data: the projection may carry per-agent poses (pose name → delivery URL) and toolPoses (declared application → pose). The parser keeps only rules whose pose exists.
  • AgentIcon gains activity. With it the icon picks, in order:
    • the application's pose while one of its tools runs;
    • working while any other tool runs;
    • error after a failed tool or run;
    • thinking while the agent works;
    • the idle icon otherwise, or when the pose isn't declared.
      The rule is resolveAgentIconPose, exported with AGENT_ICON_RUN_STATUS_POSES and the types.
  • Where it applies: 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 useChatRunStatus().currentTool, which is followed from the stream's tool-call-start and tool-result chunks and is null outside a run.
  • Loading: places that animate load the agent's poses ahead through the byte cache. A pose that is still loading keeps the idle icon, and reduced motion shows the chosen pose's frame 0.

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

  • Node 22: ai:check passed; 55 test files / 412 tests passed, plus node --test 15; ai:build; test:browser 6 passed; verify-packed-consumer; repo npm run check.
  • New tests: the resolver, the projection's poses, AgentIcon pose choice and loading, and a thread whose running tutorial_api tool shows its declared pose.
  • CI on this PR.
  • Merge, release command-center-ai 0.0.15, bump CommandCenter.

🤖 Generated with Claude Code

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>
@MainSequenceDev
MainSequenceDev merged commit 407b601 into main Oct 16, 2026
1 check passed
@MainSequenceDev
MainSequenceDev deleted the feat/agent-icon-poses branch October 16, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant