@wrongstack/mcp 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -71,6 +71,7 @@ export declare class MCPClient {
71
71
  private _drainPending;
72
72
  private _lastNotifySkipped;
73
73
  private closePromise?;
74
+ private connectPromise?;
74
75
  private sseTransport?;
75
76
  private httpTransport?;
76
77
  /** Notified when the stdio child process exits so the registry can attempt reconnect. */
@@ -100,6 +101,7 @@ export declare class MCPClient {
100
101
  addDisconnectListener(listener: () => void): void;
101
102
  removeDisconnectListener(listener: () => void): void;
102
103
  connect(): Promise<void>;
104
+ private connectInner;
103
105
  private connectStdio;
104
106
  private connectSSE;
105
107
  private connectStreamableHTTP;
package/dist/index.js CHANGED
@@ -1847,6 +1847,7 @@ var SSETransport = class extends BaseHTTPTransport {
1847
1847
  }
1848
1848
  }
1849
1849
  async connect() {
1850
+ this.readerDone = false;
1850
1851
  this.state = "connecting";
1851
1852
  this.serverMetadata = void 0;
1852
1853
  this.abortController = new AbortController();
@@ -2420,6 +2421,7 @@ var MCPClient = class _MCPClient {
2420
2421
  _drainPending = false;
2421
2422
  _lastNotifySkipped = false;
2422
2423
  closePromise;
2424
+ connectPromise;
2423
2425
  // HTTP transports
2424
2426
  sseTransport;
2425
2427
  httpTransport;
@@ -2471,7 +2473,14 @@ var MCPClient = class _MCPClient {
2471
2473
  this.disconnectListeners.delete(listener);
2472
2474
  }
2473
2475
  async connect() {
2474
- if (this.state === "connected" || this.state === "connecting") return;
2476
+ if (this.state === "connected") return;
2477
+ if (this.connectPromise) return this.connectPromise;
2478
+ this.connectPromise = this.connectInner().finally(() => {
2479
+ this.connectPromise = void 0;
2480
+ });
2481
+ return this.connectPromise;
2482
+ }
2483
+ async connectInner() {
2475
2484
  this.state = "connecting";
2476
2485
  this._serverMetadata = void 0;
2477
2486
  try {
@@ -3946,8 +3955,8 @@ function applySlotTools(ctx, slot, tools, client) {
3946
3955
  }
3947
3956
  })
3948
3957
  );
3958
+ slot.lazyTools = wrapped;
3949
3959
  if (ctx.lazyMode) {
3950
- slot.lazyTools = wrapped;
3951
3960
  return;
3952
3961
  }
3953
3962
  for (const tool of wrapped) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/mcp",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack Model Context Protocol client and registry: stdio, SSE, and streamable HTTP transports.",
6
6
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "!dist/**/*.map"
27
27
  ],
28
28
  "dependencies": {
29
- "@wrongstack/core": "1.0.6",
29
+ "@wrongstack/core": "1.0.7",
30
30
  "undici": "^8.10.0"
31
31
  },
32
32
  "devDependencies": {