297
* `startProxy` thunk that memoizes the single shared proxy handle.
298
*/
300
>
sessionId: string,
301
>
bridgeRegistry: IByokLmBridgeRegistry,
302
>
startProxy: () => Promise<IByokLmProxyHandle>,
303
>
logService: ILogService,
304
>
): Promise<{ providers?: NamedProviderConfig[]; models?: ProviderModelConfig[] }> {
305
>
// Surface the serving window's BYOK models. The registry does not union
306
>
// windows' model sets — all serving windows expose the same set, so it picks
307
>
// one (see `IByokLmBridgeRegistry`) and the proxy routes inference there.
308
>
let byokModels: IByokLmModelInfo[];
309
>
try {
310
>
byokModels = [...bridgeRegistry.getModels()];
311
>
} catch (err) {
312
logService.warn(`[Copilot:${sessionId}] Failed to enumerate BYOK models from renderer bridges`, err);
313
return {};
314
}
316
return {};
317
}