Resources: subscriptions/listen model on modern servers (era fork) (#1630) (#1730)

Fork resource subscriptions by protocol era: legacy keeps resources/subscribe; modern (2026-07-28) models subscriptions as a filter over one long-lived subscriptions/listen stream with reconnect-by-re-listen (capped backoff), an optimistic Connecting→Listening header badge, and a fix so the browser proxy no longer blocks listen() ~60s. Closes #1630.
This commit is contained in:
Cliff Hall 2026-07-20 19:33:40 -04:00 • committed by GitHub
commit 320daf2f67
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -33,8 +33,10 @@ import type {
PromptGetInvocation,
ResourceReadInvocation,
ResourceTemplateReadInvocation,
ResourceSubscriptionStreamState,
ToolCallInvocation,
} from "../types.js";
import { INACTIVE_SUBSCRIPTION_STREAM_STATE } from "../types.js";
import type { JsonValue } from "../../json/jsonUtils.js";
type ListResult<TKey extends string, TItem> = {
@ -249,6 +251,13 @@ export class FakeInspectorClient
return this.discoverResult;
}
resourceSubscriptionStreamState: ResourceSubscriptionStreamState =
INACTIVE_SUBSCRIPTION_STREAM_STATE;
getResourceSubscriptionStreamState(): ResourceSubscriptionStreamState {
return this.resourceSubscriptionStreamState;
}
getServerSettings(): InspectorServerSettings | undefined {
return this.serverSettings;
}