@mysten-incubation/memwal-mcp 0.0.13-dev.3 → 0.0.13-dev.5

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/auth.d.ts CHANGED
@@ -51,6 +51,35 @@ export declare function loadCreds(): MemWalCredentials | null;
51
51
  * they are routine, and a backup per login would just churn the directory.
52
52
  */
53
53
  export declare function saveCreds(creds: MemWalCredentials): SaveCredsResult;
54
+ /**
55
+ * Move `tmp` onto `path`, atomically where the platform can.
56
+ *
57
+ * POSIX `rename(2)` replaces a destination regardless of who has it open, so
58
+ * there is nothing to handle there and any error is a real one. Windows
59
+ * implements the same call as `MoveFileEx(MOVEFILE_REPLACE_EXISTING)`, which
60
+ * refuses with EPERM / EACCES / EBUSY while another handle holds the
61
+ * destination — an antivirus scan or a backup agent touching
62
+ * `credentials.json` is enough. Before this file wrote through a temp inode,
63
+ * `writeFileSync` to the final path survived that; `login.ts` turns a thrown
64
+ * `saveCreds` into an HTTP 500, so a lock that lasts a few milliseconds would
65
+ * otherwise become a failed sign-in.
66
+ *
67
+ * So on Windows: retry briefly, then write in place rather than fail. That
68
+ * fallback gives up the atomic swap, but not the property this function exists
69
+ * for — Windows does not enforce POSIX mode bits at all, so `0600` was never
70
+ * doing the work there; NTFS ACLs are, and they are inherited from the
71
+ * directory either way. On POSIX, where the mode IS the protection, there is no
72
+ * fallback and no retry.
73
+ *
74
+ * `deps` is a seam for tests. CI has no Windows runner, and the fallback is the
75
+ * one branch here that can leave a second plaintext copy of the delegate key on
76
+ * disk, so it must be exercisable off Windows.
77
+ */
78
+ export declare function replaceWithTemp(tmp: string, path: string, contents: string, deps?: {
79
+ platform?: string;
80
+ rename?: (from: string, to: string) => void;
81
+ sleep?: (ms: number) => void;
82
+ }): void;
54
83
  /** What `saveCreds` did, so the caller can tell the user precisely — naming
55
84
  * both accounts is the difference between a warning they can act on and the
56
85
  * silent swap reported in GH #628. */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,iBAAiB;IAC9B,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,OAAO,EAAE,CAAC,CAAC;CACd;AAkDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,IAAI,iBAAiB,GAAG,IAAI,CAWpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,eAAe,CAanE;AAED;;sCAEsC;AACtC,MAAM,WAAW,eAAe;IAC5B,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb;iCAC6B;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;kCAC8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,GAAG,IAAI,CAQ1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,eAAe,EACtB,iBAAiB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CASf;AAwBD;yEACyE;AACzE,MAAM,WAAW,gBAAgB;IAC7B;wBACoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;2EACuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,CAa7C"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,iBAAiB;IAC9B,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,OAAO,EAAE,CAAC,CAAC;CACd;AAkDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,IAAI,iBAAiB,GAAG,IAAI,CAWpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,eAAe,CAKnE;AAqDD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,eAAe,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3B,GACP,IAAI,CAuCN;AAED;;sCAEsC;AACtC,MAAM,WAAW,eAAe;IAC5B,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb;iCAC6B;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;kCAC8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,GAAG,IAAI,CAQ1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,eAAe,EACtB,iBAAiB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CASf;AA0BD;yEACyE;AACzE,MAAM,WAAW,gBAAgB;IAC7B;wBACoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;2EACuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,CAa7C"}
package/dist/auth.js CHANGED
@@ -10,8 +10,9 @@
10
10
  * documentation patterns transfer cleanly.
11
11
  */
12
12
  import { homedir } from "node:os";
13
- import { join, dirname } from "node:path";
14
- import { mkdirSync, readFileSync, writeFileSync, chmodSync, unlinkSync, existsSync, copyFileSync, } from "node:fs";
13
+ import { randomUUID } from "node:crypto";
14
+ import { join, dirname, basename } from "node:path";
15
+ import { mkdirSync, readFileSync, writeFileSync, renameSync, unlinkSync, existsSync, } from "node:fs";
15
16
  const CREDS_FILE = "credentials.json";
16
17
  /** Global, per-machine location. Always the fallback, and the only location
17
18
  * before project-scoping existed — a machine with no project-local file keeps
@@ -110,17 +111,124 @@ export function loadCreds() {
110
111
  export function saveCreds(creds) {
111
112
  const path = credsPath();
112
113
  const replaced = backupIfReplacingAnotherAccount(path, creds.accountId);
113
- mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
114
- writeFileSync(path, JSON.stringify(creds, null, 2), { encoding: "utf8", mode: 0o600 });
115
- // writeFileSync's `mode` argument is only honored on file creation; ensure
116
- // the permission on an existing file matches.
114
+ writeSecretFile(path, JSON.stringify(creds, null, 2));
115
+ return { path, ...replaced };
116
+ }
117
+ /**
118
+ * Write a file whose bytes are only ever reachable through an inode this call
119
+ * created at `0600`.
120
+ *
121
+ * The obvious version — write to the final path, then `chmod` it — does not
122
+ * hold that property. `writeFileSync`'s `mode` follows POSIX `open()`: the
123
+ * kernel applies it when it creates the inode and ignores it for one that
124
+ * already exists. So a credentials file that anything outside this code left
125
+ * world-readable (a manual `chmod`, a restored backup, another tool) would
126
+ * receive the plaintext delegate key under the *old* mode, with a second,
127
+ * separate syscall to tighten it afterwards. Anyone reading the path in
128
+ * between gets the key.
129
+ *
130
+ * Writing a fresh file and renaming removes that window instead of shortening
131
+ * it. `rename(2)` repoints the name atomically, so a reader sees either the
132
+ * whole old file or the whole new one, never a permissive inode holding a new
133
+ * secret. `wx` (`O_EXCL`) makes a temp path that already exists — an
134
+ * interrupted earlier run, or a file planted by someone else — a hard failure
135
+ * rather than a write through a file this code did not create.
136
+ */
137
+ function writeSecretFile(path, contents) {
138
+ const dir = dirname(path);
139
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
140
+ // Named off the target and randomised, so concurrent saves cannot collide
141
+ // on it and no one can guess it ahead of time. Dot-prefixed to keep a
142
+ // crashed run's leftovers out of the way of directory listings.
143
+ const tmp = join(dir, `.${basename(path)}.${process.pid}.${randomUUID()}.tmp`);
117
144
  try {
118
- chmodSync(path, 0o600);
145
+ writeFileSync(tmp, contents, { encoding: "utf8", mode: 0o600, flag: "wx" });
146
+ replaceWithTemp(tmp, path, contents);
119
147
  }
120
- catch {
121
- /* Windows etc. best effort */
148
+ catch (err) {
149
+ // Never leave a temp file holding the secret behind on a failed write.
150
+ try {
151
+ unlinkSync(tmp);
152
+ }
153
+ catch {
154
+ /* already gone, or never created */
155
+ }
156
+ throw err;
157
+ }
158
+ }
159
+ /** Windows errors for "someone else holds the destination open". */
160
+ const WIN32_LOCKED_CODES = new Set(["EPERM", "EACCES", "EBUSY"]);
161
+ const WIN32_RENAME_ATTEMPTS = 5;
162
+ const WIN32_RENAME_BACKOFF_MS = 20;
163
+ /** Block the calling thread. `saveCreds` is synchronous all the way up. */
164
+ function sleepSync(ms) {
165
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
166
+ }
167
+ /**
168
+ * Move `tmp` onto `path`, atomically where the platform can.
169
+ *
170
+ * POSIX `rename(2)` replaces a destination regardless of who has it open, so
171
+ * there is nothing to handle there and any error is a real one. Windows
172
+ * implements the same call as `MoveFileEx(MOVEFILE_REPLACE_EXISTING)`, which
173
+ * refuses with EPERM / EACCES / EBUSY while another handle holds the
174
+ * destination — an antivirus scan or a backup agent touching
175
+ * `credentials.json` is enough. Before this file wrote through a temp inode,
176
+ * `writeFileSync` to the final path survived that; `login.ts` turns a thrown
177
+ * `saveCreds` into an HTTP 500, so a lock that lasts a few milliseconds would
178
+ * otherwise become a failed sign-in.
179
+ *
180
+ * So on Windows: retry briefly, then write in place rather than fail. That
181
+ * fallback gives up the atomic swap, but not the property this function exists
182
+ * for — Windows does not enforce POSIX mode bits at all, so `0600` was never
183
+ * doing the work there; NTFS ACLs are, and they are inherited from the
184
+ * directory either way. On POSIX, where the mode IS the protection, there is no
185
+ * fallback and no retry.
186
+ *
187
+ * `deps` is a seam for tests. CI has no Windows runner, and the fallback is the
188
+ * one branch here that can leave a second plaintext copy of the delegate key on
189
+ * disk, so it must be exercisable off Windows.
190
+ */
191
+ export function replaceWithTemp(tmp, path, contents, deps = {}) {
192
+ const platform = deps.platform ?? process.platform;
193
+ const rename = deps.rename ?? renameSync;
194
+ const sleep = deps.sleep ?? sleepSync;
195
+ if (platform !== "win32") {
196
+ rename(tmp, path);
197
+ return;
198
+ }
199
+ for (let attempt = 1;; attempt++) {
200
+ try {
201
+ rename(tmp, path);
202
+ return;
203
+ }
204
+ catch (err) {
205
+ const code = err.code ?? "";
206
+ if (!WIN32_LOCKED_CODES.has(code))
207
+ throw err;
208
+ if (attempt < WIN32_RENAME_ATTEMPTS) {
209
+ sleep(WIN32_RENAME_BACKOFF_MS * attempt);
210
+ continue;
211
+ }
212
+ // Still locked. Write through the existing handle's inode rather
213
+ // than failing the sign-in.
214
+ writeFileSync(path, contents, { encoding: "utf8", mode: 0o600 });
215
+ // This returns SUCCESSFULLY, so `writeSecretFile`'s catch never
216
+ // runs and nothing else will remove `tmp` — which still holds the
217
+ // plaintext delegate key. Every locked save would otherwise leave
218
+ // another copy of it beside the credentials file, which is the
219
+ // opposite of what this whole helper is for.
220
+ //
221
+ // Best-effort: a temp that cannot be unlinked must not fail a save
222
+ // that has already landed.
223
+ try {
224
+ unlinkSync(tmp);
225
+ }
226
+ catch {
227
+ /* nothing more to do; the destination write already succeeded */
228
+ }
229
+ return;
230
+ }
122
231
  }
123
- return { path, ...replaced };
124
232
  }
125
233
  /**
126
234
  * The message shown *before* a sign-in that would overwrite existing
@@ -172,8 +280,10 @@ function backupIfReplacingAnotherAccount(path, incomingAccountId) {
172
280
  const stamp = new Date().toISOString().replace(/[:.]/g, "-");
173
281
  const backup = join(dirname(path), `credentials.backup-${stamp}.json`);
174
282
  try {
175
- copyFileSync(path, backup);
176
- chmodSync(backup, 0o600);
283
+ // Through the same writer as the credentials file itself: the backup is
284
+ // a second copy of the same plaintext delegate key, and `copyFileSync`
285
+ // would create it under the process umask before any tightening.
286
+ writeSecretFile(backup, readFileSync(path, "utf8"));
177
287
  return { replacedAccountId: current.accountId, backedUpTo: backup };
178
288
  }
179
289
  catch {
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -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;AAmKD,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;AAwfD,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,CA+uCf"}
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";
@@ -215,6 +216,101 @@ function resolveCallTimeoutMs() {
215
216
  return DEFAULT_CALL_TIMEOUT_MS;
216
217
  return n;
217
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
+ }
218
314
  /** The relayer rejected the saved delegate key (HTTP 401 on the handshake).
219
315
  * Distinct from every other connect failure because retrying cannot fix it:
220
316
  * the caller must re-authenticate. Carrying it as a type keeps the background
@@ -287,6 +383,14 @@ async function openSseStream(relayerUrl, creds, extraHeaders = {}) {
287
383
  }
288
384
  throw err;
289
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.
290
394
  if (resp.status === 401) {
291
395
  clearConnectTimer();
292
396
  if (resp.body) {
@@ -310,13 +414,17 @@ async function openSseStream(relayerUrl, creds, extraHeaders = {}) {
310
414
  if (resp.status === 429) {
311
415
  clearConnectTimer();
312
416
  const retryAfter = resp.headers.get("retry-after");
313
- const body = resp.body ? await resp.text() : "";
314
- throw new Error(`Walrus Memory relayer SSE handshake rate-limited (HTTP 429` +
315
- `${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);
316
424
  }
317
425
  if (!resp.ok || !resp.body) {
318
426
  clearConnectTimer();
319
- const body = resp.body ? await resp.text() : "";
427
+ const body = resp.body ? await resp.text().catch(() => "") : "";
320
428
  throw new Error(`Walrus Memory relayer SSE handshake failed: HTTP ${resp.status} ${body.slice(0, 200)}`);
321
429
  }
322
430
  const ct = resp.headers.get("content-type") ?? "";
@@ -750,6 +858,55 @@ pendingLines = []) {
750
858
  let reconnectAttempt = 0;
751
859
  let reconnectPromise = null;
752
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
+ };
753
910
  /** Bumped when the live SSE session is aborted or replaced so queued
754
911
  * POSTs captured against a stale URL are skipped (reconnect replays). */
755
912
  let sessionEpoch = 0;
@@ -763,7 +920,34 @@ pendingLines = []) {
763
920
  function postIfCurrent(epoch, postUrl, msg, postCreds) {
764
921
  if (epoch !== sessionEpoch)
765
922
  return Promise.resolve(0);
766
- 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
+ });
767
951
  }
768
952
  let credentialGeneration = 0;
769
953
  let activeCredentialGeneration = 0;
@@ -872,6 +1056,7 @@ pendingLines = []) {
872
1056
  // would otherwise keep pushing the deadline out.
873
1057
  const inFlight = new Map();
874
1058
  const callTimeoutMs = resolveCallTimeoutMs();
1059
+ const stalledHandshakeMs = resolveStalledHandshakeMs(callTimeoutMs);
875
1060
  /** IDs of `tools/list` requests we've forwarded to the relayer. When
876
1061
  * the response comes back through the SSE pump, we splice in the
877
1062
  * locally-served `memwal_login` + `memwal_logout` tools so the MCP
@@ -882,6 +1067,28 @@ pendingLines = []) {
882
1067
  * a reconnect that swapped credentials mid-flight cannot label the answer
883
1068
  * with a relayer it did not come from. */
884
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
+ }
885
1092
  /** Reopen the SSE stream and replay outstanding `inFlight` requests against
886
1093
  * the fresh session. All callers await the SAME reconnect via
887
1094
  * `reconnectPromise` — returning immediately while one is active would let
@@ -904,9 +1111,12 @@ pendingLines = []) {
904
1111
  catch {
905
1112
  /* already dead */
906
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.
907
1117
  const backoff = immediate
908
1118
  ? 0
909
- : Math.min(15_000, 500 * Math.pow(2, reconnectAttempt));
1119
+ : Math.max(Math.min(15_000, 500 * Math.pow(2, reconnectAttempt)), throttledUntilMs - Date.now());
910
1120
  reconnectAttempt += 1;
911
1121
  log.warn("bridge.reconnecting", {
912
1122
  reason,
@@ -942,7 +1152,7 @@ pendingLines = []) {
942
1152
  // with. Belt-and-braces against `loggedOut` alone.
943
1153
  if (!openingCreds)
944
1154
  break;
945
- const candidate = await openSseStream(openingCreds.relayerUrl, openingCreds, extraHeaders);
1155
+ const candidate = await openSseStream(openingCreds.relayerUrl, openingCreds, connectHeaders());
946
1156
  // Logout can also land mid-handshake. Same reasoning as the
947
1157
  // stale-credentials case below, except there is no new key
948
1158
  // to reconnect with — drop the session and stop.
@@ -968,6 +1178,10 @@ pendingLines = []) {
968
1178
  firstConnectDone = true;
969
1179
  activeCredentialGeneration = openingGeneration;
970
1180
  reconnectAttempt = 0;
1181
+ throttledUntilMs = 0;
1182
+ throttleNoticed = false;
1183
+ clearHandshakeFailure();
1184
+ endConnectEpisode();
971
1185
  // An accepted handshake retires any earlier rejection —
972
1186
  // `memwal_login` re-registers a key and lands here, not on
973
1187
  // the background connect's publish path, so clearing only
@@ -1055,9 +1269,14 @@ pendingLines = []) {
1055
1269
  }
1056
1270
  }
1057
1271
  catch (err) {
1058
- log.error("bridge.reconnect_failed", {
1059
- err: err instanceof Error ? err.message : String(err),
1060
- });
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 });
1061
1280
  // A key revoked mid-session lands here rather than on the
1062
1281
  // background connect, and retrying cannot fix it either. Answer
1063
1282
  // the replay set now instead of letting the orphan sweeper hand
@@ -1068,6 +1287,11 @@ pendingLines = []) {
1068
1287
  // still looping on the dead stream, so it keeps driving
1069
1288
  // `reconnect()` on its own growing backoff, and the publish
1070
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.
1071
1295
  if (err instanceof RelayerUnauthorizedError &&
1072
1296
  openingGeneration === credentialGeneration) {
1073
1297
  credentialsRejected = true;
@@ -1726,27 +1950,121 @@ pendingLines = []) {
1726
1950
  for (const entry of Array.from(inFlight.values()))
1727
1951
  failRequest(entry.msg, reason, opts);
1728
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
+ };
2013
+ }
1729
2014
  /** Close out requests whose deadline has passed. Without this a reply lost
1730
2015
  * on a still-healthy stream leaves its request tracked forever. */
1731
2016
  // Same shape as the SSE watchdog's check interval, but capped.
1732
2017
  const sweepIntervalMs = Math.min(MAX_ORPHAN_SWEEP_MS, Math.max(500, Math.floor(callTimeoutMs / 3)));
1733
2018
  const orphanSweeper = setInterval(() => {
1734
2019
  const now = Date.now();
2020
+ const handshakeStalledMs = handshakeStalledForMs(now);
1735
2021
  for (const [id, entry] of Array.from(inFlight.entries())) {
1736
2022
  const elapsedMs = now - entry.startedAt;
1737
- 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)
1738
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
+ }
1739
2058
  log.warn("bridge.call_orphaned", {
1740
2059
  id,
1741
2060
  method: entry.msg.method ?? null,
1742
2061
  elapsedMs,
2062
+ deadlineMs,
2063
+ reason,
2064
+ handshakeStalledMs,
2065
+ lastHandshakeError,
1743
2066
  });
1744
- failRequest(entry.msg, "no response", {
1745
- toolText: "❌ Walrus Memory did not answer this call. The connection to " +
1746
- "the relayer dropped before the result came back. Please retry.",
1747
- errorMessage: "Walrus Memory call was orphaned by a reconnect and never " +
1748
- "received a response. Please retry.",
1749
- });
2067
+ failRequest(entry.msg, reason, opts);
1750
2068
  }
1751
2069
  }, sweepIntervalMs);
1752
2070
  // unref so the sweeper never holds the event loop open during shutdown.
@@ -1760,8 +2078,11 @@ pendingLines = []) {
1760
2078
  // NOT fail buffered requests between attempts: a request that the next
1761
2079
  // attempt would serve must not get a spurious "unavailable" error (that
1762
2080
  // would also drop the auth-required hot-handoff request). Buffered tool
1763
- // calls stay queued and are flushed on the first SUCCESS; if they never
1764
- // 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
1765
2086
  // shutdown `failPendingForward` closes out anything still open. `initialize`
1766
2087
  // is answered locally, so it never blocks and is only forwarded, not failed.
1767
2088
  // First connect stays on `openSseStream` + `flushPendingForward` so a
@@ -1785,7 +2106,7 @@ pendingLines = []) {
1785
2106
  }
1786
2107
  const openingGeneration = credentialGeneration;
1787
2108
  try {
1788
- const candidate = await openSseStream(creds.relayerUrl, creds, extraHeaders);
2109
+ const candidate = await openSseStream(creds.relayerUrl, creds, connectHeaders());
1789
2110
  if (stdinClosed) {
1790
2111
  candidate.abort();
1791
2112
  break;
@@ -1805,6 +2126,10 @@ pendingLines = []) {
1805
2126
  sessionEpoch += 1;
1806
2127
  sse = candidate;
1807
2128
  firstConnectDone = true;
2129
+ throttledUntilMs = 0;
2130
+ throttleNoticed = false;
2131
+ clearHandshakeFailure();
2132
+ endConnectEpisode();
1808
2133
  // A key that was rejected earlier is evidently accepted now
1809
2134
  // (re-registered, or the 401 was a transient WAF/rate-limit
1810
2135
  // false positive), so stop failing requests fast.
@@ -1817,7 +2142,10 @@ pendingLines = []) {
1817
2142
  }
1818
2143
  catch (err) {
1819
2144
  const reason = err instanceof Error ? err.message : String(err);
2145
+ noteHandshakeFailure(reason);
1820
2146
  attempt += 1;
2147
+ if (err instanceof RelayerThrottledError)
2148
+ noteThrottled(err);
1821
2149
  log.error("bridge.initial_connect_failed", { err: reason, attempt });
1822
2150
  // A rejected key will not start working on the next attempt, so
1823
2151
  // answer everything queued instead of leaving it to the orphan
@@ -1855,7 +2183,10 @@ pendingLines = []) {
1855
2183
  }
1856
2184
  if (stdinClosed)
1857
2185
  break;
1858
- 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());
1859
2190
  await new Promise((resolve) => {
1860
2191
  const timer = setTimeout(() => {
1861
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.3",
3
+ "version": "0.0.13-dev.5",
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": {