mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-27 12:13:27 -07:00
1c5646b68d
- Add TeamSelectionDialog component for team discovery UX - Intercept startup flow in AppContainer to show team selection if needed - Update DialogManager to orchestrate team selection UI - Add handleTeamSelect and isTeamSelectionActive to UI contexts - Fix pre-existing StyledLine compilation error in TableRenderer - Refactor promptProvider-teams.test.ts to resolve type errors - Add unit tests for TeamSelectionDialog - Fix ESLint warnings for exhaustive-deps in AppContainer - Resolve syntax corruptions in AppContainer.tsx and DialogManager.tsx
1.4 KiB
1.4 KiB
TASK-02: Integrating Team Registry and Discovery into Config
Objective
Embed the TeamRegistry into the Config service and manage the team discovery
lifecycle during application startup and configuration reloads.
Implementation Details
1. Config Modifications (packages/core/src/config/config.ts)
- Add a private
teamRegistrymember:private teamRegistry!: TeamRegistry;. - In the
Configconstructor or initializer:- Initialize
teamRegistry = new TeamRegistry(this);. - Call
await this.teamRegistry.initialize();.
- Initialize
- Update
reloadAgents()to also reload theTeamRegistry. - Provide a public accessor:
getTeamRegistry(): TeamRegistry. - Implement
getActiveTeam()andsetActiveTeam(name: string | undefined)delegates to the registry.
2. Discovery Path
- Ensure
TeamRegistryscans the correct paths:- User-level:
~/.gemini/teams/ - Project-level:
.gemini/teams/
- User-level:
3. State Persistence
- While the MVP can use memory, consider if the active team should be saved
in
settings.jsonvia theSettingsServiceso it persists across sessions.
Verification
- Unit tests for
Config.getTeamRegistry(). - Integration tests ensuring that a team in
.gemini/teams/is discovered and loaded duringConfiginitialization. - Test that reloading the configuration correctly refreshes the list of available teams.