@j0hanz/superfetch 1.2.0 → 1.2.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.
Files changed (160) hide show
  1. package/README.md +18 -204
  2. package/dist/config/constants.d.ts +0 -1
  3. package/dist/config/constants.js +0 -1
  4. package/dist/config/formatting.d.ts +0 -1
  5. package/dist/config/formatting.d.ts.map +1 -1
  6. package/dist/config/formatting.js +1 -3
  7. package/dist/config/formatting.js.map +1 -1
  8. package/dist/config/index.d.ts +1 -2
  9. package/dist/config/index.d.ts.map +1 -1
  10. package/dist/config/index.js +5 -11
  11. package/dist/config/index.js.map +1 -1
  12. package/dist/config/types/content.d.ts +0 -1
  13. package/dist/config/types/content.js +0 -1
  14. package/dist/config/types/runtime.d.ts +0 -1
  15. package/dist/config/types/runtime.js +0 -1
  16. package/dist/config/types/tools.d.ts +0 -1
  17. package/dist/config/types/tools.js +0 -1
  18. package/dist/errors/app-error.d.ts +0 -1
  19. package/dist/errors/app-error.js +0 -1
  20. package/dist/http/auth.d.ts +0 -1
  21. package/dist/http/auth.js +0 -1
  22. package/dist/http/cors.d.ts +0 -1
  23. package/dist/http/cors.js +0 -1
  24. package/dist/http/download-routes.d.ts +1 -2
  25. package/dist/http/download-routes.d.ts.map +1 -1
  26. package/dist/http/download-routes.js +0 -1
  27. package/dist/http/mcp-routes.d.ts +0 -1
  28. package/dist/http/mcp-routes.js +0 -1
  29. package/dist/http/mcp-session-helpers.d.ts +0 -1
  30. package/dist/http/mcp-session-helpers.js +0 -1
  31. package/dist/http/mcp-session.d.ts +1 -2
  32. package/dist/http/mcp-session.d.ts.map +1 -1
  33. package/dist/http/mcp-session.js +0 -1
  34. package/dist/http/mcp-validation.d.ts +1 -2
  35. package/dist/http/mcp-validation.d.ts.map +1 -1
  36. package/dist/http/mcp-validation.js +6 -27
  37. package/dist/http/mcp-validation.js.map +1 -1
  38. package/dist/http/rate-limit.d.ts +1 -2
  39. package/dist/http/rate-limit.d.ts.map +1 -1
  40. package/dist/http/rate-limit.js +0 -1
  41. package/dist/http/rate-limit.js.map +1 -1
  42. package/dist/http/server-middleware.d.ts +0 -1
  43. package/dist/http/server-middleware.d.ts.map +1 -1
  44. package/dist/http/server-middleware.js +56 -1
  45. package/dist/http/server-middleware.js.map +1 -1
  46. package/dist/http/server.d.ts +0 -1
  47. package/dist/http/server.js +0 -1
  48. package/dist/http/session-cleanup.d.ts +0 -1
  49. package/dist/http/session-cleanup.js +0 -1
  50. package/dist/http/sessions.d.ts +1 -2
  51. package/dist/http/sessions.d.ts.map +1 -1
  52. package/dist/http/sessions.js +0 -1
  53. package/dist/index.d.ts +0 -1
  54. package/dist/index.js +0 -1
  55. package/dist/middleware/error-handler.d.ts +0 -1
  56. package/dist/middleware/error-handler.js +0 -1
  57. package/dist/resources/cached-content.d.ts +0 -1
  58. package/dist/resources/cached-content.js +0 -1
  59. package/dist/resources/index.d.ts +0 -1
  60. package/dist/resources/index.js +0 -1
  61. package/dist/server.d.ts +0 -1
  62. package/dist/server.d.ts.map +1 -1
  63. package/dist/server.js +8 -3
  64. package/dist/server.js.map +1 -1
  65. package/dist/services/cache.d.ts +1 -2
  66. package/dist/services/cache.d.ts.map +1 -1
  67. package/dist/services/cache.js +1 -2
  68. package/dist/services/context.d.ts +0 -1
  69. package/dist/services/context.js +0 -1
  70. package/dist/services/extractor.d.ts +1 -2
  71. package/dist/services/extractor.d.ts.map +1 -1
  72. package/dist/services/extractor.js +0 -1
  73. package/dist/services/fetcher/agents.d.ts +0 -1
  74. package/dist/services/fetcher/agents.js +0 -1
  75. package/dist/services/fetcher/errors.d.ts +0 -1
  76. package/dist/services/fetcher/errors.js +0 -1
  77. package/dist/services/fetcher/interceptors.d.ts +0 -1
  78. package/dist/services/fetcher/interceptors.js +0 -1
  79. package/dist/services/fetcher/redirects.d.ts +0 -1
  80. package/dist/services/fetcher/redirects.js +2 -3
  81. package/dist/services/fetcher/response.d.ts +0 -1
  82. package/dist/services/fetcher/response.js +4 -5
  83. package/dist/services/fetcher/retry-policy.d.ts +0 -1
  84. package/dist/services/fetcher/retry-policy.js +0 -1
  85. package/dist/services/fetcher.d.ts +1 -2
  86. package/dist/services/fetcher.d.ts.map +1 -1
  87. package/dist/services/fetcher.js +3 -4
  88. package/dist/services/fetcher.js.map +1 -1
  89. package/dist/services/logger.d.ts +1 -2
  90. package/dist/services/logger.d.ts.map +1 -1
  91. package/dist/services/logger.js +0 -1
  92. package/dist/services/parser.d.ts +1 -2
  93. package/dist/services/parser.d.ts.map +1 -1
  94. package/dist/services/parser.js +0 -1
  95. package/dist/tools/handlers/fetch-markdown.tool.d.ts +1 -2
  96. package/dist/tools/handlers/fetch-markdown.tool.d.ts.map +1 -1
  97. package/dist/tools/handlers/fetch-markdown.tool.js +34 -3
  98. package/dist/tools/handlers/fetch-markdown.tool.js.map +1 -1
  99. package/dist/tools/handlers/fetch-single.shared.d.ts +5 -3
  100. package/dist/tools/handlers/fetch-single.shared.d.ts.map +1 -1
  101. package/dist/tools/handlers/fetch-single.shared.js +8 -4
  102. package/dist/tools/handlers/fetch-single.shared.js.map +1 -1
  103. package/dist/tools/handlers/fetch-url.tool.d.ts +1 -2
  104. package/dist/tools/handlers/fetch-url.tool.d.ts.map +1 -1
  105. package/dist/tools/handlers/fetch-url.tool.js +36 -3
  106. package/dist/tools/index.d.ts +0 -1
  107. package/dist/tools/index.js +0 -1
  108. package/dist/tools/schemas.d.ts +29 -30
  109. package/dist/tools/schemas.js +0 -1
  110. package/dist/tools/utils/cache-vary.d.ts +0 -1
  111. package/dist/tools/utils/cache-vary.d.ts.map +1 -1
  112. package/dist/tools/utils/cache-vary.js +7 -25
  113. package/dist/tools/utils/cache-vary.js.map +1 -1
  114. package/dist/tools/utils/common.d.ts +2 -3
  115. package/dist/tools/utils/common.d.ts.map +1 -1
  116. package/dist/tools/utils/common.js +6 -7
  117. package/dist/tools/utils/common.js.map +1 -1
  118. package/dist/tools/utils/content-transform.d.ts +1 -3
  119. package/dist/tools/utils/content-transform.d.ts.map +1 -1
  120. package/dist/tools/utils/content-transform.js +42 -6
  121. package/dist/tools/utils/content-transform.js.map +1 -1
  122. package/dist/tools/utils/fetch-pipeline.d.ts +1 -2
  123. package/dist/tools/utils/fetch-pipeline.d.ts.map +1 -1
  124. package/dist/tools/utils/fetch-pipeline.js +11 -18
  125. package/dist/tools/utils/inline-content.d.ts +0 -1
  126. package/dist/tools/utils/inline-content.js +0 -1
  127. package/dist/transformers/jsonl.transformer.d.ts +1 -2
  128. package/dist/transformers/jsonl.transformer.d.ts.map +1 -1
  129. package/dist/transformers/jsonl.transformer.js +0 -1
  130. package/dist/transformers/jsonl.transformer.js.map +1 -1
  131. package/dist/transformers/markdown.transformer.d.ts +1 -2
  132. package/dist/transformers/markdown.transformer.d.ts.map +1 -1
  133. package/dist/transformers/markdown.transformer.js +8 -1
  134. package/dist/utils/code-language.d.ts +0 -1
  135. package/dist/utils/code-language.js +0 -1
  136. package/dist/utils/content-cleaner.d.ts +0 -1
  137. package/dist/utils/content-cleaner.js +0 -1
  138. package/dist/utils/crypto.d.ts +0 -1
  139. package/dist/utils/crypto.js +0 -1
  140. package/dist/utils/download-url.d.ts +1 -2
  141. package/dist/utils/download-url.d.ts.map +1 -1
  142. package/dist/utils/download-url.js +0 -1
  143. package/dist/utils/error-utils.d.ts +0 -1
  144. package/dist/utils/error-utils.js +1 -3
  145. package/dist/utils/filename-generator.d.ts +0 -1
  146. package/dist/utils/filename-generator.js +0 -1
  147. package/dist/utils/header-normalizer.d.ts +0 -1
  148. package/dist/utils/header-normalizer.js +0 -1
  149. package/dist/utils/html-truncator.d.ts +0 -1
  150. package/dist/utils/html-truncator.js +0 -1
  151. package/dist/utils/sanitizer.d.ts +0 -1
  152. package/dist/utils/sanitizer.js +0 -1
  153. package/dist/utils/tool-error-handler.d.ts +1 -2
  154. package/dist/utils/tool-error-handler.d.ts.map +1 -1
  155. package/dist/utils/tool-error-handler.js +0 -1
  156. package/dist/utils/url-validator.d.ts +1 -3
  157. package/dist/utils/url-validator.d.ts.map +1 -1
  158. package/dist/utils/url-validator.js +44 -10
  159. package/dist/utils/url-validator.js.map +1 -1
  160. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../src/http/rate-limit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../src/http/rate-limit.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,3 @@ export declare function createJsonParseErrorHandler(): (err: Error, _req: Reques
7
7
  export declare function createContextMiddleware(): (req: Request, _res: Response, next: NextFunction) => void;
8
8
  export declare function registerHealthRoute(app: Express): void;
9
9
  export declare function attachBaseMiddleware(app: Express, jsonParser: RequestHandler, rateLimitMiddleware: RequestHandler, authMiddleware: RequestHandler, corsMiddleware: RequestHandler): void;
10
- //# sourceMappingURL=server-middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-middleware.d.ts","sourceRoot":"","sources":["../../src/http/server-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,OAAO,EACP,cAAc,EACd,QAAQ,EACT,MAAM,SAAS,CAAC;AAQjB,wBAAgB,gBAAgB,IAAI;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAMA;AAED,wBAAgB,2BAA2B,IAAI,CAC7C,GAAG,EAAE,KAAK,EACV,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,KACf,IAAI,CAoBR;AAED,wBAAgB,uBAAuB,IAAI,CACzC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,YAAY,KACf,IAAI,CASR;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAStD;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,cAAc,EAC1B,mBAAmB,EAAE,cAAc,EACnC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC7B,IAAI,CAQN"}
1
+ {"version":3,"file":"server-middleware.d.ts","sourceRoot":"","sources":["../../src/http/server-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,OAAO,EACP,cAAc,EACd,QAAQ,EACT,MAAM,SAAS,CAAC;AA0DjB,wBAAgB,8BAA8B,IAAI,cAAc,CAmB/D;AAED,wBAAgB,gBAAgB,IAAI;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAMA;AAED,wBAAgB,2BAA2B,IAAI,CAC7C,GAAG,EAAE,KAAK,EACV,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,KACf,IAAI,CAoBR;AAED,wBAAgB,uBAAuB,IAAI,CACzC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,YAAY,KACf,IAAI,CASR;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAStD;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,cAAc,EAC1B,mBAAmB,EAAE,cAAc,EACnC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC7B,IAAI,CASN"}
@@ -2,6 +2,61 @@ import { randomUUID } from 'node:crypto';
2
2
  import { config } from '../config/index.js';
3
3
  import { requestContext } from '../services/context.js';
4
4
  import { getSessionId } from './sessions.js';
5
+ const LOOPBACK_HOSTS = new Set(['localhost', '127.0.0.1', '::1']);
6
+ function normalizeHost(value) {
7
+ const trimmed = value.trim().toLowerCase();
8
+ if (!trimmed)
9
+ return null;
10
+ const first = trimmed.split(',')[0]?.trim();
11
+ if (!first)
12
+ return null;
13
+ if (first.startsWith('[')) {
14
+ const end = first.indexOf(']');
15
+ if (end === -1)
16
+ return null;
17
+ return first.slice(1, end);
18
+ }
19
+ const colonIndex = first.indexOf(':');
20
+ if (colonIndex !== -1) {
21
+ return first.slice(0, colonIndex);
22
+ }
23
+ return first;
24
+ }
25
+ function buildAllowedHosts() {
26
+ const allowedHosts = new Set();
27
+ const raw = process.env.ALLOWED_HOSTS ?? '';
28
+ for (const entry of raw.split(',')) {
29
+ const normalized = normalizeHost(entry);
30
+ if (normalized) {
31
+ allowedHosts.add(normalized);
32
+ }
33
+ }
34
+ for (const host of LOOPBACK_HOSTS) {
35
+ allowedHosts.add(host);
36
+ }
37
+ const configuredHost = normalizeHost(config.server.host);
38
+ if (configuredHost &&
39
+ configuredHost !== '0.0.0.0' &&
40
+ configuredHost !== '::') {
41
+ allowedHosts.add(configuredHost);
42
+ }
43
+ return allowedHosts;
44
+ }
45
+ function createHostValidationMiddleware() {
46
+ const allowedHosts = buildAllowedHosts();
47
+ return (req, res, next) => {
48
+ const hostHeader = typeof req.headers.host === 'string' ? req.headers.host : '';
49
+ const normalized = normalizeHost(hostHeader);
50
+ if (!normalized || !allowedHosts.has(normalized)) {
51
+ res.status(403).json({
52
+ error: 'Host not allowed',
53
+ code: 'HOST_NOT_ALLOWED',
54
+ });
55
+ return;
56
+ }
57
+ next();
58
+ };
59
+ }
5
60
  export function buildCorsOptions() {
6
61
  const allowedOrigins = process.env.ALLOWED_ORIGINS
7
62
  ? process.env.ALLOWED_ORIGINS.split(',').map((o) => o.trim())
@@ -45,6 +100,7 @@ export function registerHealthRoute(app) {
45
100
  });
46
101
  }
47
102
  export function attachBaseMiddleware(app, jsonParser, rateLimitMiddleware, authMiddleware, corsMiddleware) {
103
+ app.use(createHostValidationMiddleware());
48
104
  app.use(jsonParser);
49
105
  app.use(createContextMiddleware());
50
106
  app.use(createJsonParseErrorHandler());
@@ -53,4 +109,3 @@ export function attachBaseMiddleware(app, jsonParser, rateLimitMiddleware, authM
53
109
  app.use(authMiddleware);
54
110
  registerHealthRoute(app);
55
111
  }
56
- //# sourceMappingURL=server-middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-middleware.js","sourceRoot":"","sources":["../../src/http/server-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,gBAAgB;IAI9B,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe;QAChD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;IAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,2BAA2B;IAMzC,OAAO,CACL,GAAU,EACV,IAAa,EACb,GAAa,EACb,IAAkB,EACZ,EAAE;QACR,IAAI,GAAG,YAAY,WAAW,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,2BAA2B;iBACrC;gBACD,EAAE,EAAE,IAAI;aACT,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB;IAKrC,OAAO,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAQ,EAAE;QAChE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAEpC,cAAc,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE;YAChD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;YACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,GAAY,EACZ,UAA0B,EAC1B,mBAAmC,EACnC,cAA8B,EAC9B,cAA8B;IAE9B,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpB,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxB,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"server-middleware.js","sourceRoot":"","sources":["../../src/http/server-middleware.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  export declare function startHttpServer(): Promise<{
2
2
  shutdown: (signal: string) => Promise<void>;
3
3
  }>;
4
- //# sourceMappingURL=server.d.ts.map
@@ -102,4 +102,3 @@ async function createExpressApp() {
102
102
  const jsonParser = express.json({ limit: '1mb' });
103
103
  return { app, jsonParser };
104
104
  }
105
- //# sourceMappingURL=server.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SessionStore } from './sessions.js';
2
2
  export declare function startSessionCleanupLoop(store: SessionStore, sessionTtlMs: number): AbortController;
3
- //# sourceMappingURL=session-cleanup.d.ts.map
@@ -35,4 +35,3 @@ function handleSessionCleanupError(error) {
35
35
  error: error instanceof Error ? error.message : 'Unknown error',
36
36
  });
37
37
  }
38
- //# sourceMappingURL=session-cleanup.js.map
@@ -1,5 +1,5 @@
1
1
  import type { Request } from 'express';
2
- import type { SessionEntry } from '../config/types.js';
2
+ import type { SessionEntry } from '../config/types/runtime.js';
3
3
  export interface SessionStore {
4
4
  get: (sessionId: string) => SessionEntry | undefined;
5
5
  touch: (sessionId: string) => void;
@@ -12,4 +12,3 @@ export interface SessionStore {
12
12
  }
13
13
  export declare function getSessionId(req: Request): string | undefined;
14
14
  export declare function createSessionStore(sessionTtlMs: number): SessionStore;
15
- //# sourceMappingURL=sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/http/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;IACrD,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;IACxD,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,YAAY,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,YAAY,EAAE,CAAC;IACnC,WAAW,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;CAC7C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG7D;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAiBrE"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/http/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;IACrD,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;IACxD,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,YAAY,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,YAAY,EAAE,CAAC;IACnC,WAAW,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;CAC7C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG7D;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAiBrE"}
@@ -61,4 +61,3 @@ function evictOldestSession(sessions) {
61
61
  sessions.delete(oldestId);
62
62
  return session;
63
63
  }
64
- //# sourceMappingURL=sessions.js.map
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  #!/usr/bin/env node
2
2
  export {};
3
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -50,4 +50,3 @@ catch (error) {
50
50
  process.stderr.write(`Failed to start server: ${message}\n`);
51
51
  process.exit(1);
52
52
  }
53
- //# sourceMappingURL=index.js.map
@@ -1,3 +1,2 @@
1
1
  import type { NextFunction, Request, Response } from 'express';
2
2
  export declare function errorHandler(err: Error, req: Request, res: Response, _next: NextFunction): void;
3
- //# sourceMappingURL=error-handler.d.ts.map
@@ -55,4 +55,3 @@ export function errorHandler(err, req, res, _next) {
55
55
  setRetryAfterHeader(res, err);
56
56
  res.status(statusCode).json(buildErrorResponse(err));
57
57
  }
58
- //# sourceMappingURL=error-handler.js.map
@@ -1,3 +1,2 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  export declare function registerCachedContentResource(server: McpServer): void;
3
- //# sourceMappingURL=cached-content.d.ts.map
@@ -184,4 +184,3 @@ function resolvePayloadContent(payload, namespace) {
184
184
  }
185
185
  return typeof payload.content === 'string' ? payload.content : null;
186
186
  }
187
- //# sourceMappingURL=cached-content.js.map
@@ -1,3 +1,2 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  export declare function registerResources(server: McpServer): void;
3
- //# sourceMappingURL=index.d.ts.map
@@ -84,4 +84,3 @@ export function registerResources(server) {
84
84
  registerJsonResource(server, resource);
85
85
  }
86
86
  }
87
- //# sourceMappingURL=index.js.map
package/dist/server.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  export declare function createMcpServer(): McpServer;
3
3
  export declare function startStdioServer(): Promise<void>;
4
- //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYpE,wBAAgB,eAAe,IAAI,SAAS,CAoB3C;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCtD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYpE,wBAAgB,eAAe,IAAI,SAAS,CAoB3C;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CtD"}
package/dist/server.js CHANGED
@@ -27,8 +27,8 @@ export async function startStdioServer() {
27
27
  server.server.onerror = (error) => {
28
28
  logError('[MCP Error]', error instanceof Error ? error : { error });
29
29
  };
30
- process.on('SIGINT', () => {
31
- process.stderr.write('\nShutting down superFetch MCP server...\n');
30
+ const handleShutdown = (signal) => {
31
+ process.stderr.write(`\n${signal} received, shutting down superFetch MCP server...\n`);
32
32
  destroyAgents();
33
33
  server
34
34
  .close()
@@ -38,6 +38,12 @@ export async function startStdioServer() {
38
38
  .finally(() => {
39
39
  process.exit(0);
40
40
  });
41
+ };
42
+ process.on('SIGINT', () => {
43
+ handleShutdown('SIGINT');
44
+ });
45
+ process.on('SIGTERM', () => {
46
+ handleShutdown('SIGTERM');
41
47
  });
42
48
  try {
43
49
  await server.connect(transport);
@@ -48,4 +54,3 @@ export async function startStdioServer() {
48
54
  process.exit(1);
49
55
  }
50
56
  }
51
- //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;KAC/B,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;YAC7B,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;YACjD,OAAO,EAAE,EAAE;SACZ;QACD,YAAY,EAAE,0BAA0B,MAAM,CAAC,MAAM,CAAC,OAAO,8OAA8O;KAC5S,CACF,CAAC;IAEF,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,QAAQ,CAAC,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACnE,aAAa,EAAE,CAAC;QAChB,MAAM;aACH,KAAK,EAAE;aACP,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,QAAQ,CACN,uBAAuB,EACvB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CACvC,CAAC;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CACN,8BAA8B,EAC9B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;KAC/B,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;YAC7B,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;YACjD,OAAO,EAAE,EAAE;SACZ;QACD,YAAY,EAAE,0BAA0B,MAAM,CAAC,MAAM,CAAC,OAAO,8OAA8O;KAC5S,CACF,CAAC;IAEF,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,QAAQ,CAAC,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,MAAc,EAAQ,EAAE;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,MAAM,qDAAqD,CACjE,CAAC;QACF,aAAa,EAAE,CAAC;QAChB,MAAM;aACH,KAAK,EAAE;aACP,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,QAAQ,CACN,uBAAuB,EACvB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CACvC,CAAC;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CACN,8BAA8B,EAC9B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CacheEntry } from '../config/types.js';
1
+ import type { CacheEntry } from '../config/types/content.js';
2
2
  interface CacheKeyParts {
3
3
  namespace: string;
4
4
  urlHash: string;
@@ -19,4 +19,3 @@ export declare function get(cacheKey: string | null): CacheEntry | undefined;
19
19
  export declare function set(cacheKey: string | null, content: string, metadata: CacheEntryMetadata): void;
20
20
  export declare function keys(): string[];
21
21
  export {};
22
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/services/cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAwDrD,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,gBAAiB,SAAQ,aAAa;IAC9C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AA2D7D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GACtC,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAMpE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAKvE;AAUD,wBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,CAYnE;AAsBD,wBAAgB,GAAG,CACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,kBAAkB,GAC3B,IAAI,CAeN;AAED,wBAAgB,IAAI,IAAI,MAAM,EAAE,CAE/B"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/services/cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAwD7D,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,gBAAiB,SAAQ,aAAa;IAC9C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AA2D7D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GACtC,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAMpE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAKvE;AAUD,wBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,CAYnE;AAsBD,wBAAgB,GAAG,CACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,kBAAkB,GAC3B,IAAI,CAeN;AAED,wBAAgB,IAAI,IAAI,MAAM,EAAE,CAE/B"}
@@ -17,7 +17,7 @@ function startCleanupLoop() {
17
17
  });
18
18
  }
19
19
  async function runCleanupLoop(signal) {
20
- const intervalMs = Math.floor(config.cache.ttl * 100);
20
+ const intervalMs = Math.floor(config.cache.ttl * 1000);
21
21
  for await (const _ of setIntervalPromise(intervalMs, undefined, {
22
22
  signal,
23
23
  ref: false,
@@ -189,4 +189,3 @@ function persistCacheEntry(cacheKey, entry) {
189
189
  contentCache.set(cacheKey, { entry, expiresAt });
190
190
  emitCacheUpdate(cacheKey);
191
191
  }
192
- //# sourceMappingURL=cache.js.map
@@ -7,4 +7,3 @@ export declare const requestContext: AsyncLocalStorage<RequestContext>;
7
7
  export declare function getRequestId(): string | undefined;
8
8
  export declare function getSessionId(): string | undefined;
9
9
  export {};
10
- //# sourceMappingURL=context.d.ts.map
@@ -6,4 +6,3 @@ export function getRequestId() {
6
6
  export function getSessionId() {
7
7
  return requestContext.getStore()?.sessionId;
8
8
  }
9
- //# sourceMappingURL=context.js.map
@@ -1,5 +1,4 @@
1
- import type { ExtractionResult } from '../config/types.js';
1
+ import type { ExtractionResult } from '../config/types/content.js';
2
2
  export declare function extractContent(html: string, url: string, options?: {
3
3
  extractArticle?: boolean;
4
4
  }): ExtractionResult;
5
- //# sourceMappingURL=extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/services/extractor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAyK5B,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAA6B,GAC/D,gBAAgB,CAMlB"}
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/services/extractor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAyKpC,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAA6B,GAC/D,gBAAgB,CAMlB"}
@@ -170,4 +170,3 @@ function applyBaseUri(document, url) {
170
170
  });
171
171
  }
172
172
  }
173
- //# sourceMappingURL=extractor.js.map
@@ -1,4 +1,3 @@
1
1
  import { Agent } from 'undici';
2
2
  export declare const dispatcher: Agent;
3
3
  export declare function destroyAgents(): void;
4
- //# sourceMappingURL=agents.d.ts.map
@@ -105,4 +105,3 @@ export const dispatcher = new Agent(getAgentOptions());
105
105
  export function destroyAgents() {
106
106
  void dispatcher.close();
107
107
  }
108
- //# sourceMappingURL=agents.js.map
@@ -2,4 +2,3 @@ import { FetchError } from '../../errors/app-error.js';
2
2
  export declare function createRateLimitError(url: string, headerValue: string | null): FetchError;
3
3
  export declare function createHttpError(url: string, status: number, statusText: string): FetchError;
4
4
  export declare function mapFetchError(error: unknown, fallbackUrl: string, timeoutMs: number): FetchError;
5
- //# sourceMappingURL=errors.d.ts.map
@@ -68,4 +68,3 @@ export function mapFetchError(error, fallbackUrl, timeoutMs) {
68
68
  }
69
69
  return createUnknownError(url, 'Unexpected error');
70
70
  }
71
- //# sourceMappingURL=errors.js.map
@@ -8,4 +8,3 @@ export declare function startFetchTelemetry(url: string, method: string): FetchT
8
8
  export declare function recordFetchResponse(context: FetchTelemetryContext, response: Response, contentSize?: number): void;
9
9
  export declare function recordFetchError(context: FetchTelemetryContext, error: unknown, status?: number): void;
10
10
  export {};
11
- //# sourceMappingURL=interceptors.d.ts.map
@@ -89,4 +89,3 @@ export function recordFetchError(context, error, status) {
89
89
  error: err.message,
90
90
  });
91
91
  }
92
- //# sourceMappingURL=interceptors.js.map
@@ -2,4 +2,3 @@ export declare function fetchWithRedirects(url: string, init: RequestInit, maxRe
2
2
  response: Response;
3
3
  url: string;
4
4
  }>;
5
- //# sourceMappingURL=redirects.d.ts.map
@@ -15,7 +15,7 @@ async function performFetchCycle(currentUrl, init, redirectLimit, redirectCount)
15
15
  void response.body?.cancel();
16
16
  return {
17
17
  response,
18
- nextUrl: resolveRedirectTarget(currentUrl, location),
18
+ nextUrl: await resolveRedirectTarget(currentUrl, location),
19
19
  };
20
20
  }
21
21
  function assertRedirectWithinLimit(response, currentUrl, redirectLimit, redirectCount) {
@@ -36,7 +36,7 @@ function annotateRedirectError(error, url) {
36
36
  return;
37
37
  error.requestUrl = url;
38
38
  }
39
- function resolveRedirectTarget(baseUrl, location) {
39
+ async function resolveRedirectTarget(baseUrl, location) {
40
40
  if (!URL.canParse(location, baseUrl)) {
41
41
  throw createErrorWithCode('Invalid redirect target', 'EBADREDIRECT');
42
42
  }
@@ -67,4 +67,3 @@ async function performFetchCycleSafely(currentUrl, init, redirectLimit, redirect
67
67
  throw error;
68
68
  }
69
69
  }
70
- //# sourceMappingURL=redirects.js.map
@@ -2,4 +2,3 @@ export declare function readResponseText(response: Response, url: string, maxByt
2
2
  text: string;
3
3
  size: number;
4
4
  }>;
5
- //# sourceMappingURL=response.d.ts.map
@@ -13,7 +13,7 @@ async function readStreamWithLimit(stream, url, maxBytes) {
13
13
  const reader = stream.getReader();
14
14
  const decoder = new TextDecoder();
15
15
  let total = 0;
16
- let text = '';
16
+ const chunks = [];
17
17
  for (;;) {
18
18
  const { value, done } = await reader.read();
19
19
  if (done)
@@ -23,10 +23,10 @@ async function readStreamWithLimit(stream, url, maxBytes) {
23
23
  await reader.cancel();
24
24
  throw new FetchError(`Response exceeds maximum size of ${maxBytes} bytes`, url);
25
25
  }
26
- text += decoder.decode(value, { stream: true });
26
+ chunks.push(decoder.decode(value, { stream: true }));
27
27
  }
28
- text += decoder.decode();
29
- return { text, size: total };
28
+ chunks.push(decoder.decode());
29
+ return { text: chunks.join(''), size: total };
30
30
  }
31
31
  export async function readResponseText(response, url, maxBytes) {
32
32
  assertContentLengthWithinLimit(response, url, maxBytes);
@@ -36,4 +36,3 @@ export async function readResponseText(response, url, maxBytes) {
36
36
  }
37
37
  return readStreamWithLimit(response.body, url, maxBytes);
38
38
  }
39
- //# sourceMappingURL=response.js.map
@@ -1,2 +1 @@
1
1
  export declare function executeWithRetry<T>(url: string, maxRetries: number, operation: () => Promise<T>, signal?: AbortSignal): Promise<T>;
2
- //# sourceMappingURL=retry-policy.d.ts.map
@@ -129,4 +129,3 @@ function getRateLimitDelay(error) {
129
129
  : 60;
130
130
  return Math.min(retryAfter * 1000, 30000);
131
131
  }
132
- //# sourceMappingURL=retry-policy.js.map
@@ -1,5 +1,4 @@
1
- import type { FetchOptions } from '../config/types.js';
1
+ import type { FetchOptions } from '../config/types/runtime.js';
2
2
  import { destroyAgents } from './fetcher/agents.js';
3
3
  export { destroyAgents };
4
4
  export declare function fetchUrlWithRetry(url: string, options?: FetchOptions, maxRetries?: number): Promise<string>;
5
- //# sourceMappingURL=fetcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../src/services/fetcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,OAAO,EAAE,aAAa,EAAc,MAAM,qBAAqB,CAAC;AAgBhE,OAAO,EAAE,aAAa,EAAE,CAAC;AA2FzB,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,YAAY,EACtB,UAAU,SAAI,GACb,OAAO,CAAC,MAAM,CAAC,CAUjB"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../src/services/fetcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK/D,OAAO,EAAE,aAAa,EAAc,MAAM,qBAAqB,CAAC;AAehE,OAAO,EAAE,aAAa,EAAE,CAAC;AA8FzB,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,YAAY,EACtB,UAAU,SAAI,GACb,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -1,8 +1,8 @@
1
1
  import { config } from '../config/index.js';
2
+ import { normalizeHeaderRecord } from '../utils/header-normalizer.js';
2
3
  import { validateAndNormalizeUrl } from '../utils/url-validator.js';
3
4
  import { destroyAgents, dispatcher } from './fetcher/agents.js';
4
5
  import { createHttpError, createRateLimitError, mapFetchError, } from './fetcher/errors.js';
5
- import { sanitizeHeaders } from './fetcher/headers.js';
6
6
  import { recordFetchError, recordFetchResponse, startFetchTelemetry, } from './fetcher/interceptors.js';
7
7
  import { fetchWithRedirects } from './fetcher/redirects.js';
8
8
  import { readResponseText } from './fetcher/response.js';
@@ -17,7 +17,7 @@ const DEFAULT_HEADERS = {
17
17
  };
18
18
  function buildHeaders(customHeaders) {
19
19
  const headers = new Headers(DEFAULT_HEADERS);
20
- const sanitized = sanitizeHeaders(customHeaders);
20
+ const sanitized = normalizeHeaderRecord(customHeaders, config.security.blockedHeaders);
21
21
  if (sanitized) {
22
22
  for (const [key, value] of Object.entries(sanitized)) {
23
23
  headers.set(key, value);
@@ -67,7 +67,7 @@ async function fetchWithTelemetry(normalizedUrl, requestInit, timeoutMs) {
67
67
  }
68
68
  }
69
69
  export async function fetchUrlWithRetry(url, options, maxRetries = 3) {
70
- const normalizedUrl = validateAndNormalizeUrl(url);
70
+ const normalizedUrl = await validateAndNormalizeUrl(url);
71
71
  const context = buildRequestContext(options);
72
72
  return executeWithRetry(normalizedUrl, maxRetries, async () => runFetch(normalizedUrl, context), context.signal);
73
73
  }
@@ -83,4 +83,3 @@ async function runFetch(normalizedUrl, context) {
83
83
  const requestInit = buildRequestInit(context.headers, signal);
84
84
  return fetchWithTelemetry(normalizedUrl, requestInit, context.timeoutMs);
85
85
  }
86
- //# sourceMappingURL=fetcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../src/services/fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../src/services/fetcher.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import type { LogMetadata } from '../config/types.js';
1
+ import type { LogMetadata } from '../config/types/runtime.js';
2
2
  export declare function logInfo(message: string, meta?: LogMetadata): void;
3
3
  export declare function logDebug(message: string, meta?: LogMetadata): void;
4
4
  export declare function logWarn(message: string, meta?: LogMetadata): void;
5
5
  export declare function logError(message: string, error?: Error | LogMetadata): void;
6
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkChE,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAIjE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAIlE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAIjE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,IAAI,CAS3E"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAkCxE,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAIjE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAIlE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAIjE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,IAAI,CAS3E"}
@@ -47,4 +47,3 @@ export function logError(message, error) {
47
47
  : (error ?? {});
48
48
  process.stderr.write(`${formatLogEntry('error', message, errorMeta)}\n`);
49
49
  }
50
- //# sourceMappingURL=logger.js.map
@@ -1,3 +1,2 @@
1
- import type { ContentBlockUnion } from '../config/types.js';
1
+ import type { ContentBlockUnion } from '../config/types/content.js';
2
2
  export declare function parseHtml(html: string): ContentBlockUnion[];
3
- //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/services/parser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,iBAAiB,EAOlB,MAAM,oBAAoB,CAAC;AAoP5B,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAS3D"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/services/parser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,iBAAiB,EAOlB,MAAM,4BAA4B,CAAC;AAoPpC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAS3D"}
@@ -205,4 +205,3 @@ export function parseHtml(html) {
205
205
  removeNoiseElements($);
206
206
  return filterBlocks(collectBlocks($));
207
207
  }
208
- //# sourceMappingURL=parser.js.map
@@ -1,5 +1,4 @@
1
- import type { FetchMarkdownInput, ToolResponseBase } from '../../config/types.js';
1
+ import type { FetchMarkdownInput, ToolResponseBase } from '../../config/types/tools.js';
2
2
  export declare const FETCH_MARKDOWN_TOOL_NAME = "fetch-markdown";
3
3
  export declare const FETCH_MARKDOWN_TOOL_DESCRIPTION = "Fetches a webpage and converts it to clean Markdown format with optional frontmatter and content length limits";
4
4
  export declare function fetchMarkdownToolHandler(input: FetchMarkdownInput): Promise<ToolResponseBase>;
5
- //# sourceMappingURL=fetch-markdown.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-markdown.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-markdown.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAIlB,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAuB/B,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,+BAA+B,mHACsE,CAAC;AA0GnH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
1
+ {"version":3,"file":"fetch-markdown.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-markdown.tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AAuBrC,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,+BAA+B,mHACsE,CAAC;AA0GnH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}