@j0hanz/fetch-url-mcp 1.12.7 → 1.12.9

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.
Files changed (147) hide show
  1. package/dist/http/auth.d.ts +9 -4
  2. package/dist/http/auth.d.ts.map +1 -1
  3. package/dist/http/auth.js +30 -5
  4. package/dist/http/index.d.ts +4 -0
  5. package/dist/http/index.d.ts.map +1 -0
  6. package/dist/http/index.js +5 -0
  7. package/dist/http/native.d.ts +73 -0
  8. package/dist/http/native.d.ts.map +1 -1
  9. package/dist/http/native.js +597 -10
  10. package/dist/http/rate-limit.d.ts +7 -2
  11. package/dist/http/rate-limit.d.ts.map +1 -1
  12. package/dist/http/rate-limit.js +9 -4
  13. package/dist/index.d.ts +17 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +68 -6
  16. package/dist/lib/config.d.ts.map +1 -1
  17. package/dist/lib/config.js +22 -2
  18. package/dist/lib/core.d.ts +57 -5
  19. package/dist/lib/core.d.ts.map +1 -1
  20. package/dist/lib/core.js +155 -5
  21. package/dist/lib/error/classes.d.ts +19 -0
  22. package/dist/lib/error/classes.d.ts.map +1 -0
  23. package/dist/lib/error/classes.js +107 -0
  24. package/dist/lib/error/classify.d.ts +4 -0
  25. package/dist/lib/error/classify.d.ts.map +1 -0
  26. package/dist/lib/error/classify.js +154 -0
  27. package/dist/lib/error/codes.d.ts +23 -0
  28. package/dist/lib/error/codes.d.ts.map +1 -0
  29. package/dist/lib/error/codes.js +22 -0
  30. package/dist/lib/error/index.d.ts +6 -0
  31. package/dist/lib/error/index.d.ts.map +1 -0
  32. package/dist/lib/error/index.js +7 -0
  33. package/dist/lib/{error-messages.d.ts → error/messages.d.ts} +2 -2
  34. package/dist/lib/error/messages.d.ts.map +1 -0
  35. package/dist/lib/{error-messages.js → error/messages.js} +2 -2
  36. package/dist/lib/{tool-errors.d.ts → error/payload.d.ts} +7 -13
  37. package/dist/lib/error/payload.d.ts.map +1 -0
  38. package/dist/lib/error/payload.js +108 -0
  39. package/dist/lib/mcp-interop.d.ts.map +1 -1
  40. package/dist/lib/mcp-interop.js +4 -6
  41. package/dist/lib/net/http.d.ts.map +1 -0
  42. package/dist/lib/{http.js → net/http.js} +5 -7
  43. package/dist/lib/net/index.d.ts +4 -0
  44. package/dist/lib/net/index.d.ts.map +1 -0
  45. package/dist/lib/net/index.js +5 -0
  46. package/dist/lib/{fetch-pipeline.d.ts → net/pipeline.d.ts} +3 -3
  47. package/dist/lib/net/pipeline.d.ts.map +1 -0
  48. package/dist/lib/{fetch-pipeline.js → net/pipeline.js} +4 -5
  49. package/dist/lib/{url.d.ts → net/url.d.ts} +1 -1
  50. package/dist/lib/net/url.d.ts.map +1 -0
  51. package/dist/lib/{url.js → net/url.js} +4 -5
  52. package/dist/lib/utils.d.ts +2 -32
  53. package/dist/lib/utils.d.ts.map +1 -1
  54. package/dist/lib/utils.js +28 -146
  55. package/dist/resources/index.d.ts.map +1 -1
  56. package/dist/resources/index.js +11 -6
  57. package/dist/schemas.d.ts +1 -1
  58. package/dist/schemas.js +1 -1
  59. package/dist/server.d.ts.map +1 -1
  60. package/dist/server.js +8 -9
  61. package/dist/tasks/index.d.ts +2 -0
  62. package/dist/tasks/index.d.ts.map +1 -0
  63. package/dist/tasks/index.js +3 -0
  64. package/dist/tasks/manager.d.ts +123 -1
  65. package/dist/tasks/manager.d.ts.map +1 -1
  66. package/dist/tasks/manager.js +756 -10
  67. package/dist/tools/{fetch-url.d.ts → index.d.ts} +4 -5
  68. package/dist/tools/index.d.ts.map +1 -0
  69. package/dist/tools/{fetch-url.js → index.js} +7 -8
  70. package/dist/transform/index.d.ts +279 -0
  71. package/dist/transform/index.d.ts.map +1 -0
  72. package/dist/transform/index.js +5235 -0
  73. package/package.json +2 -2
  74. package/dist/cli.d.ts +0 -19
  75. package/dist/cli.d.ts.map +0 -1
  76. package/dist/cli.js +0 -65
  77. package/dist/http/health.d.ts +0 -8
  78. package/dist/http/health.d.ts.map +0 -1
  79. package/dist/http/health.js +0 -152
  80. package/dist/http/helpers.d.ts +0 -68
  81. package/dist/http/helpers.d.ts.map +0 -1
  82. package/dist/http/helpers.js +0 -402
  83. package/dist/lib/error-codes.d.ts +0 -13
  84. package/dist/lib/error-codes.d.ts.map +0 -1
  85. package/dist/lib/error-codes.js +0 -12
  86. package/dist/lib/error-messages.d.ts.map +0 -1
  87. package/dist/lib/fetch-pipeline.d.ts.map +0 -1
  88. package/dist/lib/http.d.ts.map +0 -1
  89. package/dist/lib/logger-names.d.ts +0 -16
  90. package/dist/lib/logger-names.d.ts.map +0 -1
  91. package/dist/lib/logger-names.js +0 -15
  92. package/dist/lib/session.d.ts +0 -44
  93. package/dist/lib/session.d.ts.map +0 -1
  94. package/dist/lib/session.js +0 -137
  95. package/dist/lib/tool-errors.d.ts.map +0 -1
  96. package/dist/lib/tool-errors.js +0 -253
  97. package/dist/lib/url.d.ts.map +0 -1
  98. package/dist/lib/zod.d.ts +0 -3
  99. package/dist/lib/zod.d.ts.map +0 -1
  100. package/dist/lib/zod.js +0 -27
  101. package/dist/tasks/call-contract.d.ts +0 -25
  102. package/dist/tasks/call-contract.d.ts.map +0 -1
  103. package/dist/tasks/call-contract.js +0 -59
  104. package/dist/tasks/execution.d.ts +0 -16
  105. package/dist/tasks/execution.d.ts.map +0 -1
  106. package/dist/tasks/execution.js +0 -241
  107. package/dist/tasks/handlers.d.ts +0 -11
  108. package/dist/tasks/handlers.d.ts.map +0 -1
  109. package/dist/tasks/handlers.js +0 -157
  110. package/dist/tasks/owner.d.ts +0 -43
  111. package/dist/tasks/owner.d.ts.map +0 -1
  112. package/dist/tasks/owner.js +0 -144
  113. package/dist/tasks/registry.d.ts +0 -20
  114. package/dist/tasks/registry.d.ts.map +0 -1
  115. package/dist/tasks/registry.js +0 -40
  116. package/dist/tasks/waiters.d.ts +0 -27
  117. package/dist/tasks/waiters.d.ts.map +0 -1
  118. package/dist/tasks/waiters.js +0 -114
  119. package/dist/tools/fetch-url.d.ts.map +0 -1
  120. package/dist/transform/dom-prep.d.ts +0 -16
  121. package/dist/transform/dom-prep.d.ts.map +0 -1
  122. package/dist/transform/dom-prep.js +0 -1287
  123. package/dist/transform/html-translators.d.ts +0 -5
  124. package/dist/transform/html-translators.d.ts.map +0 -1
  125. package/dist/transform/html-translators.js +0 -697
  126. package/dist/transform/markdown-cleanup.d.ts +0 -10
  127. package/dist/transform/markdown-cleanup.d.ts.map +0 -1
  128. package/dist/transform/markdown-cleanup.js +0 -542
  129. package/dist/transform/metadata.d.ts +0 -18
  130. package/dist/transform/metadata.d.ts.map +0 -1
  131. package/dist/transform/metadata.js +0 -462
  132. package/dist/transform/next-flight.d.ts +0 -2
  133. package/dist/transform/next-flight.d.ts.map +0 -1
  134. package/dist/transform/next-flight.js +0 -374
  135. package/dist/transform/shared.d.ts +0 -8
  136. package/dist/transform/shared.d.ts.map +0 -1
  137. package/dist/transform/shared.js +0 -137
  138. package/dist/transform/transform.d.ts +0 -38
  139. package/dist/transform/transform.d.ts.map +0 -1
  140. package/dist/transform/transform.js +0 -1042
  141. package/dist/transform/types.d.ts +0 -124
  142. package/dist/transform/types.d.ts.map +0 -1
  143. package/dist/transform/types.js +0 -5
  144. package/dist/transform/worker-pool.d.ts +0 -76
  145. package/dist/transform/worker-pool.d.ts.map +0 -1
  146. package/dist/transform/worker-pool.js +0 -725
  147. /package/dist/lib/{http.d.ts → net/http.d.ts} +0 -0
@@ -1,9 +1,14 @@
1
- import type { IncomingMessage, ServerResponse } from 'node:http';
2
1
  import { InvalidTokenError } from '@modelcontextprotocol/sdk/server/auth/errors.js';
3
2
  import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
4
- import { type RequestContext } from './helpers.js';
3
+ import type { IncomingMessage, ServerResponse } from 'node:http';
4
+ interface RequestContextLike {
5
+ readonly req: IncomingMessage;
6
+ readonly res: ServerResponse;
7
+ readonly url: URL;
8
+ readonly method: string | undefined;
9
+ }
5
10
  declare class CorsPolicy {
6
- handle(ctx: RequestContext): boolean;
11
+ handle(ctx: RequestContextLike): boolean;
7
12
  }
8
13
  export declare const corsPolicy: CorsPolicy;
9
14
  declare class InsufficientScopeError extends InvalidTokenError {
@@ -12,7 +17,7 @@ declare class InsufficientScopeError extends InvalidTokenError {
12
17
  }
13
18
  export declare function isInsufficientScopeError(error: unknown): error is InsufficientScopeError;
14
19
  declare class HostOriginPolicy {
15
- validate(ctx: RequestContext): boolean;
20
+ validate(ctx: RequestContextLike): boolean;
16
21
  private resolveHostHeader;
17
22
  private resolveRequestOrigin;
18
23
  private resolveOrigin;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/http/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/http/auth.ts"],"names":[],"mappings":"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"}
package/dist/http/auth.js CHANGED
@@ -1,10 +1,35 @@
1
- import { randomBytes } from 'node:crypto';
2
1
  import { InvalidTokenError, ServerError, } from '@modelcontextprotocol/sdk/server/auth/errors.js';
3
- import { config, logDebug, logWarn } from '../lib/core.js';
4
- import { Loggers } from '../lib/logger-names.js';
5
- import { normalizeHost } from '../lib/url.js';
2
+ import { randomBytes } from 'node:crypto';
3
+ import { config } from '../lib/config.js';
4
+ import { logDebug, Loggers, logWarn } from '../lib/core.js';
5
+ import { normalizeHost } from '../lib/net/index.js';
6
6
  import { composeAbortSignal, hmacSha256Hex, isObject, parseUrlOrNull, timingSafeEqualUtf8, } from '../lib/utils.js';
7
- import { getHeaderValue, sendEmpty, sendError, sendJson, } from './helpers.js';
7
+ function setNoStoreHeaders(res) {
8
+ res.setHeader('X-Content-Type-Options', 'nosniff');
9
+ res.setHeader('Cache-Control', 'no-store');
10
+ }
11
+ function sendJson(res, status, body) {
12
+ res.statusCode = status;
13
+ res.setHeader('Content-Type', 'application/json; charset=utf-8');
14
+ setNoStoreHeaders(res);
15
+ res.end(JSON.stringify(body));
16
+ }
17
+ function sendEmpty(res, status) {
18
+ res.statusCode = status;
19
+ res.setHeader('Content-Length', '0');
20
+ res.end();
21
+ }
22
+ function sendError(res, _code, message, status = 400,
23
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- kept for call-site compatibility
24
+ _id) {
25
+ sendJson(res, status, { error: message });
26
+ }
27
+ function getHeaderValue(req, name) {
28
+ const value = req.headers[name];
29
+ if (!value)
30
+ return null;
31
+ return Array.isArray(value) ? (value[0] ?? null) : value;
32
+ }
8
33
  // ---------------------------------------------------------------------------
9
34
  // CORS
10
35
  // ---------------------------------------------------------------------------
@@ -0,0 +1,4 @@
1
+ export * from './auth.js';
2
+ export * from './native.js';
3
+ export * from './rate-limit.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAGA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // Area contract: HTTP transport surface for auth, gateway, and rate limiting.
2
+ // Export only HTTP-facing primitives used outside http/; keep generic shared utilities and fetch logic out.
3
+ export * from './auth.js';
4
+ export * from './native.js';
5
+ export * from './rate-limit.js';
@@ -1,6 +1,79 @@
1
+ import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
2
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
4
+ import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
5
+ import { type IncomingMessage, type Server, type ServerResponse } from 'node:http';
6
+ import { type Server as HttpsServer } from 'node:https';
7
+ import { type SessionStore } from '../lib/core.js';
8
+ import { type JsonRpcId } from '../lib/mcp-interop.js';
9
+ export type NetworkServer = Server | HttpsServer;
10
+ export interface RequestContext {
11
+ req: IncomingMessage;
12
+ res: ServerResponse;
13
+ url: URL;
14
+ method: string | undefined;
15
+ ip: string | null;
16
+ body: unknown;
17
+ signal?: AbortSignal;
18
+ }
19
+ export interface AuthenticatedContext extends RequestContext {
20
+ auth: AuthInfo;
21
+ }
22
+ export declare function sendJson(res: ServerResponse, status: number, body: unknown): void;
23
+ export declare function sendEmpty(res: ServerResponse, status: number): void;
24
+ export declare function sendError(res: ServerResponse, _code: number, message: string, status?: number, _id?: JsonRpcId | null): void;
25
+ export declare function getHeaderValue(req: IncomingMessage, name: string): string | null;
26
+ export declare function getMcpSessionId(req: IncomingMessage): string | null;
27
+ export declare function findDuplicateSingleValueHeader(req: IncomingMessage): string | null;
28
+ export declare function drainRequest(req: IncomingMessage): void;
29
+ export declare function createRequestAbortSignal(req: IncomingMessage): {
30
+ signal: AbortSignal;
31
+ cleanup: () => void;
32
+ };
33
+ export declare function registerInboundBlockList(server: NetworkServer): void;
34
+ export declare function buildRequestContext(req: IncomingMessage, res: ServerResponse, signal?: AbortSignal): RequestContext | null;
35
+ export declare function closeTransportBestEffort(transport: {
36
+ close: () => Promise<unknown>;
37
+ }, context: string): Promise<void>;
38
+ export declare function closeMcpServerBestEffort(server: McpServer, context: string): Promise<void>;
39
+ export declare function createTransportAdapter(transportImpl: StreamableHTTPServerTransport): Transport;
40
+ type JsonBodyErrorKind = 'payload-too-large' | 'invalid-json' | 'read-failed';
41
+ export declare class JsonBodyError extends Error {
42
+ readonly kind: JsonBodyErrorKind;
43
+ constructor(kind: JsonBodyErrorKind, message: string);
44
+ }
45
+ export declare function isJsonBodyError(error: unknown): error is JsonBodyError;
46
+ export declare const DEFAULT_BODY_LIMIT_BYTES: number;
47
+ declare class JsonBodyReader {
48
+ read(req: IncomingMessage, limit?: number, signal?: AbortSignal): Promise<unknown>;
49
+ private readBody;
50
+ private collectChunks;
51
+ private normalizeChunk;
52
+ }
53
+ export declare const jsonBodyReader: JsonBodyReader;
54
+ interface SessionRecordLike {
55
+ server: McpServer;
56
+ transport: StreamableHTTPServerTransport;
57
+ }
58
+ interface SessionTeardownOptions {
59
+ cancelMessage: string;
60
+ closeServerReason?: string;
61
+ closeTransportReason?: string;
62
+ unregisterByServer?: boolean;
63
+ awaitClose?: boolean;
64
+ }
65
+ export declare function teardownSessionResources(session: SessionRecordLike, options: SessionTeardownOptions): Promise<void>;
66
+ export declare function teardownUnregisteredSessionResources(session: SessionRecordLike, context: string): Promise<void>;
67
+ export declare function teardownSessionRegistration(server: McpServer): void;
68
+ export declare function resetEventLoopMonitoring(): void;
69
+ export declare function disableEventLoopMonitoring(): void;
70
+ export declare function isVerboseHealthRequest(ctx: RequestContext): boolean;
71
+ export declare function shouldHandleHealthRoute(ctx: RequestContext): boolean;
72
+ export declare function sendHealthRouteResponse(store: SessionStore, ctx: RequestContext, authPresent: boolean): boolean;
1
73
  export declare function startHttpServer(): Promise<{
2
74
  shutdown: (signal: string) => Promise<void>;
3
75
  port: number;
4
76
  host: string;
5
77
  }>;
78
+ export {};
6
79
  //# sourceMappingURL=native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/http/native.ts"],"names":[],"mappings":"AAy8CA,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CA2DD"}
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/http/native.ts"],"names":[],"mappings":"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"}