Conversation
The Agents screen only rendered the viewer's own managed agents and persona library, so agents run by other workspace members (already discovered through list_relay_agents for mentions, the tray and the sidebar) never appeared there. Add a read-only "Workspace agents" section after the unified agents section. It shows every relay-directory agent that is not one of the viewer's managed agents, deduplicated by pubkey, with name, presence dot (relay presence first, directory status as fallback), "Managed by <owner>", runtime and channel count. Clicking a card opens the agent's profile panel. No start, stop or delete controls: the viewer does not own these agents. Grouping, labelling and availability rules live in pure helpers in workspaceAgents.ts with node unit tests; managed-agent code paths are untouched. Signed-off-by: Andrew Davis <ajdavis21@users.noreply.github.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
🔐 Codex Security Review
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Agents screen renders only the viewer's own managed agents and persona library (
AgentsView→UnifiedAgentsSectionwithagents.managedAgentsandpersonas.libraryPersonas). Agents that other workspace members run never appear there, even though the desktop already discovers them throughlist_relay_agentsfor @mention autocomplete, the DM picker, the tray menu and the sidebar working badges.For a team that runs shared agents on a server (in our case a
buzz-acp+ omp agent deployed through a remote provider, owned by one member), that means everyone else has to find the agent through a channel member list or the mention picker. This adds a read-only Workspace agents section to the Agents screen so every member sees the workspace's agents in one place.What it shows, per agent:
statusonly while presence is unknown, perdocs/agent-availability.mdManaged by <owner display name> · <runtime> · in N channels, where the owner label resolves from the NIP-OA-verifiedownerPubkeyvia oneuseUsersBatchQueryWhat it deliberately does not do: no Start / Stop / Delete. The viewer does not own these agents, and
useAgentLifecycleActionsalready refuses to act without a localManagedAgent. Agents the viewer manages are excluded by pubkey so nothing is listed twice.Implementation notes:
workspaceAgents.tsholds the pure selection, labelling and availability rules;WorkspaceAgentsSection.tsxis the view;AgentsView.tsxmounts it between the unified agents section and Agent teams.UnifiedAgentsSectionanduseManagedAgentActionsare untouched.UnifiedAgentsSectionbecause that component is mounted by an existing test withoutCommunitiesProvider, whichuseUsersBatchQueryneeds.useAgentAvailabilityLookup), sharing the existing cache and live subscription.Related issue
None found. Closest neighbours are the agent-directory and mention-authorization work in #6224 (relay agent discovery) and the agent availability docs; this is additive UI over the same
list_relay_agentsdata.Testing
desktop/src/features/agents/ui/workspaceAgents.test.mjs: 7 node tests covering managed-pubkey exclusion (case and whitespace insensitive), duplicate collapse, blank-name fallback, sort order and undefined inputs, subtitle composition (singular/plural, blank runtime), owner-label precedence, and presence-over-snapshot availability. All pass locally.check-pubkey-truncation,check-px-text,check-file-sizespass; both.tsxfiles transpile with no diagnostics;workspaceAgents.tstype-checks against the realRelayAgenttype.tsc, biome and the Playwright e2e suite were not run locally (nonode_moduleson the authoring machine); relying on CI for those.