@chrischall/mcp-utils 0.19.4 → 0.20.0
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 -0
- package/dist/fetchproxy/index.d.ts +44 -5
- package/dist/fetchproxy/index.d.ts.map +1 -1
- package/dist/fetchproxy/index.js +151 -46
- package/dist/fetchproxy/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -699,6 +699,32 @@ custom `{ kind, hint }` (e.g. an SSO bounce → `session_expired` with re-sign-i
|
|
|
699
699
|
copy; its hint wins the result hint), and `hints` overrides the default copy
|
|
700
700
|
per ladder arm (`{ timeout: 'DataDome may be challenging the tab — …' }`).
|
|
701
701
|
|
|
702
|
+
**The extension link.** A probe that fails with fetchproxy's
|
|
703
|
+
`FetchproxySessionNotReadyError` reports `error.kind: 'session_not_ready'`
|
|
704
|
+
(classified here, so it holds on a pre-2.5 server too) and the hint names the
|
|
705
|
+
missing leg: the pair code to approve in the popup, "no extension attached
|
|
706
|
+
(port N)", or "attached but never answered the hello" — the shape a hosted
|
|
707
|
+
bridge produces when the relay dials the child before it binds. With
|
|
708
|
+
`@fetchproxy/server` 2.5.0+ the `bridge` block also carries `session_state`,
|
|
709
|
+
`pending_pair_code` and `extension_connected` from `bridgeHealth().session`.
|
|
710
|
+
|
|
711
|
+
**Direct-first consumers** (hemnet, booli: a plain fetch that falls back to
|
|
712
|
+
the bridge when a bot wall answers) pass `path: () => ({ transport, mode })`
|
|
713
|
+
reporting which leg serves calls now, and may pass `transport` as a getter
|
|
714
|
+
that returns the bridge once it exists. The probe then runs through `probeFn`
|
|
715
|
+
directly (the probe itself is often what flips the fallback), the result
|
|
716
|
+
carries the path as `transport`, and the `bridge` block appears only once a
|
|
717
|
+
bridge has been built:
|
|
718
|
+
|
|
719
|
+
```ts
|
|
720
|
+
registerBridgeHealthcheckTool({
|
|
721
|
+
server, prefix: 'hemnet', probePath: '/graphql', hostLabel: 'www.hemnet.se',
|
|
722
|
+
transport: () => fallback.bridgeTransport(), // undefined until walled
|
|
723
|
+
path: () => fallback.status(), // { transport: 'direct' | 'fetchproxy', mode }
|
|
724
|
+
probeFn: () => client.healthcheck().then(JSON.stringify),
|
|
725
|
+
});
|
|
726
|
+
```
|
|
727
|
+
|
|
702
728
|
### `healthcheck` — credential healthchecks *(subpath, no optional peers)*
|
|
703
729
|
|
|
704
730
|
```ts
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
*/
|
|
37
37
|
import { FetchproxyServer, type FetchproxyServerOpts, type HttpResponse, type BridgeProbeResult } from '@fetchproxy/server';
|
|
38
38
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
39
|
-
export { FetchproxyServer, mapWithConcurrency, withDeadline, TokenBucket, classifyBotWall, retryOnceOnTimeout, FetchproxyProtocolError, FetchproxyHttpError, FetchproxyBridgeDownError, FetchproxyTimeoutError, classifyBridgeError, classifyRowError, classifyFetchError, backoffDelayMs, BRIDGE_CONCURRENCY, chunk, sleep, extractGlobalAssign, extractBalancedObject, extractImgTags, lastPathSegment, } from '@fetchproxy/server';
|
|
39
|
+
export { FetchproxyServer, mapWithConcurrency, withDeadline, TokenBucket, classifyBotWall, retryOnceOnTimeout, FetchproxyProtocolError, FetchproxyHttpError, FetchproxyBridgeDownError, FetchproxySessionNotReadyError, FetchproxyTimeoutError, classifyBridgeError, classifyRowError, classifyFetchError, backoffDelayMs, BRIDGE_CONCURRENCY, chunk, sleep, extractGlobalAssign, extractBalancedObject, extractImgTags, lastPathSegment, } from '@fetchproxy/server';
|
|
40
40
|
export type { FetchproxyServerOpts, FetchResult, FetchResultError, HttpResponse, RequestOpts, BodylessRequestOpts, BridgeHealth, BridgeProbeResult, BridgeError, FetchErrorKind, BotWallResult, BotWallVendor, TokenBucketOptions, BackoffOptions, DeadlineOutcome, } from '@fetchproxy/server';
|
|
41
41
|
/**
|
|
42
42
|
* One request to round-trip through the bridge. The path is resolved relative
|
|
@@ -273,7 +273,7 @@ export interface CreateBootstrapOptsArgs {
|
|
|
273
273
|
export declare function createBootstrapOpts(args: CreateBootstrapOptsArgs): Pick<FetchproxyServerOpts, 'domains' | 'capabilities' | 'cookieKeys' | 'localStorageKeys' | 'sessionStorageKeys' | 'localStoragePointers' | 'sessionStoragePointers' | 'captureHeaders' | 'indexedDbScopes' | 'domSelectors'>;
|
|
274
274
|
/** Discriminated classification of a tool-boundary error. */
|
|
275
275
|
export interface BridgeErrorInfo {
|
|
276
|
-
type: 'bridge_down' | 'timeout' | 'http' | 'protocol' | 'unknown';
|
|
276
|
+
type: 'session_not_ready' | 'bridge_down' | 'timeout' | 'http' | 'protocol' | 'unknown';
|
|
277
277
|
message: string;
|
|
278
278
|
hint?: string;
|
|
279
279
|
}
|
|
@@ -290,9 +290,21 @@ export declare function bridgeErrorInfo(err: unknown): BridgeErrorInfo;
|
|
|
290
290
|
/** The diagnostic result a `<prefix>_healthcheck` tool returns. */
|
|
291
291
|
export interface BridgeHealthcheckResult {
|
|
292
292
|
ok: boolean;
|
|
293
|
-
|
|
293
|
+
/**
|
|
294
|
+
* The bridge projection. Present whenever a bridge transport exists —
|
|
295
|
+
* always, except on the direct leg of a {@link RegisterBridgeHealthcheckToolArgs.path}
|
|
296
|
+
* consumer, where no bridge has been built. `session_state` /
|
|
297
|
+
* `pending_pair_code` / `extension_connected` arrive with `@fetchproxy/server`
|
|
298
|
+
* 2.5.0+ (`bridgeHealth().session`) and are absent on older servers.
|
|
299
|
+
*/
|
|
300
|
+
bridge?: BridgeProbeResult['bridge'] & {
|
|
294
301
|
last_extension_message_at: number | null;
|
|
302
|
+
session_state?: 'not_listening' | 'linked' | 'pair_pending' | 'extension_disconnected' | 'no_session';
|
|
303
|
+
pending_pair_code?: string | null;
|
|
304
|
+
extension_connected?: boolean;
|
|
295
305
|
};
|
|
306
|
+
/** Which leg served the probe — present when {@link RegisterBridgeHealthcheckToolArgs.path} is supplied. */
|
|
307
|
+
transport?: HealthcheckPath;
|
|
296
308
|
probe: {
|
|
297
309
|
url: string;
|
|
298
310
|
elapsed_ms: number;
|
|
@@ -323,7 +335,20 @@ export interface BridgeHealthcheckResult {
|
|
|
323
335
|
hint: string;
|
|
324
336
|
}
|
|
325
337
|
/** The hint-ladder arms whose copy {@link RegisterBridgeHealthcheckToolArgs.hints} can override. */
|
|
326
|
-
export type HealthcheckHintArm = 'ok' | 'bridge_down' | 'no_role' | 'timeout' | 'protocol' | 'unknown';
|
|
338
|
+
export type HealthcheckHintArm = 'ok' | 'session_not_ready' | 'bridge_down' | 'no_role' | 'timeout' | 'protocol' | 'direct' | 'unknown';
|
|
339
|
+
/**
|
|
340
|
+
* Which leg a direct-first consumer is serving calls on. `transport` is the
|
|
341
|
+
* path the next call rides; `mode` is the configured pin (e.g. hemnet's
|
|
342
|
+
* `HEMNET_TRANSPORT`: `direct` / `fetchproxy` / `auto`). Extra fields pass
|
|
343
|
+
* through to the result untouched.
|
|
344
|
+
*/
|
|
345
|
+
export interface HealthcheckPath {
|
|
346
|
+
transport: 'direct' | 'fetchproxy' | 'unknown';
|
|
347
|
+
mode?: string;
|
|
348
|
+
[key: string]: unknown;
|
|
349
|
+
}
|
|
350
|
+
/** The slice of {@link FetchproxyTransport} the healthcheck drives. */
|
|
351
|
+
export type BridgeHealthcheckTransport = Pick<FetchproxyTransport, 'runProbe' | 'status'>;
|
|
327
352
|
/** Options for {@link registerBridgeHealthcheckTool}. */
|
|
328
353
|
export interface RegisterBridgeHealthcheckToolArgs {
|
|
329
354
|
/** The `McpServer` to register the tool on. */
|
|
@@ -341,8 +366,22 @@ export interface RegisterBridgeHealthcheckToolArgs {
|
|
|
341
366
|
* The bridge transport — supplies `runProbe` (the probe loop + classification
|
|
342
367
|
* + post-probe bridge projection) and `status()` (for the liveness counter the
|
|
343
368
|
* projection omits). Any {@link FetchproxyTransport}-shaped object works.
|
|
369
|
+
*
|
|
370
|
+
* A direct-first consumer (see {@link path}) builds its bridge lazily — often
|
|
371
|
+
* the probe itself is what flips the fallback — so it may pass a getter
|
|
372
|
+
* instead, returning the bridge once it exists and `undefined` before. The
|
|
373
|
+
* getter is read AFTER the probe.
|
|
374
|
+
*/
|
|
375
|
+
transport: BridgeHealthcheckTransport | (() => BridgeHealthcheckTransport | undefined);
|
|
376
|
+
/**
|
|
377
|
+
* Direct-first consumers (hemnet, booli: a plain fetch that falls back to the
|
|
378
|
+
* bridge when a bot wall answers): report which leg serves calls now. Read
|
|
379
|
+
* after the probe. When supplied, the probe runs through `probeFn` directly —
|
|
380
|
+
* `runProbe` needs a bridge up front and there may be none — and the bridge
|
|
381
|
+
* block is projected from `transport().status()` only if a bridge exists.
|
|
382
|
+
* The result carries the path as `transport`.
|
|
344
383
|
*/
|
|
345
|
-
|
|
384
|
+
path?: () => HealthcheckPath;
|
|
346
385
|
/**
|
|
347
386
|
* Performs the actual probe fetch for `probePath`. Required — most consumers
|
|
348
387
|
* pass `(path) => client.fetchHtml(path)` so the probe exercises the same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetchproxy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetchproxy/index.ts"],"names":[],"mappings":"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"}
|
package/dist/fetchproxy/index.js
CHANGED
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
* `FetchproxyServer` instance (no NEW top-level `@fetchproxy/server` import),
|
|
35
35
|
* so the bundle-load smoke posture is unchanged.
|
|
36
36
|
*/
|
|
37
|
-
import { FetchproxyServer, FetchproxyBridgeDownError, classifyBridgeError as classifyBridgeErrorKind, } from '@fetchproxy/server';
|
|
37
|
+
import { FetchproxyServer, FetchproxyBridgeDownError, FetchproxySessionNotReadyError, classifyBridgeError as classifyBridgeErrorKind, } from '@fetchproxy/server';
|
|
38
38
|
import { truncateErrorMessage, messageOf } from '../errors/index.js';
|
|
39
39
|
// ---------------------------------------------------------------------------
|
|
40
40
|
// Re-exports — single import site for the bridge primitives (design: re-export,
|
|
41
41
|
// never reimplement). MCPs import these from here instead of reaching into
|
|
42
42
|
// `@fetchproxy/server` directly, so a version bump is absorbed in one place.
|
|
43
43
|
// ---------------------------------------------------------------------------
|
|
44
|
-
export { FetchproxyServer, mapWithConcurrency, withDeadline, TokenBucket, classifyBotWall, retryOnceOnTimeout, FetchproxyProtocolError, FetchproxyHttpError, FetchproxyBridgeDownError, FetchproxyTimeoutError, classifyBridgeError, classifyRowError, classifyFetchError, backoffDelayMs, BRIDGE_CONCURRENCY,
|
|
44
|
+
export { FetchproxyServer, mapWithConcurrency, withDeadline, TokenBucket, classifyBotWall, retryOnceOnTimeout, FetchproxyProtocolError, FetchproxyHttpError, FetchproxyBridgeDownError, FetchproxySessionNotReadyError, FetchproxyTimeoutError, classifyBridgeError, classifyRowError, classifyFetchError, backoffDelayMs, BRIDGE_CONCURRENCY,
|
|
45
45
|
// Page-state / scrape + small async helpers. Re-exported so a consumer can
|
|
46
46
|
// route its ENTIRE `@fetchproxy/server` surface through this subpath (single
|
|
47
47
|
// import site) — the realty MCPs use these alongside the bridge primitives.
|
|
@@ -263,6 +263,17 @@ export function createBootstrapOpts(args) {
|
|
|
263
263
|
* string kind (drop-in compatible with `@fetchproxy/server`).
|
|
264
264
|
*/
|
|
265
265
|
export function bridgeErrorInfo(err) {
|
|
266
|
+
if (err instanceof FetchproxySessionNotReadyError) {
|
|
267
|
+
// Checked here rather than through the server's classifier so it holds on
|
|
268
|
+
// a 2.4 server too (2.5.0 classifies it; before that it fell to 'other').
|
|
269
|
+
// The server folds the hint into the message — split it back out so a
|
|
270
|
+
// consumer that appends `hint` to `message` does not say it twice.
|
|
271
|
+
return {
|
|
272
|
+
type: 'session_not_ready',
|
|
273
|
+
message: truncateErrorMessage(messageOf(err).replace(err.hint, '').trim()),
|
|
274
|
+
hint: err.hint,
|
|
275
|
+
};
|
|
276
|
+
}
|
|
266
277
|
const kind = classifyBridgeErrorKind(err);
|
|
267
278
|
const message = truncateErrorMessage(messageOf(err));
|
|
268
279
|
switch (kind) {
|
|
@@ -305,15 +316,34 @@ export function bridgeErrorInfo(err) {
|
|
|
305
316
|
*/
|
|
306
317
|
function healthcheckHint(args) {
|
|
307
318
|
const { hostLabel, prefix, probePath, port } = args;
|
|
319
|
+
// Never a literal 37149: when no bridge exists yet there is no port to
|
|
320
|
+
// name, and guessing the default is the bug this factory exists to remove.
|
|
321
|
+
const portNote = port === null ? '' : ` (port ${port})`;
|
|
308
322
|
if (args.ok) {
|
|
323
|
+
if (args.direct) {
|
|
324
|
+
return `Direct fetch round-tripped ${probePath} successfully — the browser bridge wasn't used for this probe. If real tools still fail, the problem is on the ${hostLabel} side (a bot wall answering some calls but not this one, a field that moved, …), not the transport.`;
|
|
325
|
+
}
|
|
309
326
|
return `Bridge round-tripped ${probePath} successfully. If real tools still fail, the problem is downstream of fetchproxy (${hostLabel} redirecting on login, a bot-wall / behavioral challenge, etc.) — not the bridge.`;
|
|
310
327
|
}
|
|
328
|
+
if (args.errorKind === 'session_not_ready') {
|
|
329
|
+
const s = args.session;
|
|
330
|
+
if (s?.pairCode) {
|
|
331
|
+
return `The Transporter extension is waiting for you to approve pair code ${s.pairCode} for ${prefix}-mcp. Open the extension popup, approve it, then retry.`;
|
|
332
|
+
}
|
|
333
|
+
if (s?.state === 'extension_disconnected') {
|
|
334
|
+
return `No Transporter extension is attached to this bridge${portNote}. Open Chrome with the extension installed and a ${hostLabel} tab, then retry.`;
|
|
335
|
+
}
|
|
336
|
+
return `The Transporter extension is attached but never confirmed a session for ${prefix}-mcp — its hello got no answer within the session-ready timeout. Reload the extension (chrome://extensions) or reopen the ${hostLabel} tab, then retry. On a hosted bridge this is also what a relay that dialled the child before it bound its port${portNote} looks like.`;
|
|
337
|
+
}
|
|
311
338
|
if (args.errorKind === 'bridge_down') {
|
|
312
339
|
const base = `The fetchproxy browser extension's service worker is not responding. Chrome evicts extension service workers after ~30s idle by default — this looks like that case. Wake it by clicking the fetchproxy extension icon (or opening any ${hostLabel} tab and reloading), then retry. If it keeps happening, reload the extension from chrome://extensions.`;
|
|
313
340
|
return args.bridgeHint ? `${args.bridgeHint} ${base}` : base;
|
|
314
341
|
}
|
|
342
|
+
if (args.direct) {
|
|
343
|
+
return `The probe ran over the direct fetch — the browser bridge wasn't used for this probe — and failed; see error.message. If ${hostLabel} is answering with a bot wall, pin the bridge (the consumer's transport env var) or leave the default fallback to switch on the next challenge.`;
|
|
344
|
+
}
|
|
315
345
|
if (args.role === null) {
|
|
316
|
-
return `The bridge never bound a role. listen() may have failed silently on startup. Check stderr from ${prefix}-mcp for an error during start, and confirm port ${port} isn't blocked.`;
|
|
346
|
+
return `The bridge never bound a role. listen() may have failed silently on startup. Check stderr from ${prefix}-mcp for an error during start, and confirm ${port === null ? 'the bridge port' : `port ${port}`} isn't blocked.`;
|
|
317
347
|
}
|
|
318
348
|
if (args.errorKind === 'timeout') {
|
|
319
349
|
return `Bridge is alive (role=${args.role}), but the request didn't get a response in time. Either (a) the fetchproxy browser extension isn't connected to this MCP yet — open the extension popup and check for a green dot next to "${prefix}-mcp", or (b) the signed-in ${hostLabel} tab is sleeping / closed. Open ${hostLabel} in your browser, then retry.`;
|
|
@@ -323,6 +353,32 @@ function healthcheckHint(args) {
|
|
|
323
353
|
}
|
|
324
354
|
return `Unexpected error — see the error.message field for details.`;
|
|
325
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Snake-case a live `status()` snapshot into the same shape `runProbe`'s
|
|
358
|
+
* `bridge` projection has — used on the path-aware route, where the probe
|
|
359
|
+
* did not go through `runProbe`. Tolerates a pre-2.5.0 server (no `session`).
|
|
360
|
+
*/
|
|
361
|
+
function projectBridgeStatus(health) {
|
|
362
|
+
const session = health.session;
|
|
363
|
+
return {
|
|
364
|
+
role: health.role,
|
|
365
|
+
port: health.port,
|
|
366
|
+
server_version: health.serverVersion,
|
|
367
|
+
fetch_timeout_ms: health.fetchTimeoutMs,
|
|
368
|
+
last_success_at: health.lastSuccessAt,
|
|
369
|
+
last_failure_at: health.lastFailureAt,
|
|
370
|
+
last_failure_reason: health.lastFailureReason,
|
|
371
|
+
consecutive_failures: health.consecutiveFailures,
|
|
372
|
+
last_extension_message_at: health.lastExtensionMessageAt,
|
|
373
|
+
...(session
|
|
374
|
+
? {
|
|
375
|
+
session_state: session.state,
|
|
376
|
+
pending_pair_code: session.pairCode,
|
|
377
|
+
extension_connected: session.extensionConnected,
|
|
378
|
+
}
|
|
379
|
+
: {}),
|
|
380
|
+
};
|
|
381
|
+
}
|
|
326
382
|
/**
|
|
327
383
|
* Register a `<prefix>_healthcheck` MCP tool that round-trips `probePath`
|
|
328
384
|
* through the bridge and reports bridge status + role + timing, plus an
|
|
@@ -342,11 +398,12 @@ function healthcheckHint(args) {
|
|
|
342
398
|
* });
|
|
343
399
|
*/
|
|
344
400
|
export function registerBridgeHealthcheckTool(args) {
|
|
345
|
-
const { server, prefix, probePath, hostLabel,
|
|
401
|
+
const { server, prefix, probePath, hostLabel, probeFn, classifyThrown, hints, path } = args;
|
|
346
402
|
const probeUrl = `https://${hostLabel}${probePath}`;
|
|
403
|
+
const resolveTransport = () => typeof args.transport === 'function' ? args.transport() : args.transport;
|
|
347
404
|
server.registerTool(`${prefix}_healthcheck`, {
|
|
348
405
|
title: 'Verify the fetchproxy bridge end-to-end',
|
|
349
|
-
description: `Round-trips a small public ${hostLabel} URL (${probePath}) through the fetchproxy bridge and returns diagnostics: the bridge's role (host/peer/null), port, version, the elapsed round-trip time, and a plain-English hint distinguishing 'bridge never came up' from 'extension not connected' from 'real ${hostLabel}-side problem'. Call this when a real tool fails and you want to know which hop broke. Read-only, no auth required.`,
|
|
406
|
+
description: `Round-trips a small public ${hostLabel} URL (${probePath}) through the fetchproxy bridge and returns diagnostics: the bridge's role (host/peer/null), port, version, the extension link (linked / pair pending / not attached / never answered), the elapsed round-trip time, and a plain-English hint distinguishing 'bridge never came up' from 'extension not connected' from 'real ${hostLabel}-side problem'. Call this when a real tool fails and you want to know which hop broke. Read-only, no auth required.`,
|
|
350
407
|
annotations: {
|
|
351
408
|
title: 'Verify the fetchproxy bridge end-to-end',
|
|
352
409
|
readOnlyHint: true,
|
|
@@ -357,39 +414,78 @@ export function registerBridgeHealthcheckTool(args) {
|
|
|
357
414
|
}, async () => {
|
|
358
415
|
let probeBody = '';
|
|
359
416
|
let thrown;
|
|
360
|
-
const
|
|
417
|
+
const wrappedProbe = async (p) => {
|
|
361
418
|
try {
|
|
362
|
-
probeBody = await probeFn(
|
|
419
|
+
probeBody = await probeFn(p);
|
|
363
420
|
return probeBody;
|
|
364
421
|
}
|
|
365
422
|
catch (e) {
|
|
366
423
|
thrown = e;
|
|
367
424
|
throw e;
|
|
368
425
|
}
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
426
|
+
};
|
|
427
|
+
let ok;
|
|
428
|
+
let elapsedMs;
|
|
429
|
+
let bridge;
|
|
430
|
+
let rawError;
|
|
431
|
+
let pathNow;
|
|
432
|
+
if (path) {
|
|
433
|
+
// Direct-first route: the probe itself may be what flips the fallback,
|
|
434
|
+
// so run it plainly, then read the path and the bridge AFTER it.
|
|
435
|
+
const start = Date.now();
|
|
436
|
+
try {
|
|
437
|
+
await wrappedProbe(probePath);
|
|
438
|
+
ok = true;
|
|
439
|
+
}
|
|
440
|
+
catch (e) {
|
|
441
|
+
ok = false;
|
|
442
|
+
// Redaction first, then truncation — `probeFn` is consumer code and
|
|
443
|
+
// its throw is the one place an arbitrary upstream message reaches
|
|
444
|
+
// the tool result on this route.
|
|
445
|
+
rawError = { kind: classifyBridgeErrorKind(e), message: truncateErrorMessage(messageOf(e)) };
|
|
446
|
+
}
|
|
447
|
+
elapsedMs = Date.now() - start;
|
|
448
|
+
pathNow = path();
|
|
449
|
+
const transport = resolveTransport();
|
|
450
|
+
bridge = transport ? projectBridgeStatus(transport.status()) : undefined;
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
const transport = resolveTransport();
|
|
454
|
+
if (!transport) {
|
|
455
|
+
throw new Error('registerBridgeHealthcheckTool: transport() returned nothing and no `path` was supplied — a bridge-only healthcheck needs its bridge.');
|
|
377
456
|
}
|
|
378
|
-
|
|
457
|
+
const probeResult = await transport.runProbe(wrappedProbe, probePath);
|
|
458
|
+
ok = probeResult.ok;
|
|
459
|
+
elapsedMs = probeResult.elapsed_ms;
|
|
460
|
+
// The post-probe bridge projection omits `lastExtensionMessageAt` before
|
|
461
|
+
// 2.5.0; read it off the live status snapshot (same call, so it's current).
|
|
462
|
+
bridge = {
|
|
463
|
+
...probeResult.bridge,
|
|
464
|
+
last_extension_message_at: transport.status().lastExtensionMessageAt,
|
|
465
|
+
};
|
|
466
|
+
rawError = probeResult.error;
|
|
467
|
+
}
|
|
468
|
+
const probe = ok
|
|
469
|
+
? { url: probeUrl, elapsed_ms: elapsedMs, status: 200, body_length: probeBody.length }
|
|
470
|
+
: { url: probeUrl, elapsed_ms: elapsedMs };
|
|
379
471
|
let error;
|
|
380
472
|
let bridgeHint;
|
|
381
473
|
let customHint;
|
|
382
474
|
let customDetail;
|
|
383
|
-
if (
|
|
384
|
-
// `runProbe`
|
|
385
|
-
//
|
|
386
|
-
// mapping `'other'` → `'unknown'` to match the
|
|
387
|
-
//
|
|
388
|
-
//
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
475
|
+
if (rawError) {
|
|
476
|
+
// `runProbe` (or classifyBridgeError on the direct route) already
|
|
477
|
+
// classified the throw in fetchproxy's raw vocabulary. Trust that as
|
|
478
|
+
// the discriminator — mapping `'other'` → `'unknown'` to match the
|
|
479
|
+
// envelope — except for a session-not-ready throw, which a 2.4 server
|
|
480
|
+
// still files under 'other': the typed `thrown` settles it either way.
|
|
481
|
+
let kind = rawError.kind === 'other' ? 'unknown' : rawError.kind;
|
|
482
|
+
if (thrown instanceof FetchproxySessionNotReadyError) {
|
|
483
|
+
kind = 'session_not_ready';
|
|
484
|
+
bridgeHint = thrown.hint;
|
|
485
|
+
}
|
|
486
|
+
else if (thrown instanceof FetchproxyBridgeDownError) {
|
|
487
|
+
bridgeHint = thrown.hint;
|
|
488
|
+
}
|
|
393
489
|
// A consumer classifier can re-kind the thrown error (e.g. workday's
|
|
394
490
|
// session_expired) and supply site-specific next-step copy.
|
|
395
491
|
if (thrown !== undefined && classifyThrown) {
|
|
@@ -402,44 +498,53 @@ export function registerBridgeHealthcheckTool(args) {
|
|
|
402
498
|
}
|
|
403
499
|
error = {
|
|
404
500
|
kind,
|
|
405
|
-
message:
|
|
501
|
+
message: rawError.message,
|
|
406
502
|
...(bridgeHint !== undefined ? { bridge_hint: bridgeHint } : {}),
|
|
407
503
|
...(customDetail !== undefined ? { detail: customDetail } : {}),
|
|
408
504
|
};
|
|
409
505
|
}
|
|
410
|
-
//
|
|
411
|
-
//
|
|
412
|
-
|
|
506
|
+
// Which leg served the probe: `path()` is authoritative when supplied — a
|
|
507
|
+
// consumer may hold an eagerly-built bridge while riding direct — and
|
|
508
|
+
// only without it does "no bridge" mean "direct".
|
|
509
|
+
const direct = pathNow ? pathNow.transport === 'direct' : bridge === undefined;
|
|
413
510
|
// Which ladder arm applies — mirrors healthcheckHint's precedence order —
|
|
414
511
|
// so per-arm `hints` overrides land on the same arm the default copy would.
|
|
415
512
|
const arm = ok
|
|
416
513
|
? 'ok'
|
|
417
|
-
: error?.kind === '
|
|
418
|
-
? '
|
|
419
|
-
:
|
|
420
|
-
? '
|
|
421
|
-
:
|
|
422
|
-
? '
|
|
423
|
-
:
|
|
424
|
-
? '
|
|
425
|
-
: '
|
|
514
|
+
: error?.kind === 'session_not_ready'
|
|
515
|
+
? 'session_not_ready'
|
|
516
|
+
: error?.kind === 'bridge_down'
|
|
517
|
+
? 'bridge_down'
|
|
518
|
+
: direct
|
|
519
|
+
? 'direct'
|
|
520
|
+
: bridge === undefined || bridge.role === null
|
|
521
|
+
? 'no_role'
|
|
522
|
+
: error?.kind === 'timeout'
|
|
523
|
+
? 'timeout'
|
|
524
|
+
: error?.kind === 'protocol' || error?.kind === 'http'
|
|
525
|
+
? 'protocol'
|
|
526
|
+
: 'unknown';
|
|
426
527
|
const defaultHint = healthcheckHint({
|
|
427
528
|
ok,
|
|
428
|
-
role:
|
|
429
|
-
//
|
|
430
|
-
port:
|
|
529
|
+
role: bridge?.role ?? null,
|
|
530
|
+
// The real configured port from bridgeHealth(), never a literal 37149.
|
|
531
|
+
port: bridge?.port ?? null,
|
|
431
532
|
hostLabel,
|
|
432
533
|
prefix,
|
|
433
534
|
probePath,
|
|
434
535
|
errorKind: error?.kind,
|
|
435
536
|
bridgeHint: error?.kind === 'bridge_down' ? bridgeHint : undefined,
|
|
537
|
+
session: {
|
|
538
|
+
...(bridge?.session_state !== undefined ? { state: bridge.session_state } : {}),
|
|
539
|
+
pairCode: bridge?.pending_pair_code ??
|
|
540
|
+
(thrown instanceof FetchproxySessionNotReadyError ? thrown.pairCode : null),
|
|
541
|
+
},
|
|
542
|
+
direct,
|
|
436
543
|
});
|
|
437
544
|
const result = {
|
|
438
545
|
ok,
|
|
439
|
-
bridge: {
|
|
440
|
-
|
|
441
|
-
last_extension_message_at: lastExtensionMessageAt,
|
|
442
|
-
},
|
|
546
|
+
...(bridge ? { bridge } : {}),
|
|
547
|
+
...(pathNow ? { transport: pathNow } : {}),
|
|
443
548
|
probe,
|
|
444
549
|
...(error ? { error } : {}),
|
|
445
550
|
// Precedence: classifyThrown's hint > per-arm override > default ladder.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetchproxy/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetchproxy/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.20.0",
|
|
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",
|