Add antitrust email group (#2)

Sets up antitrust@modelcontextprotocol.io email group
This commit is contained in:
adam jones 2025-10-01 00:50:47 +01:00 • committed by GitHub
commit 83c4314971
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 44 additions and 9 deletions

View file

@ -2,6 +2,9 @@ import { defineGroups } from './utils';
// NOTE: For GitHub teams, only the first memberOf will be used as the parent team.
// GitHub only supports one parent team per team.
//
// Email groups (isEmailGroup: true) accept emails from anyone (including external users)
// and notify group members for each email.
export const GROUPS = defineGroups([
{
name: 'test-parent',
@ -12,4 +15,14 @@ export const GROUPS = defineGroups([
description: 'Registry maintainers',
memberOf: ['test-parent'],
},
{
name: 'test-email-group',
description: 'Example email group that accepts external emails',
isEmailGroup: true,
},
{
name: 'antitrust',
description: 'Antitrust compliance contacts',
isEmailGroup: true,
},
] as const);

View file

@ -6,4 +6,16 @@ export const MEMBERS: readonly Member[] = [
email: 'adam@modelcontextprotocol.io',
memberOf: ['test-child'],
},
{
email: 'davidsp@anthropic.com',
memberOf: ['antitrust'],
},
{
email: 'mattsamuels@anthropic.com',
memberOf: ['antitrust'],
},
{
email: 'davideramian@anthropic.com',
memberOf: ['antitrust'],
},
] as const;

View file

@ -9,6 +9,7 @@ export function defineGroups<
name: Lowercase<string>;
description: string;
memberOf?: readonly (T[number]['name'])[];
isEmailGroup?: boolean;
}[]
>(groups: T) {
for (const group of groups) {
@ -28,10 +29,11 @@ export interface Group {
name: GroupKey;
description: string;
memberOf?: readonly GroupKey[];
isEmailGroup?: boolean;
}
export interface Member {
github?: string;
email?: `${string}@modelcontextprotocol.io`;
email?: string;
memberOf: readonly GroupKey[];
}