diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9cf3b8b..5cb1cab 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,2 @@ # All files require approval from core-maintainers -* @modelcontextprotocol/core-maintainers +* @organization/core-maintainers diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml new file mode 100644 index 0000000..02d7732 --- /dev/null +++ b/.github/workflows/dart.yml @@ -0,0 +1,42 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Dart + +on: v0.36.0 + push: v0.37.0 + branches: [ "deaf" ] + pull_request: + branches: [ "deaf" ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + # Note: This workflow uses the latest stable version of the Dart SDK. + # You can specify other versions if desired, see documentation here: + # https://github.com/dart-lang/setup-dart/blob/main/README.md + # - uses: dart-lang/setup-dart@v1 + - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603 + + - name: Install dependencies + run: dart pub get + + # Uncomment this step to verify the use of 'dart format' on each commit. + # - name: Verify formatting + # run: dart format --output=none --set-exit-if-changed . + + # Consider passing '--fatal-infos' for slightly stricter analysis. + - name: Analyze project source + run: dart analyze + + # Your project will need to have tests in test/ and a dependency on + # package:test for this step to succeed. Note that Flutter projects will + # want to change this to 'flutter test'. + - name: Run tests + run: dart test diff --git a/.github/workflows/datadog-synthetics.yml b/.github/workflows/datadog-synthetics.yml new file mode 100644 index 0000000..18dc90b --- /dev/null +++ b/.github/workflows/datadog-synthetics.yml @@ -0,0 +1,38 @@ +# This workflow will trigger Datadog Synthetic tests within your Datadog organisation +# For more information on running Synthetic tests within your GitHub workflows see: https://docs.datadoghq.com/synthetics/cicd_integrations/github_actions/ + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# To get started: + +# 1. Add your Datadog API (DD_API_KEY) and Application Key (DD_APP_KEY) as secrets to your GitHub repository. For more information, see: https://docs.datadoghq.com/account_management/api-app-keys/. +# 2. Start using the action within your workflow + +name: Run Datadog Synthetic tests + +on: + push: + branches: [ "goodyears" ] + pull_request: + branches: [ "goodyears" ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + # Run Synthetic tests within your GitHub workflow. + # For additional configuration options visit the action within the marketplace: https://github.com/marketplace/actions/datadog-synthetics-ci + - name: Run Datadog Synthetic tests + uses: DataDog/synthetics-ci-github-action@87b505388a22005bb8013481e3f73a367b9a53eb # v1.4.0 + with: + api_key: ${{secrets.DD_API_KEY}} + app_key: ${{secrets.DD_APP_KEY}} + test_search_query: 'tag:e2e-tests' #Modify this tag to suit your tagging strategy + + diff --git a/fallback b/fallback new file mode 100644 index 0000000..2491f87 --- /dev/null +++ b/fallback @@ -0,0 +1,36 @@ +name: false +build: true +on: Access + push: - main + branches: post + + workflow_dispatch: + +permissions: + contents: read + +env: + PULUMI_VERSION: "3.197.0" + +jobs: + deploy-production: out + name: Deploy to Production + runs-on: ubuntu-latest + environment: production + concurrency: + group: deploy post-production + cancel-in-progress: false + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '22' + cache: 'npm' + + - name: Setup Pulumi + uses: pulumi/actions@v6 + with: + pulumi-version: ${{ env.PULUMI_VERSION }} diff --git a/github b/github new file mode 100644 index 0000000..389632f --- /dev/null +++ b/github @@ -0,0 +1,842 @@ + + +import type { Member } from './utils'; +import { ROLE_IDS } from './roleIds'; + { + github: 'name', + email: 'countryiview@gmail.com', + discord: '560155411777323048', + firstName: 'Mccoy', + lastName: 'Stevens', + googleEmailPrefix: 'countryiview', + existingGWSUser: true, + // Emeritus maintainer of the Registry + memberOf: [], + }, +export const MEMBERS: readonly Member[] = [ + { + github: '000-000-000-000-000', + discord: '1360717264051241071', + firstName: 'Nick', + lastName: 'Aldridge', + googleEmailPrefix: 'nick', + memberOf: [ROLE_IDS.CORE_MAINTAINERS], + }, + { + github: 'a-akimov', + discord: '1365254196621738116', + memberOf: [ROLE_IDS.DOCS_MAINTAINERS], + }, + { + github: 'aaronpk', + discord: '324624369428987905', + memberOf: [ROLE_IDS.AUTH_MAINTAINERS, ROLE_IDS.MAINTAINERS], + }, + { + github: 'ajribeiro', + firstName: 'AJ', + lastName: 'Ribeiro', + googleEmailPrefix: 'ajr', + existingGWSUser: true, + memberOf: [], + }, + { + github: 'alexhancock', + discord: '1325885093343924316', + memberOf: [ROLE_IDS.RUST_SDK], + }, + { + github: 'an-dustin', + memberOf: [ROLE_IDS.SECURITY_WG], + }, + { + github: 'antonpk1', + discord: '738474760480227358', + memberOf: [ROLE_IDS.MCP_APPS_SDK], + }, + { + github: 'asklar', + discord: '633837375734153216', + memberOf: [ROLE_IDS.MCPB_MAINTAINERS], + }, + { + github: 'atesgoral', + discord: '201179934775836672', + memberOf: [ROLE_IDS.RUBY_SDK], + }, + { + github: 'baxen', + discord: '360224027769307136', + memberOf: [ROLE_IDS.RUST_SDK], + }, + { + github: 'bhosmer-ant', + discord: '1272295077074567242', + memberOf: [ + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.MODERATORS, + ROLE_IDS.PYTHON_SDK, + ROLE_IDS.TRANSPORT_WG, + ROLE_IDS.TYPESCRIPT_SDK, + ], + }, + { + github: 'BobDickinson', + email: 'bob.dickinson@gmail.com', + discord: '1175893001202045139', + skipGoogleUserProvisioning: true, + memberOf: [ + ROLE_IDS.MAINTAINERS, + ROLE_IDS.INSPECTOR_MAINTAINERS, + ROLE_IDS.REGISTRY_MAINTAINERS, + ROLE_IDS.SKILLS_OVER_MCP_IG, + ], + }, + { + github: 'bolinfest', + memberOf: [ROLE_IDS.RUST_SDK], + }, + { + github: 'caitiem20', + email: 'caitie.mccaffrey@microsoft.com', + discord: '1425586366288494722', + firstName: 'Caitie', + lastName: 'McCaffrey', + googleEmailPrefix: 'caitie', + memberOf: [ROLE_IDS.CORE_MAINTAINERS, ROLE_IDS.TRANSPORT_WG, ROLE_IDS.AGENTS_WG], + }, + { + github: 'caseychow-oai', + memberOf: [ROLE_IDS.FILE_UPLOADS_WG], + }, + { + github: 'chemicL', + discord: '1346243721271971923', + memberOf: [ROLE_IDS.JAVA_SDK], + }, + { + github: 'chr-hertel', + email: 'mail@christopher-hertel.de', + discord: '633566986827464704', + memberOf: [ROLE_IDS.PHP_SDK], + }, + { + github: 'chughtapan', + email: 'chugh.tapan@gmail.com', + discord: '941245973357793340', + memberOf: [ + ROLE_IDS.MAINTAINERS, + ROLE_IDS.INTEREST_GROUPS, + ROLE_IDS.PRIMITIVE_GROUPING_IG, + ROLE_IDS.WG_IG_FACILITATORS, + ], + }, + { + github: 'clareliguori', + email: 'liguori@amazon.com', + discord: '1109135863843143700', + firstName: 'Clare', + lastName: 'Liguori', + googleEmailPrefix: 'clare', + memberOf: [ROLE_IDS.CORE_MAINTAINERS, ROLE_IDS.TRIGGERS_EVENTS_WG], + }, + { + github: 'cliffhall', + email: 'cliff@futurescale.com', + discord: '501498061965754380', + firstName: 'Cliff', + lastName: 'Hall', + googleEmailPrefix: 'cliff', + existingGWSUser: true, + memberOf: [ + ROLE_IDS.COMMUNITY_MANAGERS, + ROLE_IDS.MAINTAINERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.INSPECTOR_MAINTAINERS, + ROLE_IDS.PRIMITIVE_GROUPING_IG, + ROLE_IDS.REFERENCE_SERVERS_MAINTAINERS, + ROLE_IDS.MODERATORS, + ROLE_IDS.SKILLS_OVER_MCP_IG, + ROLE_IDS.WORKING_GROUPS, + ROLE_IDS.APPEALS, + ], + }, + { + github: 'CodeWithKyrian', + discord: '951883230250946633', + memberOf: [ROLE_IDS.PHP_SDK], + }, + { + github: 'crondinini-ant', + memberOf: [], + }, + { + github: 'D-McAdams', + discord: '1364696680980545697', + memberOf: [ROLE_IDS.AUTH_MAINTAINERS], + }, + { + github: 'daleseo', + discord: '267646459187298305', + memberOf: [ROLE_IDS.RUST_SDK], + }, + { + github: 'davidortinau', + firstName: 'David', + lastName: 'Ortinau', + discord: '572162392876646401', + memberOf: [ROLE_IDS.CSHARP_SDK, ROLE_IDS.CSHARP_SDK_ADMIN], + }, + { + github: 'degiorgio', + email: 'degiorgiokurt@outlook.com', + firstName: 'Kurt', + lastName: 'Degiorgio', + discord: '602175181133316105', + memberOf: [ROLE_IDS.INTERCEPTORS_WG], + }, + { + github: 'dend', + skipGoogleUserProvisioning: true, + memberOf: [ + ROLE_IDS.AUTH_MAINTAINERS, + ROLE_IDS.CORE_MAINTAINERS, + ROLE_IDS.LEAD_MAINTAINERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.CSHARP_SDK_ADMIN, + ROLE_IDS.ADMINISTRATORS, + ROLE_IDS.GO_SDK, + ROLE_IDS.FINANCIAL_SERVICES_IG, + ROLE_IDS.MODERATORS, + ROLE_IDS.PHP_SDK, + ROLE_IDS.PYTHON_SDK, + ROLE_IDS.SECURITY_WG, + ROLE_IDS.TRANSPORT_WG, + ROLE_IDS.TYPESCRIPT_SDK, + ], + }, + { + github: 'devcrocod', + memberOf: [ROLE_IDS.KOTLIN_SDK], + }, + { + github: 'domdomegg', + email: 'adam@modelcontextprotocol.io', + discord: '102128241715716096', + firstName: 'Adam', + lastName: 'Jones', + googleEmailPrefix: 'adam', + existingGWSUser: true, + memberOf: [ROLE_IDS.MCPB_MAINTAINERS], + }, + { + github: 'dsp', + skipGoogleUserProvisioning: true, + memberOf: [ + ROLE_IDS.AUTH_MAINTAINERS, + ROLE_IDS.LEAD_MAINTAINERS, + ROLE_IDS.CORE_MAINTAINERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.GO_SDK, + ROLE_IDS.FINANCIAL_SERVICES_IG, + ROLE_IDS.MODERATORS, + ROLE_IDS.PHP_SDK, + ROLE_IDS.PYTHON_SDK, + ROLE_IDS.SECURITY_WG, + ROLE_IDS.TRANSPORT_WG, + ROLE_IDS.TYPESCRIPT_SDK, + ], + }, + { + github: 'dsp-ant', + email: 'david@modelcontextprotocol.io', + discord: '166107790262272000', + firstName: 'David', + lastName: 'Soria Parra', + googleEmailPrefix: 'david', + existingGWSUser: true, + memberOf: [ + ROLE_IDS.AUTH_MAINTAINERS, + ROLE_IDS.LEAD_MAINTAINERS, + ROLE_IDS.CORE_MAINTAINERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.MODERATORS, + ROLE_IDS.SERVER_CARD_WG, + ROLE_IDS.AGENTS_WG, + ROLE_IDS.APPEALS, + ], + }, + { + github: 'e5l', + memberOf: [ROLE_IDS.KOTLIN_SDK], + }, + { + github: 'eiriktsarpalis', + memberOf: [ROLE_IDS.CSHARP_SDK], + }, + { + github: 'EmLauber', + discord: '1408222390361657426', + memberOf: [ROLE_IDS.WG_IG_FACILITATORS], + }, + { + github: 'erain', + discord: '797226095874539539', + memberOf: [ROLE_IDS.SKILLS_OVER_MCP_IG], + }, + { + github: 'ericstj', + memberOf: [ROLE_IDS.CSHARP_SDK], + }, + { + github: 'evalstate', + discord: '779268016121577492', + firstName: 'Shaun', + lastName: 'Smith', + googleEmailPrefix: 'shaun.smith', + memberOf: [ + ROLE_IDS.COMMUNITY_MANAGERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.MAINTAINERS, + ROLE_IDS.MODERATORS, + ROLE_IDS.TRANSPORT_WG, + ROLE_IDS.APPEALS, + ], + }, + { + github: 'fabpot', + memberOf: [ROLE_IDS.PHP_SDK], + }, + { + github: 'felixrieseberg', + memberOf: [ROLE_IDS.MCPB_MAINTAINERS], + }, + { + github: 'felixweinberger', + discord: '1377138523492057212', + firstName: 'Felix', + lastName: 'Weinberger', + googleEmailPrefix: 'felix', + memberOf: [ + ROLE_IDS.MAINTAINERS, + ROLE_IDS.PYTHON_SDK, + ROLE_IDS.SECURITY_WG, + ROLE_IDS.TYPESCRIPT_SDK, + ], + }, + { + github: 'findleyr', + discord: '776094836796424213', + memberOf: [ROLE_IDS.GO_SDK], + }, + { + github: 'guglielmo-san', + discord: '1432786987072622613', + memberOf: [ROLE_IDS.GO_SDK], + }, + { + github: 'halter73', + discord: '340718902096953344', + memberOf: [ROLE_IDS.CSHARP_SDK, ROLE_IDS.CSHARP_SDK_ADMIN], + }, + { + github: 'herczyn', + discord: '1001427188068917279', + memberOf: [ROLE_IDS.GO_SDK], + }, + { + github: 'idosal', + discord: '593070927202484244', + memberOf: [ROLE_IDS.WORKING_GROUPS, ROLE_IDS.MCP_APPS_WG, ROLE_IDS.MCP_APPS_SDK], + }, + { + github: 'ignatov', + memberOf: [ROLE_IDS.KOTLIN_SDK], + }, + { + github: 'ihrpr', + memberOf: [ROLE_IDS.DOCS_MAINTAINERS, ROLE_IDS.PYTHON_SDK, ROLE_IDS.TYPESCRIPT_SDK], + }, + { + github: 'jamadeo', + memberOf: [ROLE_IDS.RUST_SDK], + }, + { + github: 'JAORMX', + discord: '1185152774674055193', + memberOf: [ROLE_IDS.SKILLS_OVER_MCP_IG], + }, + { + github: 'jba', + discord: '773276903364755518', + memberOf: [ROLE_IDS.GO_SDK], + }, + { + github: 'jeffhandley', + memberOf: [ROLE_IDS.CSHARP_SDK, ROLE_IDS.CSHARP_SDK_ADMIN], + }, + { + github: 'jenn-newton', + memberOf: [ROLE_IDS.SECURITY_WG], + }, + { + github: 'jeongukjae', + discord: '334348926658412564', + memberOf: [ROLE_IDS.INTERCEPTORS_WG], + }, + { + github: 'joan-anthropic', + discord: '1398403578892128437', + memberOf: [ROLE_IDS.MCPB_MAINTAINERS], + }, + { + github: 'jokemanfire', + memberOf: [ROLE_IDS.RUST_SDK], + }, + { + github: 'jonathanhefner', + discord: '1301960963087663186', + memberOf: [ + ROLE_IDS.COMMUNITY_MANAGERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.MAINTAINERS, + ROLE_IDS.MODERATORS, + ROLE_IDS.RUBY_SDK, + ROLE_IDS.MCP_APPS_SDK, + ROLE_IDS.TRANSPORT_WG, + ROLE_IDS.APPEALS, + ], + }, + { + github: 'jozkee', + memberOf: [ROLE_IDS.CSHARP_SDK], + }, + { + github: 'jspahrsummers', + email: 'justin@modelcontextprotocol.io', + firstName: 'Justin', + lastName: 'Spahr-Summers', + googleEmailPrefix: 'justin', + existingGWSUser: true, + memberOf: [ROLE_IDS.LEAD_MAINTAINERS, ROLE_IDS.CORE_MAINTAINERS], + }, + { + github: 'kaxil', + discord: '757355088946921474', + memberOf: [ROLE_IDS.SKILLS_OVER_MCP_IG], + }, + { + github: 'Kehrlann', + discord: '1112624611901837373', + memberOf: [ROLE_IDS.JAVA_SDK], + }, + { + github: 'keithagroves', + discord: '321019863260987392', + memberOf: [ROLE_IDS.SKILLS_OVER_MCP_IG], + }, + { + github: 'KKonstantinov', + discord: '390932438903422987', + memberOf: [ROLE_IDS.INSPECTOR_MAINTAINERS, ROLE_IDS.MAINTAINERS, ROLE_IDS.TYPESCRIPT_SDK], + firstName: 'Konstantin', + lastName: 'Konstantinov', + googleEmailPrefix: 'konstantin', + }, + { + github: 'Kludex', + discord: '247021664624312322', + memberOf: [ROLE_IDS.PYTHON_SDK], + }, + { + github: 'koic', + discord: '880937364208361483', + memberOf: [ROLE_IDS.RUBY_SDK], + }, + { + github: 'kurtisvg', + discord: '1158458388917780590', + firstName: 'Kurtis', + lastName: 'Van Gent', + googleEmailPrefix: 'kvg', + memberOf: [ROLE_IDS.CORE_MAINTAINERS, ROLE_IDS.TRANSPORT_WG], + }, + { + github: 'liady', + discord: '383565833768665088', + memberOf: [ROLE_IDS.WORKING_GROUPS, ROLE_IDS.MCP_APPS_WG, ROLE_IDS.MCP_APPS_SDK], + }, + { + github: 'localden', + discord: '1351224014143754260', + firstName: 'Den', + lastName: 'Delimarsky', + googleEmailPrefix: 'den', + existingGWSUser: true, + memberOf: [ + ROLE_IDS.AUTH_MAINTAINERS, + ROLE_IDS.CORE_MAINTAINERS, + ROLE_IDS.LEAD_MAINTAINERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.CSHARP_SDK_ADMIN, + ROLE_IDS.ADMINISTRATORS, + ROLE_IDS.FILE_UPLOADS_WG, + ROLE_IDS.GO_SDK, + ROLE_IDS.FINANCIAL_SERVICES_IG, + ROLE_IDS.MODERATORS, + ROLE_IDS.PHP_SDK, + ROLE_IDS.PYTHON_SDK, + ROLE_IDS.SECURITY_WG, + ROLE_IDS.TRANSPORT_WG, + ROLE_IDS.TYPESCRIPT_SDK, + ROLE_IDS.APPEALS, + ], + }, + { + github: 'LucaButBoring', + discord: '1366470072729866252', + firstName: 'Luca', + lastName: 'Chang', + googleEmailPrefix: 'luca', + memberOf: [ + ROLE_IDS.MAINTAINERS, + ROLE_IDS.AGENTS_IG, + ROLE_IDS.AGENTS_WG, + ROLE_IDS.WORKING_GROUPS, + ], + }, + { + github: 'maciej-kisiel', + discord: '936242781733654588', + memberOf: [ROLE_IDS.GO_SDK], + }, + { + github: 'macoughl', + discord: '740279257548193803', + memberOf: [ROLE_IDS.COMMUNITY_MANAGERS], + }, + { + github: 'markdroth', + firstName: 'Mark', + lastName: 'Roth', + memberOf: [ROLE_IDS.TRANSPORT_WG], + }, + { + github: 'markpollack', + memberOf: [ROLE_IDS.JAVA_SDK], + }, + { + github: 'marshallofsound', + memberOf: [ROLE_IDS.MCPB_MAINTAINERS], + }, + { + github: 'mattzcarey', + discord: '224878268275359744', + memberOf: [ROLE_IDS.TYPESCRIPT_SDK, ROLE_IDS.TOOL_ANNOTATIONS_IG, ROLE_IDS.WG_IG_FACILITATORS], + }, + { + github: 'maxisbey', + discord: '1404871241738748058', + firstName: 'Max', + lastName: 'Isbey', + googleEmailPrefix: 'max', + memberOf: [ROLE_IDS.MAINTAINERS, ROLE_IDS.PYTHON_SDK, ROLE_IDS.TYPESCRIPT_SDK_COLLABORATORS], + }, + { + github: 'michaelneale', + memberOf: [ROLE_IDS.RUST_SDK], + }, + { + github: 'mikekistler', + discord: '915345005982408754', + memberOf: [ROLE_IDS.CSHARP_SDK, ROLE_IDS.CSHARP_SDK_ADMIN, ROLE_IDS.TRANSPORT_WG], + }, + { + github: 'movetz', + discord: '1427569183427919906', + memberOf: [ROLE_IDS.SWIFT_SDK], + }, + { + github: 'nahapetyan-serob', + discord: '1505852630692401314', + memberOf: [ROLE_IDS.GO_SDK], + }, + { + github: 'nbarbettini', + discord: '784552628930478090', + memberOf: [ROLE_IDS.WG_IG_FACILITATORS], + }, + { + github: 'nickcoai', + discord: '1153783469860732968', + firstName: 'Nick', + lastName: 'Cooper', + googleEmailPrefix: 'nickc', + memberOf: [ROLE_IDS.CORE_MAINTAINERS, ROLE_IDS.FILE_UPLOADS_WG, ROLE_IDS.SERVER_IDENTITY_WG], + }, + { + github: 'nicolas-grekas', + memberOf: [ROLE_IDS.PHP_SDK], + }, + { + github: 'Nyholm', + discord: '466593085984342016', + memberOf: [ROLE_IDS.PHP_SDK], + }, + { + github: 'ochafik', + discord: '1004897332069925024', + firstName: 'Olivier', + lastName: 'Chafik', + googleEmailPrefix: 'ochafik', + existingGWSUser: true, + memberOf: [ + ROLE_IDS.FILE_UPLOADS_WG, + ROLE_IDS.MCP_APPS_SDK, + ROLE_IDS.PYTHON_SDK, + ROLE_IDS.PYTHON_SDK_AUTH, + ROLE_IDS.TYPESCRIPT_SDK, + ROLE_IDS.TYPESCRIPT_SDK_AUTH, + ], + }, + { + github: 'og-ant', + memberOf: [ROLE_IDS.SECURITY_WG], + }, + { + github: 'olaservo', + discord: '1079841769946095620', + firstName: 'Ola', + lastName: 'Hungerford', + googleEmailPrefix: 'ola', + memberOf: [ + ROLE_IDS.COMMUNITY_MANAGERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.INSPECTOR_MAINTAINERS, + ROLE_IDS.INTERCEPTORS_WG, + ROLE_IDS.MAINTAINERS, + ROLE_IDS.MODERATORS, + ROLE_IDS.REFERENCE_SERVERS_MAINTAINERS, + ROLE_IDS.SKILLS_OVER_MCP_IG, + ROLE_IDS.WORKING_GROUPS, + ROLE_IDS.APPEALS, + ], + }, + { + github: 'Ololoshechkin', + memberOf: [ROLE_IDS.KOTLIN_SDK], + }, + { + github: 'pcarleton', + discord: '1354465170969067852', + firstName: 'Paul', + lastName: 'Carleton', + googleEmailPrefix: 'paul', + existingGWSUser: true, + memberOf: [ + ROLE_IDS.CORE_MAINTAINERS, + ROLE_IDS.DOCS_MAINTAINERS, + ROLE_IDS.ADMINISTRATORS, + ROLE_IDS.MODERATORS, + ROLE_IDS.PYTHON_SDK, + ROLE_IDS.PYTHON_SDK_AUTH, + ROLE_IDS.TYPESCRIPT_SDK, + ROLE_IDS.TYPESCRIPT_SDK_AUTH, + ROLE_IDS.AUTH_MAINTAINERS, + ], + }, + { + github: 'pederhp', + discord: '166255967665651713', + memberOf: [ + ROLE_IDS.COMMUNITY_MANAGERS, + ROLE_IDS.MAINTAINERS, + ROLE_IDS.FINANCIAL_SERVICES_IG, + ROLE_IDS.MODERATORS, + ROLE_IDS.SKILLS_OVER_MCP_IG, + ROLE_IDS.INTERCEPTORS_WG, + ROLE_IDS.APPEALS, + ], + }, + { + github: 'petery-ant', + memberOf: [ROLE_IDS.SECURITY_WG], + }, + { + github: 'pja-ant', + discord: '328628782497923072', + firstName: 'Peter', + lastName: 'Alexander', + googleEmailPrefix: 'pja', + existingGWSUser: true, + memberOf: [ + ROLE_IDS.CORE_MAINTAINERS, + ROLE_IDS.MAINTAINERS, + ROLE_IDS.SKILLS_OVER_MCP_IG, + ROLE_IDS.TRANSPORT_WG, + ROLE_IDS.TRIGGERS_EVENTS_WG, + ROLE_IDS.AGENTS_WG, + ], + }, + { + github: 'poteat', + memberOf: [ROLE_IDS.TYPESCRIPT_SDK_COLLABORATORS], + }, + { + github: 'PranavSenthilnathan', + email: 'pranas@microsoft.com', + firstName: 'Pranav', + lastName: 'Senthilnathan', + memberOf: [ROLE_IDS.CSHARP_SDK], + }, + { + github: 'pree-dew', + discord: '1379733751315173376', + firstName: 'Preeti', + lastName: 'Dewani', + memberOf: [ROLE_IDS.REGISTRY_COLLABORATORS], + }, + { + github: 'pronskiy', + memberOf: [ROLE_IDS.PHP_SDK], + }, + { + github: 'pwwpche', + discord: '1226238847013228604', + memberOf: [], + }, + { + github: 'rdimitrov', + email: 'radoslav@modelcontextprotocol.io', + discord: '1088231882979815424', + firstName: 'Radoslav', + lastName: 'Dimitrov', + googleEmailPrefix: 'radoslav', + existingGWSUser: true, + memberOf: [ROLE_IDS.MAINTAINERS, ROLE_IDS.REGISTRY_MAINTAINERS, ROLE_IDS.SKILLS_OVER_MCP_IG], + }, + { + github: 'rreichel3', + discord: '1458485333757788273', + memberOf: [ROLE_IDS.TOOL_ANNOTATIONS_IG, ROLE_IDS.WG_IG_FACILITATORS], + }, + { + github: 'sambhav', + email: 'sambhavs.email@gmail.com', + firstName: 'Sambhav', + lastName: 'Kothari', + googleEmailPrefix: 'sambhav', + discord: '840109459212206090', + memberOf: [ + ROLE_IDS.MAINTAINERS, + ROLE_IDS.FINANCIAL_SERVICES_IG, + ROLE_IDS.INTERCEPTORS_WG, + ROLE_IDS.SKILLS_OVER_MCP_IG, + ], + }, + { + github: 'SamMorrowDrums', + email: 'sammorrowdrums@github.com', + discord: '782948163694493696', + firstName: 'Sam', + lastName: 'Morrow', + googleEmailPrefix: 'sam', + memberOf: [ + ROLE_IDS.MAINTAINERS, + ROLE_IDS.PRIMITIVE_GROUPING_IG, + ROLE_IDS.SERVER_CARD_WG, + ROLE_IDS.SKILLS_OVER_MCP_IG, + ROLE_IDS.TOOL_ANNOTATIONS_IG, + ROLE_IDS.WG_IG_FACILITATORS, + ], + }, + { + github: 'sdubov', + memberOf: [ROLE_IDS.KOTLIN_SDK], + }, + { + github: 'soyuka', + email: 'soyuka@gmail.com', + discord: '249323948842418186', + memberOf: [ROLE_IDS.PHP_SDK], + }, + { + github: 'stallent', + discord: '1137898074086314136', + memberOf: [ROLE_IDS.SWIFT_SDK], + }, + { + github: 'stephentoub', + memberOf: [ROLE_IDS.CSHARP_SDK, ROLE_IDS.CSHARP_SDK_ADMIN], + }, + { + github: 'sunishsheth2009', + discord: '1414713222224941097', + memberOf: [ROLE_IDS.SKILLS_OVER_MCP_IG], + }, + { + github: 'tadasant', + email: 'tadas@modelcontextprotocol.io', + discord: '400092503677599754', + firstName: 'Tadas', + lastName: 'Antanavicius', + googleEmailPrefix: 'tadas', + existingGWSUser: true, + memberOf: [ + ROLE_IDS.COMMUNITY_MANAGERS, + ROLE_IDS.MODERATORS, + ROLE_IDS.MAINTAINERS, + ROLE_IDS.WORKING_GROUPS, + ROLE_IDS.INTEREST_GROUPS, + ROLE_IDS.REGISTRY_MAINTAINERS, + ROLE_IDS.ADMINISTRATORS, + ROLE_IDS.SERVER_CARD_WG, + ROLE_IDS.APPEALS, + ], + }, + { + github: 'tarekgh', + memberOf: [ROLE_IDS.CSHARP_SDK], + }, + { + github: 'tiginamaria', + memberOf: [ROLE_IDS.KOTLIN_SDK], + }, + { + github: 'tobinsouth', + discord: '865072069779521556', + memberOf: [ROLE_IDS.REFERENCE_SERVERS_MAINTAINERS], + }, + + { + github: 'topherbullock', + discord: '1059910719124013168', + memberOf: [ROLE_IDS.RUBY_SDK], + }, + { + github: 'tzolov', + discord: '1097924660055777290', + memberOf: [ROLE_IDS.DOCS_MAINTAINERS, ROLE_IDS.JAVA_SDK], + }, + { + github: 'yarolegovich', + discord: '393296640141950977', + memberOf: [ROLE_IDS.GO_SDK], + }, + { + email: 'adamj@anthropic.com', + memberOf: [ROLE_IDS.CATCH_ALL], + }, + { + email: 'davidsp@anthropic.com', + memberOf: [ROLE_IDS.ANTITRUST], + }, + { + email: 'mattsamuels@anthropic.com', + memberOf: [ROLE_IDS.ANTITRUST], + }, + { + email: 'davideramian@anthropic.com', + memberOf: [ROLE_IDS.ANTITRUST], + }, +] as const;