feat(FN-3484): normalize dashboard mailbox and user identity for messaging
This merge normalizes dashboard user identity and mailbox messaging (FN-3484, 4 steps), adds workflow step execution for plugins (FN-3490), and updates the restart integration store mock for plugin templates (FN-3096). Core changes touch the message store and store modules with identity normalizatio Fusion-Task-Id: FN-3484
This commit is contained in:
@@ -545,6 +545,17 @@ Mailbox replies use `message.metadata.replyTo.messageId` as the stable reply lin
|
||||
|
||||
The dashboard mailbox UI also uses the same metadata contract when users click **Reply**, so user and agent replies share one threading model.
|
||||
|
||||
### Dashboard user recipient convention
|
||||
|
||||
For dashboard user messaging, agents should target the canonical user recipient ID `dashboard`.
|
||||
|
||||
Runtime safeguards defensively normalize the legacy alias forms below to the same logical dashboard user:
|
||||
- `dashboard` (canonical)
|
||||
- `user:dashboard`
|
||||
- `User: user:dashboard`
|
||||
|
||||
This normalization applies on send and mailbox reads, so replies from agents still land in the dashboard inbox even when older alias-like recipient strings appear.
|
||||
|
||||
### How It Works
|
||||
|
||||
1. **Message Prefetch**: When `messageStore` is available, heartbeat runs fetch up to 10 unread inbox messages for the agent.
|
||||
|
||||
Reference in New Issue
Block a user