MVUX Messaging — Agent Skill
Workflow
Docs lookup: call
uno_platform_docs_search(...)first, thenuno_platform_docs_fetch(sourcePath="…")using thesourcePathfield from a result (a relative.mdpath; add the result'sanchorfor a section). Never pass a URL, a.htmllink, or a hand-built path.
Step 1: Fetch the Messaging Documentation
Search for and fetch the messaging documentation:
uno_platform_docs_search("MVUX messaging EntityMessage synchronization CRUD")
Primary documentation pages:
- Messaging Reference:
external/uno.extensions/doc/Learn/Mvux/Advanced/Messaging.md - Messaging How-To:
external/uno.extensions/doc/Learn/Mvux/Walkthrough/Messaging.howto.md
Fetch the reference page:
uno_platform_docs_fetch(sourcePath="external/uno.extensions/doc/Learn/Mvux/Advanced/Messaging.md")
Step 2: For How-To Walkthroughs
For step-by-step implementation:
uno_platform_docs_fetch(sourcePath="external/uno.extensions/doc/Learn/Mvux/Walkthrough/Messaging.howto.md")
This covers when to use messaging, sending entity messages from services, observing changes in models, and manual message handling.
Step 3: Understand the Architecture
From the fetched docs, the messaging pattern involves:
- Service sends
EntityMessage<T>viaIMessenger.Send(...) - Model uses
.Observe(messenger)on aListStateto auto-apply changes - Entity changes (Created/Updated/Deleted) are applied to the matching state
Step 4: For Manual Message Handling
If the user needs custom logic when messages arrive, the reference page covers the Update extension methods that allow manual application of EntityMessage<T> to states.
Key Principles (Stable)
- Register
IMessengeras a singleton in DI:services.AddSingleton<IMessenger, WeakReferenceMessenger>() EntityMessage<T>carries an entity change type (Created, Updated, Deleted) and the entity.Observe(messenger)on aListStateauto-applies incoming entity changes- Records need key equality for matching (see
uno-mvux-recordsskill) - Namespace:
Uno.Extensions.Reactive.Messaging
Related Skills
- [[uno-mvux-liststate]] — Mutable collections that messaging updates
- [[uno-mvux-records]] — Key equality for entity matching
- [[uno-mvux-commands]] — Commands that trigger CRUD operations