@chrischall/mcp-utils 0.16.0 → 0.17.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 +48 -0
- package/dist/session/index.d.ts +188 -11
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +282 -22
- package/dist/session/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -545,6 +545,54 @@ so `maxAgeMs` keeps counting from the original login. Its `invalidate()` clears
|
|
|
545
545
|
the stored copy — without that, a session detected as expired would be read back
|
|
546
546
|
off disk and the expiry would loop.
|
|
547
547
|
|
|
548
|
+
#### Capabilities lifted from the hand-rolled stores
|
|
549
|
+
|
|
550
|
+
Four repos (`freshbooks-mcp`, `kiaaccess-mcp`, `alphaportal-mcp`, `vibo-mcp`)
|
|
551
|
+
persisted tokens before this helper existed. Auditing them before migrating
|
|
552
|
+
turned up behaviour the first cut did not have:
|
|
553
|
+
|
|
554
|
+
- **`onPersistError`** — a failed write is swallowed by default, which is right
|
|
555
|
+
when it merely costs a future re-login. It is wrong for a service that rotates
|
|
556
|
+
**single-use** refresh tokens: the old one is already spent upstream, so a new
|
|
557
|
+
one that never reaches disk locks the account out on the next start. Throw
|
|
558
|
+
from the hook to make the write fatal (`freshbooks-mcp`'s case). Accordingly
|
|
559
|
+
`createFileStatePersistence.save` now *reports* a failed write by throwing;
|
|
560
|
+
`load` stays total. A failure raised this way is wrapped in a
|
|
561
|
+
`StatePersistenceError` so it can never be mistaken for a revoked credential —
|
|
562
|
+
the refresh that produced it succeeded, so discarding the stored record would
|
|
563
|
+
destroy the only surviving copy, which is the lockout the option exists to
|
|
564
|
+
prevent.
|
|
565
|
+
- **`boundTo`** — bind a record to the credential that minted it, so a rotated
|
|
566
|
+
password or a re-run OAuth bootstrap discards the cache instead of being
|
|
567
|
+
shadowed by it. Only a salted HMAC digest is written, never the credential, and
|
|
568
|
+
the salt is fresh per write so the same credential never leaves the same
|
|
569
|
+
artifact twice. It is a change-detector, not a password store — pass a
|
|
570
|
+
non-secret discriminator where you have one. (`freshbooks-mcp` tracked this as
|
|
571
|
+
`seededFromEnv`, storing the raw token.)
|
|
572
|
+
- **`createKeyedFileStatePersistence`** — many records in one file, keyed by
|
|
573
|
+
account, each key handed out as a plain `StatePersistence` a manager takes
|
|
574
|
+
directly. Required for any server authenticating as more than one identity,
|
|
575
|
+
and for anything serving several users from one process, where a
|
|
576
|
+
single-record file would hand one user's token to the next. Keys normalize
|
|
577
|
+
trim+lowercase by default, because they are account identities, not origins.
|
|
578
|
+
Writes are whole-file read-modify-write, so two processes saving different
|
|
579
|
+
keys at the same instant can drop one update — the loser re-authenticates
|
|
580
|
+
rather than reading anything wrong, which is the right trade for a credential
|
|
581
|
+
cache and would not be for a general store.
|
|
582
|
+
- **`resolveStateFile({ envVar, subdir, fileName })`** — an env override for the
|
|
583
|
+
path, checked through the same hardened `readEnvVar`. Every one of the four
|
|
584
|
+
had one, and every one used it to keep its test suite off the developer's real
|
|
585
|
+
`$HOME`.
|
|
586
|
+
|
|
587
|
+
Records are written in a small envelope (`{ v: 1, boundTo?, state }`). A bare
|
|
588
|
+
record written by an earlier version is still read, so nothing already on disk
|
|
589
|
+
is lost.
|
|
590
|
+
|
|
591
|
+
The file-backed stores return `SyncStatePersistence<T>` — the same contract with
|
|
592
|
+
the promise arm dropped, since they read one small file and cannot suspend.
|
|
593
|
+
Composing one (wrapping `load` to add a legacy fallback, say) therefore needs no
|
|
594
|
+
narrowing cast, and the value is still accepted anywhere `StatePersistence` is.
|
|
595
|
+
|
|
548
596
|
Persistence is **opt-in throughout**: a manager constructed without it behaves
|
|
549
597
|
exactly as before, and no credential reaches a disk because a dependency was
|
|
550
598
|
upgraded. The interface is two methods (`load` / `save`, plus an optional
|
package/dist/session/index.d.ts
CHANGED
|
@@ -205,9 +205,12 @@ export declare class SessionStore<T extends Record<string, unknown>> {
|
|
|
205
205
|
* ({@link createFileStatePersistence}) is sync — it writes one small file — but
|
|
206
206
|
* the async signature leaves room for a backend that has to go over a wire.
|
|
207
207
|
*
|
|
208
|
-
* **
|
|
209
|
-
* the
|
|
210
|
-
*
|
|
208
|
+
* **A failing implementation should throw.** Whether losing a write is
|
|
209
|
+
* survivable is the MANAGER's call, not the store's: for most services a failed
|
|
210
|
+
* save costs a re-login, but freshbooks-mcp rotates single-use refresh tokens,
|
|
211
|
+
* so a new token that does not reach disk locks the account out on the next
|
|
212
|
+
* start. The managers catch every call and, by default, swallow it — pass
|
|
213
|
+
* `onPersistError` to observe or to make it fatal.
|
|
211
214
|
*/
|
|
212
215
|
export interface StatePersistence<T> {
|
|
213
216
|
/** Read the stored state; `null` when absent, unparseable, or unusable. */
|
|
@@ -221,10 +224,64 @@ export interface StatePersistence<T> {
|
|
|
221
224
|
*/
|
|
222
225
|
clear?(): void | Promise<void>;
|
|
223
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* A {@link StatePersistence} that is synchronous by construction — what the
|
|
229
|
+
* file-backed stores in this module return.
|
|
230
|
+
*
|
|
231
|
+
* The base interface allows a promise so a network-backed store can implement
|
|
232
|
+
* it, which means `load()` on the concrete file store was typed
|
|
233
|
+
* `T | null | Promise<T | null>` even though it reads one small file and cannot
|
|
234
|
+
* suspend. Every consumer composing a store — wrapping `load` to add a legacy
|
|
235
|
+
* fallback, say — then needed a narrowing cast at the call site for a value that
|
|
236
|
+
* was never going to be a promise. Advertising the narrower type removes the
|
|
237
|
+
* cast without changing what is returned.
|
|
238
|
+
*
|
|
239
|
+
* Assignable to {@link StatePersistence} in the ordinary way, so anything that
|
|
240
|
+
* takes the general interface still takes one of these.
|
|
241
|
+
*/
|
|
242
|
+
export interface SyncStatePersistence<T> {
|
|
243
|
+
/** Read the stored state; `null` when absent, unparseable, or unusable. */
|
|
244
|
+
load(): T | null;
|
|
245
|
+
/** Write state, replacing whatever was there. Throws if the write fails. */
|
|
246
|
+
save(state: T): void;
|
|
247
|
+
/** Discard the stored state. */
|
|
248
|
+
clear(): void;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Wraps a failure that came from WRITING state, so the managers can tell it
|
|
252
|
+
* apart from a failure of the credential itself.
|
|
253
|
+
*
|
|
254
|
+
* This distinction is load-bearing, not cosmetic. `TokenManager` recovers from a
|
|
255
|
+
* rejected refresh by discarding the stored record and re-running the login —
|
|
256
|
+
* correct for a revoked token, catastrophic for a disk error, because the
|
|
257
|
+
* refresh that just SUCCEEDED already burned the old token upstream. Deleting
|
|
258
|
+
* the record at that point is precisely the lockout `onPersistError` exists to
|
|
259
|
+
* prevent, so a persistence failure is never routed into that recovery.
|
|
260
|
+
*/
|
|
261
|
+
export declare class StatePersistenceError extends Error {
|
|
262
|
+
readonly cause: unknown;
|
|
263
|
+
constructor(cause: unknown);
|
|
264
|
+
}
|
|
224
265
|
/** Options for {@link createFileStatePersistence}. */
|
|
225
266
|
export interface FileStatePersistenceOptions<T> {
|
|
226
267
|
/** Absolute path to the JSON file. Parent directories are created as needed. */
|
|
227
268
|
filePath: string;
|
|
269
|
+
/**
|
|
270
|
+
* Bind the record to the credential that minted it. Pass the value whose change
|
|
271
|
+
* should invalidate the cache — an env-supplied refresh token, an account id.
|
|
272
|
+
* Only a salted HMAC digest is written, never the value, and the salt is fresh
|
|
273
|
+
* per write. It is a change-detector rather than a password store, so prefer a
|
|
274
|
+
* non-secret discriminator where one exists.
|
|
275
|
+
*
|
|
276
|
+
* Without this a rotated credential is silently shadowed by a cache minted
|
|
277
|
+
* from the old one: the operator re-bootstraps, and the server keeps using
|
|
278
|
+
* what it had. freshbooks-mcp discovered this and tracked it as
|
|
279
|
+
* `seededFromEnv`; this is the generalised, non-secret-storing form.
|
|
280
|
+
*
|
|
281
|
+
* A record with no binding is not accepted when one is required — it cannot
|
|
282
|
+
* be shown to belong to this credential.
|
|
283
|
+
*/
|
|
284
|
+
boundTo?: string;
|
|
228
285
|
/**
|
|
229
286
|
* Narrow the parsed JSON to `T`, returning `null` to reject it. Without this
|
|
230
287
|
* any well-formed JSON is handed back and the caller must check the shape —
|
|
@@ -233,7 +290,11 @@ export interface FileStatePersistenceOptions<T> {
|
|
|
233
290
|
validate?: (raw: unknown) => T | null;
|
|
234
291
|
}
|
|
235
292
|
/**
|
|
236
|
-
* File-backed {@link StatePersistence}.
|
|
293
|
+
* File-backed {@link StatePersistence}. `load` never throws — an absent, corrupt
|
|
294
|
+
* or rejected record is simply `null`. `save` DOES throw on a failed write, so
|
|
295
|
+
* the manager above it can decide what that means.
|
|
296
|
+
*
|
|
297
|
+
* The file is `0600`, re-asserted after
|
|
237
298
|
* the write because `mode` only applies on creation. A directory is created
|
|
238
299
|
* `0700` and re-asserted the same way — but ONLY one this call creates: a bare
|
|
239
300
|
* {@link resolveStateDir} is `$HOME`, and on `mcp-host` the data dir exists
|
|
@@ -247,14 +308,64 @@ export interface FileStatePersistenceOptions<T> {
|
|
|
247
308
|
* the same registration can share a data directory, and a half-written token
|
|
248
309
|
* file that parses as valid JSON is worse than none.
|
|
249
310
|
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
311
|
+
* A load failure (absent, corrupt, rejected by `validate`) returns `null`; a
|
|
312
|
+
* save failure throws, leaving the previous file intact — the atomic replace
|
|
313
|
+
* means a failed write never damages what was already there. On `mcp-host` this
|
|
314
|
+
* belongs under {@link resolveStateDir}, which needs
|
|
253
315
|
* the registration to declare `state.dataDir: true` — the runner's
|
|
254
316
|
* unpersisted-state detector will report the omission rather than let the
|
|
255
317
|
* writes silently vanish on the next idle-stop.
|
|
256
318
|
*/
|
|
257
|
-
export declare function createFileStatePersistence<T>(opts: FileStatePersistenceOptions<T>):
|
|
319
|
+
export declare function createFileStatePersistence<T>(opts: FileStatePersistenceOptions<T>): SyncStatePersistence<T>;
|
|
320
|
+
/** Options for {@link createKeyedFileStatePersistence}. */
|
|
321
|
+
export interface KeyedFileStatePersistenceOptions<T> {
|
|
322
|
+
/** Absolute path to the shared JSON file. Parent dirs are created as needed. */
|
|
323
|
+
filePath: string;
|
|
324
|
+
/** Narrow a stored record to `T`, returning `null` to reject it. */
|
|
325
|
+
validate?: (raw: unknown) => T | null;
|
|
326
|
+
/**
|
|
327
|
+
* Normalize a key before storing or looking up. Defaults to trim + lowercase,
|
|
328
|
+
* because these keys are account identities (emails, usernames) — NOT origins.
|
|
329
|
+
* kiaaccess-mcp and alphaportal-mcp both had to override `SessionStore`'s
|
|
330
|
+
* origin normalizer for exactly this reason, so it is the default here.
|
|
331
|
+
*/
|
|
332
|
+
normalizeKey?: (key: string) => string;
|
|
333
|
+
}
|
|
334
|
+
/** A keyed store: hand each key out as its own {@link StatePersistence}. */
|
|
335
|
+
export interface KeyedStatePersistence<T> {
|
|
336
|
+
/**
|
|
337
|
+
* A single-record view of one key, shaped exactly like the persistence the
|
|
338
|
+
* managers take — so a multi-account server gives each account its own
|
|
339
|
+
* {@link TokenManager} over one shared file.
|
|
340
|
+
*/
|
|
341
|
+
forKey(key: string): SyncStatePersistence<T>;
|
|
342
|
+
/** The normalized keys currently held. */
|
|
343
|
+
keys(): string[];
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Many records in one file, keyed by account.
|
|
347
|
+
*
|
|
348
|
+
* {@link createFileStatePersistence} holds exactly one record, which is wrong
|
|
349
|
+
* for any server that authenticates as more than one identity — and actively
|
|
350
|
+
* unsafe for one that serves several users from a single process, where a
|
|
351
|
+
* single-record file would hand one user's token to the next. kiaaccess-mcp and
|
|
352
|
+
* alphaportal-mcp both hand-rolled this over {@link SessionStore}; this is the
|
|
353
|
+
* shared form, with the same atomic-replace and `0600`/`0700` hardening as the
|
|
354
|
+
* single-record store.
|
|
355
|
+
*
|
|
356
|
+
* Reads go through the file each time rather than an in-process cache, so a
|
|
357
|
+
* record written by a SIBLING process is picked up — the property kiaaccess-mcp's
|
|
358
|
+
* "constructed per call" comment exists to preserve.
|
|
359
|
+
*
|
|
360
|
+
* WRITES, though, are whole-file read-modify-write: two processes saving
|
|
361
|
+
* DIFFERENT keys at the same instant can lose one of the two, because each
|
|
362
|
+
* rewrites the map it read. The replace is atomic, so the file is never torn —
|
|
363
|
+
* only a concurrent sibling's update can be dropped, and the loser re-authenticates
|
|
364
|
+
* rather than reading anything wrong. That is acceptable for credential caches
|
|
365
|
+
* (rare writes, self-healing) and would not be for a general-purpose store. If
|
|
366
|
+
* that ever stops being true the fix is a lock file, not a bigger read.
|
|
367
|
+
*/
|
|
368
|
+
export declare function createKeyedFileStatePersistence<T>(opts: KeyedFileStatePersistenceOptions<T>): KeyedStatePersistence<T>;
|
|
258
369
|
/** Options for {@link resolveStateDir}. */
|
|
259
370
|
export interface ResolveStateDirOptions {
|
|
260
371
|
/** Environment to read (defaults to `process.env`) — injectable for tests. */
|
|
@@ -277,6 +388,32 @@ export interface ResolveStateDirOptions {
|
|
|
277
388
|
* {@link readEnvVar} applies.
|
|
278
389
|
*/
|
|
279
390
|
export declare function resolveStateDir(opts?: ResolveStateDirOptions): string;
|
|
391
|
+
/** Options for {@link resolveStateFile}. */
|
|
392
|
+
export interface ResolveStateFileOptions extends ResolveStateDirOptions {
|
|
393
|
+
/**
|
|
394
|
+
* An env var naming the file outright, checked first. Every fleet repo that
|
|
395
|
+
* hand-rolled persistence has one (`KIA_SESSION_FILE`, `VIBO_SESSION_FILE`,
|
|
396
|
+
* `ALPHAPORTAL_SESSION_FILE`) and every one of them uses it to keep its test
|
|
397
|
+
* suite off the developer's real `$HOME` — which is worth having by default
|
|
398
|
+
* rather than rediscovering per repo.
|
|
399
|
+
*/
|
|
400
|
+
envVar?: string;
|
|
401
|
+
/** File name inside the resolved directory. */
|
|
402
|
+
fileName: string;
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* The full path to a state file: `<envVar>` if set, else
|
|
406
|
+
* {@link resolveStateDir}`/<subdir>/<fileName>`.
|
|
407
|
+
*
|
|
408
|
+
* The override goes through the same hardened {@link readEnvVar} as the base, so
|
|
409
|
+
* a host forwarding an unexpanded `${...}` — or the literal `null` — falls back
|
|
410
|
+
* rather than creating a relative directory of that name under the process cwd.
|
|
411
|
+
* The result is always absolute: `~` expands against the same home the fallback
|
|
412
|
+
* uses, and anything relative is resolved, because
|
|
413
|
+
* {@link FileStatePersistenceOptions.filePath} is documented as absolute and a
|
|
414
|
+
* cwd-relative store would move with the process.
|
|
415
|
+
*/
|
|
416
|
+
export declare function resolveStateFile(opts: ResolveStateFileOptions): string;
|
|
280
417
|
/** Refresh proactively this many ms before the access token expires. */
|
|
281
418
|
export declare const TOKEN_REFRESH_SKEW_MS: number;
|
|
282
419
|
/** A bearer access token + (optional) refresh token + absolute expiry. */
|
|
@@ -348,6 +485,17 @@ export interface TokenManagerOptions {
|
|
|
348
485
|
* split {@link CookieSessionManagerOptions.isPermanentError} already makes.
|
|
349
486
|
*/
|
|
350
487
|
isRefreshRevoked?: (err: unknown) => boolean;
|
|
488
|
+
/**
|
|
489
|
+
* Called when a {@link TokenManagerOptions.persistence} write fails.
|
|
490
|
+
*
|
|
491
|
+
* Default: the failure is swallowed and the request proceeds on the
|
|
492
|
+
* in-memory token — right when a lost write merely costs a future re-login.
|
|
493
|
+
* It is WRONG when the service rotates single-use refresh tokens: the old one
|
|
494
|
+
* is already spent upstream, so a new one that never reaches disk locks the
|
|
495
|
+
* account out on the next start. **Throw from this hook to make the write
|
|
496
|
+
* fatal**, with a message naming the recovery (freshbooks-mcp's case).
|
|
497
|
+
*/
|
|
498
|
+
onPersistError?: (err: unknown) => void;
|
|
351
499
|
/** Injectable clock (defaults to `Date.now`) — for tests. */
|
|
352
500
|
now?: () => number;
|
|
353
501
|
}
|
|
@@ -378,6 +526,7 @@ export declare class TokenManager {
|
|
|
378
526
|
private readonly persistence;
|
|
379
527
|
private readonly now;
|
|
380
528
|
private readonly isRefreshRevokedFn;
|
|
529
|
+
private readonly onPersistErrorFn;
|
|
381
530
|
private inFlight;
|
|
382
531
|
private bootstrapInFlight;
|
|
383
532
|
/**
|
|
@@ -399,7 +548,10 @@ export declare class TokenManager {
|
|
|
399
548
|
private isUsable;
|
|
400
549
|
/** Read persisted tokens, guarding shape and usability. Never throws. */
|
|
401
550
|
private loadPersisted;
|
|
402
|
-
/**
|
|
551
|
+
/**
|
|
552
|
+
* Write tokens. Silent by default (a lost write costs a future login, not this
|
|
553
|
+
* request); throws a {@link StatePersistenceError} when `onPersistError` does.
|
|
554
|
+
*/
|
|
403
555
|
private persist;
|
|
404
556
|
/** Discard persisted tokens (a refresh they could not satisfy). Never throws. */
|
|
405
557
|
private clearPersisted;
|
|
@@ -526,6 +678,24 @@ export interface CookieSessionManagerOptions<S, R = Response> {
|
|
|
526
678
|
* in-memory-only behaviour. See {@link StatePersistence}.
|
|
527
679
|
*/
|
|
528
680
|
persistence?: StatePersistence<PersistedCookieSession<S>>;
|
|
681
|
+
/**
|
|
682
|
+
* Called when a {@link CookieSessionManagerOptions.persistence} write fails.
|
|
683
|
+
* Swallowed by default — the in-memory session is still usable.
|
|
684
|
+
*
|
|
685
|
+
* Where a throwing hook goes depends on which write failed. The login path
|
|
686
|
+
* awaits its write, so the error reaches a direct {@link CookieSessionManager.ensure}
|
|
687
|
+
* caller — but it is deliberately NOT offered to
|
|
688
|
+
* {@link CookieSessionManagerOptions.isPermanentError} first, because caching a
|
|
689
|
+
* disk error as a permanent config failure would brick every later `ensure()`.
|
|
690
|
+
*
|
|
691
|
+
* Two places it does NOT reach the caller. {@link CookieSessionManager.withSession}'s
|
|
692
|
+
* expiry replay catches `ensure()` and returns the stale response by design, so
|
|
693
|
+
* a "fatal" write there is dropped unless
|
|
694
|
+
* {@link CookieSessionManagerOptions.onReplayLoginError} rethrows too. And the
|
|
695
|
+
* `seed()`/`invalidate()` writes are fire-and-forget onto the ordering chain,
|
|
696
|
+
* whose retained tail swallows.
|
|
697
|
+
*/
|
|
698
|
+
onPersistError?: (err: unknown) => void;
|
|
529
699
|
}
|
|
530
700
|
/** What {@link CookieSessionManagerOptions.persistence} stores: a session plus its login time. */
|
|
531
701
|
export interface PersistedCookieSession<S> {
|
|
@@ -586,6 +756,7 @@ export declare class CookieSessionManager<S = CookieSession, R = Response> {
|
|
|
586
756
|
private readonly now;
|
|
587
757
|
private readonly onReplayLoginErrorFn;
|
|
588
758
|
private readonly persistence;
|
|
759
|
+
private readonly onPersistErrorFn;
|
|
589
760
|
/** Persistence is consulted once per process; a miss must not be re-read. */
|
|
590
761
|
private persistenceRead;
|
|
591
762
|
/**
|
|
@@ -644,9 +815,15 @@ export declare class CookieSessionManager<S = CookieSession, R = Response> {
|
|
|
644
815
|
* so an invalidate() cannot be undone by a stale file.
|
|
645
816
|
*/
|
|
646
817
|
private restoreFromPersistence;
|
|
647
|
-
/**
|
|
818
|
+
/**
|
|
819
|
+
* Append a persistence op to the chain, preserving call order.
|
|
820
|
+
*
|
|
821
|
+
* The RETURNED promise can reject — that is the whole `StatePersistenceError`
|
|
822
|
+
* path, and the awaited login write depends on it. Only the retained chain is
|
|
823
|
+
* swallowed, so one failed write cannot poison every later one.
|
|
824
|
+
*/
|
|
648
825
|
private enqueuePersist;
|
|
649
|
-
/** Write the session.
|
|
826
|
+
/** Write the session. Silent unless `onPersistError` throws. */
|
|
650
827
|
private persist;
|
|
651
828
|
/** Discard the persisted session. Never throws. */
|
|
652
829
|
private clearPersisted;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
|
package/dist/session/index.js
CHANGED
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
*/
|
|
34
34
|
import { z } from 'zod';
|
|
35
35
|
import { existsSync, readFileSync, writeFileSync, mkdirSync, chmodSync, renameSync, unlinkSync, } from 'node:fs';
|
|
36
|
-
import { dirname, join } from 'node:path';
|
|
36
|
+
import { dirname, join, resolve } from 'node:path';
|
|
37
37
|
import { homedir } from 'node:os';
|
|
38
|
-
import { randomBytes } from 'node:crypto';
|
|
38
|
+
import { randomBytes, createHmac } from 'node:crypto';
|
|
39
39
|
import { textResult } from '../response/index.js';
|
|
40
40
|
import { readEnvVar } from '../config/index.js';
|
|
41
41
|
import { ApiError, RateLimitedError, RequestTimeoutError } from '../http/index.js';
|
|
@@ -399,7 +399,48 @@ export class SessionStore {
|
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
401
|
/**
|
|
402
|
-
*
|
|
402
|
+
* Digest a credential under a salt.
|
|
403
|
+
*
|
|
404
|
+
* Salted per record rather than a bare `sha256(secret)`: this artifact sits in
|
|
405
|
+
* the same file as the tokens, and callers are invited to pass a password, so an
|
|
406
|
+
* unsalted digest would be a stable, precomputable target. The salt is random
|
|
407
|
+
* per write, so the same credential never produces the same digest twice.
|
|
408
|
+
*
|
|
409
|
+
* This is a change-detector, not a password store — prefer passing a non-secret
|
|
410
|
+
* discriminator (an env-supplied refresh token, an account id) where one exists.
|
|
411
|
+
*/
|
|
412
|
+
function bindingDigest(secret, salt) {
|
|
413
|
+
return createHmac('sha256', salt).update(secret).digest('hex').slice(0, 32);
|
|
414
|
+
}
|
|
415
|
+
function isEnvelope(raw) {
|
|
416
|
+
return raw !== null && typeof raw === 'object' && raw.v === 1 && 'state' in raw;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Wraps a failure that came from WRITING state, so the managers can tell it
|
|
420
|
+
* apart from a failure of the credential itself.
|
|
421
|
+
*
|
|
422
|
+
* This distinction is load-bearing, not cosmetic. `TokenManager` recovers from a
|
|
423
|
+
* rejected refresh by discarding the stored record and re-running the login —
|
|
424
|
+
* correct for a revoked token, catastrophic for a disk error, because the
|
|
425
|
+
* refresh that just SUCCEEDED already burned the old token upstream. Deleting
|
|
426
|
+
* the record at that point is precisely the lockout `onPersistError` exists to
|
|
427
|
+
* prevent, so a persistence failure is never routed into that recovery.
|
|
428
|
+
*/
|
|
429
|
+
export class StatePersistenceError extends Error {
|
|
430
|
+
cause;
|
|
431
|
+
constructor(cause) {
|
|
432
|
+
super(cause instanceof Error ? cause.message : String(cause));
|
|
433
|
+
this.name = 'StatePersistenceError';
|
|
434
|
+
this.cause = cause;
|
|
435
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* File-backed {@link StatePersistence}. `load` never throws — an absent, corrupt
|
|
440
|
+
* or rejected record is simply `null`. `save` DOES throw on a failed write, so
|
|
441
|
+
* the manager above it can decide what that means.
|
|
442
|
+
*
|
|
443
|
+
* The file is `0600`, re-asserted after
|
|
403
444
|
* the write because `mode` only applies on creation. A directory is created
|
|
404
445
|
* `0700` and re-asserted the same way — but ONLY one this call creates: a bare
|
|
405
446
|
* {@link resolveStateDir} is `$HOME`, and on `mcp-host` the data dir exists
|
|
@@ -413,24 +454,49 @@ export class SessionStore {
|
|
|
413
454
|
* the same registration can share a data directory, and a half-written token
|
|
414
455
|
* file that parses as valid JSON is worse than none.
|
|
415
456
|
*
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
-
*
|
|
457
|
+
* A load failure (absent, corrupt, rejected by `validate`) returns `null`; a
|
|
458
|
+
* save failure throws, leaving the previous file intact — the atomic replace
|
|
459
|
+
* means a failed write never damages what was already there. On `mcp-host` this
|
|
460
|
+
* belongs under {@link resolveStateDir}, which needs
|
|
419
461
|
* the registration to declare `state.dataDir: true` — the runner's
|
|
420
462
|
* unpersisted-state detector will report the omission rather than let the
|
|
421
463
|
* writes silently vanish on the next idle-stop.
|
|
422
464
|
*/
|
|
423
465
|
export function createFileStatePersistence(opts) {
|
|
424
466
|
const { filePath, validate } = opts;
|
|
467
|
+
const secret = opts.boundTo;
|
|
425
468
|
return {
|
|
426
469
|
load() {
|
|
427
470
|
if (!existsSync(filePath))
|
|
428
471
|
return null;
|
|
429
472
|
try {
|
|
430
473
|
const raw = JSON.parse(readFileSync(filePath, 'utf8'));
|
|
474
|
+
let state;
|
|
475
|
+
if (isEnvelope(raw)) {
|
|
476
|
+
const b = raw.boundTo;
|
|
477
|
+
if (secret === undefined) {
|
|
478
|
+
// A bound record is not ours to read when we hold no credential.
|
|
479
|
+
if (b !== undefined)
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
else {
|
|
483
|
+
if (b === undefined)
|
|
484
|
+
return null; // unbound record, binding required
|
|
485
|
+
if (bindingDigest(secret, b.salt) !== b.digest)
|
|
486
|
+
return null; // rotated
|
|
487
|
+
}
|
|
488
|
+
state = raw.state;
|
|
489
|
+
}
|
|
490
|
+
else {
|
|
491
|
+
// Legacy bare record. Trusted only when no binding is required: it
|
|
492
|
+
// carries no evidence of which credential minted it.
|
|
493
|
+
if (secret !== undefined)
|
|
494
|
+
return null;
|
|
495
|
+
state = raw;
|
|
496
|
+
}
|
|
431
497
|
if (validate !== undefined)
|
|
432
|
-
return validate(
|
|
433
|
-
return
|
|
498
|
+
return validate(state);
|
|
499
|
+
return state;
|
|
434
500
|
}
|
|
435
501
|
catch {
|
|
436
502
|
// Corrupt or unreadable: the caller re-authenticates. Unlike
|
|
@@ -452,16 +518,25 @@ export function createFileStatePersistence(opts) {
|
|
|
452
518
|
// mkdir's mode is subject to the umask, so re-assert it on what we made.
|
|
453
519
|
if (!dirExisted)
|
|
454
520
|
chmodSync(dir, 0o700);
|
|
455
|
-
|
|
521
|
+
let boundTo;
|
|
522
|
+
if (secret !== undefined) {
|
|
523
|
+
const salt = randomBytes(16).toString('hex');
|
|
524
|
+
boundTo = { salt, digest: bindingDigest(secret, salt) };
|
|
525
|
+
}
|
|
526
|
+
const envelope = { v: 1, ...(boundTo !== undefined ? { boundTo } : {}), state };
|
|
527
|
+
writeFileSync(tmp, JSON.stringify(envelope, null, 2), { mode: 0o600 });
|
|
456
528
|
// Tighten BEFORE the rename: the window where fresh secrets sit in a
|
|
457
529
|
// possibly-loose file should not exist at all.
|
|
458
530
|
chmodSync(tmp, 0o600);
|
|
459
531
|
renameSync(tmp, filePath);
|
|
460
532
|
chmodSync(filePath, 0o600);
|
|
461
533
|
}
|
|
462
|
-
catch {
|
|
463
|
-
//
|
|
464
|
-
//
|
|
534
|
+
catch (err) {
|
|
535
|
+
// Best-effort cleanup of the temp file so a failed write does not
|
|
536
|
+
// litter the data dir. The failure itself is RE-THROWN: whether losing
|
|
537
|
+
// a write is survivable is the manager's call (see `onPersistError`),
|
|
538
|
+
// not this file's — freshbooks-mcp's rotating single-use tokens make it
|
|
539
|
+
// fatal, most services make it a nuisance.
|
|
465
540
|
try {
|
|
466
541
|
if (existsSync(tmp))
|
|
467
542
|
unlinkSync(tmp);
|
|
@@ -469,6 +544,7 @@ export function createFileStatePersistence(opts) {
|
|
|
469
544
|
catch {
|
|
470
545
|
/* best-effort */
|
|
471
546
|
}
|
|
547
|
+
throw err;
|
|
472
548
|
}
|
|
473
549
|
},
|
|
474
550
|
clear() {
|
|
@@ -482,6 +558,107 @@ export function createFileStatePersistence(opts) {
|
|
|
482
558
|
},
|
|
483
559
|
};
|
|
484
560
|
}
|
|
561
|
+
/**
|
|
562
|
+
* Many records in one file, keyed by account.
|
|
563
|
+
*
|
|
564
|
+
* {@link createFileStatePersistence} holds exactly one record, which is wrong
|
|
565
|
+
* for any server that authenticates as more than one identity — and actively
|
|
566
|
+
* unsafe for one that serves several users from a single process, where a
|
|
567
|
+
* single-record file would hand one user's token to the next. kiaaccess-mcp and
|
|
568
|
+
* alphaportal-mcp both hand-rolled this over {@link SessionStore}; this is the
|
|
569
|
+
* shared form, with the same atomic-replace and `0600`/`0700` hardening as the
|
|
570
|
+
* single-record store.
|
|
571
|
+
*
|
|
572
|
+
* Reads go through the file each time rather than an in-process cache, so a
|
|
573
|
+
* record written by a SIBLING process is picked up — the property kiaaccess-mcp's
|
|
574
|
+
* "constructed per call" comment exists to preserve.
|
|
575
|
+
*
|
|
576
|
+
* WRITES, though, are whole-file read-modify-write: two processes saving
|
|
577
|
+
* DIFFERENT keys at the same instant can lose one of the two, because each
|
|
578
|
+
* rewrites the map it read. The replace is atomic, so the file is never torn —
|
|
579
|
+
* only a concurrent sibling's update can be dropped, and the loser re-authenticates
|
|
580
|
+
* rather than reading anything wrong. That is acceptable for credential caches
|
|
581
|
+
* (rare writes, self-healing) and would not be for a general-purpose store. If
|
|
582
|
+
* that ever stops being true the fix is a lock file, not a bigger read.
|
|
583
|
+
*/
|
|
584
|
+
export function createKeyedFileStatePersistence(opts) {
|
|
585
|
+
const { filePath, validate } = opts;
|
|
586
|
+
const normalize = opts.normalizeKey ?? ((k) => k.trim().toLowerCase());
|
|
587
|
+
const readAll = () => {
|
|
588
|
+
if (!existsSync(filePath))
|
|
589
|
+
return {};
|
|
590
|
+
try {
|
|
591
|
+
const raw = JSON.parse(readFileSync(filePath, 'utf8'));
|
|
592
|
+
if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
|
|
593
|
+
return {};
|
|
594
|
+
return raw;
|
|
595
|
+
}
|
|
596
|
+
catch {
|
|
597
|
+
return {};
|
|
598
|
+
}
|
|
599
|
+
};
|
|
600
|
+
const writeAll = (all) => {
|
|
601
|
+
const dir = dirname(filePath);
|
|
602
|
+
const tmp = `${filePath}.tmp-${randomBytes(6).toString('hex')}`;
|
|
603
|
+
const dirExisted = existsSync(dir);
|
|
604
|
+
try {
|
|
605
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
606
|
+
if (!dirExisted)
|
|
607
|
+
chmodSync(dir, 0o700);
|
|
608
|
+
writeFileSync(tmp, JSON.stringify(all, null, 2), { mode: 0o600 });
|
|
609
|
+
chmodSync(tmp, 0o600);
|
|
610
|
+
renameSync(tmp, filePath);
|
|
611
|
+
chmodSync(filePath, 0o600);
|
|
612
|
+
}
|
|
613
|
+
catch (err) {
|
|
614
|
+
try {
|
|
615
|
+
if (existsSync(tmp))
|
|
616
|
+
unlinkSync(tmp);
|
|
617
|
+
}
|
|
618
|
+
catch {
|
|
619
|
+
/* best-effort */
|
|
620
|
+
}
|
|
621
|
+
throw err;
|
|
622
|
+
}
|
|
623
|
+
};
|
|
624
|
+
return {
|
|
625
|
+
forKey(key) {
|
|
626
|
+
const k = normalize(key);
|
|
627
|
+
return {
|
|
628
|
+
load() {
|
|
629
|
+
const raw = readAll()[k];
|
|
630
|
+
if (raw === undefined)
|
|
631
|
+
return null;
|
|
632
|
+
return validate !== undefined ? validate(raw) : raw;
|
|
633
|
+
},
|
|
634
|
+
save(state) {
|
|
635
|
+
const all = readAll();
|
|
636
|
+
all[k] = state;
|
|
637
|
+
writeAll(all);
|
|
638
|
+
},
|
|
639
|
+
clear() {
|
|
640
|
+
const all = readAll();
|
|
641
|
+
if (!(k in all))
|
|
642
|
+
return;
|
|
643
|
+
delete all[k];
|
|
644
|
+
writeAll(all);
|
|
645
|
+
},
|
|
646
|
+
};
|
|
647
|
+
},
|
|
648
|
+
keys() {
|
|
649
|
+
return Object.keys(readAll());
|
|
650
|
+
},
|
|
651
|
+
};
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* The home directory a state resolver should use: an injected `HOME` when the
|
|
655
|
+
* caller supplied an env, else the OS home. Shared by both branches below so
|
|
656
|
+
* they cannot drift — an override expanding `~` against a different home than
|
|
657
|
+
* the fallback resolves to is exactly the bug this centralises away.
|
|
658
|
+
*/
|
|
659
|
+
function homeOf(env) {
|
|
660
|
+
return readEnvVar('HOME', { env }) ?? homedir();
|
|
661
|
+
}
|
|
485
662
|
/**
|
|
486
663
|
* Where a server should keep state that must survive a restart.
|
|
487
664
|
*
|
|
@@ -503,8 +680,38 @@ export function resolveStateDir(opts = {}) {
|
|
|
503
680
|
// is a RELATIVE `./null` directory, so the credential would be written under
|
|
504
681
|
// the process cwd and silently stop surviving restarts.
|
|
505
682
|
const env = opts.env;
|
|
506
|
-
|
|
507
|
-
|
|
683
|
+
return join(readEnvVar('MCP_DATA_DIR', { env }) ?? homeOf(env), opts.subdir ?? '');
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* The full path to a state file: `<envVar>` if set, else
|
|
687
|
+
* {@link resolveStateDir}`/<subdir>/<fileName>`.
|
|
688
|
+
*
|
|
689
|
+
* The override goes through the same hardened {@link readEnvVar} as the base, so
|
|
690
|
+
* a host forwarding an unexpanded `${...}` — or the literal `null` — falls back
|
|
691
|
+
* rather than creating a relative directory of that name under the process cwd.
|
|
692
|
+
* The result is always absolute: `~` expands against the same home the fallback
|
|
693
|
+
* uses, and anything relative is resolved, because
|
|
694
|
+
* {@link FileStatePersistenceOptions.filePath} is documented as absolute and a
|
|
695
|
+
* cwd-relative store would move with the process.
|
|
696
|
+
*/
|
|
697
|
+
export function resolveStateFile(opts) {
|
|
698
|
+
const override = opts.envVar !== undefined ? readEnvVar(opts.envVar, { env: opts.env }) : undefined;
|
|
699
|
+
if (override !== undefined) {
|
|
700
|
+
// `~` expanded against the SAME home the fallback branch uses — `expandPath`
|
|
701
|
+
// would resolve it against os.homedir() and ignore an injected
|
|
702
|
+
// `opts.env.HOME`, making the two branches disagree. `resolve` then keeps
|
|
703
|
+
// the documented "absolute path" guarantee: a relative override would
|
|
704
|
+
// otherwise follow the process's cwd around.
|
|
705
|
+
if (override === '~')
|
|
706
|
+
return homeOf(opts.env);
|
|
707
|
+
if (override.startsWith('~/'))
|
|
708
|
+
return join(homeOf(opts.env), override.slice(2));
|
|
709
|
+
return resolve(override);
|
|
710
|
+
}
|
|
711
|
+
const dirOpts = { env: opts.env };
|
|
712
|
+
if (opts.subdir !== undefined)
|
|
713
|
+
dirOpts.subdir = opts.subdir;
|
|
714
|
+
return join(resolveStateDir(dirOpts), opts.fileName);
|
|
508
715
|
}
|
|
509
716
|
// ===========================================================================
|
|
510
717
|
// 4. TokenManager — bearer lifecycle (skew, proactive + reactive, race-safe)
|
|
@@ -563,6 +770,7 @@ export class TokenManager {
|
|
|
563
770
|
persistence;
|
|
564
771
|
now;
|
|
565
772
|
isRefreshRevokedFn;
|
|
773
|
+
onPersistErrorFn;
|
|
566
774
|
inFlight;
|
|
567
775
|
bootstrapInFlight;
|
|
568
776
|
/**
|
|
@@ -585,6 +793,7 @@ export class TokenManager {
|
|
|
585
793
|
this.persistence = opts.persistence;
|
|
586
794
|
this.now = opts.now ?? Date.now;
|
|
587
795
|
this.isRefreshRevokedFn = opts.isRefreshRevoked ?? defaultIsRefreshRevoked;
|
|
796
|
+
this.onPersistErrorFn = opts.onPersistError;
|
|
588
797
|
}
|
|
589
798
|
/** Whether the token is within the skew window of (or past) expiry. */
|
|
590
799
|
needsRefresh() {
|
|
@@ -615,15 +824,29 @@ export class TokenManager {
|
|
|
615
824
|
return null;
|
|
616
825
|
}
|
|
617
826
|
}
|
|
618
|
-
/**
|
|
827
|
+
/**
|
|
828
|
+
* Write tokens. Silent by default (a lost write costs a future login, not this
|
|
829
|
+
* request); throws a {@link StatePersistenceError} when `onPersistError` does.
|
|
830
|
+
*/
|
|
619
831
|
async persist(t) {
|
|
620
832
|
if (this.persistence === undefined)
|
|
621
833
|
return;
|
|
622
834
|
try {
|
|
623
835
|
await this.persistence.save(t);
|
|
624
836
|
}
|
|
625
|
-
catch {
|
|
626
|
-
|
|
837
|
+
catch (err) {
|
|
838
|
+
// Default: the in-memory token is still valid for this process, so the
|
|
839
|
+
// request proceeds. A hook that rethrows makes the lost write fatal —
|
|
840
|
+
// wrapped so the recovery path below cannot mistake a disk error for a
|
|
841
|
+
// revoked credential and delete the very record that was not written.
|
|
842
|
+
if (this.onPersistErrorFn === undefined)
|
|
843
|
+
return;
|
|
844
|
+
try {
|
|
845
|
+
this.onPersistErrorFn(err);
|
|
846
|
+
}
|
|
847
|
+
catch (hookErr) {
|
|
848
|
+
throw new StatePersistenceError(hookErr);
|
|
849
|
+
}
|
|
627
850
|
}
|
|
628
851
|
}
|
|
629
852
|
/** Discard persisted tokens (a refresh they could not satisfy). Never throws. */
|
|
@@ -660,7 +883,15 @@ export class TokenManager {
|
|
|
660
883
|
}
|
|
661
884
|
const fresh = await this.bootstrapFn();
|
|
662
885
|
this.tokens = fresh;
|
|
663
|
-
|
|
886
|
+
// Unwrapped here: there is no recovery to protect on the bootstrap path (the
|
|
887
|
+
// credential was just minted), and the caller should see the hook's own
|
|
888
|
+
// error — repos throw an McpToolError whose `hint` a wrapper would strip.
|
|
889
|
+
try {
|
|
890
|
+
await this.persist(fresh);
|
|
891
|
+
}
|
|
892
|
+
catch (err) {
|
|
893
|
+
throw err instanceof StatePersistenceError ? err.cause : err;
|
|
894
|
+
}
|
|
664
895
|
return fresh;
|
|
665
896
|
}
|
|
666
897
|
/**
|
|
@@ -698,6 +929,11 @@ export class TokenManager {
|
|
|
698
929
|
* staying broken forever. Shared so the two entry points cannot diverge.
|
|
699
930
|
*/
|
|
700
931
|
async reBootstrap(err) {
|
|
932
|
+
// A write that failed says nothing about the credential — and the refresh
|
|
933
|
+
// that produced it SUCCEEDED, spending the old token upstream. Clearing the
|
|
934
|
+
// store here would destroy the only surviving copy.
|
|
935
|
+
if (err instanceof StatePersistenceError)
|
|
936
|
+
throw err.cause;
|
|
701
937
|
if (this.bootstrapFn === undefined)
|
|
702
938
|
throw err;
|
|
703
939
|
// Only a credential we believe is DEAD is worth destroying. A 5xx or a
|
|
@@ -823,6 +1059,7 @@ export class CookieSessionManager {
|
|
|
823
1059
|
now;
|
|
824
1060
|
onReplayLoginErrorFn;
|
|
825
1061
|
persistence;
|
|
1062
|
+
onPersistErrorFn;
|
|
826
1063
|
/** Persistence is consulted once per process; a miss must not be re-read. */
|
|
827
1064
|
persistenceRead = false;
|
|
828
1065
|
/**
|
|
@@ -842,6 +1079,7 @@ export class CookieSessionManager {
|
|
|
842
1079
|
this.now = opts.now ?? Date.now;
|
|
843
1080
|
this.onReplayLoginErrorFn = opts.onReplayLoginError;
|
|
844
1081
|
this.persistence = opts.persistence;
|
|
1082
|
+
this.onPersistErrorFn = opts.onPersistError;
|
|
845
1083
|
}
|
|
846
1084
|
/** The current session, or `undefined` before the first successful login. */
|
|
847
1085
|
get current() {
|
|
@@ -933,6 +1171,12 @@ export class CookieSessionManager {
|
|
|
933
1171
|
return session;
|
|
934
1172
|
}
|
|
935
1173
|
catch (err) {
|
|
1174
|
+
// A failed WRITE is not a failed login: routing it through
|
|
1175
|
+
// isPermanentError can cache a transient disk error as permanent, and
|
|
1176
|
+
// then every ensure() after the next expiry throws forever without ever
|
|
1177
|
+
// retrying. The session itself was minted fine.
|
|
1178
|
+
if (err instanceof StatePersistenceError)
|
|
1179
|
+
throw err.cause;
|
|
936
1180
|
if (this.isPermanentErrorFn(err))
|
|
937
1181
|
this.permanentError = err;
|
|
938
1182
|
throw err;
|
|
@@ -986,13 +1230,19 @@ export class CookieSessionManager {
|
|
|
986
1230
|
return null;
|
|
987
1231
|
}
|
|
988
1232
|
}
|
|
989
|
-
/**
|
|
1233
|
+
/**
|
|
1234
|
+
* Append a persistence op to the chain, preserving call order.
|
|
1235
|
+
*
|
|
1236
|
+
* The RETURNED promise can reject — that is the whole `StatePersistenceError`
|
|
1237
|
+
* path, and the awaited login write depends on it. Only the retained chain is
|
|
1238
|
+
* swallowed, so one failed write cannot poison every later one.
|
|
1239
|
+
*/
|
|
990
1240
|
enqueuePersist(op) {
|
|
991
1241
|
const next = this.persistChain.then(op);
|
|
992
1242
|
this.persistChain = next.catch(() => undefined);
|
|
993
1243
|
return next;
|
|
994
1244
|
}
|
|
995
|
-
/** Write the session.
|
|
1245
|
+
/** Write the session. Silent unless `onPersistError` throws. */
|
|
996
1246
|
persist(session, sessionAt) {
|
|
997
1247
|
return this.enqueuePersist(async () => {
|
|
998
1248
|
if (this.persistence === undefined)
|
|
@@ -1000,8 +1250,18 @@ export class CookieSessionManager {
|
|
|
1000
1250
|
try {
|
|
1001
1251
|
await this.persistence.save({ session, sessionAt });
|
|
1002
1252
|
}
|
|
1003
|
-
catch {
|
|
1004
|
-
|
|
1253
|
+
catch (err) {
|
|
1254
|
+
// The in-memory session is still usable for this process. A hook that
|
|
1255
|
+
// rethrows is wrapped so runLogin can tell a disk failure from a login
|
|
1256
|
+
// failure — see the catch there.
|
|
1257
|
+
if (this.onPersistErrorFn === undefined)
|
|
1258
|
+
return;
|
|
1259
|
+
try {
|
|
1260
|
+
this.onPersistErrorFn(err);
|
|
1261
|
+
}
|
|
1262
|
+
catch (hookErr) {
|
|
1263
|
+
throw new StatePersistenceError(hookErr);
|
|
1264
|
+
}
|
|
1005
1265
|
}
|
|
1006
1266
|
});
|
|
1007
1267
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chrischall/mcp-utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"description": "Shared scaffolding for the chrischall MCP fleet — server bootstrap, tool-result formatting, helpful errors, hardened env/config, a bearer API-client kit, zod atoms, session registries, a fetchproxy transport adapter, auth resolver skeletons, an in-memory test harness, and opt-in HTML helpers. The generic MCP glue hoisted out of ~19 sibling servers.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|