@j0hanz/superfetch 1.1.8 → 1.2.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.
Files changed (177) hide show
  1. package/README.md +258 -362
  2. package/dist/config/constants.d.ts +20 -0
  3. package/dist/config/constants.d.ts.map +1 -0
  4. package/dist/config/constants.js +25 -0
  5. package/dist/config/constants.js.map +1 -0
  6. package/dist/config/formatting.d.ts +0 -1
  7. package/dist/config/formatting.d.ts.map +1 -1
  8. package/dist/config/formatting.js +1 -1
  9. package/dist/config/formatting.js.map +1 -1
  10. package/dist/config/index.d.ts +8 -1
  11. package/dist/config/index.d.ts.map +1 -1
  12. package/dist/config/index.js +14 -5
  13. package/dist/config/index.js.map +1 -1
  14. package/dist/config/types/content.d.ts +1 -19
  15. package/dist/config/types/content.d.ts.map +1 -1
  16. package/dist/config/types/runtime.d.ts +7 -4
  17. package/dist/config/types/runtime.d.ts.map +1 -1
  18. package/dist/config/types/tools.d.ts +5 -49
  19. package/dist/config/types/tools.d.ts.map +1 -1
  20. package/dist/http/auth.d.ts.map +1 -1
  21. package/dist/http/auth.js +17 -12
  22. package/dist/http/auth.js.map +1 -1
  23. package/dist/http/cors.js +4 -0
  24. package/dist/http/cors.js.map +1 -1
  25. package/dist/http/download-routes.d.ts +15 -0
  26. package/dist/http/download-routes.d.ts.map +1 -0
  27. package/dist/http/download-routes.js +132 -0
  28. package/dist/http/download-routes.js.map +1 -0
  29. package/dist/http/mcp-routes.d.ts +1 -1
  30. package/dist/http/mcp-routes.d.ts.map +1 -1
  31. package/dist/http/mcp-routes.js +1 -1
  32. package/dist/http/mcp-routes.js.map +1 -1
  33. package/dist/http/mcp-session-helpers.d.ts +14 -0
  34. package/dist/http/mcp-session-helpers.d.ts.map +1 -0
  35. package/dist/http/mcp-session-helpers.js +65 -0
  36. package/dist/http/mcp-session-helpers.js.map +1 -0
  37. package/dist/http/mcp-session.d.ts +0 -1
  38. package/dist/http/mcp-session.d.ts.map +1 -1
  39. package/dist/http/mcp-session.js +7 -70
  40. package/dist/http/mcp-session.js.map +1 -1
  41. package/dist/http/server-middleware.d.ts +10 -0
  42. package/dist/http/server-middleware.d.ts.map +1 -0
  43. package/dist/http/server-middleware.js +56 -0
  44. package/dist/http/server-middleware.js.map +1 -0
  45. package/dist/http/server.d.ts.map +1 -1
  46. package/dist/http/server.js +20 -98
  47. package/dist/http/server.js.map +1 -1
  48. package/dist/http/session-cleanup.d.ts +3 -0
  49. package/dist/http/session-cleanup.d.ts.map +1 -0
  50. package/dist/http/session-cleanup.js +38 -0
  51. package/dist/http/session-cleanup.js.map +1 -0
  52. package/dist/index.js +13 -5
  53. package/dist/index.js.map +1 -1
  54. package/dist/resources/cached-content.d.ts.map +1 -1
  55. package/dist/resources/cached-content.js +76 -11
  56. package/dist/resources/cached-content.js.map +1 -1
  57. package/dist/services/cache.d.ts +6 -2
  58. package/dist/services/cache.d.ts.map +1 -1
  59. package/dist/services/cache.js +86 -25
  60. package/dist/services/cache.js.map +1 -1
  61. package/dist/services/context.d.ts +2 -1
  62. package/dist/services/context.d.ts.map +1 -1
  63. package/dist/services/extractor.d.ts.map +1 -1
  64. package/dist/services/extractor.js +45 -17
  65. package/dist/services/extractor.js.map +1 -1
  66. package/dist/services/fetcher/agents.d.ts.map +1 -1
  67. package/dist/services/fetcher/agents.js +3 -6
  68. package/dist/services/fetcher/agents.js.map +1 -1
  69. package/dist/services/fetcher/headers.d.ts.map +1 -1
  70. package/dist/services/fetcher/headers.js +2 -24
  71. package/dist/services/fetcher/headers.js.map +1 -1
  72. package/dist/services/fetcher/interceptors.d.ts +2 -1
  73. package/dist/services/fetcher/interceptors.d.ts.map +1 -1
  74. package/dist/services/fetcher/interceptors.js +30 -20
  75. package/dist/services/fetcher/interceptors.js.map +1 -1
  76. package/dist/services/fetcher/redirects.d.ts +0 -1
  77. package/dist/services/fetcher/redirects.d.ts.map +1 -1
  78. package/dist/services/fetcher/redirects.js +19 -16
  79. package/dist/services/fetcher/redirects.js.map +1 -1
  80. package/dist/services/fetcher/retry-policy.d.ts +1 -27
  81. package/dist/services/fetcher/retry-policy.d.ts.map +1 -1
  82. package/dist/services/fetcher/retry-policy.js +119 -125
  83. package/dist/services/fetcher/retry-policy.js.map +1 -1
  84. package/dist/services/fetcher.d.ts.map +1 -1
  85. package/dist/services/fetcher.js +15 -9
  86. package/dist/services/fetcher.js.map +1 -1
  87. package/dist/services/parser.d.ts +0 -1
  88. package/dist/services/parser.d.ts.map +1 -1
  89. package/dist/services/parser.js +5 -38
  90. package/dist/services/parser.js.map +1 -1
  91. package/dist/tools/handlers/fetch-links/link-extractor.d.ts.map +1 -1
  92. package/dist/tools/handlers/fetch-links/link-extractor.js +15 -19
  93. package/dist/tools/handlers/fetch-links/link-extractor.js.map +1 -1
  94. package/dist/tools/handlers/fetch-links.tool.d.ts.map +1 -1
  95. package/dist/tools/handlers/fetch-links.tool.js +0 -2
  96. package/dist/tools/handlers/fetch-links.tool.js.map +1 -1
  97. package/dist/tools/handlers/fetch-markdown.tool.d.ts.map +1 -1
  98. package/dist/tools/handlers/fetch-markdown.tool.js +16 -17
  99. package/dist/tools/handlers/fetch-markdown.tool.js.map +1 -1
  100. package/dist/tools/handlers/fetch-single.shared.d.ts +11 -2
  101. package/dist/tools/handlers/fetch-single.shared.d.ts.map +1 -1
  102. package/dist/tools/handlers/fetch-single.shared.js +61 -2
  103. package/dist/tools/handlers/fetch-single.shared.js.map +1 -1
  104. package/dist/tools/handlers/fetch-url.tool.d.ts.map +1 -1
  105. package/dist/tools/handlers/fetch-url.tool.js +3 -14
  106. package/dist/tools/handlers/fetch-url.tool.js.map +1 -1
  107. package/dist/tools/handlers/fetch-urls/response.d.ts.map +1 -1
  108. package/dist/tools/handlers/fetch-urls/response.js +5 -5
  109. package/dist/tools/handlers/fetch-urls/response.js.map +1 -1
  110. package/dist/tools/handlers/fetch-urls/validation.d.ts +0 -1
  111. package/dist/tools/handlers/fetch-urls/validation.d.ts.map +1 -1
  112. package/dist/tools/handlers/fetch-urls/validation.js +1 -1
  113. package/dist/tools/handlers/fetch-urls/validation.js.map +1 -1
  114. package/dist/tools/index.d.ts.map +1 -1
  115. package/dist/tools/index.js +1 -19
  116. package/dist/tools/index.js.map +1 -1
  117. package/dist/tools/schemas.d.ts +44 -236
  118. package/dist/tools/schemas.d.ts.map +1 -1
  119. package/dist/tools/schemas.js +38 -197
  120. package/dist/tools/schemas.js.map +1 -1
  121. package/dist/tools/utils/cache-vary.d.ts +0 -1
  122. package/dist/tools/utils/cache-vary.d.ts.map +1 -1
  123. package/dist/tools/utils/cache-vary.js +11 -25
  124. package/dist/tools/utils/cache-vary.js.map +1 -1
  125. package/dist/tools/utils/common.d.ts +1 -2
  126. package/dist/tools/utils/common.d.ts.map +1 -1
  127. package/dist/tools/utils/common.js.map +1 -1
  128. package/dist/tools/utils/content-transform.d.ts.map +1 -1
  129. package/dist/tools/utils/content-transform.js +28 -13
  130. package/dist/tools/utils/content-transform.js.map +1 -1
  131. package/dist/tools/utils/fetch-pipeline.js +14 -3
  132. package/dist/tools/utils/fetch-pipeline.js.map +1 -1
  133. package/dist/tools/utils/inline-content.d.ts +3 -2
  134. package/dist/tools/utils/inline-content.d.ts.map +1 -1
  135. package/dist/transformers/markdown.transformer.d.ts.map +1 -1
  136. package/dist/transformers/markdown.transformer.js +3 -6
  137. package/dist/transformers/markdown.transformer.js.map +1 -1
  138. package/dist/utils/code-language.d.ts +3 -0
  139. package/dist/utils/code-language.d.ts.map +1 -0
  140. package/dist/utils/code-language.js +57 -0
  141. package/dist/utils/code-language.js.map +1 -0
  142. package/dist/utils/content-cleaner.d.ts +0 -1
  143. package/dist/utils/content-cleaner.d.ts.map +1 -1
  144. package/dist/utils/content-cleaner.js +0 -3
  145. package/dist/utils/content-cleaner.js.map +1 -1
  146. package/dist/utils/crypto.d.ts +3 -0
  147. package/dist/utils/crypto.d.ts.map +1 -0
  148. package/dist/utils/crypto.js +33 -0
  149. package/dist/utils/crypto.js.map +1 -0
  150. package/dist/utils/download-url.d.ts +9 -0
  151. package/dist/utils/download-url.d.ts.map +1 -0
  152. package/dist/utils/download-url.js +28 -0
  153. package/dist/utils/download-url.js.map +1 -0
  154. package/dist/utils/error-utils.d.ts +4 -0
  155. package/dist/utils/error-utils.d.ts.map +1 -0
  156. package/dist/utils/error-utils.js +14 -0
  157. package/dist/utils/error-utils.js.map +1 -0
  158. package/dist/utils/filename-generator.d.ts +2 -0
  159. package/dist/utils/filename-generator.d.ts.map +1 -0
  160. package/dist/utils/filename-generator.js +60 -0
  161. package/dist/utils/filename-generator.js.map +1 -0
  162. package/dist/utils/header-normalizer.d.ts +7 -3
  163. package/dist/utils/header-normalizer.d.ts.map +1 -1
  164. package/dist/utils/header-normalizer.js +23 -16
  165. package/dist/utils/header-normalizer.js.map +1 -1
  166. package/dist/utils/tool-error-handler.d.ts +0 -1
  167. package/dist/utils/tool-error-handler.d.ts.map +1 -1
  168. package/dist/utils/tool-error-handler.js +11 -5
  169. package/dist/utils/tool-error-handler.js.map +1 -1
  170. package/dist/utils/url-sanitizer.d.ts +2 -0
  171. package/dist/utils/url-sanitizer.d.ts.map +1 -0
  172. package/dist/utils/url-sanitizer.js +12 -0
  173. package/dist/utils/url-sanitizer.js.map +1 -0
  174. package/dist/utils/url-validator.d.ts.map +1 -1
  175. package/dist/utils/url-validator.js +46 -44
  176. package/dist/utils/url-validator.js.map +1 -1
  177. package/package.json +4 -6
@@ -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,CAWjB"}
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"}
@@ -6,7 +6,7 @@ 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';
9
- import { RetryPolicy } from './fetcher/retry-policy.js';
9
+ import { executeWithRetry } from './fetcher/retry-policy.js';
10
10
  export { destroyAgents };
11
11
  const DEFAULT_HEADERS = {
12
12
  'User-Agent': config.fetcher.userAgent,
@@ -68,13 +68,19 @@ async function fetchWithTelemetry(normalizedUrl, requestInit, timeoutMs) {
68
68
  }
69
69
  export async function fetchUrlWithRetry(url, options, maxRetries = 3) {
70
70
  const normalizedUrl = validateAndNormalizeUrl(url);
71
- const policy = new RetryPolicy(maxRetries, normalizedUrl);
72
- const timeoutMs = options?.timeout ?? config.fetcher.timeout;
73
- const headers = buildHeaders(options?.customHeaders);
74
- return policy.execute(async () => {
75
- const signal = buildRequestSignal(timeoutMs, options?.signal);
76
- const requestInit = buildRequestInit(headers, signal);
77
- return fetchWithTelemetry(normalizedUrl, requestInit, timeoutMs);
78
- }, options?.signal);
71
+ const context = buildRequestContext(options);
72
+ return executeWithRetry(normalizedUrl, maxRetries, async () => runFetch(normalizedUrl, context), context.signal);
73
+ }
74
+ function buildRequestContext(options) {
75
+ return {
76
+ timeoutMs: options?.timeout ?? config.fetcher.timeout,
77
+ headers: buildHeaders(options?.customHeaders),
78
+ signal: options?.signal,
79
+ };
80
+ }
81
+ async function runFetch(normalizedUrl, context) {
82
+ const signal = buildRequestSignal(context.timeoutMs, context.signal);
83
+ const requestInit = buildRequestInit(context.headers, signal);
84
+ return fetchWithTelemetry(normalizedUrl, requestInit, context.timeoutMs);
79
85
  }
80
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,4 +1,3 @@
1
1
  import type { ContentBlockUnion } from '../config/types.js';
2
- export declare function detectLanguageFromCode(code: string): string | undefined;
3
2
  export declare function parseHtml(html: string): ContentBlockUnion[];
4
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;AAc5B,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8BvE;AAwOD,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,oBAAoB,CAAC;AAoP5B,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAS3D"}
@@ -1,40 +1,11 @@
1
1
  import * as cheerio from 'cheerio';
2
2
  import { config } from '../config/index.js';
3
+ import { detectLanguageFromCode, resolveLanguageFromAttributes, } from '../utils/code-language.js';
3
4
  import { cleanCodeBlock, cleanHeading, cleanListItems, cleanParagraph, removeInlineTimestamps, } from '../utils/content-cleaner.js';
5
+ import { getErrorMessage } from '../utils/error-utils.js';
4
6
  import { truncateHtml } from '../utils/html-truncator.js';
5
7
  import { sanitizeText } from '../utils/sanitizer.js';
6
8
  import { logWarn } from './logger.js';
7
- export function detectLanguageFromCode(code) {
8
- // Common language patterns for code block detection
9
- const patterns = [
10
- [
11
- /^\s*import\s+.*\s+from\s+['"]react['"]|<[A-Z][a-zA-Z]*[\s/>]|jsx\s*:|className=/m,
12
- 'jsx',
13
- ],
14
- [
15
- /:\s*(string|number|boolean|void|any|unknown|never)\b|interface\s+\w+|type\s+\w+\s*=/m,
16
- 'typescript',
17
- ],
18
- [/^\s*(fn|let\s+mut|impl|struct|enum|use\s+\w+::)/m, 'rust'],
19
- [
20
- /^\s*(export|const|let|var|function|class|async|await)\b|^\s*import\s+.*['"]]/m,
21
- 'javascript',
22
- ],
23
- [/^\s*(def|class|import|from|if __name__|print\()/m, 'python'],
24
- [
25
- /^\s*(npm|yarn|pnpm|npx|brew|apt|pip|cargo|go )\s+(install|add|run|build|start)/m,
26
- 'bash',
27
- ],
28
- [/^\s*[$#]\s+\w+|^\s*#!|^\s*(sudo|chmod|mkdir|cd|ls|cat|echo)\s+/m, 'bash'],
29
- [/^\s*[.#@]?[\w-]+\s*\{[^}]*\}|@media|@import|@keyframes/m, 'css'],
30
- [/^\s*<(!DOCTYPE|html|head|body|div|span|p|a|script|style)\b/im, 'html'],
31
- [/^\s*\{\s*"|^\s*\[\s*("|\d|true|false|null)/m, 'json'],
32
- [/^\s*[\w-]+:\s*.+$/m, 'yaml'],
33
- [/^\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|ALTER|DROP)\s+/im, 'sql'],
34
- [/^\s*(func|package|import\s+")/m, 'go'],
35
- ];
36
- return patterns.find(([pattern]) => pattern.test(code))?.[1];
37
- }
38
9
  const CONTENT_SELECTOR = 'h1, h2, h3, h4, h5, h6, p, ul, ol, pre, code:not(pre code), table, img, blockquote';
39
10
  function parseHeading($, element) {
40
11
  const rawText = sanitizeText($(element).text());
@@ -80,14 +51,10 @@ function parseCode($, element) {
80
51
  const text = cleanCodeBlock(rawText);
81
52
  if (!text)
82
53
  return null;
83
- // Try to get language from class attribute first
84
54
  const className = $(element).attr('class') ?? '';
85
55
  const dataLang = $(element).attr('data-language') ?? '';
86
- const languageMatch = /language-(\w+)/.exec(className) ??
87
- /lang-(\w+)/.exec(className) ??
88
- /highlight-(\w+)/.exec(className) ??
89
- /^(\w+)$/.exec(dataLang);
90
- const language = languageMatch?.[1] ?? detectLanguageFromCode(text);
56
+ const language = resolveLanguageFromAttributes(className, dataLang) ??
57
+ detectLanguageFromCode(text);
91
58
  return {
92
59
  type: 'code',
93
60
  language,
@@ -200,7 +167,7 @@ function loadHtml(html) {
200
167
  }
201
168
  catch (error) {
202
169
  logWarn('Failed to parse HTML', {
203
- error: error instanceof Error ? error.message : 'Unknown error',
170
+ error: getErrorMessage(error),
204
171
  htmlLength: html.length,
205
172
  });
206
173
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/services/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/services/parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"link-extractor.d.ts","sourceRoot":"","sources":["../../../../src/tools/handlers/fetch-links/link-extractor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,mBAAmB,EACnB,oBAAoB,EAEpB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AA0ClC,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAavC;AA6JD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,GAC3B,oBAAoB,CAiBtB"}
1
+ {"version":3,"file":"link-extractor.d.ts","sourceRoot":"","sources":["../../../../src/tools/handlers/fetch-links/link-extractor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,mBAAmB,EACnB,oBAAoB,EAEpB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AA0ClC,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAavC;AAoLD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,GAC3B,oBAAoB,CAiBtB"}
@@ -99,8 +99,8 @@ function resolveAnchorLink($, el, baseUrl) {
99
99
  };
100
100
  }
101
101
  function resolveImageLink($, el, baseUrl) {
102
- const src = $(el).attr('src');
103
- if (!src || src.startsWith('data:'))
102
+ const src = getImageSrc($, el);
103
+ if (!src)
104
104
  return null;
105
105
  const url = tryResolveUrl(src, baseUrl);
106
106
  if (!url)
@@ -111,10 +111,16 @@ function resolveImageLink($, el, baseUrl) {
111
111
  type: 'image',
112
112
  };
113
113
  }
114
- function collectAnchorLinks($, baseUrl, options, seen, links) {
114
+ function getImageSrc($, el) {
115
+ const src = $(el).attr('src');
116
+ if (!src || src.startsWith('data:'))
117
+ return null;
118
+ return src;
119
+ }
120
+ function collectLinks($, selector, resolveLink, options, seen, links) {
115
121
  let filtered = 0;
116
- $('a[href]').each((_, el) => {
117
- const link = resolveAnchorLink($, el, baseUrl);
122
+ $(selector).each((_, el) => {
123
+ const link = resolveLink($, el);
118
124
  if (!link)
119
125
  return;
120
126
  const result = evaluateLink(link, options, seen);
@@ -127,23 +133,13 @@ function collectAnchorLinks($, baseUrl, options, seen, links) {
127
133
  });
128
134
  return filtered;
129
135
  }
136
+ function collectAnchorLinks($, baseUrl, options, seen, links) {
137
+ return collectLinks($, 'a[href]', (instance, el) => resolveAnchorLink(instance, el, baseUrl), options, seen, links);
138
+ }
130
139
  function collectImageLinks($, baseUrl, options, seen, links) {
131
140
  if (!options.includeImages)
132
141
  return 0;
133
- let filtered = 0;
134
- $('img[src]').each((_, el) => {
135
- const link = resolveImageLink($, el, baseUrl);
136
- if (!link)
137
- return;
138
- const result = evaluateLink(link, options, seen);
139
- if (result.filtered)
140
- filtered += 1;
141
- if (!result.accepted)
142
- return;
143
- seen.add(link.href);
144
- links.push(link);
145
- });
146
- return filtered;
142
+ return collectLinks($, 'img[src]', (instance, el) => resolveImageLink(instance, el, baseUrl), options, seen, links);
147
143
  }
148
144
  export function extractLinks(html, baseUrl, options) {
149
145
  const $ = cheerio.load(html);
@@ -1 +1 @@
1
- {"version":3,"file":"link-extractor.js","sourceRoot":"","sources":["../../../../src/tools/handlers/fetch-links/link-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-extractor.js","sourceRoot":"","sources":["../../../../src/tools/handlers/fetch-links/link-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-links.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-links.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAGf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAgB/B,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,4BAA4B,uIAC6F,CAAC;AAiEvI,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
1
+ {"version":3,"file":"fetch-links.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-links.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAGf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAgB/B,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,4BAA4B,uIAC6F,CAAC;AAgEvI,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
@@ -11,8 +11,6 @@ function isRecord(value) {
11
11
  function isToolResponseBase(value) {
12
12
  if (!isRecord(value))
13
13
  return false;
14
- if (!('content' in value))
15
- return false;
16
14
  return Array.isArray(value.content);
17
15
  }
18
16
  function logFetchLinksStart(url, options, filterPattern) {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-links.tool.js","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-links.tool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EACL,uBAAuB,EACvB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EACL,YAAY,EACZ,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,4BAA4B,GACvC,oIAAoI,CAAC;AAEvI,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC,OAAO,CAAE,KAA0B,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAW,EACX,OAA4B,EAC5B,aAAiC;IAEjC,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,GAAG;QACH,GAAG,OAAO;QACV,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,KAAsB,EACtB,OAA4B;IAE5B,OAAO,oBAAoB,CAAuB;QAChD,GAAG;QACH,cAAc,EAAE,OAAO;QACvB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,gBAAgB,CACzB;YACE,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;SAC3C,EACD,KAAK,CAAC,aAAa,CACpB;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CACjC,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,MAA4C;IAE5C,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;aACjD;SACF;QACD,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAsB;IAEtB,IAAI,CAAC;QACH,OAAO,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CACN,wBAAwB,EACxB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACF,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAsB;IAEtB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,uBAAuB,CAAC,iBAAiB,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACrE,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAE1D,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAsB,EACtB,aAAiC;IAEjC,OAAO;QACL,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;QAC9C,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;QAC9C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,MAA4C;IAE5C,MAAM,iBAAiB,GAA4B;QACjD,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;QAChC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;KACzB,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC7B,iBAAiB,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACpD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,iBAAiB,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"fetch-links.tool.js","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-links.tool.ts"],"names":[],"mappings":"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"}
@@ -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,EAGlB,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAoB/B,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,+BAA+B,mHACsE,CAAC;AAyGnH,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":"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,7 +1,7 @@
1
1
  import { logDebug, logError } from '../../services/logger.js';
2
2
  import { createToolErrorResponse, handleToolError, } from '../../utils/tool-error-handler.js';
3
3
  import { transformHtmlToMarkdown } from '../utils/content-transform.js';
4
- import { buildToolContentBlocks, performSharedFetch, } from './fetch-single.shared.js';
4
+ import { applyInlineResultToStructuredContent, buildToolContentBlocks, getFileDownloadInfo, getInlineErrorResponse, performSharedFetch, } from './fetch-single.shared.js';
5
5
  export const FETCH_MARKDOWN_TOOL_NAME = 'fetch-markdown';
6
6
  export const FETCH_MARKDOWN_TOOL_DESCRIPTION = 'Fetches a webpage and converts it to clean Markdown format with optional frontmatter and content length limits';
7
7
  function resolveMarkdownOptions(input) {
@@ -11,7 +11,7 @@ function resolveMarkdownOptions(input) {
11
11
  maxContentLength: input.maxContentLength,
12
12
  };
13
13
  }
14
- function buildMarkdownStructuredContent(pipeline, inlineResult) {
14
+ function buildMarkdownStructuredContent(pipeline, inlineResult, fileDownload) {
15
15
  const structuredContent = {
16
16
  url: pipeline.url,
17
17
  title: pipeline.data.title,
@@ -22,20 +22,12 @@ function buildMarkdownStructuredContent(pipeline, inlineResult) {
22
22
  if (pipeline.data.truncated || inlineResult.truncated) {
23
23
  structuredContent.truncated = true;
24
24
  }
25
- if (typeof inlineResult.content === 'string') {
26
- structuredContent.markdown = inlineResult.content;
27
- }
28
- if (inlineResult.resourceUri) {
29
- structuredContent.resourceUri = inlineResult.resourceUri;
30
- structuredContent.resourceMimeType = inlineResult.resourceMimeType;
25
+ applyInlineResultToStructuredContent(structuredContent, inlineResult, 'markdown');
26
+ if (fileDownload) {
27
+ structuredContent.file = fileDownload;
31
28
  }
32
29
  return structuredContent;
33
30
  }
34
- function getInlineErrorResponse(inlineResult, url) {
35
- if (!inlineResult.error)
36
- return null;
37
- return createToolErrorResponse(inlineResult.error, url, 'INTERNAL_ERROR');
38
- }
39
31
  function logFetchMarkdownStart(url, options) {
40
32
  logDebug('Fetching markdown', { url, ...options });
41
33
  }
@@ -58,10 +50,10 @@ async function fetchMarkdownPipeline(url, input, options, transformOptions) {
58
50
  transform: buildMarkdownTransform(transformOptions),
59
51
  });
60
52
  }
61
- function buildMarkdownResponse(pipeline, inlineResult) {
62
- const structuredContent = buildMarkdownStructuredContent(pipeline, inlineResult);
53
+ function buildMarkdownResponse(pipeline, inlineResult, fileDownload) {
54
+ const structuredContent = buildMarkdownStructuredContent(pipeline, inlineResult, fileDownload);
63
55
  return {
64
- content: buildToolContentBlocks(structuredContent, pipeline.fromCache, inlineResult, 'Fetched markdown'),
56
+ content: buildToolContentBlocks(structuredContent, pipeline.fromCache, inlineResult, 'Fetched markdown', pipeline.cacheKey, pipeline.data.content, 'markdown', pipeline.url, pipeline.data.title),
65
57
  structuredContent,
66
58
  };
67
59
  }
@@ -86,6 +78,13 @@ async function executeFetchMarkdown(input) {
86
78
  const inlineError = getInlineErrorResponse(inlineResult, url);
87
79
  if (inlineError)
88
80
  return inlineError;
89
- return buildMarkdownResponse(pipeline, inlineResult);
81
+ const fileDownload = inlineResult.resourceUri
82
+ ? getFileDownloadInfo({
83
+ cacheKey: pipeline.cacheKey ?? null,
84
+ url: pipeline.url,
85
+ title: pipeline.data.title,
86
+ })
87
+ : null;
88
+ return buildMarkdownResponse(pipeline, inlineResult, fileDownload);
90
89
  }
91
90
  //# sourceMappingURL=fetch-markdown.tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-markdown.tool.js","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-markdown.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-markdown.tool.js","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-markdown.tool.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { PipelineResult, ToolContentBlock } from '../../config/types.js';
1
+ import type { PipelineResult, ToolContentBlock, ToolResponseBase } from '../../config/types.js';
2
+ import type { FileDownloadInfo } from '../../config/types.js';
2
3
  import { applyInlineContentLimit } from '../utils/inline-content.js';
3
4
  type SharedFetchFormat = 'jsonl' | 'markdown';
4
5
  interface SharedFetchOptions<T extends {
@@ -21,6 +22,14 @@ export declare function performSharedFetch<T extends {
21
22
  inlineResult: ReturnType<typeof applyInlineContentLimit>;
22
23
  }>;
23
24
  export type InlineResult = ReturnType<typeof applyInlineContentLimit>;
24
- export declare function buildToolContentBlocks(structuredContent: Record<string, unknown>, fromCache: boolean, inlineResult: InlineResult, resourceName: string): ToolContentBlock[];
25
+ interface DownloadContext {
26
+ cacheKey: string | null;
27
+ url: string;
28
+ title?: string;
29
+ }
30
+ export declare function getFileDownloadInfo(context: DownloadContext): FileDownloadInfo | null;
31
+ export declare function getInlineErrorResponse(inlineResult: InlineResult, url: string): ToolResponseBase | null;
32
+ export declare function applyInlineResultToStructuredContent(structuredContent: Record<string, unknown>, inlineResult: InlineResult, contentKey: string): void;
33
+ export declare function buildToolContentBlocks(structuredContent: Record<string, unknown>, fromCache: boolean, inlineResult: InlineResult, resourceName: string, cacheKey?: string | null, fullContent?: string, format?: SharedFetchFormat, url?: string, title?: string): ToolContentBlock[];
25
34
  export {};
26
35
  //# sourceMappingURL=fetch-single.shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-single.shared.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-single.shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,KAAK,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;AAE9C,UAAU,kBAAkB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC,CAAC;CAChE;AAED,wBAAsB,kBAAkB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EACpE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC;IACT,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5B,YAAY,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;CAC1D,CAAC,CA8BD;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AA8BtE,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,GACnB,gBAAgB,EAAE,CAQpB"}
1
+ {"version":3,"file":"fetch-single.shared.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-single.shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,KAAK,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;AAE9C,UAAU,kBAAkB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC,CAAC;CAChE;AAED,wBAAsB,kBAAkB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EACpE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC;IACT,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5B,YAAY,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;CAC1D,CAAC,CA8BD;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEtE,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,GACvB,gBAAgB,GAAG,IAAI,CAMzB;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,GACV,gBAAgB,GAAG,IAAI,CAGzB;AAED,wBAAgB,oCAAoC,CAClD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GACjB,IAAI,CAaN;AAyDD,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,gBAAgB,EAAE,CA+BpB"}
@@ -1,4 +1,7 @@
1
1
  import { config } from '../../config/index.js';
2
+ import { buildFileDownloadInfo } from '../../utils/download-url.js';
3
+ import { generateSafeFilename } from '../../utils/filename-generator.js';
4
+ import { createToolErrorResponse } from '../../utils/tool-error-handler.js';
2
5
  import { appendHeaderVary } from '../utils/cache-vary.js';
3
6
  import { executeFetchPipeline } from '../utils/fetch-pipeline.js';
4
7
  import { applyInlineContentLimit } from '../utils/inline-content.js';
@@ -23,6 +26,30 @@ export async function performSharedFetch(options) {
23
26
  const inlineResult = applyInlineContentLimit(pipeline.data.content, pipeline.cacheKey ?? null, options.format);
24
27
  return { pipeline, inlineResult };
25
28
  }
29
+ export function getFileDownloadInfo(context) {
30
+ return buildFileDownloadInfo({
31
+ cacheKey: context.cacheKey,
32
+ url: context.url,
33
+ title: context.title,
34
+ });
35
+ }
36
+ export function getInlineErrorResponse(inlineResult, url) {
37
+ if (!inlineResult.error)
38
+ return null;
39
+ return createToolErrorResponse(inlineResult.error, url, 'INTERNAL_ERROR');
40
+ }
41
+ export function applyInlineResultToStructuredContent(structuredContent, inlineResult, contentKey) {
42
+ if (inlineResult.truncated) {
43
+ structuredContent.truncated = true;
44
+ }
45
+ if (typeof inlineResult.content === 'string') {
46
+ structuredContent[contentKey] = inlineResult.content;
47
+ }
48
+ if (inlineResult.resourceUri) {
49
+ structuredContent.resourceUri = inlineResult.resourceUri;
50
+ structuredContent.resourceMimeType = inlineResult.resourceMimeType;
51
+ }
52
+ }
26
53
  function serializeStructuredContent(structuredContent, fromCache) {
27
54
  return JSON.stringify(structuredContent, fromCache ? undefined : null, fromCache ? undefined : 2);
28
55
  }
@@ -38,12 +65,44 @@ function buildResourceLink(inlineResult, name) {
38
65
  description: `Content exceeds inline limit (${config.constants.maxInlineContentChars} chars)`,
39
66
  };
40
67
  }
41
- export function buildToolContentBlocks(structuredContent, fromCache, inlineResult, resourceName) {
68
+ function buildEmbeddedResource(content, mimeType, url, title) {
69
+ if (!content) {
70
+ return null;
71
+ }
72
+ // Generate a proper filename with extension
73
+ const extension = mimeType === 'text/markdown' ? '.md' : '.jsonl';
74
+ const filename = generateSafeFilename(url, title, undefined, extension);
75
+ // Use file: URI scheme with filename for better VS Code integration
76
+ const uri = `file:///${filename}`;
77
+ return {
78
+ type: 'resource',
79
+ resource: {
80
+ uri,
81
+ mimeType,
82
+ text: content,
83
+ },
84
+ };
85
+ }
86
+ export function buildToolContentBlocks(structuredContent, fromCache, inlineResult, resourceName, cacheKey, fullContent, format, url, title) {
42
87
  const textBlock = {
43
88
  type: 'text',
44
89
  text: serializeStructuredContent(structuredContent, fromCache),
45
90
  };
91
+ const blocks = [textBlock];
92
+ // Always add embedded resource for saveable content (works in stdio mode)
93
+ const mimeType = format === 'markdown' ? 'text/markdown' : 'application/jsonl';
94
+ const contentToEmbed = fullContent ?? inlineResult.content;
95
+ if (contentToEmbed && url) {
96
+ const embeddedResource = buildEmbeddedResource(contentToEmbed, mimeType, url, title);
97
+ if (embeddedResource) {
98
+ blocks.push(embeddedResource);
99
+ }
100
+ }
101
+ // Add resource link for HTTP mode downloads (only when truncated)
46
102
  const resourceLink = buildResourceLink(inlineResult, resourceName);
47
- return resourceLink ? [textBlock, resourceLink] : [textBlock];
103
+ if (resourceLink) {
104
+ blocks.push(resourceLink);
105
+ }
106
+ return blocks;
48
107
  }
49
108
  //# sourceMappingURL=fetch-single.shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-single.shared.js","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-single.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAgBrE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA8B;IAK9B,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1E,MAAM,SAAS,GAAG,gBAAgB,CAChC;QACE,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;KAClE,EACD,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAI;QAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,cAAc;QACd,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS;QACT,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,uBAAuB,CAC1C,QAAQ,CAAC,IAAI,CAAC,OAAO,EACrB,QAAQ,CAAC,QAAQ,IAAI,IAAI,EACzB,OAAO,CAAC,MAAM,CACf,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC;AAID,SAAS,0BAA0B,CACjC,iBAA0C,EAC1C,SAAkB;IAElB,OAAO,IAAI,CAAC,SAAS,CACnB,iBAAiB,EACjB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC5B,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,YAA0B,EAC1B,IAAY;IAEZ,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,YAAY,CAAC,WAAW;QAC7B,IAAI;QACJ,QAAQ,EAAE,YAAY,CAAC,gBAAgB;QACvC,WAAW,EAAE,iCAAiC,MAAM,CAAC,SAAS,CAAC,qBAAqB,SAAS;KAC9F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,iBAA0C,EAC1C,SAAkB,EAClB,YAA0B,EAC1B,YAAoB;IAEpB,MAAM,SAAS,GAAqB;QAClC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,0BAA0B,CAAC,iBAAiB,EAAE,SAAS,CAAC;KAC/D,CAAC;IAEF,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACnE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"fetch-single.shared.js","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-single.shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-url.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-url.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGb,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAmB/B,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,0BAA0B,6JACqH,CAAC;AA0H7J,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
1
+ {"version":3,"file":"fetch-url.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-url.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGb,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAqB/B,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,0BAA0B,6JACqH,CAAC;AAoH7J,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
@@ -1,7 +1,7 @@
1
1
  import { logDebug, logError } from '../../services/logger.js';
2
2
  import { createToolErrorResponse, handleToolError, } from '../../utils/tool-error-handler.js';
3
3
  import { transformHtmlToJsonl, transformHtmlToMarkdownWithBlocks, } from '../utils/content-transform.js';
4
- import { buildToolContentBlocks, performSharedFetch, } from './fetch-single.shared.js';
4
+ import { applyInlineResultToStructuredContent, buildToolContentBlocks, getInlineErrorResponse, performSharedFetch, } from './fetch-single.shared.js';
5
5
  export const FETCH_URL_TOOL_NAME = 'fetch-url';
6
6
  export const FETCH_URL_TOOL_DESCRIPTION = 'Fetches a webpage and converts it to AI-readable JSONL format with semantic content blocks. Supports custom headers, retries, and content length limits.';
7
7
  function resolveFetchUrlOptions(input) {
@@ -33,20 +33,9 @@ function buildFetchUrlStructuredContent(format, pipeline, inlineResult) {
33
33
  if (inlineResult.truncated) {
34
34
  structuredContent.truncated = true;
35
35
  }
36
- if (typeof inlineResult.content === 'string') {
37
- structuredContent.content = inlineResult.content;
38
- }
39
- if (inlineResult.resourceUri) {
40
- structuredContent.resourceUri = inlineResult.resourceUri;
41
- structuredContent.resourceMimeType = inlineResult.resourceMimeType;
42
- }
36
+ applyInlineResultToStructuredContent(structuredContent, inlineResult, 'content');
43
37
  return structuredContent;
44
38
  }
45
- function getInlineErrorResponse(inlineResult, url) {
46
- if (!inlineResult.error)
47
- return null;
48
- return createToolErrorResponse(inlineResult.error, url, 'INTERNAL_ERROR');
49
- }
50
39
  function logFetchUrlStart(url, options) {
51
40
  logDebug('Fetching URL', {
52
41
  url,
@@ -71,7 +60,7 @@ async function fetchUrlPipeline(url, input, options) {
71
60
  function buildFetchUrlResponse(pipeline, inlineResult, format) {
72
61
  const structuredContent = buildFetchUrlStructuredContent(format, pipeline, inlineResult);
73
62
  return {
74
- content: buildToolContentBlocks(structuredContent, pipeline.fromCache, inlineResult, 'Fetched content'),
63
+ content: buildToolContentBlocks(structuredContent, pipeline.fromCache, inlineResult, 'Fetched content', pipeline.cacheKey, pipeline.data.content, format, pipeline.url, pipeline.data.title),
75
64
  structuredContent,
76
65
  };
77
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-url.tool.js","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-url.tool.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EACL,uBAAuB,EACvB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,iCAAiC,GAClC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,sBAAsB,EAEtB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GACrC,0JAA0J,CAAC;AAW7J,SAAS,sBAAsB,CAAC,KAAoB;IAClD,OAAO;QACL,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;QACpD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;QAC9C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAwB;IACtD,OAAO,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE,CACnC,OAAO,CAAC,MAAM,KAAK,UAAU;QAC3B,CAAC,CAAC,iCAAiC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAc,EACd,QAA8C,EAC9C,YAA0B;IAE1B,MAAM,iBAAiB,GAA4B;QACjD,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;QAC1B,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa;QAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM;QACN,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,MAAM,EAAE,QAAQ,CAAC,SAAS;KAC3B,CAAC;IAEF,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC7C,iBAAiB,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;IACnD,CAAC;IAED,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,iBAAiB,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACzD,iBAAiB,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;IACrE,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB,CAC7B,YAA0B,EAC1B,GAAW;IAEX,IAAI,CAAC,YAAY,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,uBAAuB,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,OAAwB;IAC7D,QAAQ,CAAC,cAAc,EAAE;QACvB,GAAG;QACH,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,GAAW,EACX,KAAoB,EACpB,OAAwB;IAKxB,OAAO,kBAAkB,CAAuB;QAC9C,GAAG;QACH,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAA8C,EAC9C,YAA0B,EAC1B,MAAc;IAEd,MAAM,iBAAiB,GAAG,8BAA8B,CACtD,MAAM,EACN,QAAQ,EACR,YAAY,CACb,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,sBAAsB,CAC7B,iBAAiB,EACjB,QAAQ,CAAC,SAAS,EAClB,YAAY,EACZ,iBAAiB,CAClB;QACD,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CACN,sBAAsB,EACtB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACF,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAoB;IAEpB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,uBAAuB,CAAC,iBAAiB,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC9C,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE/B,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CACvD,GAAG,EACH,KAAK,EACL,OAAO,CACR,CAAC;IAEF,MAAM,WAAW,GAAG,sBAAsB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,OAAO,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"fetch-url.tool.js","sourceRoot":"","sources":["../../../src/tools/handlers/fetch-url.tool.ts"],"names":[],"mappings":"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"}