Make every identity editable: agent and operator names plus avatars

- Migration 049: avatar_emoji/avatar_color on agents and employees
- updateAgent accepts a new name (mention-name validated) and avatar;
  new updateEmployeeProfile renames the operator and sets their avatar
- Avatars are emoji-on-color tiles (renderer CSP blocks remote images);
  an AvatarDirectoryContext built from the snapshot lets the shared
  Avatar component honor custom looks at every call site - chat rows,
  conversation list, org chart, office card, sidebar - without
  threading props through pages
- Team edit dialog gains Name + avatar editor (CEO included); the
  sidebar foot opens an Edit-profile dialog for the operator
- e2e: rename an agent to a new mention handle with an emoji avatar,
  edit the operator profile, both verified in the live shell
This commit is contained in:
ZacharyZhang-NY committed 2026-07-08 21:33:23 -04:00
1 parent 86aa6fdb29
commit e55b8b85b0
20 files changed
+377 -31

No files matched your search

+2
View File
@@ -47,6 +47,7 @@ import { connectorGrantsSchema } from "./migrations/045-connector-grants";
import { composioKeyPurgeSchema } from "./migrations/046-composio-key-purge";
import { authConfigPurgeSchema } from "./migrations/047-auth-config-purge";
import { uiPreferencesSchema } from "./migrations/048-ui-preferences";
import { avatarsSchema } from "./migrations/049-avatars";
interface Migration {
version: number;
@@ -103,6 +104,7 @@ const MIGRATIONS: Migration[] = [
{ version: 46, name: "composio_key_purge", sql: composioKeyPurgeSchema },
{ version: 47, name: "auth_config_purge", sql: authConfigPurgeSchema },
{ version: 48, name: "ui_preferences", sql: uiPreferencesSchema },
{ version: 49, name: "avatars", sql: avatarsSchema },
];
const SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1].version;