378
379
registerProvider(provider: IChatDebugLogProvider): IDisposable {
381
>
382
>
// Invoke the new provider for all sessions that already have active
383
>
// pipelines. This handles the case where invokeProviders() was called
384
>
// before this provider was registered (e.g. extension activated late).
385
>
for (const [sessionResource, cts] of this._invocationCts) {
386
if (!cts.token.isCancellationRequested) {
387
this._invokeProvider(provider, sessionResource, cts.token).catch(onUnexpectedError);
388
}
389
}
391
>
return toDisposable(() => {
392
>
this._providers.delete(provider);
393
>
});
394
>
}
395
396
hasInvokedProviders(sessionResource: URI): boolean {