@mnemoverse/mcp-memory-server 0.11.0 → 0.12.1
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/README.md +26 -4
- package/dist/errors.d.ts +90 -7
- package/dist/errors.js +311 -51
- package/dist/errors.js.map +1 -1
- package/dist/names.d.ts +34 -4
- package/dist/names.js +50 -10
- package/dist/names.js.map +1 -1
- package/dist/render.d.ts +69 -7
- package/dist/render.js +97 -14
- package/dist/render.js.map +1 -1
- package/dist/requests.d.ts +34 -3
- package/dist/requests.js +12 -3
- package/dist/requests.js.map +1 -1
- package/dist/resources.js +5 -2
- package/dist/resources.js.map +1 -1
- package/dist/shared.d.ts +23 -2
- package/dist/shared.js +21 -1
- package/dist/shared.js.map +1 -1
- package/dist/tools.d.ts +64 -1
- package/dist/tools.js +638 -116
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/errors.js
CHANGED
|
@@ -89,6 +89,19 @@ const USAGE_URL = "https://console.mnemoverse.com/dashboard/usage";
|
|
|
89
89
|
* module is imported BY index.ts, so reading the value from there would be a
|
|
90
90
|
* cycle. Change one, grep for the other. */
|
|
91
91
|
const DEFAULT_API_URL = "https://core.mnemoverse.com/api/v1";
|
|
92
|
+
/** Defaults applied field-by-field, with a `typeof`/literal guard on each:
|
|
93
|
+
* `wording` crosses a public package boundary a caller controls only at
|
|
94
|
+
* compile time, so a malformed value at runtime degrades to the default
|
|
95
|
+
* instead of propagating (e.g. into a template literal, or a `Wording`
|
|
96
|
+
* field silently taking a fifth value no branch here checks for). */
|
|
97
|
+
function resolveWording(w) {
|
|
98
|
+
return {
|
|
99
|
+
serverNoun: w?.serverNoun === "this connector" ? "this connector" : "this server",
|
|
100
|
+
auth: w?.auth === "oauth" ? "oauth" : "api-key",
|
|
101
|
+
keysUrl: typeof w?.keysUrl === "string" && w.keysUrl !== "" ? w.keysUrl : KEYS_URL,
|
|
102
|
+
rawDetail: typeof w?.rawDetail === "boolean" ? w.rawDetail : true,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
92
105
|
/**
|
|
93
106
|
* Is `details.keys_url` safe to put in front of a user?
|
|
94
107
|
*
|
|
@@ -232,16 +245,42 @@ function has(message, needle) {
|
|
|
232
245
|
* "caller org not identified" for the same reason that clause runs first at
|
|
233
246
|
* all (a valid key must never be told to replace itself), and still before
|
|
234
247
|
* the substring guess, since a named reason needs no guessing.
|
|
248
|
+
*
|
|
249
|
+
* UNDER `wording.auth === "oauth"` (STEP4-2, owner, 2026-09-24) none of the
|
|
250
|
+
* above applies: the caller never held an API key at all, so `reason` (a
|
|
251
|
+
* diagnosis of WHICH key problem this is) and every key-flavoured branch
|
|
252
|
+
* below would be a wrong cause stated confidently. "Caller org not
|
|
253
|
+
* identified" is the one exception: it is about tenant identification, not
|
|
254
|
+
* about a key, and can fire under either credential type, so it is checked
|
|
255
|
+
* first regardless of `auth`, worded for whichever credential the caller
|
|
256
|
+
* actually holds. Every other 401 collapses to one OAuth-flavoured sentence:
|
|
257
|
+
* reconnect or sign in again, because that is the one thing an OAuth user
|
|
258
|
+
* can actually do about a 401, and naming a wrong one of five key reasons
|
|
259
|
+
* would be worse than naming none.
|
|
235
260
|
*/
|
|
236
|
-
function explain401(env) {
|
|
261
|
+
function explain401(env, wording) {
|
|
237
262
|
const m = env.message;
|
|
238
263
|
if (has(m, "caller org not identified")) {
|
|
239
|
-
return
|
|
240
|
-
"this
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
264
|
+
return wording.auth === "oauth"
|
|
265
|
+
? "Mnemoverse: this deployment could not identify a tenant account for " +
|
|
266
|
+
"this request (401). The caller's sign-in itself was not rejected " +
|
|
267
|
+
"— do NOT tell the user to reconnect over this. Room and " +
|
|
268
|
+
"shared-memory operations need the multi-tenant backend, which a " +
|
|
269
|
+
"self-hosted or static-auth deployment does not have. Quote the " +
|
|
270
|
+
"detail below, and do not retry the same call against this " +
|
|
271
|
+
"deployment."
|
|
272
|
+
: "Mnemoverse: this deployment could not identify a tenant account for " +
|
|
273
|
+
"this request (401). The API key itself was not rejected — do NOT " +
|
|
274
|
+
"tell the user to replace it. Room and shared-memory operations need " +
|
|
275
|
+
"the multi-tenant backend, which a self-hosted or static-auth " +
|
|
276
|
+
"deployment does not have. Quote the detail below, and do not retry " +
|
|
277
|
+
"the same call against this deployment.";
|
|
278
|
+
}
|
|
279
|
+
if (wording.auth === "oauth") {
|
|
280
|
+
return ("Mnemoverse: the user's sign-in was rejected (401). There is no " +
|
|
281
|
+
"credential for them to edit — tell them to disconnect and " +
|
|
282
|
+
"reconnect the app, or sign in again, to refresh their session. Do " +
|
|
283
|
+
"not retry until they do.");
|
|
245
284
|
}
|
|
246
285
|
// `details.reason` (an engine change not yet released as of this
|
|
247
286
|
// one): the engine's own diagnosis of WHICH key problem this is, five
|
|
@@ -254,7 +293,7 @@ function explain401(env) {
|
|
|
254
293
|
// for byte: `reason` is additive, never a replacement for a message this
|
|
255
294
|
// parser cannot yet interpret.
|
|
256
295
|
if (env.reason !== undefined) {
|
|
257
|
-
const keysUrl = env.keysUrl ??
|
|
296
|
+
const keysUrl = env.keysUrl ?? wording.keysUrl;
|
|
258
297
|
switch (env.reason) {
|
|
259
298
|
case "placeholder_key":
|
|
260
299
|
return ("Mnemoverse: your API key was rejected (401). The engine itself " +
|
|
@@ -309,7 +348,7 @@ function explain401(env) {
|
|
|
309
348
|
"MNEMOVERSE_API_KEY is not valid — if it still reads a docs " +
|
|
310
349
|
'placeholder such as "mk_live_YOUR_KEY" or "mk_live_USER_KEY" (any ' +
|
|
311
350
|
"value they did not create at the console themselves) it must be " +
|
|
312
|
-
`replaced with a real key from ${
|
|
351
|
+
`replaced with a real key from ${wording.keysUrl}. Do not retry until they ` +
|
|
313
352
|
"replace it.");
|
|
314
353
|
}
|
|
315
354
|
if (m !== undefined || env.code !== undefined) {
|
|
@@ -326,33 +365,163 @@ function explain401(env) {
|
|
|
326
365
|
"client cannot tell WHO refused. Quote the detail below and check the " +
|
|
327
366
|
"path to the API first.");
|
|
328
367
|
}
|
|
329
|
-
/** 403: when the ENGINE refused, the
|
|
330
|
-
* was refused — name WHICH refusal, from the engine's own message,
|
|
331
|
-
* blame the
|
|
332
|
-
* spoke: a proxy, a WAF or a tunnel also answers 403, in
|
|
333
|
-
* "the
|
|
334
|
-
* have seen is exactly the confident wrong
|
|
335
|
-
|
|
368
|
+
/** 403: when the ENGINE refused, the credential was accepted and then the
|
|
369
|
+
* request was refused — name WHICH refusal, from the engine's own message,
|
|
370
|
+
* and never blame the credential. But that first clause is only known when
|
|
371
|
+
* the engine actually spoke: a proxy, a WAF or a tunnel also answers 403, in
|
|
372
|
+
* HTML, and asserting "the credential identified the account fine" about a
|
|
373
|
+
* response the engine may never have seen is exactly the confident wrong
|
|
374
|
+
* cause this module exists to avoid.
|
|
375
|
+
*
|
|
376
|
+
* Under `wording.auth === "oauth"` every noun for the credential changes
|
|
377
|
+
* and nothing else does: the clause naming it as innocent ("The API key" /
|
|
378
|
+
* "Your sign-in"), the holder the room-permission causes speak about ("This
|
|
379
|
+
* key" / "This account", since an OAuth user holds no key and membership is
|
|
380
|
+
* the account's), and the one word the opaque-403 branch declines to blame
|
|
381
|
+
* ("the key" / "the sign-in"). Review round 2 on the wording slice: the
|
|
382
|
+
* first cut changed only the innocent clause and left "This key is not an
|
|
383
|
+
* active member" in the same sentence that had just told an OAuth user
|
|
384
|
+
* their sign-in was fine. */
|
|
385
|
+
function explain403(env, wording) {
|
|
386
|
+
const oauth = wording.auth === "oauth";
|
|
336
387
|
if (saidNothing(env)) {
|
|
388
|
+
const blamed = oauth ? "the sign-in" : "the key";
|
|
337
389
|
return ("Mnemoverse: this request was refused (403) by something that did not " +
|
|
338
390
|
"speak this API's error language — the body carries neither of the two " +
|
|
339
391
|
"shapes the engine produces. That points at a proxy, a gateway, or a " +
|
|
340
392
|
"MNEMOVERSE_API_URL aimed somewhere unexpected, and the engine may never " +
|
|
341
|
-
|
|
393
|
+
`have seen the request — so do not blame ${blamed} and do not blame room ` +
|
|
342
394
|
"permissions: this client cannot tell WHO refused it. Quote the detail " +
|
|
343
395
|
"below to the user, and do not retry until the path to the API is explained.");
|
|
344
396
|
}
|
|
397
|
+
const holder = oauth ? "This account" : "This key";
|
|
398
|
+
const holderLc = oauth ? "this account" : "this key";
|
|
345
399
|
const m = env.message;
|
|
400
|
+
// A SCOPE refusal: the credential identified the account and lacks a
|
|
401
|
+
// permission the call needs (a write with a read-only token). Two producers
|
|
402
|
+
// today, both name the scope: core's middleware ("Token lacks memory:write
|
|
403
|
+
// scope") and the hosted connector's own gate ("the token lacks the
|
|
404
|
+
// memory:write scope"). It is not about a room, so it must not fall
|
|
405
|
+
// through to the generic sentence that guesses "most often the room it
|
|
406
|
+
// addressed" (the connector's refusal did exactly that, step 4 review).
|
|
407
|
+
// The check is keyed on that vocabulary (a scope NAME, or one of the lack
|
|
408
|
+
// verbs lacks, lacking, missing, without, requires, required, needs
|
|
409
|
+
// followed by the word "scope" in the same sentence), not on the bare word
|
|
410
|
+
// "scope" ("outside the scope of this plan and needs a review" is not a
|
|
411
|
+
// scope refusal), and it is tried AFTER the room causes: room
|
|
412
|
+
// membership is itself called a scope elsewhere on this surface, so a room
|
|
413
|
+
// refusal that happens to say "scope" keeps its room diagnosis (Sigma on
|
|
414
|
+
// #175).
|
|
415
|
+
const LACK_THEN_SCOPE = /\b(?:lacks?|lacking|missing|without|requires?|required|needs?)\b[^.;]*\bscope\b/i;
|
|
416
|
+
const scopeRefusal = has(m, "scope") && (has(m, "memory:") || LACK_THEN_SCOPE.test(m ?? ""));
|
|
417
|
+
// Core's other scope sentence, "Route has no scope policy; denied by
|
|
418
|
+
// default", is NOT about the credential: the route itself has no policy
|
|
419
|
+
// registered, and the middleware denies it by default. No re-authorization
|
|
420
|
+
// and no other credential changes that, so it gets its own diagnosis
|
|
421
|
+
// (CodeRabbit and Copilot on #175). Keyed on core's exact clause ("no
|
|
422
|
+
// scope policy"), so a message that names a lacking scope and merely
|
|
423
|
+
// mentions a scope policy stays a scope refusal; core's sentence itself
|
|
424
|
+
// names no scope and does not say "lacks", so it never matches
|
|
425
|
+
// `scopeRefusal` either.
|
|
426
|
+
const routePolicy = has(m, "no scope policy");
|
|
427
|
+
// Under oauth the remedy is real: the connector's consent flow grants
|
|
428
|
+
// scopes. Under api-key it is credential-neutral: an API key carries no
|
|
429
|
+
// scope selection this package knows of (the scope rules are OIDC-only, and
|
|
430
|
+
// no producer sends a scope refusal to an API-key caller today), so the
|
|
431
|
+
// reply names no fix a key swap cannot deliver; the user is told which
|
|
432
|
+
// scope was refused and grants it on their side (Copilot and the internal
|
|
433
|
+
// refuter on #175).
|
|
434
|
+
// The scope NAMES come from the engine's message itself, matched as
|
|
435
|
+
// `memory:<word>` and nothing else, so the api-key advice can name what to
|
|
436
|
+
// grant even when `rawDetail: false` withholds the message (Copilot on
|
|
437
|
+
// #175). Only the clause that states the lack is read: from "lacks",
|
|
438
|
+
// "missing", "without", "requires" or "needs" up to the end of the
|
|
439
|
+
// sentence, a comma, a dash (en, em, or a spaced hyphen), an opening
|
|
440
|
+
// parenthesis, a conjunction (but, while, whereas, although, though, yet,
|
|
441
|
+
// however, except), or a word that introduces what IS held ("granted",
|
|
442
|
+
// "has", "holds", "carries"), so a scope the message lists as held in any
|
|
443
|
+
// of those positions is not presented as refused (CodeRabbit on #175).
|
|
444
|
+
// The trade-off is deliberate: a comma-separated list of LACKING scopes is
|
|
445
|
+
// cut to its first item, and a held scope after a colon or after a
|
|
446
|
+
// connective not in that list ("with memory:read retained") would still
|
|
447
|
+
// be named; no producer writes either today (core names exactly one
|
|
448
|
+
// scope). A message that names scopes with the name
|
|
449
|
+
// BEFORE the verb ("memory:write scope is required") keeps them all,
|
|
450
|
+
// unless it also speaks of held scopes; a refusal that names none gets
|
|
451
|
+
// the generic sentence.
|
|
452
|
+
const text = m ?? "";
|
|
453
|
+
const scopesIn = (t) => [...new Set((t.match(/\bmemory:[a-z_]+/gi) ?? []).map((x) => x.toLowerCase()))];
|
|
454
|
+
const lackClause = text.match(/\b(?:lacks?|lacking|missing|without|requires?|required|needs?)\b((?:(?!\b(?:granted|held|has|holds|carries|but|while|whereas|although|though|yet|however|except)\b|\s-\s)[^.;(,\u2013\u2014])*)/i)?.[1] ?? "";
|
|
455
|
+
const speaksOfHeld = /\b(?:granted|held|has|holds|carries)\b/i.test(text);
|
|
456
|
+
// Names the message says are HELD are never refused, wherever they sit: a
|
|
457
|
+
// name followed by "is/are (already) held|granted|available|present", or
|
|
458
|
+
// any name after a held-word up to the end of that fragment (Sigma on
|
|
459
|
+
// #175: "lacks memory:write scope but memory:read is already held").
|
|
460
|
+
const heldNames = new Set([
|
|
461
|
+
// The window between the name and "is held" may not contain another
|
|
462
|
+
// scope name, or "memory:write scope but memory:read is held" would
|
|
463
|
+
// count memory:write as held.
|
|
464
|
+
...[...text.matchAll(/\b(memory:[a-z_]+)\b(?:(?!memory:)[^.;,]){0,40}?\b(?:is|are)\s+(?:already\s+|still\s+)?(?:held|granted|available|present)\b/gi)].map((x) => x[1].toLowerCase()),
|
|
465
|
+
// The held fragment ends where a lack verb or a conjunction starts, so
|
|
466
|
+
// "has memory:read scope but lacks memory:write scope" holds only read.
|
|
467
|
+
...[
|
|
468
|
+
...text.matchAll(/\b(?:granted|held|has|holds|carries)\b((?:(?!\b(?:lacks?|lacking|missing|without|requires?|required|needs?|but|while|whereas|although|though|yet|however|except)\b)[^.;])*)/gi),
|
|
469
|
+
// A name the lack clause itself refuses is not held by this fragment
|
|
470
|
+
// ("has memory:write scope for room A but lacks memory:write scope
|
|
471
|
+
// for room B" refuses memory:write).
|
|
472
|
+
].flatMap((x) => scopesIn(x[1])).filter((x) => !scopesIn(lackClause).includes(x)),
|
|
473
|
+
]);
|
|
474
|
+
const candidates = scopesIn(lackClause).length > 0 || speaksOfHeld ? scopesIn(lackClause) : scopesIn(text);
|
|
475
|
+
const named = candidates.filter((x) => !heldNames.has(x));
|
|
476
|
+
// Reads are said to be unaffected only when the REFUSED scope is the write
|
|
477
|
+
// scope and the read scope is not among the refused (Copilot and Sigma on
|
|
478
|
+
// #175; the flag reads the refused names, not the whole message, so
|
|
479
|
+
// "lacks memory:admin scope; has memory:write scope" does not count as a
|
|
480
|
+
// write refusal); a refusal that names no scope falls back to the words
|
|
481
|
+
// "write scope"/"read scope". "Unaffected by this refusal" is all the
|
|
482
|
+
// refusal supports: whether reads work depends on the read scope, which it
|
|
483
|
+
// says nothing about.
|
|
484
|
+
// And never when the message states the read scope lacking anywhere, even
|
|
485
|
+
// past the cut of the lack clause ("lacks memory:write scope, memory:read
|
|
486
|
+
// scope"): a read name that is not held, or the words "read scope".
|
|
487
|
+
const readStatedLacking = (scopesIn(text).includes("memory:read") && !heldNames.has("memory:read")) || has(m, "read scope");
|
|
488
|
+
const writeScope = named.length > 0
|
|
489
|
+
? named.includes("memory:write") && !named.includes("memory:read") && !readStatedLacking
|
|
490
|
+
: has(m, "write scope") && !has(m, "read scope");
|
|
491
|
+
const list = named.length <= 2 ? named.join(" and ") : `${named.slice(0, -1).join(", ")} and ${named[named.length - 1]}`;
|
|
492
|
+
const refused = named.length === 0
|
|
493
|
+
? "this call was refused for a missing scope so they can grant it on their side"
|
|
494
|
+
: named.length === 1
|
|
495
|
+
? `the ${named[0]} scope was refused so they can grant it on their side`
|
|
496
|
+
: `the ${list} scopes were refused so they can grant them on their side`;
|
|
497
|
+
const remedy = oauth
|
|
498
|
+
? `tell the user to re-authorize this connector with ${writeScope ? "write access" : "the access it needs"}`
|
|
499
|
+
: `tell the user ${refused}`;
|
|
500
|
+
// The remedy either follows the reads clause mid-sentence or opens its own
|
|
501
|
+
// sentence, capitalised.
|
|
502
|
+
const advice = writeScope ? `Reads are not affected by this refusal, since they need only the read scope; ${remedy}.` : `${remedy[0].toUpperCase()}${remedy.slice(1)}.`;
|
|
503
|
+
// The opening clause of the reply (below) already says what is missing, so
|
|
504
|
+
// the cause carries the pointer to the engine's words, the advice, and the
|
|
505
|
+
// one prohibition. The pointer exists only when the raw-detail paragraph
|
|
506
|
+
// will be there: under `rawDetail: false` the consumer withholds the body,
|
|
507
|
+
// and a pointer to withheld content is a lie (Copilot on #175).
|
|
508
|
+
const pointer = wording.rawDetail ? "The engine's own words are in the detail below. " : "";
|
|
509
|
+
const scopeCause = `${pointer}${advice} ` + "Do not work around it by trying another tool.";
|
|
510
|
+
const routePolicyCause = "The engine denies this route by default because no scope policy is " +
|
|
511
|
+
"registered for it: a gap in the server's own configuration, not anything " +
|
|
512
|
+
`about ${holderLc}, so no re-authorization and no other credential changes ` +
|
|
513
|
+
"it. Tell the user exactly what was refused so it can be reported, and do " +
|
|
514
|
+
"not work around it by trying another tool.";
|
|
346
515
|
const cause = has(m, "archiv")
|
|
347
516
|
? "The room you addressed is archived. An archived room refuses every read " +
|
|
348
517
|
"and every write, for its owner as much as for a member, and this client " +
|
|
349
518
|
"has no operation that reopens one."
|
|
350
519
|
: has(m, "not an active member") || has(m, "member of this room")
|
|
351
|
-
?
|
|
520
|
+
? `${holder} is not an active member of the room you addressed. Ask the ` +
|
|
352
521
|
"room's owner for an invite; memory_list_rooms shows the rooms it can " +
|
|
353
522
|
"already reach."
|
|
354
|
-
: has(m, "read-only")
|
|
355
|
-
?
|
|
523
|
+
: has(m, "read-only") && (has(m, "membership") || has(m, "room"))
|
|
524
|
+
? `${holder}'s membership in that room is read-only — it can read the ` +
|
|
356
525
|
"room but not write to it. Ask the room's owner for write access."
|
|
357
526
|
: has(m, "invalid room address")
|
|
358
527
|
? 'The room address was not in the form the engine accepts ' +
|
|
@@ -360,14 +529,26 @@ function explain403(env) {
|
|
|
360
529
|
"rather than composing one."
|
|
361
530
|
: has(m, "own this room")
|
|
362
531
|
? "That room belongs to another account, and only its owner can do " +
|
|
363
|
-
|
|
364
|
-
:
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
532
|
+
`this. memory_list_rooms shows which rooms ${holderLc} owns.`
|
|
533
|
+
: routePolicy
|
|
534
|
+
? routePolicyCause
|
|
535
|
+
: scopeRefusal
|
|
536
|
+
? scopeCause
|
|
537
|
+
: `Something about this request is not permitted for ${holderLc} — ` +
|
|
538
|
+
"most often the room it addressed. Check memory_list_rooms, and " +
|
|
539
|
+
"if nothing there explains it, tell the user exactly what was " +
|
|
540
|
+
"refused instead of guessing.";
|
|
541
|
+
const subject = oauth ? "Your sign-in" : "The API key";
|
|
542
|
+
// The innocent clause ("NOT the problem") would contradict the scope cause
|
|
543
|
+
// that follows it: for that one refusal the credential did identify the
|
|
544
|
+
// account, and the decision was about a scope it does not carry, so the
|
|
545
|
+
// clause says exactly that (CodeRabbit on #175). Every other 403, the room
|
|
546
|
+
// causes and the route-policy denial included, keeps the clause byte for
|
|
547
|
+
// byte.
|
|
548
|
+
const opening = cause === scopeCause
|
|
549
|
+
? `${subject} identified the account fine, but it does not carry a scope this call needs. `
|
|
550
|
+
: `${subject} is NOT the problem — it identified the account fine, and this was a permission decision. `;
|
|
551
|
+
return `Mnemoverse: this request was refused (403). ${opening}${cause} Do not retry the same call: it will be refused again.`;
|
|
371
552
|
}
|
|
372
553
|
/**
|
|
373
554
|
* Did this response say ANYTHING an engine would have said?
|
|
@@ -444,15 +625,20 @@ function explain404(f, env) {
|
|
|
444
625
|
}
|
|
445
626
|
/** 429: three causes, opposite advice. The envelope's `retryable` is the
|
|
446
627
|
* discriminator, because it is the only thing the engine states outright. */
|
|
447
|
-
function explain429(f, env) {
|
|
628
|
+
function explain429(f, env, wording) {
|
|
448
629
|
const secs = retryAfterSeconds(f.retryAfter);
|
|
449
630
|
const wait = secs === undefined ? "about a minute" : `${secs} seconds`;
|
|
450
631
|
if (env.retryable === true) {
|
|
632
|
+
// The one 429 sentence that names the credential holder (Sigma, review
|
|
633
|
+
// round 2 on the wording slice): "this key" for an API-key caller, "this
|
|
634
|
+
// account" for an OAuth user who holds no key. The other two branches
|
|
635
|
+
// speak about the account and the plan already.
|
|
636
|
+
const holder = wording.auth === "oauth" ? "this account" : "this key";
|
|
451
637
|
return ("Mnemoverse: rate-limited (429). This is the per-minute request limit and " +
|
|
452
638
|
`it clears by itself. Wait ${wait}, then make AT MOST ONE more attempt — ` +
|
|
453
639
|
"do not retry in a loop and do not fan out into more calls, which is what " +
|
|
454
640
|
"turns a one-minute limit into a sustained one. If the retry also fails, " +
|
|
455
|
-
|
|
641
|
+
`stop and tell the user ${holder} is hitting its rate limit.`);
|
|
456
642
|
}
|
|
457
643
|
if (env.retryable === false) {
|
|
458
644
|
return ("Mnemoverse: refused for quota, not for speed (429). Waiting will NOT " +
|
|
@@ -467,25 +653,30 @@ function explain429(f, env) {
|
|
|
467
653
|
}
|
|
468
654
|
/**
|
|
469
655
|
* The agent-facing explanation for one failed call, with the raw body kept
|
|
470
|
-
* after it.
|
|
656
|
+
* after it (unless `wording.rawDetail === false`, STEP4-3).
|
|
471
657
|
*
|
|
472
658
|
* Total by construction: every status reaches a sentence, and the fallback says
|
|
473
659
|
* that it has no specific guidance instead of inventing some.
|
|
660
|
+
*
|
|
661
|
+
* `wording` (STEP4-2/3, owner 2026-09-24) is optional and, absent, resolves
|
|
662
|
+
* to exactly today's behaviour: every call site before this release passes
|
|
663
|
+
* none, so every existing pin stays byte-identical.
|
|
474
664
|
*/
|
|
475
|
-
export function explainApiFailure(f) {
|
|
665
|
+
export function explainApiFailure(f, wording) {
|
|
666
|
+
const resolved = resolveWording(wording);
|
|
476
667
|
const env = parseErrorEnvelope(f.body);
|
|
477
668
|
let guidance;
|
|
478
669
|
if (f.status === 401) {
|
|
479
|
-
guidance = explain401(env);
|
|
670
|
+
guidance = explain401(env, resolved);
|
|
480
671
|
}
|
|
481
672
|
else if (f.status === 403) {
|
|
482
|
-
guidance = explain403(env);
|
|
673
|
+
guidance = explain403(env, resolved);
|
|
483
674
|
}
|
|
484
675
|
else if (f.status === 404) {
|
|
485
676
|
guidance = explain404(f, env);
|
|
486
677
|
}
|
|
487
678
|
else if (f.status === 429) {
|
|
488
|
-
guidance = explain429(f, env);
|
|
679
|
+
guidance = explain429(f, env, resolved);
|
|
489
680
|
}
|
|
490
681
|
else if (f.status === 400 || f.status === 422) {
|
|
491
682
|
guidance =
|
|
@@ -511,7 +702,7 @@ export function explainApiFailure(f) {
|
|
|
511
702
|
"specific guidance for that status. Do not invent a cause for the user — " +
|
|
512
703
|
"quote the detail below. One retry is acceptable; a loop is not.";
|
|
513
704
|
}
|
|
514
|
-
return `${guidance}\n\n${rawDetail(f)}
|
|
705
|
+
return resolved.rawDetail ? `${guidance}\n\n${rawDetail(f)}` : guidance;
|
|
515
706
|
}
|
|
516
707
|
/**
|
|
517
708
|
* A server-controlled string, made safe to quote inside model-facing text.
|
|
@@ -594,12 +785,13 @@ function refusedRedirect(cause) {
|
|
|
594
785
|
* that case now. Every sentence below asserts that nothing answered, so it may
|
|
595
786
|
* only be reached when nothing did.
|
|
596
787
|
*/
|
|
597
|
-
export function explainNetworkFailure(method, path, cause) {
|
|
788
|
+
export function explainNetworkFailure(method, path, cause, wording) {
|
|
789
|
+
const resolved = resolveWording(wording);
|
|
598
790
|
const name = cause instanceof Error ? cause.name : "";
|
|
599
791
|
const timedOut = name === "TimeoutError" || name === "AbortError";
|
|
600
792
|
const detail = cause instanceof Error ? `${cause.name}: ${cause.message}` : String(cause);
|
|
601
793
|
if (refusedRedirect(cause)) {
|
|
602
|
-
|
|
794
|
+
const head = `Mnemoverse: ${method} ${path} was answered with a REDIRECT, and this ` +
|
|
603
795
|
"client refused to follow it — so the API key was never sent to whatever " +
|
|
604
796
|
"the redirect pointed at. That refusal is the whole point: following a " +
|
|
605
797
|
"redirect re-sends the request headers to the new host, which hands a " +
|
|
@@ -610,7 +802,10 @@ export function explainNetworkFailure(method, path, cause) {
|
|
|
610
802
|
"network: the request arrived somewhere and was answered. Tell the user " +
|
|
611
803
|
"to check MNEMOVERSE_API_URL and point it straight at the API (the " +
|
|
612
804
|
`default is ${DEFAULT_API_URL}). Do not retry: the same address will ` +
|
|
613
|
-
|
|
805
|
+
"redirect again.";
|
|
806
|
+
return resolved.rawDetail
|
|
807
|
+
? `${head}\n\n${rawTransportDetail(method, path, detail)}`
|
|
808
|
+
: head;
|
|
614
809
|
}
|
|
615
810
|
const head = timedOut
|
|
616
811
|
? `Mnemoverse: the memory service did not answer ${method} ${path} in time.`
|
|
@@ -620,11 +815,11 @@ export function explainNetworkFailure(method, path, cause) {
|
|
|
620
815
|
? "The service may just be slow right now."
|
|
621
816
|
: "That is a connectivity or DNS problem, or MNEMOVERSE_API_URL pointing at " +
|
|
622
817
|
"a host that does not answer.";
|
|
623
|
-
|
|
818
|
+
const body = `${head} ${cause_} This is NOT a rejected API key and NOT a quota — no ` +
|
|
624
819
|
"reply arrived to say anything about either, so do not send the user to " +
|
|
625
820
|
"check their key. One retry is reasonable. If that also fails, tell the " +
|
|
626
|
-
"user memory is unreachable and carry on without it rather than retrying
|
|
627
|
-
|
|
821
|
+
"user memory is unreachable and carry on without it rather than retrying.";
|
|
822
|
+
return resolved.rawDetail ? `${body}\n\n${rawTransportDetail(method, path, detail)}` : body;
|
|
628
823
|
}
|
|
629
824
|
/** The debugging half of a transport failure, in one place so the redirect
|
|
630
825
|
* branch and the generic one cannot drift into two spellings of it. */
|
|
@@ -657,7 +852,8 @@ const MAX_PREVIEW_CHARS = 200;
|
|
|
657
852
|
* say whether the operation ran, because a body it cannot read is no evidence
|
|
658
853
|
* either way. That last clause matters most for a write.
|
|
659
854
|
*/
|
|
660
|
-
export function explainUnreadableBody(f) {
|
|
855
|
+
export function explainUnreadableBody(f, wording) {
|
|
856
|
+
const resolved = resolveWording(wording);
|
|
661
857
|
// TWO ARMS, because the two failures have different causes and the wrong one
|
|
662
858
|
// is a wrong instruction. A body that PARSED WRONG is a foreign answer — a
|
|
663
859
|
// portal, a proxy, a base URL aimed elsewhere. A body that stopped ARRIVING
|
|
@@ -680,10 +876,11 @@ export function explainUnreadableBody(f) {
|
|
|
680
876
|
`nothing about the user's key. One retry is reasonable; if it ` +
|
|
681
877
|
`repeats, tell the user the reply is arriving incomplete and quote ` +
|
|
682
878
|
`the detail below, status included.`;
|
|
683
|
-
|
|
879
|
+
const head = `Mnemoverse: something answered HTTP ${f.status} for ${f.method} ` +
|
|
684
880
|
`${f.path}, but ${body} Whether the operation itself ran is unknown ` +
|
|
685
881
|
`either way — if this was a write, treat it as neither saved nor ` +
|
|
686
|
-
|
|
882
|
+
"refused.";
|
|
883
|
+
return resolved.rawDetail ? `${head}\n\n${rawUnreadableDetail(f)}` : head;
|
|
687
884
|
}
|
|
688
885
|
/** The debugging half for an unreadable body: what stopped the read, and the
|
|
689
886
|
* first bytes of what arrived — through the same inert filter as
|
|
@@ -708,12 +905,25 @@ export class UnreadableBodyError extends Error {
|
|
|
708
905
|
status;
|
|
709
906
|
method;
|
|
710
907
|
path;
|
|
711
|
-
|
|
712
|
-
|
|
908
|
+
/** The bytes that failed to parse, when they were read at all. Kept so
|
|
909
|
+
* {@link withWording} re-renders the same arm of the explanation. */
|
|
910
|
+
bodyPreview;
|
|
911
|
+
/** `wording` (STEP4-2/3): optional, and absent (every call site before this
|
|
912
|
+
* release) reproduces today's message exactly: see {@link explainUnreadableBody}. */
|
|
913
|
+
constructor(f, wording) {
|
|
914
|
+
super(explainUnreadableBody(f, wording), { cause: f.cause });
|
|
713
915
|
this.name = "UnreadableBodyError";
|
|
714
916
|
this.status = f.status;
|
|
715
917
|
this.method = f.method;
|
|
716
918
|
this.path = f.path;
|
|
919
|
+
this.bodyPreview = f.bodyPreview;
|
|
920
|
+
}
|
|
921
|
+
/** The same failure, explained under `wording`: see {@link ApiError.withWording}. */
|
|
922
|
+
withWording(wording) {
|
|
923
|
+
const f = { status: this.status, method: this.method, path: this.path, cause: this.cause };
|
|
924
|
+
if (this.bodyPreview !== undefined)
|
|
925
|
+
f.bodyPreview = this.bodyPreview;
|
|
926
|
+
return new UnreadableBodyError(f, wording);
|
|
717
927
|
}
|
|
718
928
|
}
|
|
719
929
|
/**
|
|
@@ -744,12 +954,18 @@ function explain409(f) {
|
|
|
744
954
|
export class NetworkError extends Error {
|
|
745
955
|
method;
|
|
746
956
|
path;
|
|
747
|
-
|
|
748
|
-
|
|
957
|
+
/** `wording` (STEP4-2/3): optional, and absent (every call site before this
|
|
958
|
+
* release) reproduces today's message exactly: see {@link explainNetworkFailure}. */
|
|
959
|
+
constructor(method, path, cause, wording) {
|
|
960
|
+
super(explainNetworkFailure(method, path, cause, wording), { cause });
|
|
749
961
|
this.name = "NetworkError";
|
|
750
962
|
this.method = method;
|
|
751
963
|
this.path = path;
|
|
752
964
|
}
|
|
965
|
+
/** The same failure, explained under `wording`: see {@link ApiError.withWording}. */
|
|
966
|
+
withWording(wording) {
|
|
967
|
+
return new NetworkError(this.method, this.path, this.cause, wording);
|
|
968
|
+
}
|
|
753
969
|
}
|
|
754
970
|
/**
|
|
755
971
|
* A failed API call, as an ERROR OBJECT rather than a parsed string.
|
|
@@ -769,15 +985,36 @@ export class ApiError extends Error {
|
|
|
769
985
|
path;
|
|
770
986
|
/** The engine's envelope, already parsed — so a caller never re-parses. */
|
|
771
987
|
envelope;
|
|
772
|
-
|
|
773
|
-
|
|
988
|
+
/** The `Retry-After` header as it arrived, when the response carried one.
|
|
989
|
+
* Kept so {@link withWording} re-renders a 429 with its retry sentence. */
|
|
990
|
+
retryAfter;
|
|
991
|
+
/** `wording` (STEP4-2/3): optional, and absent (every call site before this
|
|
992
|
+
* release) reproduces today's message exactly: see {@link explainApiFailure}. */
|
|
993
|
+
constructor(f, wording) {
|
|
994
|
+
super(explainApiFailure(f, wording));
|
|
774
995
|
this.name = "ApiError";
|
|
775
996
|
this.status = f.status;
|
|
776
997
|
this.body = f.body;
|
|
777
998
|
this.method = f.method;
|
|
778
999
|
this.path = f.path;
|
|
1000
|
+
this.retryAfter = f.retryAfter;
|
|
779
1001
|
this.envelope = parseErrorEnvelope(f.body);
|
|
780
1002
|
}
|
|
1003
|
+
/**
|
|
1004
|
+
* The same failure, explained under `wording`: a new instance of this
|
|
1005
|
+
* class whose message is what the constructor would have produced with
|
|
1006
|
+
* that `wording`, every field and {@link isBare404} unchanged. The message
|
|
1007
|
+
* is a pure function of the failure and the wording, so re-rendering an
|
|
1008
|
+
* instance under the wording it was built with gives the same text back.
|
|
1009
|
+
* This is how `MemoryToolDeps.wording` reaches an error the consumer's
|
|
1010
|
+
* `apiFetch` built without it: see {@link rewordFailure}.
|
|
1011
|
+
*/
|
|
1012
|
+
withWording(wording) {
|
|
1013
|
+
const f = { status: this.status, body: this.body, method: this.method, path: this.path };
|
|
1014
|
+
if (this.retryAfter !== undefined)
|
|
1015
|
+
f.retryAfter = this.retryAfter;
|
|
1016
|
+
return new ApiError(f, wording);
|
|
1017
|
+
}
|
|
781
1018
|
/**
|
|
782
1019
|
* A 404 the ENGINE did not answer: silence, or the router's literal
|
|
783
1020
|
* defaults. This is what a path the deployment does not serve looks like
|
|
@@ -799,4 +1036,27 @@ export class ApiError extends Error {
|
|
|
799
1036
|
return this.status === 404 && engineSilentOn404(this.envelope);
|
|
800
1037
|
}
|
|
801
1038
|
}
|
|
1039
|
+
/**
|
|
1040
|
+
* Re-explain one of this module's three errors under `wording`; hand
|
|
1041
|
+
* anything else back untouched.
|
|
1042
|
+
*
|
|
1043
|
+
* This is how `MemoryToolDeps.wording` reaches the error text (STEP4-2): a
|
|
1044
|
+
* consumer's `apiFetch` constructs `ApiError`, `NetworkError` and
|
|
1045
|
+
* `UnreadableBodyError` however it likes, and `registerMemoryTools` passes
|
|
1046
|
+
* every rejection through here with the `wording` it was given, so the
|
|
1047
|
+
* consumer states its wording once, on `deps`, and the constructors need no
|
|
1048
|
+
* second copy. Re-rendering is idempotent (see {@link ApiError.withWording}),
|
|
1049
|
+
* so an `apiFetch` that does pass the same `wording` to the constructors
|
|
1050
|
+
* gets the same text either way; one that passed a different wording gets
|
|
1051
|
+
* `deps.wording`, the one source of truth for this registration. A
|
|
1052
|
+
* rejection that is none of the three classes (a plain `Error`, an
|
|
1053
|
+
* `McpError`) is returned as is: it carries no wording to apply, and its
|
|
1054
|
+
* identity may matter to whoever threw it.
|
|
1055
|
+
*/
|
|
1056
|
+
export function rewordFailure(e, wording) {
|
|
1057
|
+
if (e instanceof ApiError || e instanceof NetworkError || e instanceof UnreadableBodyError) {
|
|
1058
|
+
return e.withWording(wording);
|
|
1059
|
+
}
|
|
1060
|
+
return e;
|
|
1061
|
+
}
|
|
802
1062
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|