

a35771fc44
feat(desktop): refine agent catalog sharing (#2439)
## Summary
- add custom-agent catalog sharing and hide built-ins from discovery
- let owners publish later catalog updates from Share or while saving
edits — the save always persists locally, and the publish reports
`published` or `queued` (flushed automatically once the relay is
reachable again)
- preserve agent type, model, and runtime across snapshot import/export
- simplify agent and team entry points and tighten catalog layout
- migrate the legacy global retention queue into the owner's active
scope so pending catalog publishes survive the upgrade
- keep the agent list and edits usable in recovery mode by degrading to
unshared projections when scope resolution or the retention DB fails
- track catalog provenance on copied personas, so adding an
already-added foreign agent resolves to the existing copy instead of
creating a duplicate
- scope inbound persona events to the community relay they arrived on
- page the catalog read past the relay's 1,000-row query clamp
- unify the share dialog's memory-level choice into a single "What's
included" selector that drives both DM-send and copy-link delivery (all
six combinations preserved), group the delivery rows above the option
rows, and label the catalog toggle "Not shared" / "Shared"
- keep emoji avatars on catalog entries — they persist as inline
percent-encoded SVG, which the catalog projection's http(s)-only URL
guard used to drop, so a shared agent showed initials instead of its
avatar
- drop the "Active in communities" card from Agents settings, superseded
by the per-channel runtime controls in the members sidebar
## Screenshots
### Agent actions

### Team avatar stack

### Catalog sharing

### Publish while editing

### Publish from Share

### Catalog details

---------
Signed-off-by: kenny lopez <klopez4212@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
2026-07-28 15:01:03 -04:00
..
2026-07-22 13:24:46 -07:00
2026-07-23 13:18:08 -07:00
2026-07-03 15:40:29 +00:00
2026-07-07 03:59:23 +00:00
2026-07-24 19:30:33 -07:00
2026-07-08 18:18:44 -04:00
2026-07-24 01:23:31 +01:00
2026-07-24 01:23:31 +01:00
2026-07-28 15:01:03 -04:00
2026-07-28 15:01:03 -04:00
2026-07-22 13:24:46 -07:00
2026-07-28 15:01:03 -04:00
2026-07-19 11:14:06 -07:00
2026-07-14 11:11:02 -07:00
2026-07-17 11:40:05 +00:00
2026-07-16 18:01:53 +00:00
2026-07-20 14:44:08 -07:00
2026-07-27 15:47:04 -07:00
2026-07-23 13:50:29 -06:00
2026-07-04 11:51:58 -04:00
2026-06-29 06:42:31 -07:00
2026-07-07 07:29:02 -07:00
2026-07-04 11:51:58 -04:00
2026-07-28 19:37:12 +01:00
2026-06-26 18:09:07 +00:00
2026-07-26 13:20:26 -07:00
2026-07-06 16:36:01 -07:00
2026-07-19 15:37:23 -07:00
2026-07-28 13:31:27 -04:00
2026-07-06 16:36:01 -07:00
2026-07-13 16:29:21 -04:00
2026-07-11 13:40:16 -04:00
2026-07-14 11:11:02 -07:00
2026-07-24 22:11:54 -04:00
2026-07-24 19:30:33 -07:00
2026-07-18 23:16:00 -04:00
2026-07-14 16:50:22 +01:00
2026-07-19 19:01:38 +00:00
2026-07-27 11:01:42 -07:00
2026-07-28 19:37:12 +01:00
2026-07-27 16:45:34 -04:00
2026-07-24 01:23:31 +01:00
2026-07-27 20:39:44 +00:00
2026-07-28 15:01:03 -04:00
2026-07-27 11:01:42 -07:00
2026-07-27 11:01:42 -07:00
2026-07-20 00:53:53 +02:00
2026-07-24 19:30:33 -07:00
2026-07-06 06:55:58 -07:00
2026-07-20 08:58:48 -07:00
2026-07-20 15:35:40 +00:00
2026-07-27 09:47:02 -07:00
2026-07-19 11:42:35 -07:00
2026-07-17 10:27:41 -04:00
2026-07-18 00:01:24 +00:00
2026-07-20 00:53:53 +02:00
2026-07-28 14:01:18 -04:00
2026-07-27 16:45:34 -04:00
2026-07-24 19:30:33 -07:00
2026-07-24 19:30:33 -07:00
2026-07-18 15:45:41 +00:00
2026-07-04 11:51:58 -04:00
2026-07-06 17:41:56 -04:00
2026-07-08 14:38:52 -07:00
2026-07-20 08:58:48 -07:00
2026-07-26 19:46:13 -04:00
2026-07-19 14:39:59 -04:00
2026-07-26 13:20:26 -07:00
2026-07-27 16:45:34 -04:00
2026-07-14 12:15:02 -04:00
2026-07-16 12:44:14 -07:00
2026-07-17 12:10:44 -04:00
2026-07-24 12:10:09 -04:00
2026-07-27 11:01:42 -07:00
2026-07-18 15:31:17 -07:00
2026-07-27 08:47:39 -04:00
2026-07-21 18:54:42 +00:00
2026-07-27 17:52:36 -04:00
2026-07-02 22:31:40 -04:00
2026-07-04 11:51:58 -04:00
2026-07-16 16:18:07 -07:00
2026-07-28 15:01:03 -04:00
2026-07-28 15:01:03 -04:00
2026-07-28 15:01:03 -04:00
2026-07-03 15:40:29 +00:00
2026-07-12 18:46:02 -04:00
2026-07-27 16:45:34 -04:00
2026-07-27 12:22:05 +02:00
2026-07-27 13:54:54 -07:00
2026-07-24 11:34:25 -04:00
2026-07-19 14:39:59 -04:00
2026-07-07 08:19:49 -07:00
2026-07-12 08:42:31 -07:00
2026-07-02 19:30:24 +00:00
2026-07-23 13:56:13 -07:00
2026-07-23 13:18:08 -07:00
2026-07-15 07:34:50 -07:00
2026-07-27 16:45:34 -04:00
2026-07-25 16:49:56 -07:00
2026-07-06 13:58:15 -04:00
2026-07-02 20:15:44 +00:00
2026-06-29 09:18:16 -07:00
2026-07-04 08:37:34 -07:00
2026-07-27 17:52:36 -04:00
2026-07-22 15:38:52 -07:00
2026-07-20 22:30:54 -07:00
2026-07-28 15:01:03 -04:00
2026-07-08 15:35:04 +00:00
2026-07-14 12:14:41 -07:00
2026-07-15 18:39:39 -04:00
2026-07-28 15:01:03 -04:00
2026-07-23 23:06:14 -07:00
2026-06-27 06:27:51 -07:00
2026-06-29 16:19:48 -06:00
2026-06-30 18:55:08 -04:00
2026-07-25 16:49:56 -07:00
2026-07-17 11:40:05 +00:00
2026-07-18 00:01:24 +00:00
2026-07-17 10:27:41 -04:00
2026-07-25 17:22:15 -07:00
2026-07-08 14:38:52 -07:00
2026-07-23 13:50:29 -06:00