@mysten-incubation/memwal-mcp 0.0.13-dev.2 → 0.0.13-dev.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAYnD,OAAO,EAIH,KAAK,gBAAgB,EACxB,MAAM,eAAe,CAAC;AAGvB;;gFAEgF;AAChF,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;;;8BAG0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAeD;;;;;;;;;;GAUG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAChD,UAAU,EAAE,MAAM,GACnB,IAAI,CAaN;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAerF;AAoJD,UAAU,UAAU;IAChB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AA4eD,oEAAoE;AACpE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AA8BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC3B,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,YAAY;AACpB;;;;yEAIyE;AACzE,YAAY,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAgpCf"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAanD,OAAO,EAIH,KAAK,gBAAgB,EACxB,MAAM,eAAe,CAAC;AAGvB;;gFAEgF;AAChF,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;;;8BAG0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAeD;;;;;;;;;;GAUG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAChD,UAAU,EAAE,MAAM,GACnB,IAAI,CAaN;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAerF;AAyQD,UAAU,UAAU;IAChB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AA6gBD,oEAAoE;AACpE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AA8BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC3B,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,YAAY;AACpB;;;;yEAIyE;AACzE,YAAY,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAi+Cf"}
package/dist/bridge.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { clearCreds, credsPath, loadCreds } from "./auth.js";
2
2
  import { TOOL_DEFINITIONS } from "./auth-required.js";
3
3
  import { clientInfoHeaders, lastClientInfoHeaders, rememberInitializeClientInfo, } from "./client-info.js";
4
+ import { randomUUID } from "node:crypto";
4
5
  import { ensureCompatibleRelayer, resolveConnectTimeoutMs } from "./compatibility.js";
5
6
  import { PROACTIVE_INSTRUCTIONS } from "./instructions.js";
6
7
  import { startOrReuseLoginFlow, resolveLoginTimeoutMs } from "./login.js";
@@ -144,6 +145,18 @@ const SIGNED_OUT_FAILURE = {
144
145
  toolText: SIGNED_OUT_TEXT,
145
146
  errorMessage: SIGNED_OUT_TEXT,
146
147
  };
148
+ /** Reply for every request once the relayer has rejected the saved delegate
149
+ * key. An empty recall and a rejected key used to be indistinguishable to the
150
+ * agent — the queued call simply waited out the orphan sweeper and came back as
151
+ * "connection dropped, please retry", which is advice that cannot work. Name
152
+ * the cause and the way back in instead (GH #365 / WALM-602). */
153
+ const UNAUTHORIZED_TEXT = "❌ Walrus Memory rejected the saved credentials (HTTP 401). The delegate key may have been revoked or is no longer registered on this account. Call `memwal_login` to sign in again — saved credentials were NOT modified.";
154
+ /** `failRequest` options for every credentials-rejected refusal, so one refused
155
+ * at handshake time and one refused on arrival afterwards read identically. */
156
+ const UNAUTHORIZED_FAILURE = {
157
+ toolText: UNAUTHORIZED_TEXT,
158
+ errorMessage: UNAUTHORIZED_TEXT,
159
+ };
147
160
  /** The `tools/list` we serve LOCALLY at cold start: the memory tools (from the
148
161
  * same source as auth-required mode) plus the locally-handled login/logout
149
162
  * tools. We strip any locally-served name from the imported list first —
@@ -203,6 +216,112 @@ function resolveCallTimeoutMs() {
203
216
  return DEFAULT_CALL_TIMEOUT_MS;
204
217
  return n;
205
218
  }
219
+ /** How long to wait before retrying a handshake the relayer refused with a 429
220
+ * that carried NO `Retry-After`. That is the relayer's concurrent-session cap
221
+ * (`ip_active_cap`), which deliberately sends no header because it clears when
222
+ * some other session closes, not on a timer — so the ordinary sub-second
223
+ * geometric retry is pure noise against it.
224
+ *
225
+ * Override via `MEMWAL_MCP_THROTTLE_FLOOR_MS` (mostly for tests). */
226
+ const DEFAULT_THROTTLE_FLOOR_MS = 5_000;
227
+ /** A relayer-supplied interval is a remote-controlled sleep, so cap it: a
228
+ * misconfigured (or hostile) `Retry-After: 86400` must not park the bridge for
229
+ * a day. Past this we retry anyway and take another 429 if we were wrong. */
230
+ const MAX_THROTTLE_WAIT_MS = 60_000;
231
+ function resolveThrottleFloorMs() {
232
+ const raw = process.env.MEMWAL_MCP_THROTTLE_FLOOR_MS;
233
+ if (!raw)
234
+ return DEFAULT_THROTTLE_FLOOR_MS;
235
+ const n = Number(raw);
236
+ if (!Number.isFinite(n) || n < 0)
237
+ return DEFAULT_THROTTLE_FLOOR_MS;
238
+ return Math.min(n, MAX_THROTTLE_WAIT_MS);
239
+ }
240
+ /** Parse a `Retry-After` value into ms. The header is legally either
241
+ * delta-seconds or an HTTP-date (this relayer only ever emits the former, but
242
+ * a proxy in the path may rewrite it). Returns null for absent / unparseable
243
+ * values so the caller falls back to the floor — never NaN, which would poison
244
+ * the backoff arithmetic and break the retry loop outright. */
245
+ function parseRetryAfterMs(raw) {
246
+ if (!raw)
247
+ return null;
248
+ const trimmed = raw.trim();
249
+ if (trimmed === "")
250
+ return null;
251
+ if (/^\d+$/.test(trimmed)) {
252
+ const seconds = Number(trimmed);
253
+ // Non-positive is not advice. `Retry-After: 0` is a real thing to
254
+ // receive (some intermediaries emit it for "unknown"), and taking it
255
+ // literally puts us back on the ~500ms geometric backoff that
256
+ // WALM-386 exists to stop — while still reporting `serverAdvised`,
257
+ // which would also suppress the one hint the user can act on. Treat
258
+ // it as no usable header and fall back to the floor.
259
+ return Number.isFinite(seconds) && seconds > 0 ? seconds * 1000 : null;
260
+ }
261
+ const at = Date.parse(trimmed);
262
+ if (!Number.isFinite(at))
263
+ return null;
264
+ // Same for an HTTP-date already in the past — which a correct server can
265
+ // produce simply by being a second behind the client's clock.
266
+ const waitMs = at - Date.now();
267
+ return waitMs > 0 ? waitMs : null;
268
+ }
269
+ /** The relayer refused the handshake with HTTP 429. Carried as a typed error so
270
+ * the retry loops can honour the throttle interval instead of re-deriving it
271
+ * from a message string — the whole point of WALM-386. `retryAfterMs` is
272
+ * already resolved (header, else floor) and clamped, so callers just sleep it. */
273
+ class RelayerThrottledError extends Error {
274
+ status = 429;
275
+ /** How long to wait before the next attempt, ms. Always a finite number. */
276
+ retryAfterMs;
277
+ /** True when the relayer actually sent a usable `Retry-After`. False means
278
+ * we applied the floor — the `ip_active_cap` shape, which has no ETA. */
279
+ serverAdvised;
280
+ constructor(message, retryAfterHeader) {
281
+ super(message);
282
+ this.name = "RelayerThrottledError";
283
+ const advised = parseRetryAfterMs(retryAfterHeader);
284
+ this.serverAdvised = advised !== null;
285
+ this.retryAfterMs = Math.min(MAX_THROTTLE_WAIT_MS, Math.max(0, advised ?? resolveThrottleFloorMs()));
286
+ }
287
+ }
288
+ /** Deadline for a request that is still buffered while the handshake has been
289
+ * failing for at least this long — i.e. one we can prove never left this
290
+ * process.
291
+ *
292
+ * It is much shorter than `callTimeoutMs` because the two cases carry
293
+ * different risk, not because the wait is less important. A request that was
294
+ * SENT might have been executed, so failing it early invites the agent to
295
+ * retry a `remember` that already landed. A request that was never sent
296
+ * cannot have executed: failing it is provably a no-op, and the agent's retry
297
+ * costs one round trip.
298
+ *
299
+ * 90s is well past a relayer cold start and past six reconnect attempts at the
300
+ * capped 15s backoff, so it does not fire on a slow-but-recovering relayer —
301
+ * and it does not apply at all while the handshake is healthy (a request
302
+ * buffered behind an in-progress flush keeps the full deadline). What it ends
303
+ * is the case from WALM-618: no working connection, nothing sent, and four
304
+ * minutes of silence before the user is told anything. */
305
+ const DEFAULT_STALLED_HANDSHAKE_MS = 90_000;
306
+ /** Same override shape as the call timeout, mostly for tests. Never longer
307
+ * than the call timeout itself: this deadline exists to fire sooner. */
308
+ function resolveStalledHandshakeMs(callTimeoutMs) {
309
+ const raw = process.env.MEMWAL_MCP_STALLED_HANDSHAKE_MS;
310
+ const n = raw ? Number(raw) : DEFAULT_STALLED_HANDSHAKE_MS;
311
+ const resolved = Number.isFinite(n) && n >= MIN_CALL_TIMEOUT_MS ? n : DEFAULT_STALLED_HANDSHAKE_MS;
312
+ return Math.min(resolved, callTimeoutMs);
313
+ }
314
+ /** The relayer rejected the saved delegate key (HTTP 401 on the handshake).
315
+ * Distinct from every other connect failure because retrying cannot fix it:
316
+ * the caller must re-authenticate. Carrying it as a type keeps the background
317
+ * connect loop from backing off forever on a key that will never be accepted,
318
+ * which left tool calls parked until the orphan sweeper's deadline (WALM-602). */
319
+ class RelayerUnauthorizedError extends Error {
320
+ constructor(message) {
321
+ super(message);
322
+ this.name = "RelayerUnauthorizedError";
323
+ }
324
+ }
206
325
  function mcpAuthHeaders(creds, extra = {}) {
207
326
  return {
208
327
  authorization: `Bearer ${creds.delegatePrivateKey}`,
@@ -264,6 +383,14 @@ async function openSseStream(relayerUrl, creds, extraHeaders = {}) {
264
383
  }
265
384
  throw err;
266
385
  }
386
+ // Every non-OK exit below DRAINS the body and deliberately does NOT abort
387
+ // `controller`. Aborting a handshake response we have already read is what
388
+ // produced the Windows libuv assertion in WALM-386
389
+ // (`!(handle->flags & UV_HANDLE_CLOSING)`, src/win/async.c:76); 45b0ad87
390
+ // removed those aborts on purpose ("the stdio bridge drains handshake error
391
+ // bodies instead of aborting the socket", CHANGELOG 0.0.11). Draining to
392
+ // completion lets undici return the socket to its pool normally. Do not
393
+ // re-add `controller.abort()` here.
267
394
  if (resp.status === 401) {
268
395
  clearConnectTimer();
269
396
  if (resp.body) {
@@ -278,7 +405,7 @@ async function openSseStream(relayerUrl, creds, extraHeaders = {}) {
278
405
  // Auto-wiping the seed turns any one of those into a permanent
279
406
  // outage that forces re-login. Force-fail loud instead; the user
280
407
  // runs `memwal-mcp login` if they want to actually rotate.
281
- throw new Error("Walrus Memory relayer rejected credentials (HTTP 401). " +
408
+ throw new RelayerUnauthorizedError("Walrus Memory relayer rejected credentials (HTTP 401). " +
282
409
  "Delegate key may have been revoked, the relayer may be " +
283
410
  "rate-limiting, or a proxy may be interposed. Saved " +
284
411
  `credentials at ${credsPath()} were NOT modified. ` +
@@ -287,13 +414,17 @@ async function openSseStream(relayerUrl, creds, extraHeaders = {}) {
287
414
  if (resp.status === 429) {
288
415
  clearConnectTimer();
289
416
  const retryAfter = resp.headers.get("retry-after");
290
- const body = resp.body ? await resp.text() : "";
291
- throw new Error(`Walrus Memory relayer SSE handshake rate-limited (HTTP 429` +
292
- `${retryAfter ? `, retry after ${retryAfter}s` : ""}). ${body.slice(0, 200)}`.trim());
417
+ const body = resp.body ? await resp.text().catch(() => "") : "";
418
+ // Throw a TYPED error: the interval has to survive as a number for the
419
+ // retry loops to honour it. Stringifying it into the message (what this
420
+ // used to do) left both loops guessing, so they retried a throttled
421
+ // handshake after 500ms — WALM-386.
422
+ throw new RelayerThrottledError(`Walrus Memory relayer SSE handshake rate-limited (HTTP 429` +
423
+ `${retryAfter ? `, retry after ${retryAfter}s` : ""}). ${body.slice(0, 200)}`.trim(), retryAfter);
293
424
  }
294
425
  if (!resp.ok || !resp.body) {
295
426
  clearConnectTimer();
296
- const body = resp.body ? await resp.text() : "";
427
+ const body = resp.body ? await resp.text().catch(() => "") : "";
297
428
  throw new Error(`Walrus Memory relayer SSE handshake failed: HTTP ${resp.status} ${body.slice(0, 200)}`);
298
429
  }
299
430
  const ct = resp.headers.get("content-type") ?? "";
@@ -714,6 +845,10 @@ pendingLines = []) {
714
845
  * checks this alongside `stdinClosed`; `adoptCredentials` clears it when a
715
846
  * new login lands. */
716
847
  let loggedOut = false;
848
+ /** Set when the relayer 401s the handshake, cleared on the next successful
849
+ * connect. While set, requests fail fast with `UNAUTHORIZED_FAILURE` rather
850
+ * than parking in `pendingForward` behind a connect that cannot succeed. */
851
+ let credentialsRejected = false;
717
852
  /** Resolves once a post-logout `memwal_login` has published a fresh session
718
853
  * (or stdin closed). The server pump parks on this instead of exiting, so
719
854
  * signing back in resumes streaming without the user restarting their MCP
@@ -723,6 +858,55 @@ pendingLines = []) {
723
858
  let reconnectAttempt = 0;
724
859
  let reconnectPromise = null;
725
860
  let firstConnectDone = false;
861
+ /** Wall-clock instant before which the relayer told us (HTTP 429) not to
862
+ * open another session. Both retry loops floor their backoff at this, so a
863
+ * throttle survives across the separate `reconnect()` calls that would
864
+ * otherwise each start from a fresh 500ms. 0 = not throttled. */
865
+ let throttledUntilMs = 0;
866
+ /** One "we are being throttled" note per throttle episode. A sustained cap
867
+ * would otherwise print a line per retry cycle for as long as it lasts. */
868
+ let throttleNoticed = false;
869
+ /** Why the last handshake attempt failed, and when the run of failures
870
+ * started. Kept so a request that ages out while buffered can say what
871
+ * it was actually waiting on instead of a generic "unavailable" — the
872
+ * user-visible half of WALM-618, where the bridge retried in silence and
873
+ * a `remember` looked like it was just slow. Cleared on every success. */
874
+ let lastHandshakeError = null;
875
+ let handshakeFailingSince = null;
876
+ /** Identifies one "I need a session" episode, and stays the same across
877
+ * every retry inside it. Sent on each handshake as `x-memwal-connect-id`.
878
+ *
879
+ * Without it the relayer sees N unrelated sub-second requests and cannot
880
+ * tell they were one user waiting: its per-request id is minted fresh each
881
+ * time, so a four-minute wait leaves no four-minute anything in its logs,
882
+ * only a scatter of fast 401s and 429s. With it, one grep returns the
883
+ * whole episode and the span between first and last line IS the wait.
884
+ * Cleared on success, so the next outage starts a new episode. */
885
+ let connectEpisodeId = null;
886
+ const connectHeaders = () => {
887
+ connectEpisodeId ??= randomUUID();
888
+ return {
889
+ // `x-memwal-client` is only known after `initialize`, and a first
890
+ // connect happens before stdin is even wired — so on the attempt
891
+ // that matters most the relayer has no idea who is calling. The
892
+ // bridge's own version it always knows, and "which build is
893
+ // looping" is the actionable half anyway.
894
+ "x-memwal-bridge-version": MEMWAL_MCP_VERSION,
895
+ ...extraHeaders,
896
+ "x-memwal-connect-id": connectEpisodeId,
897
+ };
898
+ };
899
+ const endConnectEpisode = () => {
900
+ connectEpisodeId = null;
901
+ };
902
+ const noteHandshakeFailure = (reason) => {
903
+ lastHandshakeError = reason;
904
+ handshakeFailingSince ??= Date.now();
905
+ };
906
+ const clearHandshakeFailure = () => {
907
+ lastHandshakeError = null;
908
+ handshakeFailingSince = null;
909
+ };
726
910
  /** Bumped when the live SSE session is aborted or replaced so queued
727
911
  * POSTs captured against a stale URL are skipped (reconnect replays). */
728
912
  let sessionEpoch = 0;
@@ -736,7 +920,34 @@ pendingLines = []) {
736
920
  function postIfCurrent(epoch, postUrl, msg, postCreds) {
737
921
  if (epoch !== sessionEpoch)
738
922
  return Promise.resolve(0);
739
- return postMessage(postUrl, msg, postCreds, extraHeaders);
923
+ // Marked before the await, not after. Once the POST is issued we can
924
+ // no longer prove the call did not run, so it must keep the full call
925
+ // timeout even if the socket then fails — failing it early is what
926
+ // invites a duplicate `remember`.
927
+ if (msg.id !== undefined && msg.id !== null) {
928
+ const tracked = inFlight.get(msg.id);
929
+ if (tracked)
930
+ tracked.sent = true;
931
+ }
932
+ return postMessage(postUrl, msg, postCreds, extraHeaders).then((status) => {
933
+ // 404 is the relayer saying that session does not exist, so the
934
+ // message was discarded rather than routed: it provably did not
935
+ // run, and the request goes back to being never-sent.
936
+ //
937
+ // This is not a corner case. `sse` is not cleared when the server
938
+ // pump hits EOF — it keeps pointing at the dead session until a
939
+ // reconnect succeeds — so a call arriving during a mid-session
940
+ // outage takes the POST path, posts to the stale URL, and gets
941
+ // exactly this. Without the reset it would be marked sent and
942
+ // wait out the full call timeout, which is the WALM-618 symptom
943
+ // the stalled deadline exists to remove.
944
+ if (status === 404 && msg.id !== undefined && msg.id !== null) {
945
+ const tracked = inFlight.get(msg.id);
946
+ if (tracked)
947
+ tracked.sent = false;
948
+ }
949
+ return status;
950
+ });
740
951
  }
741
952
  let credentialGeneration = 0;
742
953
  let activeCredentialGeneration = 0;
@@ -845,6 +1056,7 @@ pendingLines = []) {
845
1056
  // would otherwise keep pushing the deadline out.
846
1057
  const inFlight = new Map();
847
1058
  const callTimeoutMs = resolveCallTimeoutMs();
1059
+ const stalledHandshakeMs = resolveStalledHandshakeMs(callTimeoutMs);
848
1060
  /** IDs of `tools/list` requests we've forwarded to the relayer. When
849
1061
  * the response comes back through the SSE pump, we splice in the
850
1062
  * locally-served `memwal_login` + `memwal_logout` tools so the MCP
@@ -855,6 +1067,28 @@ pendingLines = []) {
855
1067
  * a reconnect that swapped credentials mid-flight cannot label the answer
856
1068
  * with a relayer it did not come from. */
857
1069
  const pendingHealthIds = new Map();
1070
+ /** Record a 429 and tell the user ONCE that this is a rate limit rather
1071
+ * than a broken config — the distinction the MCP host cannot make for
1072
+ * itself, and the reason a throttled bridge reads as "memwal is down". */
1073
+ function noteThrottled(err) {
1074
+ throttledUntilMs = Math.max(throttledUntilMs, Date.now() + err.retryAfterMs);
1075
+ log.warn("bridge.relayer_throttled", {
1076
+ retryAfterMs: err.retryAfterMs,
1077
+ serverAdvised: err.serverAdvised,
1078
+ err: err.message,
1079
+ });
1080
+ if (throttleNoticed)
1081
+ return;
1082
+ throttleNoticed = true;
1083
+ const seconds = Math.max(1, Math.round(err.retryAfterMs / 1000));
1084
+ note(`Relayer is rate-limiting new MCP sessions (HTTP 429). This is a ` +
1085
+ `throttle, not a bad config or bad credentials — retrying in ` +
1086
+ `${seconds}s. Memory tools start working once a session opens.` +
1087
+ (err.serverAdvised
1088
+ ? ""
1089
+ : " The cap counts concurrent sessions, so closing another " +
1090
+ "MCP client using this account clears it sooner."));
1091
+ }
858
1092
  /** Reopen the SSE stream and replay outstanding `inFlight` requests against
859
1093
  * the fresh session. All callers await the SAME reconnect via
860
1094
  * `reconnectPromise` — returning immediately while one is active would let
@@ -877,9 +1111,12 @@ pendingLines = []) {
877
1111
  catch {
878
1112
  /* already dead */
879
1113
  }
1114
+ // `immediate` (a login credential swap) still bypasses everything,
1115
+ // throttle included: that path trades a possible extra 429 for a
1116
+ // re-login that doesn't stall behind a multi-second floor.
880
1117
  const backoff = immediate
881
1118
  ? 0
882
- : Math.min(15_000, 500 * Math.pow(2, reconnectAttempt));
1119
+ : Math.max(Math.min(15_000, 500 * Math.pow(2, reconnectAttempt)), throttledUntilMs - Date.now());
883
1120
  reconnectAttempt += 1;
884
1121
  log.warn("bridge.reconnecting", {
885
1122
  reason,
@@ -902,16 +1139,20 @@ pendingLines = []) {
902
1139
  });
903
1140
  });
904
1141
  }
1142
+ // Hoisted so the catch below can ask whether the credentials moved
1143
+ // since the handshake that threw was opened — a 401 for a key a
1144
+ // login has already replaced says nothing about the new one.
1145
+ let openingGeneration = credentialGeneration;
905
1146
  try {
906
1147
  while (!stdinClosed && !loggedOut) {
907
- const openingGeneration = credentialGeneration;
1148
+ openingGeneration = credentialGeneration;
908
1149
  const openingCreds = creds;
909
1150
  // Signed out between the guard above and here: the key is
910
1151
  // gone, so there is nothing to authorize a new session
911
1152
  // with. Belt-and-braces against `loggedOut` alone.
912
1153
  if (!openingCreds)
913
1154
  break;
914
- const candidate = await openSseStream(openingCreds.relayerUrl, openingCreds, extraHeaders);
1155
+ const candidate = await openSseStream(openingCreds.relayerUrl, openingCreds, connectHeaders());
915
1156
  // Logout can also land mid-handshake. Same reasoning as the
916
1157
  // stale-credentials case below, except there is no new key
917
1158
  // to reconnect with — drop the session and stop.
@@ -937,6 +1178,22 @@ pendingLines = []) {
937
1178
  firstConnectDone = true;
938
1179
  activeCredentialGeneration = openingGeneration;
939
1180
  reconnectAttempt = 0;
1181
+ throttledUntilMs = 0;
1182
+ throttleNoticed = false;
1183
+ clearHandshakeFailure();
1184
+ endConnectEpisode();
1185
+ // An accepted handshake retires any earlier rejection —
1186
+ // `memwal_login` re-registers a key and lands here, not on
1187
+ // the background connect's publish path, so clearing only
1188
+ // there would leave every later request refused (WALM-602).
1189
+ credentialsRejected = false;
1190
+ // Usually a no-op: the pump is past `firstConnect` by the
1191
+ // time anything reconnects. It is NOT a no-op when this is
1192
+ // the first session to exist at all — a login after the
1193
+ // saved key was rejected — and without it the pump would
1194
+ // stay parked until the background connect's backoff
1195
+ // happened to expire, with nothing draining this stream.
1196
+ signalFirstConnect();
940
1197
  log.info("bridge.reconnected", {
941
1198
  relayer: openingCreds.relayerUrl,
942
1199
  replayCount: inFlight.size,
@@ -1012,9 +1269,34 @@ pendingLines = []) {
1012
1269
  }
1013
1270
  }
1014
1271
  catch (err) {
1015
- log.error("bridge.reconnect_failed", {
1016
- err: err instanceof Error ? err.message : String(err),
1017
- });
1272
+ const reason = err instanceof Error ? err.message : String(err);
1273
+ // A 429 must outlive this call: reconnect() gives up after one
1274
+ // failure, so without recording the deadline the next caller
1275
+ // would compute a fresh sub-second backoff and hammer the cap.
1276
+ if (err instanceof RelayerThrottledError)
1277
+ noteThrottled(err);
1278
+ noteHandshakeFailure(reason);
1279
+ log.error("bridge.reconnect_failed", { err: reason });
1280
+ // A key revoked mid-session lands here rather than on the
1281
+ // background connect, and retrying cannot fix it either. Answer
1282
+ // the replay set now instead of letting the orphan sweeper hand
1283
+ // back "connection dropped, please retry" four minutes later —
1284
+ // the same WALM-602 symptom, one path over.
1285
+ //
1286
+ // This does not strand the transient case: the server pump is
1287
+ // still looping on the dead stream, so it keeps driving
1288
+ // `reconnect()` on its own growing backoff, and the publish
1289
+ // above clears the flag the moment a handshake is accepted.
1290
+ //
1291
+ // It also takes precedence over the stalled-handshake deadline
1292
+ // added here: a 401 is terminal until the user logs in again,
1293
+ // so there is nothing to gain by waiting out even the short
1294
+ // deadline for it.
1295
+ if (err instanceof RelayerUnauthorizedError &&
1296
+ openingGeneration === credentialGeneration) {
1297
+ credentialsRejected = true;
1298
+ failInFlightRequests("credentials rejected", UNAUTHORIZED_FAILURE);
1299
+ }
1018
1300
  // Try again on the next stdin message rather than spinning.
1019
1301
  }
1020
1302
  })();
@@ -1340,11 +1622,12 @@ pendingLines = []) {
1340
1622
  id: msg.id,
1341
1623
  result: buildLocalInitializeResult(msg.params),
1342
1624
  });
1343
- // Signed out: the local reply is the whole answer. We will
1344
- // not forward upstream, so do not arm a suppression that no
1345
- // reply can ever consume a leaked arm would swallow the
1346
- // real reply if the client later reuses this id.
1347
- if (loggedOut)
1625
+ // Signed out, or the key was rejected: the local reply is the
1626
+ // whole answer. Both refuse further down instead of
1627
+ // forwarding, so do not arm a suppression that no reply can
1628
+ // ever consume a leaked arm would swallow the real reply
1629
+ // if the client later reuses this id.
1630
+ if (loggedOut || credentialsRejected)
1348
1631
  return;
1349
1632
  // Expect exactly one upstream reply to drop for this forward.
1350
1633
  expectSuppressedReply(msg.id);
@@ -1427,6 +1710,16 @@ pendingLines = []) {
1427
1710
  failRequest(msg, "signed out", SIGNED_OUT_FAILURE);
1428
1711
  return;
1429
1712
  }
1713
+ // Credentials rejected: same reasoning as `loggedOut` above.
1714
+ // `memwal_login` returned locally already, so refusing here
1715
+ // still leaves the user a way back in. Falling through would
1716
+ // park the request in `pendingForward` behind a connect loop
1717
+ // that keeps 401ing, and the client would learn nothing until
1718
+ // the orphan sweeper's deadline — the WALM-602 symptom.
1719
+ if (credentialsRejected) {
1720
+ failRequest(msg, "credentials rejected", UNAUTHORIZED_FAILURE);
1721
+ return;
1722
+ }
1430
1723
  // Fill in the configured default namespace for memory tool
1431
1724
  // calls that didn't pass one. Mutates msg in place so the
1432
1725
  // forwarded — and any replayed-on-reconnect — copy carries it.
@@ -1643,19 +1936,80 @@ pendingLines = []) {
1643
1936
  });
1644
1937
  }
1645
1938
  }
1646
- function failPendingForward(reason) {
1939
+ function failPendingForward(reason, opts = {}) {
1647
1940
  const queued = pendingForward.splice(0, pendingForward.length);
1648
1941
  for (const msg of queued)
1649
- failRequest(msg, reason);
1942
+ failRequest(msg, reason, opts);
1650
1943
  }
1651
1944
  /** Close out requests that reached `inFlight` but were never delivered a
1652
1945
  * reply — the shutdown counterpart of `failPendingForward`. Used when stdin
1653
1946
  * closes mid-flush: items already shifted out of `pendingForward` and posted
1654
1947
  * to a torn-down session would otherwise hang, since no upstream reply is
1655
1948
  * coming. Idempotent w.r.t. ids already closed out (delete-then-skip). */
1656
- function failInFlightRequests(reason) {
1949
+ function failInFlightRequests(reason, opts = {}) {
1657
1950
  for (const entry of Array.from(inFlight.values()))
1658
- failRequest(entry.msg, reason);
1951
+ failRequest(entry.msg, reason, opts);
1952
+ }
1953
+ /** How long the current run of handshake failures has lasted, or `null`
1954
+ * when the last attempt succeeded. */
1955
+ function handshakeStalledForMs(now) {
1956
+ return handshakeFailingSince === null ? null : now - handshakeFailingSince;
1957
+ }
1958
+ /** How a request that just hit its deadline should be explained.
1959
+ *
1960
+ * Three cases, where the old wording only described one. A request for
1961
+ * which no POST was ever issued never left this process: no session ever
1962
+ * carried it. Telling the user the connection "dropped before the result
1963
+ * came back" points them at the relayer, or at a half-written memory, when
1964
+ * the truth is that nothing was attempted (WALM-618 — the bridge retried
1965
+ * in silence, so a `remember` looked like it was merely slow for minutes).
1966
+ * And a buffered request is only evidence of a *failing* connection when
1967
+ * one is actually failing: post-connect, `handleClientLine` also buffers
1968
+ * behind an in-progress flush, on a perfectly healthy session.
1969
+ *
1970
+ * Pure: the caller is responsible for dropping a `neverSent` message from
1971
+ * the buffer, which it must, or a later flush would run the call we just
1972
+ * said never ran. */
1973
+ function expiredRequestReport(neverSent, now) {
1974
+ if (!neverSent) {
1975
+ return {
1976
+ reason: "no response",
1977
+ opts: {
1978
+ toolText: "❌ Walrus Memory did not answer this call. The connection to " +
1979
+ "the relayer dropped before the result came back. Please retry.",
1980
+ errorMessage: "Walrus Memory call was orphaned by a reconnect and never " +
1981
+ "received a response. Please retry.",
1982
+ },
1983
+ };
1984
+ }
1985
+ const stalledForMs = handshakeStalledForMs(now);
1986
+ if (stalledForMs === null) {
1987
+ // Buffered on a live session (a flush was draining) and still
1988
+ // unsent at the deadline. Nothing ran, but nothing is failing
1989
+ // either — do not invent an outage.
1990
+ return {
1991
+ reason: "never left the queue",
1992
+ opts: {
1993
+ toolText: "❌ Walrus Memory never sent this call — it was still queued when " +
1994
+ "the call timed out, so nothing was stored. Please retry.",
1995
+ errorMessage: "Walrus Memory call was still queued when it timed out and was " +
1996
+ "never sent. Please retry.",
1997
+ },
1998
+ };
1999
+ }
2000
+ const waited = `for ${Math.round(stalledForMs / 1000)}s`;
2001
+ const detail = lastHandshakeError ? ` Last handshake error: ${lastHandshakeError}` : "";
2002
+ return {
2003
+ reason: "never reached the relayer",
2004
+ opts: {
2005
+ toolText: `❌ Walrus Memory could not reach the relayer — the MCP connection has ` +
2006
+ `been failing ${waited}, so this call never ran and nothing was stored.` +
2007
+ `${detail} Check the relayer, or run \`memwal-mcp login\` if the delegate ` +
2008
+ `key was revoked, then retry.`,
2009
+ errorMessage: `Walrus Memory call never reached the relayer: the MCP connection has ` +
2010
+ `been failing ${waited}.${detail}`,
2011
+ },
2012
+ };
1659
2013
  }
1660
2014
  /** Close out requests whose deadline has passed. Without this a reply lost
1661
2015
  * on a still-healthy stream leaves its request tracked forever. */
@@ -1663,21 +2017,54 @@ pendingLines = []) {
1663
2017
  const sweepIntervalMs = Math.min(MAX_ORPHAN_SWEEP_MS, Math.max(500, Math.floor(callTimeoutMs / 3)));
1664
2018
  const orphanSweeper = setInterval(() => {
1665
2019
  const now = Date.now();
2020
+ const handshakeStalledMs = handshakeStalledForMs(now);
1666
2021
  for (const [id, entry] of Array.from(inFlight.entries())) {
1667
2022
  const elapsedMs = now - entry.startedAt;
1668
- if (elapsedMs <= callTimeoutMs)
2023
+ // Never sent = no POST was ever issued for it. Read from the entry
2024
+ // rather than from `pendingForward` membership, which only ever
2025
+ // covered the cold-start window.
2026
+ const neverSent = entry.sent !== true;
2027
+ // A call we can prove never left this process, while no working
2028
+ // connection has existed for `stalledHandshakeMs`, does not need
2029
+ // the full `callTimeoutMs`: it cannot have executed, so answering
2030
+ // it early is a no-op the agent can safely retry. Anything that
2031
+ // was actually sent — or that is queued on a healthy session —
2032
+ // keeps the full deadline, because there a premature failure
2033
+ // invites a duplicate write.
2034
+ const handshakeIsStalled = handshakeStalledMs !== null && handshakeStalledMs > stalledHandshakeMs;
2035
+ const deadlineMs = neverSent && handshakeIsStalled ? stalledHandshakeMs : callTimeoutMs;
2036
+ if (elapsedMs <= deadlineMs)
1669
2037
  continue;
2038
+ // Built only for what actually expired: this walks `pendingForward`
2039
+ // and interpolates two user-facing strings, and the branch it
2040
+ // serves fires roughly never.
2041
+ const { reason, opts } = expiredRequestReport(neverSent, now);
2042
+ // Drop it from the buffer before answering: a later successful
2043
+ // connect would otherwise flush and actually run the call we are
2044
+ // about to report as never having run.
2045
+ //
2046
+ // `initialize` is the exception, as everywhere else here: it was
2047
+ // answered locally and is only buffered so the relayer session can
2048
+ // still negotiate capabilities, and `failRequest` writes it no
2049
+ // reply. Removing it would silently cost that negotiation on the
2050
+ // first connect after a long outage.
2051
+ if (neverSent && entry.msg.method !== "initialize") {
2052
+ // Only buffered requests are in there at all now, so the miss
2053
+ // is ordinary — `splice(-1, 1)` would drop the last entry.
2054
+ const queuedAt = pendingForward.indexOf(entry.msg);
2055
+ if (queuedAt >= 0)
2056
+ pendingForward.splice(queuedAt, 1);
2057
+ }
1670
2058
  log.warn("bridge.call_orphaned", {
1671
2059
  id,
1672
2060
  method: entry.msg.method ?? null,
1673
2061
  elapsedMs,
2062
+ deadlineMs,
2063
+ reason,
2064
+ handshakeStalledMs,
2065
+ lastHandshakeError,
1674
2066
  });
1675
- failRequest(entry.msg, "no response", {
1676
- toolText: "❌ Walrus Memory did not answer this call. The connection to " +
1677
- "the relayer dropped before the result came back. Please retry.",
1678
- errorMessage: "Walrus Memory call was orphaned by a reconnect and never " +
1679
- "received a response. Please retry.",
1680
- });
2067
+ failRequest(entry.msg, reason, opts);
1681
2068
  }
1682
2069
  }, sweepIntervalMs);
1683
2070
  // unref so the sweeper never holds the event loop open during shutdown.
@@ -1691,8 +2078,11 @@ pendingLines = []) {
1691
2078
  // NOT fail buffered requests between attempts: a request that the next
1692
2079
  // attempt would serve must not get a spurious "unavailable" error (that
1693
2080
  // would also drop the auth-required hot-handoff request). Buffered tool
1694
- // calls stay queued and are flushed on the first SUCCESS; if they never
1695
- // connect, the client's own per-tool timeout fires (graceful) — and on
2081
+ // calls stay queued and are flushed on the first SUCCESS. They are no
2082
+ // longer left to the client's own per-tool timeout, though: once no
2083
+ // connection has existed for `stalledHandshakeMs` the orphan sweeper
2084
+ // answers them (see `DEFAULT_STALLED_HANDSHAKE_MS`), because a call that
2085
+ // was never sent cannot have executed and silence helps nobody. On
1696
2086
  // shutdown `failPendingForward` closes out anything still open. `initialize`
1697
2087
  // is answered locally, so it never blocks and is only forwarded, not failed.
1698
2088
  // First connect stays on `openSseStream` + `flushPendingForward` so a
@@ -1716,7 +2106,7 @@ pendingLines = []) {
1716
2106
  }
1717
2107
  const openingGeneration = credentialGeneration;
1718
2108
  try {
1719
- const candidate = await openSseStream(creds.relayerUrl, creds, extraHeaders);
2109
+ const candidate = await openSseStream(creds.relayerUrl, creds, connectHeaders());
1720
2110
  if (stdinClosed) {
1721
2111
  candidate.abort();
1722
2112
  break;
@@ -1736,6 +2126,14 @@ pendingLines = []) {
1736
2126
  sessionEpoch += 1;
1737
2127
  sse = candidate;
1738
2128
  firstConnectDone = true;
2129
+ throttledUntilMs = 0;
2130
+ throttleNoticed = false;
2131
+ clearHandshakeFailure();
2132
+ endConnectEpisode();
2133
+ // A key that was rejected earlier is evidently accepted now
2134
+ // (re-registered, or the 401 was a transient WAF/rate-limit
2135
+ // false positive), so stop failing requests fast.
2136
+ credentialsRejected = false;
1739
2137
  note(`Connected. Bridging stdio MCP ↔ ${creds.relayerUrl}`);
1740
2138
  log.info("bridge.connected", { relayer: creds.relayerUrl });
1741
2139
  signalFirstConnect();
@@ -1744,11 +2142,51 @@ pendingLines = []) {
1744
2142
  }
1745
2143
  catch (err) {
1746
2144
  const reason = err instanceof Error ? err.message : String(err);
2145
+ noteHandshakeFailure(reason);
1747
2146
  attempt += 1;
2147
+ if (err instanceof RelayerThrottledError)
2148
+ noteThrottled(err);
1748
2149
  log.error("bridge.initial_connect_failed", { err: reason, attempt });
2150
+ // A rejected key will not start working on the next attempt, so
2151
+ // answer everything queued instead of leaving it to the orphan
2152
+ // sweeper. Keep looping: `memwal_login` re-registers a key on
2153
+ // this same relayer, and whichever path publishes the next
2154
+ // session clears the flag and resumes normal buffering.
2155
+ //
2156
+ // Do NOT signal `firstConnect` here. It means "a session
2157
+ // exists", and none does — the pump would fall straight through
2158
+ // its `break; // stdin closed before we ever connected`, win the
2159
+ // shutdown race in `runBridge`, and `markStdinClosed()` would
2160
+ // disable the very `reconnect()` the error text tells the user
2161
+ // to reach via `memwal_login`. `failPendingForward` writes to
2162
+ // stdout directly and needs no pump.
2163
+ //
2164
+ // Same staleness test as the publish path above: a 401 for the
2165
+ // key a login already replaced says nothing about the new one,
2166
+ // and latching the flag on it would refuse every request against
2167
+ // a session that is live and fine.
2168
+ if (err instanceof RelayerUnauthorizedError &&
2169
+ !sse &&
2170
+ openingGeneration === credentialGeneration) {
2171
+ credentialsRejected = true;
2172
+ // Everything still queued never left the process, so no
2173
+ // upstream initialize reply will arrive to consume its arm.
2174
+ // `failRequest` keeps initialize arms for replies that CAN
2175
+ // still arrive; a leaked one here would swallow the reply to
2176
+ // a reused id after `memwal_login`.
2177
+ for (const msg of pendingForward) {
2178
+ if (msg.method === "initialize" && msg.id != null) {
2179
+ suppressUpstreamReplies.delete(msg.id);
2180
+ }
2181
+ }
2182
+ failPendingForward("credentials rejected", UNAUTHORIZED_FAILURE);
2183
+ }
1749
2184
  if (stdinClosed)
1750
2185
  break;
1751
- const backoff = Math.min(15_000, 500 * Math.pow(2, attempt - 1));
2186
+ // Floor the geometric backoff at whatever throttle window is
2187
+ // still open. Without this the first retry after a 429 lands
2188
+ // 500ms later, well inside the interval the relayer asked for.
2189
+ const backoff = Math.max(Math.min(15_000, 500 * Math.pow(2, attempt - 1)), throttledUntilMs - Date.now());
1752
2190
  await new Promise((resolve) => {
1753
2191
  const timer = setTimeout(() => {
1754
2192
  unregister();
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mysten-incubation/memwal-mcp",
3
- "version": "0.0.13-dev.2",
3
+ "version": "0.0.13-dev.4",
4
4
  "description": "Walrus Memory MCP client — single-binary stdio MCP server that bridges Cursor / Claude Desktop / Antigravity / Claude Code to the Walrus Memory relayer. Handles browser-based wallet login on first run.",
5
5
  "type": "module",
6
6
  "engines": {