Interface ITeamOversightService
Every team, regardless of membership — the interface a component, controller or MCP provider should inject for cross-team discovery. Requires the Read system scope.
public interface ITeamOversightService
Remarks
Wholly system-wide, which is why it is its own interface. ITeamManagementService is wholly team-bound — every method names a team in its first argument, and that is what makes one scope registration true of all of them. A no-argument cross-team read on that interface would break the invariant rather than merely sit oddly beside it.
Distinct from ITeamDirectoryService, which is the caller's own teams filtered by what each membership grants. This one answers a different question: what teams exist at all.
Discovery only. Holding teams:read grants nothing inside a team — selecting one
the caller is not a member of still yields only what that team consented to, and nothing if it has
consented to nothing.
Methods
GetAllTeamsAsync()
Every team, without rosters.
IAsyncEnumerable<ITeam> GetAllTeamsAsync()
Returns
GetAllTeamsAsync<TMember>()
Every team, without rosters.
IAsyncEnumerable<ITeam<TMember>> GetAllTeamsAsync<TMember>() where TMember : ITeamMember
Returns
- IAsyncEnumerable<ITeam<TMember>>
Type Parameters
TMember