MCPcopy Index your code
hub / github.com/github/copilot-sdk / extractBearerTokenProviders

Function extractBearerTokenProviders

nodejs/src/client.ts:182–216  ·  view source on GitHub ↗

* Strips the non-serializable BearerTokenProvider callbacks from the singular * and named provider configs before they cross the RPC boundary, replacing each * with a `hasBearerTokenProvider: true` wire flag. The callback closes over its * own token scope/audience, so nothing scope-relate

(
    provider: ProviderConfig | undefined,
    providers: NamedProviderConfig[] | undefined
)

Source from the content-addressed store, hash-verified

180 * for session-side registration.
181 */
182function extractBearerTokenProviders(
183 provider: ProviderConfig | undefined,
184 providers: NamedProviderConfig[] | undefined
185): {
186 wireProvider: WireProviderConfig | undefined;
187 wireProviders: WireNamedProviderConfig[] | undefined;
188 callbacks: Map<string, BearerTokenProvider>;
189} {
190 const callbacks = new Map<string, BearerTokenProvider>();
191
192 let wireProvider: WireProviderConfig | undefined = provider;
193 if (provider?.bearerTokenProvider) {
194 const { bearerTokenProvider, ...rest } = provider;
195 callbacks.set(DEFAULT_PROVIDER_NAME, bearerTokenProvider);
196 wireProvider = {
197 ...rest,
198 hasBearerTokenProvider: true,
199 };
200 }
201
202 let wireProviders: WireNamedProviderConfig[] | undefined = providers;
203 if (providers?.some((p) => p.bearerTokenProvider)) {
204 wireProviders = providers.map((p) => {
205 if (!p.bearerTokenProvider) return p;
206 const { bearerTokenProvider, ...rest } = p;
207 callbacks.set(p.name, bearerTokenProvider);
208 return {
209 ...rest,
210 hasBearerTokenProvider: true,
211 };
212 });
213 }
214
215 return { wireProvider, wireProviders, callbacks };
216}
217
218/**
219 * Convert MCP server configs from public API format (workingDirectory) to

Callers 2

createSessionMethod · 0.85
resumeSessionMethod · 0.85

Calls 1

setMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…