feat(desktop): team & persona import/edit flows#288
Merged
Conversation
wesbillman
approved these changes
Apr 10, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extract shared RemoveMembersConfirmDialog used by both the edit team and import update flows. When deselecting personas in the edit dialog, prompts the user to keep or permanently remove the agents. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Port the team Edit/Import pattern to the persona ("My agents") flow.
When editing a persona, an Import button now appears in the dialog
footer. Dropping or selecting a .persona.json file opens a diff preview
dialog showing field-level changes (display name, system prompt, avatar,
runtime, model, name pool) with per-field checkboxes and line change
counts. Unchecked fields show the current value instead of a static
"will not be updated" message.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fix two biome formatting issues (single-line disabled prop, inline type param) and remove unnecessary JSX fragment in PersonaImportUpdateDialog. Also fix pre-existing TS2345 in teamImportPlan.ts where missingMembers array was typed as the final output type before removedLines was added via .map(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…aImportActions hook Move persona import-update state and handlers out of AgentsView into a dedicated hook, mirroring the useTeamActions pattern. Brings AgentsView back under the file size limit (994 → 874 lines). Add narrowly scoped file size overrides for the new team dialog files. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
639e9d3 to
e52c975
Compare
tlongwell-block
added a commit
that referenced
this pull request
Apr 11, 2026
…ona-migration * origin/main: feat(desktop): add Pulse social notes surface (#296) Fix flaky desktop smoke tests (#294) Add agent lifecycle controls to channel members sidebar (#291) Update nest_agents.md tagging info (#292) feat: add Sprout nest — persistent agent workspace at ~/.sprout (#290) Fix auth and SSRF vulns (#261) Add per-agent MCP toolset configuration to agent setup (#279) feat(desktop): team & persona import/edit flows (#288) Remove menu item subtitles and fix persona card overflow (#289) feat: Phase 1 video upload support (Blossom-compliant-ish) (#285) Add inline subtitles to menu items and field descriptions (#276) Improve ephemeral channel affordances and hide archived sidebar rows (#286) Fix @mention search to use word-boundary prefix matching (#278) Allow bot owners to remove their agents from any channel (#284) [codex] Polish agent selectors and settings layout (#283) # Conflicts: # desktop/scripts/check-file-sizes.mjs
tlongwell-block
added a commit
that referenced
this pull request
Apr 11, 2026
Pack personas are immutable (backed by the pack directory, resolved at runtime by ACP). The backend already blocks edit/delete, but without frontend guards users would see confusing errors. - PersonasSection: hide Edit menu item for pack personas - PersonasSection: show disabled 'Managed by pack' instead of Delete - teamImportPlan: skip pack personas from membersToUpdate (prevents team import-update from trying to edit pack-backed members) Compatible with the persona editing GUI from PR #288.
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.
Sprout as an interface keeps getting better, but what makes it really work is the constant testing and tweaking of different agent styles and how they collaborate with each other. The goal here was to make it very easy to take
jsonfiles (generated elsewhere) and dropping them in to wholesale update agent teams and personas.Summary
.team.jsonfiles (new team or diff-update existing) with member matching, per-member checkboxes, and line change counts; removal confirmation dialogScreen.Recording.2026-04-10.at.6.49.51.AM.mov
.persona.jsonto open a field-level diff preview (display name, prompt, avatar, runtime, model, name pool) with per-field checkboxes and line counts; apply merges selected fieldsScreen.Recording.2026-04-10.at.7.03.23.AM.mov
useTeamActionsandusePersonaImportActionshooksTest plan
.persona.json→ diff preview → apply/clear.team.json, import-update existing team from edit dialogpnpm checkandnode --testpass🤖 Generated with Claude Code