@chrischall/mcp-utils 2.11.0 → 2.13.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 +507 -13
- package/dist/concurrency/index.d.ts +3 -1
- package/dist/concurrency/index.d.ts.map +1 -1
- package/dist/concurrency/index.js +3 -1
- package/dist/concurrency/index.js.map +1 -1
- package/dist/concurrency/verify-after-write.d.ts +84 -0
- package/dist/concurrency/verify-after-write.d.ts.map +1 -0
- package/dist/concurrency/verify-after-write.js +108 -0
- package/dist/concurrency/verify-after-write.js.map +1 -0
- package/dist/errors/index.d.ts +35 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +79 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/fetchproxy/fallback.d.ts +130 -0
- package/dist/fetchproxy/fallback.d.ts.map +1 -0
- package/dist/fetchproxy/fallback.js +199 -0
- package/dist/fetchproxy/fallback.js.map +1 -0
- package/dist/fetchproxy/index.d.ts +31 -1
- package/dist/fetchproxy/index.d.ts.map +1 -1
- package/dist/fetchproxy/index.js +120 -13
- package/dist/fetchproxy/index.js.map +1 -1
- package/dist/fs/confine.d.ts +9 -0
- package/dist/fs/confine.d.ts.map +1 -1
- package/dist/fs/confine.js +11 -2
- package/dist/fs/confine.js.map +1 -1
- package/dist/fs/index.d.ts +9 -2
- package/dist/fs/index.d.ts.map +1 -1
- package/dist/fs/index.js +13 -4
- package/dist/fs/index.js.map +1 -1
- package/dist/fs/magic.d.ts +35 -0
- package/dist/fs/magic.d.ts.map +1 -0
- package/dist/fs/magic.js +110 -0
- package/dist/fs/magic.js.map +1 -0
- package/dist/fs/output.d.ts +14 -10
- package/dist/fs/output.d.ts.map +1 -1
- package/dist/fs/output.js +21 -45
- package/dist/fs/output.js.map +1 -1
- package/dist/fs/upload-guard.d.ts +97 -0
- package/dist/fs/upload-guard.d.ts.map +1 -0
- package/dist/fs/upload-guard.js +185 -0
- package/dist/fs/upload-guard.js.map +1 -0
- package/dist/fs/write.d.ts +100 -0
- package/dist/fs/write.d.ts.map +1 -0
- package/dist/fs/write.js +207 -0
- package/dist/fs/write.js.map +1 -0
- package/dist/graphql/client.d.ts +228 -0
- package/dist/graphql/client.d.ts.map +1 -0
- package/dist/graphql/client.js +341 -0
- package/dist/graphql/client.js.map +1 -0
- package/dist/graphql/index.d.ts +20 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js +20 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/operation-kind.d.ts +58 -0
- package/dist/graphql/operation-kind.d.ts.map +1 -0
- package/dist/graphql/operation-kind.js +237 -0
- package/dist/graphql/operation-kind.js.map +1 -0
- package/dist/html/index.d.ts +33 -0
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +78 -13
- package/dist/html/index.js.map +1 -1
- package/dist/http/index.d.ts +75 -5
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +111 -22
- package/dist/http/index.js.map +1 -1
- package/dist/http/net-atoms.d.ts +14 -4
- package/dist/http/net-atoms.d.ts.map +1 -1
- package/dist/http/net-atoms.js +95 -13
- package/dist/http/net-atoms.js.map +1 -1
- package/dist/internal/code-point.d.ts +20 -0
- package/dist/internal/code-point.d.ts.map +1 -0
- package/dist/internal/code-point.js +26 -0
- package/dist/internal/code-point.js.map +1 -0
- package/dist/internal/retry-after.d.ts +12 -0
- package/dist/internal/retry-after.d.ts.map +1 -0
- package/dist/internal/retry-after.js +26 -0
- package/dist/internal/retry-after.js.map +1 -0
- package/dist/response/index.d.ts +1 -0
- package/dist/response/index.d.ts.map +1 -1
- package/dist/response/index.js +1 -0
- package/dist/response/index.js.map +1 -1
- package/dist/response/untrusted.d.ts +72 -0
- package/dist/response/untrusted.d.ts.map +1 -0
- package/dist/response/untrusted.js +55 -0
- package/dist/response/untrusted.js.map +1 -0
- package/dist/scrape/index.d.ts +78 -1
- package/dist/scrape/index.d.ts.map +1 -1
- package/dist/scrape/index.js +276 -20
- package/dist/scrape/index.js.map +1 -1
- package/dist/server/confirm-write.d.ts +152 -0
- package/dist/server/confirm-write.d.ts.map +1 -0
- package/dist/server/confirm-write.js +107 -0
- package/dist/server/confirm-write.js.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/merge-write.d.ts +101 -0
- package/dist/server/merge-write.d.ts.map +1 -0
- package/dist/server/merge-write.js +94 -0
- package/dist/server/merge-write.js.map +1 -0
- package/dist/session/atomic-write.d.ts +15 -0
- package/dist/session/atomic-write.d.ts.map +1 -0
- package/dist/session/atomic-write.js +42 -0
- package/dist/session/atomic-write.js.map +1 -0
- package/dist/session/file-lock.d.ts +57 -0
- package/dist/session/file-lock.d.ts.map +1 -0
- package/dist/session/file-lock.js +215 -0
- package/dist/session/file-lock.js.map +1 -0
- package/dist/session/index.d.ts +118 -2
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +200 -82
- package/dist/session/index.js.map +1 -1
- package/dist/session/login-page.d.ts +73 -0
- package/dist/session/login-page.d.ts.map +1 -0
- package/dist/session/login-page.js +143 -0
- package/dist/session/login-page.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct-first transport with a sticky fallback to the browser bridge when a
|
|
3
|
+
* CDN/WAF walls the direct fetch.
|
|
4
|
+
*
|
|
5
|
+
* ## What it consolidates
|
|
6
|
+
*
|
|
7
|
+
* hemnet-mcp and booli-mcp each carried a `transport-fallback.ts` (111 / 105
|
|
8
|
+
* lines) that differed only in names and log text, plus a
|
|
9
|
+
* `createDefaultTransport` reading `<PREFIX>_TRANSPORT`
|
|
10
|
+
* (chrischall/fleet-audit#1020, #988). Neither is about Swedish real estate:
|
|
11
|
+
* the shape is "a plain server-side fetch is preferred — no extension, no
|
|
12
|
+
* pairing, no open tab — but the site's edge may refuse non-browser clients,
|
|
13
|
+
* and when it does, ride the user's tab instead". Any fleet MCP whose direct
|
|
14
|
+
* client already throws {@link EdgeBlockedError} (viator, getyourguide,
|
|
15
|
+
* onehome, …) can adopt it to gain the fallback, and
|
|
16
|
+
* {@link registerBridgeHealthcheckTool}'s `path` option was already built for
|
|
17
|
+
* exactly this consumer.
|
|
18
|
+
*
|
|
19
|
+
* ## Behaviour
|
|
20
|
+
*
|
|
21
|
+
* - **`auto`** (default): every call tries the direct leg. The first call
|
|
22
|
+
* whose failure is an edge block — an `EdgeBlockedError`, or any error
|
|
23
|
+
* carrying a refusal page / `cf-mitigated` (the same `edgeBlockOf` rule the
|
|
24
|
+
* healthcheck and `bridgeErrorInfo` use) — builds the bridge, re-runs THAT
|
|
25
|
+
* call on it, and pins every later call to the bridge for the life of the
|
|
26
|
+
* process: the wall fingerprints the client, so re-probing direct would
|
|
27
|
+
* only burn a round trip per request. Re-sending the blocked call is safe
|
|
28
|
+
* even for a write: an edge block means the request never reached the
|
|
29
|
+
* origin. Any other direct failure propagates unchanged.
|
|
30
|
+
* - **`direct`**: never falls back; the edge block propagates (the
|
|
31
|
+
* healthcheck reports it as `edge_blocked` with a direct-leg hint).
|
|
32
|
+
* - **`fetchproxy`**: the bridge from the first call; direct is never used.
|
|
33
|
+
*
|
|
34
|
+
* The bridge is built lazily and at most once (concurrent walled calls share
|
|
35
|
+
* one build); a factory that throws is retried on the next call rather than
|
|
36
|
+
* cached. A bridge failure after the switch propagates as the bridge's own
|
|
37
|
+
* typed error, so the healthcheck can classify it.
|
|
38
|
+
*
|
|
39
|
+
* ## Cancellation
|
|
40
|
+
*
|
|
41
|
+
* The effective signal is the caller's `signal` combined with the ambient
|
|
42
|
+
* tool-call signal (`withAmbientCancellation`). A cancelled call runs no leg,
|
|
43
|
+
* and a call cancelled while on the direct leg is never re-sent over the
|
|
44
|
+
* bridge — though a wall it saw is still recorded, so the next call goes
|
|
45
|
+
* straight to the bridge.
|
|
46
|
+
*/
|
|
47
|
+
import { readEnvVar } from '../config/index.js';
|
|
48
|
+
import { withAmbientCancellation } from '../cancel/index.js';
|
|
49
|
+
import { edgeBlockOf } from '../internal/edge-block.js';
|
|
50
|
+
const TRANSPORT_MODES = ['direct', 'fetchproxy', 'auto'];
|
|
51
|
+
/**
|
|
52
|
+
* Read a `<PREFIX>_TRANSPORT` pin (`direct` / `fetchproxy` / `auto`),
|
|
53
|
+
* case-insensitively, through the hardened {@link readEnvVar} (so an
|
|
54
|
+
* unexpanded `${…}` placeholder reads as unset). An unknown value warns —
|
|
55
|
+
* naming the variable — and means the default, rather than failing the boot.
|
|
56
|
+
*/
|
|
57
|
+
export function readTransportMode(envVar, opts = {}) {
|
|
58
|
+
const fallback = opts.default ?? 'auto';
|
|
59
|
+
const raw = readEnvVar(envVar, opts.env ? { env: opts.env } : {});
|
|
60
|
+
if (raw === undefined)
|
|
61
|
+
return fallback;
|
|
62
|
+
const mode = raw.trim().toLowerCase();
|
|
63
|
+
if (TRANSPORT_MODES.includes(mode))
|
|
64
|
+
return mode;
|
|
65
|
+
(opts.log ?? ((m) => console.error(m)))(`Unknown ${envVar} value "${raw}" — using "${fallback}". Expected one of: ${TRANSPORT_MODES.join(', ')}.`);
|
|
66
|
+
return fallback;
|
|
67
|
+
}
|
|
68
|
+
function defaultBridgeHealth(bridge) {
|
|
69
|
+
if (typeof bridge !== 'object' || bridge === null)
|
|
70
|
+
return undefined;
|
|
71
|
+
const b = bridge;
|
|
72
|
+
if (typeof b.bridgeTransport === 'function') {
|
|
73
|
+
return b.bridgeTransport.call(bridge);
|
|
74
|
+
}
|
|
75
|
+
if (typeof b.runProbe === 'function' && typeof b.status === 'function') {
|
|
76
|
+
return bridge;
|
|
77
|
+
}
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
function throwIfAborted(signal) {
|
|
81
|
+
if (signal?.aborted) {
|
|
82
|
+
throw signal.reason instanceof Error ? signal.reason : new Error(String(signal.reason));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Build a direct-first transport router. See the module docs for the
|
|
87
|
+
* behaviour; the consumer keeps its own leg types and wraps its one call:
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* const legs = createDirectFirstTransport({
|
|
91
|
+
* direct: new DirectTransport(opts),
|
|
92
|
+
* bridge: () => new HemnetFetchproxyTransport(opts),
|
|
93
|
+
* mode: readTransportMode('HEMNET_TRANSPORT'),
|
|
94
|
+
* serverName: 'hemnet-mcp',
|
|
95
|
+
* hostLabel: 'www.hemnet.se',
|
|
96
|
+
* });
|
|
97
|
+
* const transport: HemnetTransport = {
|
|
98
|
+
* graphql: (q, v) => legs.run((leg) => leg.graphql(q, v)),
|
|
99
|
+
* status: () => legs.status(),
|
|
100
|
+
* bridgeTransport: () => legs.bridgeTransport(),
|
|
101
|
+
* };
|
|
102
|
+
*/
|
|
103
|
+
export function createDirectFirstTransport(opts) {
|
|
104
|
+
const mode = opts.mode ?? 'auto';
|
|
105
|
+
const shouldFallBack = opts.shouldFallBack ?? ((err) => edgeBlockOf(err) !== null);
|
|
106
|
+
const log = opts.log ?? ((m) => console.error(m));
|
|
107
|
+
const project = opts.bridgeHealth ?? defaultBridgeHealth;
|
|
108
|
+
let bridge;
|
|
109
|
+
let walled = mode === 'fetchproxy';
|
|
110
|
+
let blockedBy;
|
|
111
|
+
const counters = {
|
|
112
|
+
requests: { direct: 0, fetchproxy: 0 },
|
|
113
|
+
failures: { direct: 0, fetchproxy: 0 },
|
|
114
|
+
edge_blocks: 0,
|
|
115
|
+
switched_at: null,
|
|
116
|
+
};
|
|
117
|
+
const ensureBridge = () => {
|
|
118
|
+
bridge ??= opts.bridge();
|
|
119
|
+
return bridge;
|
|
120
|
+
};
|
|
121
|
+
const recordWall = (error) => {
|
|
122
|
+
if (walled)
|
|
123
|
+
return; // a concurrent call already switched
|
|
124
|
+
walled = true;
|
|
125
|
+
counters.switched_at = Date.now();
|
|
126
|
+
const vendor = edgeBlockOf(error)?.vendor ?? null;
|
|
127
|
+
if (vendor !== null)
|
|
128
|
+
blockedBy = vendor;
|
|
129
|
+
if (opts.onFallback) {
|
|
130
|
+
opts.onFallback({ error, vendor });
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
const by = vendor ? `refused by ${vendor}` : 'walled by the site';
|
|
134
|
+
const tab = opts.hostLabel ? `Keep a ${opts.hostLabel} tab open` : 'Keep a tab on the site open';
|
|
135
|
+
log(`[${opts.serverName}] Direct fetch was ${by} — switching to the ContextMint Bridge browser bridge for the ` +
|
|
136
|
+
`rest of this session. ${tab} and approve the pairing prompt in the extension if one appears.`);
|
|
137
|
+
};
|
|
138
|
+
return {
|
|
139
|
+
mode,
|
|
140
|
+
async run(call, runOpts = {}) {
|
|
141
|
+
const signal = withAmbientCancellation(runOpts.signal);
|
|
142
|
+
throwIfAborted(signal);
|
|
143
|
+
if (!walled) {
|
|
144
|
+
counters.requests.direct += 1;
|
|
145
|
+
try {
|
|
146
|
+
return await call(opts.direct, { leg: 'direct', signal });
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
counters.failures.direct += 1;
|
|
150
|
+
const isWall = shouldFallBack(err);
|
|
151
|
+
if (isWall)
|
|
152
|
+
counters.edge_blocks += 1;
|
|
153
|
+
if (mode !== 'auto' || !isWall)
|
|
154
|
+
throw err;
|
|
155
|
+
recordWall(err);
|
|
156
|
+
// The caller has gone: do not re-send its call over the bridge.
|
|
157
|
+
throwIfAborted(signal);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const leg = ensureBridge();
|
|
161
|
+
throwIfAborted(signal);
|
|
162
|
+
counters.requests.fetchproxy += 1;
|
|
163
|
+
try {
|
|
164
|
+
return await call(leg, { leg: 'fetchproxy', signal });
|
|
165
|
+
}
|
|
166
|
+
catch (err) {
|
|
167
|
+
counters.failures.fetchproxy += 1;
|
|
168
|
+
throw err;
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
status() {
|
|
172
|
+
return {
|
|
173
|
+
transport: walled ? 'fetchproxy' : 'direct',
|
|
174
|
+
mode,
|
|
175
|
+
...(blockedBy !== undefined ? { blocked_by: blockedBy } : {}),
|
|
176
|
+
};
|
|
177
|
+
},
|
|
178
|
+
bridgeTransport() {
|
|
179
|
+
if (bridge === undefined && mode === 'fetchproxy') {
|
|
180
|
+
try {
|
|
181
|
+
ensureBridge();
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return bridge === undefined ? undefined : project(bridge);
|
|
188
|
+
},
|
|
189
|
+
stats() {
|
|
190
|
+
return {
|
|
191
|
+
requests: { ...counters.requests },
|
|
192
|
+
failures: { ...counters.failures },
|
|
193
|
+
edge_blocks: counters.edge_blocks,
|
|
194
|
+
switched_at: counters.switched_at,
|
|
195
|
+
};
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/fetchproxy/fallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,36 @@
|
|
|
36
36
|
*/
|
|
37
37
|
import { FetchproxyServer, type FetchproxyServerOpts, type HttpResponse, type BridgeProbeResult } from '@fetchproxy/server';
|
|
38
38
|
import type { McpServer } from '@modelcontextprotocol/server';
|
|
39
|
-
export { FetchproxyServer, mapWithConcurrency, withDeadline, TokenBucket, classifyBotWall,
|
|
39
|
+
export { FetchproxyServer, mapWithConcurrency, withDeadline, TokenBucket, classifyBotWall, FetchproxyProtocolError, FetchproxyHttpError, FetchproxyBridgeDownError, FetchproxySessionNotReadyError, FetchproxyTimeoutError, classifyBridgeError, classifyFetchError, backoffDelayMs, BRIDGE_CONCURRENCY, chunk, sleep, extractGlobalAssign, extractBalancedObject, extractImgTags, lastPathSegment, } from '@fetchproxy/server';
|
|
40
|
+
/**
|
|
41
|
+
* Run `fn`; if it throws a TIMEOUT, run it once more. Superset of
|
|
42
|
+
* `@fetchproxy/server`'s `retryOnceOnTimeout`: a bridge
|
|
43
|
+
* `FetchproxyTimeoutError` behaves exactly as there, and so does ANY error
|
|
44
|
+
* {@link isTimeoutError} recognises — mcp-utils' `RequestTimeoutError`,
|
|
45
|
+
* `AbortSignal.timeout()`'s `TimeoutError`, a consumer class named
|
|
46
|
+
* `*TimeoutError` (onehome-mcp's `OneHomeRequestTimeoutError`, the
|
|
47
|
+
* fleet-audit#1078 case), or one carrying `timedOut: true`.
|
|
48
|
+
*
|
|
49
|
+
* Never retried: a timeout with `retrySafe: false` (may already have run), a
|
|
50
|
+
* caller cancellation (`AbortError`), any non-timeout error, and the second
|
|
51
|
+
* attempt's failure — each propagates unchanged.
|
|
52
|
+
*/
|
|
53
|
+
export declare function retryOnceOnTimeout<T>(fn: () => Promise<T>): Promise<T>;
|
|
54
|
+
/**
|
|
55
|
+
* Per-row error classification for bulk tools — superset of
|
|
56
|
+
* `@fetchproxy/server`'s `classifyRowError`, same return shape. Bridge errors
|
|
57
|
+
* classify exactly as there (`'bridge timeout after retry: …'`,
|
|
58
|
+
* `'bridge unreachable: …'`, …). Any OTHER error {@link isTimeoutError}
|
|
59
|
+
* recognises is `kind: 'timeout'` with
|
|
60
|
+
* `'timeout after retry: <message>'` — or `'timeout (not retried): <message>'`
|
|
61
|
+
* when it declares `retrySafe: false` — so a stalled upstream row stays
|
|
62
|
+
* distinguishable from a genuine "not found" (`'other'`). A caller
|
|
63
|
+
* cancellation is never `'timeout'`.
|
|
64
|
+
*/
|
|
65
|
+
export declare function classifyRowError(err: unknown): {
|
|
66
|
+
kind: 'timeout' | 'bridge_down' | 'protocol' | 'other';
|
|
67
|
+
message: string;
|
|
68
|
+
};
|
|
40
69
|
export type { FetchproxyServerOpts, FetchResult, FetchResultError, HttpResponse, RequestOpts, BodylessRequestOpts, BridgeHealth, BridgeProbeResult, BridgeError, FetchErrorKind, BotWallResult, BotWallVendor, TokenBucketOptions, BackoffOptions, DeadlineOutcome, } from '@fetchproxy/server';
|
|
41
70
|
/**
|
|
42
71
|
* One request to round-trip through the bridge. The path is resolved relative
|
|
@@ -610,4 +639,5 @@ export interface RegisterAdaptiveHealthcheckToolArgs {
|
|
|
610
639
|
* });
|
|
611
640
|
*/
|
|
612
641
|
export declare function registerAdaptiveHealthcheckTool(args: RegisterAdaptiveHealthcheckToolArgs): void;
|
|
642
|
+
export { createDirectFirstTransport, readTransportMode, type DirectFirstCallContext, type DirectFirstStats, type DirectFirstStatus, type DirectFirstTransport, type DirectFirstTransportOptions, type ReadTransportModeOptions, type TransportMode, } from './fallback.js';
|
|
613
643
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,19 +34,84 @@
|
|
|
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, FetchproxySessionNotReadyError, classifyBridgeError as classifyBridgeErrorKind, classifyFetchError as classifyFetchErrorKind, } from '@fetchproxy/server';
|
|
38
|
-
import { truncateErrorMessage, messageOf } from '../errors/index.js';
|
|
37
|
+
import { FetchproxyServer, FetchproxyBridgeDownError, FetchproxySessionNotReadyError, classifyBridgeError as classifyBridgeErrorKind, classifyFetchError as classifyFetchErrorKind, FetchproxyTimeoutError as FetchproxyTimeoutErrorClass, classifyRowError as bridgeClassifyRowError, } from '@fetchproxy/server';
|
|
38
|
+
import { truncateErrorMessage, messageOf, isTimeoutError } from '../errors/index.js';
|
|
39
39
|
import { edgeBlockOf } from '../internal/edge-block.js';
|
|
40
40
|
// ---------------------------------------------------------------------------
|
|
41
41
|
// Re-exports — single import site for the bridge primitives (design: re-export,
|
|
42
42
|
// never reimplement). MCPs import these from here instead of reaching into
|
|
43
43
|
// `@fetchproxy/server` directly, so a version bump is absorbed in one place.
|
|
44
44
|
// ---------------------------------------------------------------------------
|
|
45
|
-
export { FetchproxyServer, mapWithConcurrency, withDeadline, TokenBucket, classifyBotWall,
|
|
45
|
+
export { FetchproxyServer, mapWithConcurrency, withDeadline, TokenBucket, classifyBotWall, FetchproxyProtocolError, FetchproxyHttpError, FetchproxyBridgeDownError, FetchproxySessionNotReadyError, FetchproxyTimeoutError, classifyBridgeError, classifyFetchError, backoffDelayMs, BRIDGE_CONCURRENCY,
|
|
46
46
|
// Page-state / scrape + small async helpers. Re-exported so a consumer can
|
|
47
47
|
// route its ENTIRE `@fetchproxy/server` surface through this subpath (single
|
|
48
48
|
// import site) — the realty MCPs use these alongside the bridge primitives.
|
|
49
49
|
chunk, sleep, extractGlobalAssign, extractBalancedObject, extractImgTags, lastPathSegment, } from '@fetchproxy/server';
|
|
50
|
+
// NOTE: `classifyBridgeError` above is fetchproxy's RAW classifier (it returns
|
|
51
|
+
// a bare kind STRING), re-exported verbatim so an MCP can swap
|
|
52
|
+
// `from '@fetchproxy/server'` → `from '@chrischall/mcp-utils/fetchproxy'` as a
|
|
53
|
+
// pure drop-in. The richer { type, message, hint } envelope is a SEPARATE
|
|
54
|
+
// helper exported as `bridgeErrorInfo` (defined below) — it does not squat the
|
|
55
|
+
// `classifyBridgeError` name. `retryOnceOnTimeout` and `classifyRowError` are
|
|
56
|
+
// NOT raw re-exports any more: the wrappers below are signature-compatible
|
|
57
|
+
// supersets that also honour non-bridge timeouts (fleet-audit#1078).
|
|
58
|
+
/**
|
|
59
|
+
* Whether a timeout may be re-sent. A timeout that declares `retrySafe: false`
|
|
60
|
+
* (fetchproxy's timed-out write, or any consumer error using the same field)
|
|
61
|
+
* may already have reached the server, so it is never retried.
|
|
62
|
+
*/
|
|
63
|
+
function timeoutRetrySafe(err) {
|
|
64
|
+
return err?.retrySafe !== false;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Run `fn`; if it throws a TIMEOUT, run it once more. Superset of
|
|
68
|
+
* `@fetchproxy/server`'s `retryOnceOnTimeout`: a bridge
|
|
69
|
+
* `FetchproxyTimeoutError` behaves exactly as there, and so does ANY error
|
|
70
|
+
* {@link isTimeoutError} recognises — mcp-utils' `RequestTimeoutError`,
|
|
71
|
+
* `AbortSignal.timeout()`'s `TimeoutError`, a consumer class named
|
|
72
|
+
* `*TimeoutError` (onehome-mcp's `OneHomeRequestTimeoutError`, the
|
|
73
|
+
* fleet-audit#1078 case), or one carrying `timedOut: true`.
|
|
74
|
+
*
|
|
75
|
+
* Never retried: a timeout with `retrySafe: false` (may already have run), a
|
|
76
|
+
* caller cancellation (`AbortError`), any non-timeout error, and the second
|
|
77
|
+
* attempt's failure — each propagates unchanged.
|
|
78
|
+
*/
|
|
79
|
+
export async function retryOnceOnTimeout(fn) {
|
|
80
|
+
try {
|
|
81
|
+
return await fn();
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
if (err instanceof FetchproxyTimeoutErrorClass) {
|
|
85
|
+
// Bridge timeout: fetchproxy's own rule — retried only when retrySafe.
|
|
86
|
+
if (!err.retrySafe)
|
|
87
|
+
throw err;
|
|
88
|
+
return await fn();
|
|
89
|
+
}
|
|
90
|
+
if (isTimeoutError(err) && timeoutRetrySafe(err))
|
|
91
|
+
return await fn();
|
|
92
|
+
throw err;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Per-row error classification for bulk tools — superset of
|
|
97
|
+
* `@fetchproxy/server`'s `classifyRowError`, same return shape. Bridge errors
|
|
98
|
+
* classify exactly as there (`'bridge timeout after retry: …'`,
|
|
99
|
+
* `'bridge unreachable: …'`, …). Any OTHER error {@link isTimeoutError}
|
|
100
|
+
* recognises is `kind: 'timeout'` with
|
|
101
|
+
* `'timeout after retry: <message>'` — or `'timeout (not retried): <message>'`
|
|
102
|
+
* when it declares `retrySafe: false` — so a stalled upstream row stays
|
|
103
|
+
* distinguishable from a genuine "not found" (`'other'`). A caller
|
|
104
|
+
* cancellation is never `'timeout'`.
|
|
105
|
+
*/
|
|
106
|
+
export function classifyRowError(err) {
|
|
107
|
+
const bridge = bridgeClassifyRowError(err);
|
|
108
|
+
if (bridge.kind !== 'other' || !isTimeoutError(err))
|
|
109
|
+
return bridge;
|
|
110
|
+
const message = messageOf(err);
|
|
111
|
+
return timeoutRetrySafe(err)
|
|
112
|
+
? { kind: 'timeout', message: `timeout after retry: ${message}` }
|
|
113
|
+
: { kind: 'timeout', message: `timeout (not retried): ${message}` };
|
|
114
|
+
}
|
|
50
115
|
/**
|
|
51
116
|
* Matches a value that is *entirely* an unsubstituted shell-style placeholder
|
|
52
117
|
* (`${FOO}`). MCP hosts that forward an env block without expanding it leak
|
|
@@ -626,6 +691,32 @@ function probeDisplayUrl(hostLabel, probePath) {
|
|
|
626
691
|
export function bridgeHealthcheckDescription(hostLabel, probePath) {
|
|
627
692
|
return `Round-trips a small public ${hostLabel} URL (${probePath}) through ContextMint Bridge (your signed-in browser tab) 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 'this browser can't serve a capability' from 'real ${hostLabel}-side problem'. Read-only, no auth required.`;
|
|
628
693
|
}
|
|
694
|
+
/** How deep {@link typedCauseOf} follows a `cause` chain. */
|
|
695
|
+
const CAUSE_DEPTH_MAX = 8;
|
|
696
|
+
/**
|
|
697
|
+
* The first error along `err`'s `cause` chain that says something typed — a
|
|
698
|
+
* fetchproxy error the raw classifier names, a session-not-ready, an edge
|
|
699
|
+
* block, or a browser capability gap — or `err` itself when nothing does.
|
|
700
|
+
* Bounded and cycle-safe: a cause chain is consumer data.
|
|
701
|
+
*/
|
|
702
|
+
function typedCauseOf(err) {
|
|
703
|
+
const seen = new Set([err]);
|
|
704
|
+
let current = err;
|
|
705
|
+
for (let depth = 0; depth < CAUSE_DEPTH_MAX; depth++) {
|
|
706
|
+
const cause = current instanceof Error ? current.cause : undefined;
|
|
707
|
+
if (cause === undefined || cause === null || seen.has(cause))
|
|
708
|
+
break;
|
|
709
|
+
seen.add(cause);
|
|
710
|
+
if (cause instanceof FetchproxySessionNotReadyError ||
|
|
711
|
+
classifyBridgeErrorKind(cause) !== 'other' ||
|
|
712
|
+
edgeBlockOf(cause) !== null ||
|
|
713
|
+
capabilityGapOf(cause) !== null) {
|
|
714
|
+
return cause;
|
|
715
|
+
}
|
|
716
|
+
current = cause;
|
|
717
|
+
}
|
|
718
|
+
return err;
|
|
719
|
+
}
|
|
629
720
|
/**
|
|
630
721
|
* The bridge healthcheck's whole body, without the registration.
|
|
631
722
|
*
|
|
@@ -705,29 +796,40 @@ export async function runBridgeHealthcheck(args) {
|
|
|
705
796
|
let customDetail;
|
|
706
797
|
let capabilityGap;
|
|
707
798
|
let edge = null;
|
|
799
|
+
// The typed cause classified in place of a wrapping error, when there was one.
|
|
800
|
+
let pairCodeSource = thrown;
|
|
708
801
|
if (rawError) {
|
|
709
802
|
// `runProbe` (or classifyBridgeError on the direct route) already
|
|
710
803
|
// classified the throw in fetchproxy's raw vocabulary. Trust that as
|
|
711
804
|
// the discriminator — mapping `'other'` → `'unknown'` to match the
|
|
712
805
|
// envelope — except for a session-not-ready throw, which a 2.4 server
|
|
713
806
|
// still files under 'other': the typed `thrown` settles it either way.
|
|
714
|
-
|
|
715
|
-
|
|
807
|
+
// A consumer that re-throws a typed bridge failure inside its own Error
|
|
808
|
+
// (to put a remedy in the message, keeping the original as `cause`) files
|
|
809
|
+
// as 'other' here. Classify the typed cause instead — hemnet and booli
|
|
810
|
+
// each hand-rolled a `classifyThrown` for exactly this. `classifyThrown`
|
|
811
|
+
// below still sees the error as thrown.
|
|
812
|
+
const subject = rawError.kind === 'other' && thrown !== undefined ? typedCauseOf(thrown) : thrown;
|
|
813
|
+
if (subject !== thrown)
|
|
814
|
+
pairCodeSource = subject;
|
|
815
|
+
const subjectKind = subject === thrown ? rawError.kind : classifyBridgeErrorKind(subject);
|
|
816
|
+
let kind = subjectKind === 'other' ? 'unknown' : subjectKind;
|
|
817
|
+
if (subject instanceof FetchproxySessionNotReadyError) {
|
|
716
818
|
kind = 'session_not_ready';
|
|
717
|
-
bridgeHint =
|
|
819
|
+
bridgeHint = subject.hint;
|
|
718
820
|
}
|
|
719
|
-
else if (
|
|
720
|
-
bridgeHint =
|
|
821
|
+
else if (subject instanceof FetchproxyBridgeDownError) {
|
|
822
|
+
bridgeHint = subject.hint;
|
|
721
823
|
}
|
|
722
|
-
else if (
|
|
824
|
+
else if (subject !== undefined && mayBeCapabilityError(subjectKind)) {
|
|
723
825
|
// The server's classifier files a browser gap under 'protocol' (or
|
|
724
826
|
// 'hello_rejected'); name it, so the ladder can say whose fault it isn't.
|
|
725
|
-
const gap = capabilityGapOf(
|
|
827
|
+
const gap = capabilityGapOf(subject);
|
|
726
828
|
if (gap) {
|
|
727
829
|
kind = 'capability_unavailable';
|
|
728
830
|
capabilityGap = gap;
|
|
729
831
|
}
|
|
730
|
-
else if (isCapabilityDenied(
|
|
832
|
+
else if (isCapabilityDenied(subject)) {
|
|
731
833
|
kind = 'capability_denied';
|
|
732
834
|
}
|
|
733
835
|
}
|
|
@@ -739,7 +841,7 @@ export async function runBridgeHealthcheck(args) {
|
|
|
739
841
|
// failure, so a bridge that is down, unpaired, timed out or missing a
|
|
740
842
|
// capability keeps its own answer.
|
|
741
843
|
if (thrown !== undefined && (kind === 'http' || kind === 'unknown')) {
|
|
742
|
-
edge = edgeBlockOf(thrown);
|
|
844
|
+
edge = edgeBlockOf(subject) ?? edgeBlockOf(thrown);
|
|
743
845
|
if (edge !== null) {
|
|
744
846
|
kind = 'edge_blocked';
|
|
745
847
|
customDetail = { vendor: edge.vendor };
|
|
@@ -800,7 +902,7 @@ export async function runBridgeHealthcheck(args) {
|
|
|
800
902
|
session: {
|
|
801
903
|
...(bridge?.session_state !== undefined ? { state: bridge.session_state } : {}),
|
|
802
904
|
pairCode: bridge?.pending_pair_code ??
|
|
803
|
-
(
|
|
905
|
+
(pairCodeSource instanceof FetchproxySessionNotReadyError ? pairCodeSource.pairCode : null),
|
|
804
906
|
},
|
|
805
907
|
direct,
|
|
806
908
|
...(edge !== null ? { edgeVendor: edge.vendor } : {}),
|
|
@@ -894,4 +996,9 @@ export function registerAdaptiveHealthcheckTool(args) {
|
|
|
894
996
|
? runBridgeHealthcheck({ server, prefix, hostLabel, ...bridge })
|
|
895
997
|
: runCredentialHealthcheck({ server, prefix, hostLabel, ...credential }));
|
|
896
998
|
}
|
|
999
|
+
// ---------------------------------------------------------------------------
|
|
1000
|
+
// Direct-first transport with a sticky bridge fallback on an edge block
|
|
1001
|
+
// (hoisted from hemnet-mcp / booli-mcp — see fallback.ts).
|
|
1002
|
+
// ---------------------------------------------------------------------------
|
|
1003
|
+
export { createDirectFirstTransport, readTransportMode, } from './fallback.js';
|
|
897
1004
|
//# sourceMappingURL=index.js.map
|
|
@@ -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/dist/fs/confine.d.ts
CHANGED
|
@@ -20,4 +20,13 @@
|
|
|
20
20
|
* `allowedRoots`.
|
|
21
21
|
*/
|
|
22
22
|
export declare function assertPathWithinRoots(path: string, roots: readonly string[]): string;
|
|
23
|
+
/**
|
|
24
|
+
* {@link assertPathWithinRoots}, also reporting WHICH root (its real path)
|
|
25
|
+
* contained the target — for checks that judge the path relative to its root
|
|
26
|
+
* (the upload guard's hidden-segment rule). Internal to the fs module.
|
|
27
|
+
*/
|
|
28
|
+
export declare function confineToRoots(path: string, roots: readonly string[]): {
|
|
29
|
+
real: string;
|
|
30
|
+
root: string;
|
|
31
|
+
};
|
|
23
32
|
//# sourceMappingURL=confine.d.ts.map
|
package/dist/fs/confine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confine.d.ts","sourceRoot":"","sources":["../../src/fs/confine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAsCH;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"confine.d.ts","sourceRoot":"","sources":["../../src/fs/confine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAsCH;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEpF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOrG"}
|