Skip to content

feat: add explicit emoji support to agent registration and updates#66

Merged
Killea merged 1 commit intoKillea:mainfrom
bertheto:feat/ORCH-09-emoji-custom-field
Mar 22, 2026
Merged

feat: add explicit emoji support to agent registration and updates#66
Killea merged 1 commit intoKillea:mainfrom
bertheto:feat/ORCH-09-emoji-custom-field

Conversation

@bertheto
Copy link
Copy Markdown
Contributor

Summary

  • Enable callers to supply a custom agent emoji explicitly via REST, MCP, and Web UI registration/update flows
  • Add �alidateEmoji() utility using Unicode Emoji_Presentation regex to prevent arbitrary strings from degrading avatar rendering
  • Extend
    egisterAgent() and updateAgent() in MemoryStore to accept optional emoji, preserving the existing deterministic hash-based fallback
  • Wire emoji input through REST (POST /register, PUT /:agentId), MCP (�gent_register, �gent_update, �us_connect), and the Web UI settings tab
  • Add a Browser User Identity card in the UI settings pane allowing users to set their display name and avatar emoji, persisted in localStorage and synced via REST PUT

Test plan

  • 5 unit tests in est_agent_registry.test.ts: explicit emoji persistence, fallback to generated, update semantics, preserve on unrelated update, validateEmoji edge cases
  • 4 HTTP integration tests in est_agent_capabilities.test.ts: register with explicit emoji, register with invalid emoji (fallback), update emoji via PUT, list includes emoji
  • 2 bus_connect integration tests in �usConnectIntegration.test.ts: emoji on new agent registration, emoji ignored on resume path
  • All 51 targeted tests pass; full suite 593/598 (5 pre-existing failures in CLI sessions + config registry, unrelated)
  • Manual Web UI smoke test: open Settings > UI tab, set display name + emoji, save, refresh page, verify avatar propagation in thread messages

EOF

Enable callers to supply a custom agent emoji via REST, MCP, and Web UI
while preserving the existing deterministic hash-based fallback for
callers that omit it. Input is validated against Unicode Emoji_Presentation
to prevent arbitrary strings from degrading avatar rendering.

- Add validateEmoji() utility with Unicode regex (main.ts)
- Extend registerAgent/updateAgent to accept optional emoji (memoryStore.ts)
- Wire emoji through REST POST /register, PUT /:agentId (server.ts)
- Wire emoji through MCP agent_register, agent_update, bus_connect (tools.ts)
- Add Browser User Identity card in Web UI settings tab (acb-modal-shell.js)
- Persist identity in localStorage and sync via REST PUT (shared-ui-agent.js)
- Add 11 tests: 5 unit, 4 HTTP integration, 2 bus_connect integration
@Killea Killea merged commit a27121f into Killea:main Mar 22, 2026
1 check passed
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.

2 participants