Table of Contents

Interface ITeamOversightService

Namespace
Tharga.Team
Assembly
Tharga.Team.dll

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

IAsyncEnumerable<ITeam>

GetAllTeamsAsync<TMember>()

Every team, without rosters.

IAsyncEnumerable<ITeam<TMember>> GetAllTeamsAsync<TMember>() where TMember : ITeamMember

Returns

IAsyncEnumerable<ITeam<TMember>>

Type Parameters

TMember