@j0hanz/superfetch 1.1.9 → 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 (174) 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/validation.d.ts +0 -1
  108. package/dist/tools/handlers/fetch-urls/validation.d.ts.map +1 -1
  109. package/dist/tools/handlers/fetch-urls/validation.js +1 -1
  110. package/dist/tools/handlers/fetch-urls/validation.js.map +1 -1
  111. package/dist/tools/index.d.ts.map +1 -1
  112. package/dist/tools/index.js +1 -19
  113. package/dist/tools/index.js.map +1 -1
  114. package/dist/tools/schemas.d.ts +44 -236
  115. package/dist/tools/schemas.d.ts.map +1 -1
  116. package/dist/tools/schemas.js +38 -197
  117. package/dist/tools/schemas.js.map +1 -1
  118. package/dist/tools/utils/cache-vary.d.ts +0 -1
  119. package/dist/tools/utils/cache-vary.d.ts.map +1 -1
  120. package/dist/tools/utils/cache-vary.js +11 -25
  121. package/dist/tools/utils/cache-vary.js.map +1 -1
  122. package/dist/tools/utils/common.d.ts +1 -2
  123. package/dist/tools/utils/common.d.ts.map +1 -1
  124. package/dist/tools/utils/common.js.map +1 -1
  125. package/dist/tools/utils/content-transform.d.ts.map +1 -1
  126. package/dist/tools/utils/content-transform.js +28 -13
  127. package/dist/tools/utils/content-transform.js.map +1 -1
  128. package/dist/tools/utils/fetch-pipeline.js +14 -3
  129. package/dist/tools/utils/fetch-pipeline.js.map +1 -1
  130. package/dist/tools/utils/inline-content.d.ts +3 -2
  131. package/dist/tools/utils/inline-content.d.ts.map +1 -1
  132. package/dist/transformers/markdown.transformer.d.ts.map +1 -1
  133. package/dist/transformers/markdown.transformer.js +3 -6
  134. package/dist/transformers/markdown.transformer.js.map +1 -1
  135. package/dist/utils/code-language.d.ts +3 -0
  136. package/dist/utils/code-language.d.ts.map +1 -0
  137. package/dist/utils/code-language.js +57 -0
  138. package/dist/utils/code-language.js.map +1 -0
  139. package/dist/utils/content-cleaner.d.ts +0 -1
  140. package/dist/utils/content-cleaner.d.ts.map +1 -1
  141. package/dist/utils/content-cleaner.js +0 -3
  142. package/dist/utils/content-cleaner.js.map +1 -1
  143. package/dist/utils/crypto.d.ts +3 -0
  144. package/dist/utils/crypto.d.ts.map +1 -0
  145. package/dist/utils/crypto.js +33 -0
  146. package/dist/utils/crypto.js.map +1 -0
  147. package/dist/utils/download-url.d.ts +9 -0
  148. package/dist/utils/download-url.d.ts.map +1 -0
  149. package/dist/utils/download-url.js +28 -0
  150. package/dist/utils/download-url.js.map +1 -0
  151. package/dist/utils/error-utils.d.ts +4 -0
  152. package/dist/utils/error-utils.d.ts.map +1 -0
  153. package/dist/utils/error-utils.js +14 -0
  154. package/dist/utils/error-utils.js.map +1 -0
  155. package/dist/utils/filename-generator.d.ts +2 -0
  156. package/dist/utils/filename-generator.d.ts.map +1 -0
  157. package/dist/utils/filename-generator.js +60 -0
  158. package/dist/utils/filename-generator.js.map +1 -0
  159. package/dist/utils/header-normalizer.d.ts +7 -3
  160. package/dist/utils/header-normalizer.d.ts.map +1 -1
  161. package/dist/utils/header-normalizer.js +23 -16
  162. package/dist/utils/header-normalizer.js.map +1 -1
  163. package/dist/utils/tool-error-handler.d.ts +0 -1
  164. package/dist/utils/tool-error-handler.d.ts.map +1 -1
  165. package/dist/utils/tool-error-handler.js +11 -5
  166. package/dist/utils/tool-error-handler.js.map +1 -1
  167. package/dist/utils/url-sanitizer.d.ts +2 -0
  168. package/dist/utils/url-sanitizer.d.ts.map +1 -0
  169. package/dist/utils/url-sanitizer.js +12 -0
  170. package/dist/utils/url-sanitizer.js.map +1 -0
  171. package/dist/utils/url-validator.d.ts.map +1 -1
  172. package/dist/utils/url-validator.js +46 -44
  173. package/dist/utils/url-validator.js.map +1 -1
  174. package/package.json +4 -6
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { config } from '../config/index.js';
2
3
  const requestOptionsSchema = z.object({
3
4
  customHeaders: z
4
5
  .record(z.string())
@@ -7,51 +8,17 @@ const requestOptionsSchema = z.object({
7
8
  timeout: z
8
9
  .number()
9
10
  .min(1000)
10
- .max(60000)
11
- .optional()
12
- .describe('Request timeout in milliseconds (1000-60000)'),
11
+ .max(120000)
12
+ .default(config.fetcher.timeout)
13
+ .describe('Request timeout in milliseconds (1000-120000)'),
13
14
  retries: z
14
15
  .number()
15
16
  .min(1)
16
17
  .max(10)
17
- .optional()
18
+ .default(3)
18
19
  .describe('Number of retry attempts (1-10)'),
19
20
  });
20
- const linkEntrySchema = z
21
- .object({
22
- href: z.string().describe('The link URL'),
23
- text: z.string().describe('The link anchor text'),
24
- type: z.enum(['internal', 'external', 'image']).describe('Link type'),
25
- })
26
- .strict();
27
- const batchResultSchema = z
28
- .object({
29
- url: z.string().describe('The fetched URL'),
30
- success: z.boolean().describe('Whether the fetch was successful'),
31
- title: z.string().optional().describe('Page title'),
32
- content: z.string().optional().describe('The extracted content'),
33
- contentSize: z.number().optional().describe('Content length in characters'),
34
- resourceUri: z
35
- .string()
36
- .optional()
37
- .describe('Resource URI when content is too large to inline'),
38
- resourceMimeType: z
39
- .string()
40
- .optional()
41
- .describe('MIME type for the resource URI'),
42
- contentBlocks: z
43
- .number()
44
- .optional()
45
- .describe('Number of content blocks (JSONL only)'),
46
- cached: z.boolean().optional().describe('Whether served from cache'),
47
- truncated: z.boolean().optional().describe('Whether content was truncated'),
48
- error: z.string().optional().describe('Error message if failed'),
49
- errorCode: z.string().optional().describe('Error code if failed'),
50
- })
51
- .strict();
52
- export const fetchUrlInputSchema = requestOptionsSchema
53
- .extend({
54
- url: z.string().min(1).describe('The URL to fetch'),
21
+ const extractionOptionsSchema = z.object({
55
22
  extractMainContent: z
56
23
  .boolean()
57
24
  .default(true)
@@ -65,92 +32,48 @@ export const fetchUrlInputSchema = requestOptionsSchema
65
32
  .positive()
66
33
  .optional()
67
34
  .describe('Maximum content length in characters'),
35
+ });
36
+ const formatOptionsSchema = z.object({
68
37
  format: z
69
38
  .enum(['jsonl', 'markdown'])
70
39
  .default('jsonl')
71
40
  .describe('Output format'),
72
- })
73
- .strict();
74
- export const fetchLinksInputSchema = requestOptionsSchema
75
- .extend({
76
- url: z.string().min(1).describe('The URL to extract links from'),
77
- includeExternal: z
78
- .boolean()
79
- .default(true)
80
- .describe('Include external links'),
81
- includeInternal: z
82
- .boolean()
83
- .default(true)
84
- .describe('Include internal links'),
85
- maxLinks: z
86
- .number()
87
- .positive()
88
- .max(1000)
41
+ });
42
+ const resourceFieldsSchema = z.object({
43
+ contentSize: z.number().optional().describe('Content length in characters'),
44
+ resourceUri: z
45
+ .string()
89
46
  .optional()
90
- .describe('Maximum number of links to return (1-1000)'),
91
- filterPattern: z
47
+ .describe('Resource URI when content is too large to inline'),
48
+ resourceMimeType: z
92
49
  .string()
93
50
  .optional()
94
- .describe('Regex pattern to filter links (matches against href)'),
95
- includeImages: z
51
+ .describe('MIME type for the resource URI'),
52
+ cached: z.boolean().describe('Whether the result was served from cache'),
53
+ truncated: z
96
54
  .boolean()
97
- .default(false)
98
- .describe('Include image links (img src attributes)'),
99
- })
100
- .strict();
101
- export const fetchMarkdownInputSchema = requestOptionsSchema
55
+ .optional()
56
+ .describe('Whether content was truncated by maxContentLength'),
57
+ error: z.string().optional().describe('Error message if the request failed'),
58
+ errorCode: z.string().optional().describe('Error code if the request failed'),
59
+ });
60
+ const fileDownloadSchema = z.object({
61
+ downloadUrl: z.string().describe('Relative URL to download the .md file'),
62
+ fileName: z.string().describe('Suggested filename for download'),
63
+ expiresAt: z.string().describe('ISO timestamp when download expires'),
64
+ });
65
+ export const fetchUrlInputSchema = requestOptionsSchema
102
66
  .extend({
103
67
  url: z.string().min(1).describe('The URL to fetch'),
104
- extractMainContent: z
105
- .boolean()
106
- .default(true)
107
- .describe('Extract main article content using Readability'),
108
- includeMetadata: z
109
- .boolean()
110
- .default(true)
111
- .describe('Include YAML frontmatter metadata'),
112
- maxContentLength: z
113
- .number()
114
- .positive()
115
- .optional()
116
- .describe('Maximum content length in characters'),
117
68
  })
69
+ .merge(extractionOptionsSchema)
70
+ .merge(formatOptionsSchema)
118
71
  .strict();
119
- export const fetchUrlsInputSchema = requestOptionsSchema
72
+ export const fetchMarkdownInputSchema = requestOptionsSchema
120
73
  .extend({
121
- urls: z
122
- .array(z.string().min(1))
123
- .min(1)
124
- .max(10)
125
- .describe('Array of URLs to fetch (1-10 URLs)'),
126
- extractMainContent: z
127
- .boolean()
128
- .default(true)
129
- .describe('Use Readability to extract main article content'),
130
- includeMetadata: z
131
- .boolean()
132
- .default(true)
133
- .describe('Include page metadata (title, description, etc.)'),
134
- maxContentLength: z
135
- .number()
136
- .positive()
137
- .optional()
138
- .describe('Maximum content length per URL in characters'),
139
- format: z
140
- .enum(['jsonl', 'markdown'])
141
- .default('jsonl')
142
- .describe('Output format for all URLs'),
143
- concurrency: z
144
- .number()
145
- .min(1)
146
- .max(5)
147
- .default(3)
148
- .describe('Maximum concurrent requests (1-5)'),
149
- continueOnError: z
150
- .boolean()
151
- .default(true)
152
- .describe('Continue processing if some URLs fail'),
74
+ url: z.string().min(1).describe('The URL to fetch'),
153
75
  })
76
+ .merge(extractionOptionsSchema)
154
77
  .strict();
155
78
  export const fetchUrlOutputSchema = z
156
79
  .object({
@@ -167,52 +90,8 @@ export const fetchUrlOutputSchema = z
167
90
  .string()
168
91
  .optional()
169
92
  .describe('The extracted content in JSONL or Markdown format'),
170
- contentSize: z.number().optional().describe('Content length in characters'),
171
- resourceUri: z
172
- .string()
173
- .optional()
174
- .describe('Resource URI when content is too large to inline'),
175
- resourceMimeType: z
176
- .string()
177
- .optional()
178
- .describe('MIME type for the resource URI'),
179
- cached: z.boolean().describe('Whether the result was served from cache'),
180
- truncated: z
181
- .boolean()
182
- .optional()
183
- .describe('Whether content was truncated by maxContentLength'),
184
- error: z
185
- .string()
186
- .optional()
187
- .describe('Error message if the request failed'),
188
- errorCode: z
189
- .string()
190
- .optional()
191
- .describe('Error code if the request failed'),
192
- })
193
- .strict();
194
- export const fetchLinksOutputSchema = z
195
- .object({
196
- url: z.string().describe('The source URL'),
197
- linkCount: z.number().describe('Total number of links extracted'),
198
- links: z.array(linkEntrySchema).describe('Array of extracted links'),
199
- filtered: z
200
- .number()
201
- .optional()
202
- .describe('Number of links filtered out by pattern'),
203
- truncated: z
204
- .boolean()
205
- .optional()
206
- .describe('Whether results were truncated by maxLinks'),
207
- error: z
208
- .string()
209
- .optional()
210
- .describe('Error message if the request failed'),
211
- errorCode: z
212
- .string()
213
- .optional()
214
- .describe('Error code if the request failed'),
215
93
  })
94
+ .merge(resourceFieldsSchema)
216
95
  .strict();
217
96
  export const fetchMarkdownOutputSchema = z
218
97
  .object({
@@ -225,48 +104,10 @@ export const fetchMarkdownOutputSchema = z
225
104
  .string()
226
105
  .optional()
227
106
  .describe('The extracted content in Markdown format'),
228
- contentSize: z.number().optional().describe('Content length in characters'),
229
- resourceUri: z
230
- .string()
107
+ file: fileDownloadSchema
231
108
  .optional()
232
- .describe('Resource URI when content is too large to inline'),
233
- resourceMimeType: z
234
- .string()
235
- .optional()
236
- .describe('MIME type for the resource URI'),
237
- cached: z.boolean().describe('Whether the result was served from cache'),
238
- truncated: z
239
- .boolean()
240
- .optional()
241
- .describe('Whether content was truncated by maxContentLength'),
242
- error: z
243
- .string()
244
- .optional()
245
- .describe('Error message if the request failed'),
246
- errorCode: z
247
- .string()
248
- .optional()
249
- .describe('Error code if the request failed'),
250
- })
251
- .strict();
252
- export const fetchUrlsOutputSchema = z
253
- .object({
254
- results: z
255
- .array(batchResultSchema)
256
- .describe('Array of results for each URL'),
257
- summary: z
258
- .object({
259
- total: z.number().describe('Total URLs processed'),
260
- successful: z.number().describe('Number of successful fetches'),
261
- failed: z.number().describe('Number of failed fetches'),
262
- cached: z.number().describe('Number served from cache'),
263
- totalContentBlocks: z
264
- .number()
265
- .describe('Total content blocks extracted'),
266
- })
267
- .strict()
268
- .describe('Summary statistics'),
269
- fetchedAt: z.string().describe('ISO timestamp of batch completion'),
109
+ .describe('Download information when content is cached'),
270
110
  })
111
+ .merge(resourceFieldsSchema)
271
112
  .strict();
272
113
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- export declare function normalizeHeadersForCache(headers?: Record<string, string>): Record<string, string> | undefined;
2
1
  export declare function appendHeaderVary(cacheVary: Record<string, unknown> | string | undefined, customHeaders?: Record<string, string>): Record<string, unknown> | string | undefined;
3
2
  //# sourceMappingURL=cache-vary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache-vary.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/cache-vary.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAWpC;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,EACvD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAW9C"}
1
+ {"version":3,"file":"cache-vary.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/cache-vary.ts"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,EACvD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAG9C"}
@@ -1,41 +1,27 @@
1
1
  import { config } from '../../config/index.js';
2
- export function normalizeHeadersForCache(headers) {
3
- if (!headers || Object.keys(headers).length === 0)
4
- return undefined;
5
- const normalized = buildNormalizedHeaders(headers, config.security.blockedHeaders);
6
- const iterator = normalized.keys();
7
- if (iterator.next().done)
8
- return undefined;
9
- return Object.fromEntries(normalized.entries());
2
+ import { normalizeHeaderRecord } from '../../utils/header-normalizer.js';
3
+ function normalizeHeadersForCache(headers) {
4
+ return normalizeHeaderRecord(headers, config.security.blockedHeaders, {
5
+ trimValues: true,
6
+ });
10
7
  }
11
8
  export function appendHeaderVary(cacheVary, customHeaders) {
12
9
  const headerVary = normalizeHeadersForCache(customHeaders);
10
+ return mergeCacheVary(cacheVary, headerVary);
11
+ }
12
+ function mergeCacheVary(cacheVary, headerVary) {
13
13
  if (!cacheVary && !headerVary)
14
14
  return undefined;
15
15
  if (typeof cacheVary === 'string') {
16
16
  return buildStringVary(cacheVary, headerVary);
17
17
  }
18
+ return mergeObjectVary(cacheVary, headerVary);
19
+ }
20
+ function mergeObjectVary(cacheVary, headerVary) {
18
21
  if (!headerVary)
19
22
  return cacheVary;
20
23
  return { ...(cacheVary ?? {}), headers: headerVary };
21
24
  }
22
- function buildNormalizedHeaders(headers, blockedHeaders) {
23
- const normalized = new Headers();
24
- for (const [key, value] of Object.entries(headers)) {
25
- if (blockedHeaders.has(key.toLowerCase()))
26
- continue;
27
- setHeaderValue(normalized, key, value);
28
- }
29
- return normalized;
30
- }
31
- function setHeaderValue(headers, key, value) {
32
- try {
33
- headers.set(key, value.trim());
34
- }
35
- catch {
36
- // Ignore invalid headers for cache keys
37
- }
38
- }
39
25
  function buildStringVary(key, headerVary) {
40
26
  if (!headerVary)
41
27
  return { key };
@@ -1 +1 @@
1
- {"version":3,"file":"cache-vary.js","sourceRoot":"","sources":["../../../src/tools/utils/cache-vary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,wBAAwB,CACtC,OAAgC;IAEhC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEpE,MAAM,UAAU,GAAG,sBAAsB,CACvC,OAAO,EACP,MAAM,CAAC,QAAQ,CAAC,cAAc,CAC/B,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE3C,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAuD,EACvD,aAAsC;IAEtC,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAE3D,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAEhD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAA+B,EAC/B,cAA2B;IAE3B,MAAM,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAAE,SAAS;QACpD,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,GAAW,EAAE,KAAa;IAClE,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,GAAW,EACX,UAA8C;IAE9C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"cache-vary.js","sourceRoot":"","sources":["../../../src/tools/utils/cache-vary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,SAAS,wBAAwB,CAC/B,OAAgC;IAEhC,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE;QACpE,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAuD,EACvD,aAAsC;IAEtC,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CACrB,SAAuD,EACvD,UAA8C;IAE9C,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CACtB,SAA8C,EAC9C,UAA8C;IAE9C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CACtB,GAAW,EACX,UAA8C;IAE9C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC"}
@@ -1,5 +1,4 @@
1
- import type { ContentTransformOptions, ExtractedArticle, ExtractedMetadata, MetadataBlock, TruncationResult } from '../../config/types.js';
2
- export type { ContentTransformOptions };
1
+ import type { ExtractedArticle, ExtractedMetadata, MetadataBlock, TruncationResult } from '../../config/types.js';
3
2
  export declare function determineContentExtractionSource(extractMainContent: boolean, article: ExtractedArticle | null): article is ExtractedArticle;
4
3
  export declare function createContentMetadataBlock(url: string, article: ExtractedArticle | null, extractedMeta: ExtractedMetadata, shouldExtractFromArticle: boolean, includeMetadata: boolean): MetadataBlock | undefined;
5
4
  export declare function enforceContentLengthLimit(content: string, maxLength?: number): TruncationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,wBAAgB,gCAAgC,CAC9C,kBAAkB,EAAE,OAAO,EAC3B,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAC/B,OAAO,IAAI,gBAAgB,CAE7B;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,aAAa,EAAE,iBAAiB,EAChC,wBAAwB,EAAE,OAAO,EACjC,eAAe,EAAE,OAAO,GACvB,aAAa,GAAG,SAAS,CAmB3B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,CAElB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,SAAoB,GACzB,gBAAgB,CAYlB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,gCAAgC,CAC9C,kBAAkB,EAAE,OAAO,EAC3B,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAC/B,OAAO,IAAI,gBAAgB,CAE7B;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,aAAa,EAAE,iBAAiB,EAChC,wBAAwB,EAAE,OAAO,EACjC,eAAe,EAAE,OAAO,GACvB,aAAa,GAAG,SAAS,CAmB3B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,CAElB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,SAAoB,GACzB,gBAAgB,CAYlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/tools/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAW/D,MAAM,UAAU,gCAAgC,CAC9C,kBAA2B,EAC3B,OAAgC;IAEhC,OAAO,kBAAkB,IAAI,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,GAAW,EACX,OAAgC,EAChC,aAAgC,EAChC,wBAAiC,EACjC,eAAwB;IAExB,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,wBAAwB,IAAI,OAAO;QACxC,CAAC,CAAC;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG;YACH,SAAS,EAAE,GAAG;SACf;QACH,CAAC,CAAC;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,GAAG;YACH,SAAS,EAAE,GAAG;SACf,CAAC;AACR,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,SAAkB;IAElB,OAAO,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,SAAkB,EAClB,MAAM,GAAG,iBAAiB;IAE1B,MAAM,cAAc,GAClB,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAEzE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,EAAE;QACtD,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/tools/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQ/D,MAAM,UAAU,gCAAgC,CAC9C,kBAA2B,EAC3B,OAAgC;IAEhC,OAAO,kBAAkB,IAAI,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,GAAW,EACX,OAAgC,EAChC,aAAgC,EAChC,wBAAiC,EACjC,eAAwB;IAExB,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,wBAAwB,IAAI,OAAO;QACxC,CAAC,CAAC;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG;YACH,SAAS,EAAE,GAAG;SACf;QACH,CAAC,CAAC;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,GAAG;YACH,SAAS,EAAE,GAAG;SACf,CAAC;AACR,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,SAAkB;IAElB,OAAO,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,SAAkB,EAClB,MAAM,GAAG,iBAAiB;IAE1B,MAAM,cAAc,GAClB,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAEzE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,EAAE;QACtD,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-transform.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/content-transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAc/B,UAAU,iBAAiB;IACzB,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAQD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,UAAU,eAAgB,SAAQ,iBAAiB,EAAE,oBAAoB;IACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AA6BD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,GAChD,oBAAoB,CAmBtB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,eAAe,GACvB,uBAAuB,CAmBzB;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,GAChD,oBAAoB,CAmBtB"}
1
+ {"version":3,"file":"content-transform.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/content-transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAc/B,UAAU,iBAAiB;IACzB,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAQD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,UAAU,eAAgB,SAAQ,iBAAiB,EAAE,oBAAoB;IACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AA0ED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,GAChD,oBAAoB,CAatB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,eAAe,GACvB,uBAAuB,CAYzB;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,GAChD,oBAAoB,CActB"}
@@ -14,35 +14,50 @@ function resolveContentSource(html, url, options) {
14
14
  const title = shouldExtractFromArticle ? article.title : extractedMeta.title;
15
15
  return { sourceHtml, title, metadata };
16
16
  }
17
- export function transformHtmlToJsonl(html, url, options) {
18
- const { sourceHtml, title, metadata } = resolveContentSource(html, url, options);
19
- const contentBlocks = parseHtml(sourceHtml);
20
- const { content, truncated } = truncateContent(toJsonl(contentBlocks, metadata), options.maxContentLength);
17
+ function buildTransformContext(html, url, options) {
18
+ return resolveContentSource(html, url, options);
19
+ }
20
+ function buildJsonlPayload(context, maxContentLength) {
21
+ const contentBlocks = parseHtml(context.sourceHtml);
22
+ const { content, truncated } = truncateContent(toJsonl(contentBlocks, context.metadata), maxContentLength);
21
23
  return {
22
24
  content,
23
25
  contentBlocks: contentBlocks.length,
24
- title,
26
+ truncated,
27
+ };
28
+ }
29
+ function buildMarkdownPayload(context, maxContentLength) {
30
+ const markdown = htmlToMarkdown(context.sourceHtml, context.metadata);
31
+ const { content, truncated } = truncateContent(markdown, maxContentLength, TRUNCATION_MARKER);
32
+ return { content, truncated };
33
+ }
34
+ export function transformHtmlToJsonl(html, url, options) {
35
+ const context = buildTransformContext(html, url, options);
36
+ const { content, contentBlocks, truncated } = buildJsonlPayload(context, options.maxContentLength);
37
+ return {
38
+ content,
39
+ contentBlocks,
40
+ title: context.title,
25
41
  ...(truncated && { truncated }),
26
42
  };
27
43
  }
28
44
  export function transformHtmlToMarkdown(html, url, options) {
29
- const { sourceHtml, title, metadata } = resolveContentSource(html, url, options);
30
- const markdown = htmlToMarkdown(sourceHtml, metadata);
31
- const { content, truncated } = truncateContent(markdown, options.maxContentLength, TRUNCATION_MARKER);
45
+ const context = buildTransformContext(html, url, options);
46
+ const { content, truncated } = buildMarkdownPayload(context, options.maxContentLength);
32
47
  return {
33
48
  markdown: content,
34
- title,
49
+ title: context.title,
35
50
  truncated,
36
51
  };
37
52
  }
38
53
  export function transformHtmlToMarkdownWithBlocks(html, url, options) {
39
- const { sourceHtml, title, metadata } = resolveContentSource(html, url, options);
40
- const contentBlocks = parseHtml(sourceHtml);
41
- const { content, truncated } = truncateContent(htmlToMarkdown(sourceHtml, metadata), options.maxContentLength, TRUNCATION_MARKER);
54
+ const context = buildTransformContext(html, url, options);
55
+ const contentBlocks = parseHtml(context.sourceHtml);
56
+ const { content, truncated } = buildMarkdownPayload(context, options.maxContentLength);
42
57
  return {
43
58
  content,
44
59
  contentBlocks: contentBlocks.length,
45
- title,
60
+ title: context.title,
46
61
  ...(truncated && { truncated }),
47
62
  };
48
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"content-transform.js","sourceRoot":"","sources":["../../../src/tools/utils/content-transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-transform.js","sourceRoot":"","sources":["../../../src/tools/utils/content-transform.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ export async function executeFetchPipeline(options) {
57
57
  logDebug('Fetching URL', { url: normalizedUrl, retries: options.retries });
58
58
  const html = await fetchUrlWithRetry(normalizedUrl, fetchOptions, options.retries);
59
59
  const data = options.transform(html, normalizedUrl);
60
- persistCache(cacheKey, data, options.serialize);
60
+ persistCache(cacheKey, data, options.serialize, normalizedUrl);
61
61
  return buildPipelineResult(normalizedUrl, data, cacheKey);
62
62
  }
63
63
  function resolveCacheKey(options, normalizedUrl) {
@@ -71,11 +71,22 @@ function buildFetchOptions(options) {
71
71
  timeout: options.timeout,
72
72
  };
73
73
  }
74
- function persistCache(cacheKey, data, serialize) {
74
+ function persistCache(cacheKey, data, serialize, normalizedUrl) {
75
75
  if (!cacheKey)
76
76
  return;
77
77
  const serializer = serialize ?? JSON.stringify;
78
- cache.set(cacheKey, serializer(data));
78
+ cache.set(cacheKey, serializer(data), {
79
+ url: normalizedUrl,
80
+ title: extractTitle(data),
81
+ });
82
+ }
83
+ function extractTitle(value) {
84
+ if (!value || typeof value !== 'object')
85
+ return undefined;
86
+ if (!('title' in value))
87
+ return undefined;
88
+ const { title } = value;
89
+ return typeof title === 'string' ? title : undefined;
79
90
  }
80
91
  function buildPipelineResult(url, data, cacheKey) {
81
92
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-pipeline.js","sourceRoot":"","sources":["../../../src/tools/utils/fetch-pipeline.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,SAAS,aAAa,CAAC,MAAc,EAAE,QAAgB;IACrD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,4CAA4C,EAAE;YACpD,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SAChC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAuB,EACvB,WAA4D,EAC5D,cAAsB,EACtB,aAAqB;IAErB,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,QAAQ,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAEzE,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAmB,CAAC;IAE/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,QAAQ,CAAC,uCAAuC,EAAE;YAChD,SAAS,EAAE,cAAc;YACzB,GAAG,EAAE,aAAa;SACnB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,IAAI;QACf,GAAG,EAAE,aAAa;QAClB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAgC;IAEhC,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,qBAAqB,CACxC,QAAQ,EACR,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,aAAa,CACd,CAAC;IACF,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE3E,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAClC,aAAa,EACb,YAAY,EACZ,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACpD,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO,mBAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,eAAe,CACtB,OAAgC,EAChC,aAAqB;IAErB,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,iBAAiB,CAAI,OAAgC;IAC5D,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,QAAuB,EACvB,IAAO,EACP,SAA8C;IAE9C,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;IAC/C,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAW,EACX,IAAO,EACP,QAAuB;IAEvB,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,KAAK;QAChB,GAAG;QACH,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"fetch-pipeline.js","sourceRoot":"","sources":["../../../src/tools/utils/fetch-pipeline.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export type InlineContentFormat = 'jsonl' | 'markdown';
2
- export interface InlineContentResult {
1
+ type InlineContentFormat = 'jsonl' | 'markdown';
2
+ interface InlineContentResult {
3
3
  content?: string;
4
4
  contentSize: number;
5
5
  resourceUri?: string;
@@ -8,4 +8,5 @@ export interface InlineContentResult {
8
8
  truncated?: boolean;
9
9
  }
10
10
  export declare function applyInlineContentLimit(content: string, cacheKey: string | null, format: InlineContentFormat): InlineContentResult;
11
+ export {};
11
12
  //# sourceMappingURL=inline-content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline-content.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/inline-content.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,mBAAmB,GAC1B,mBAAmB,CAkBrB"}
1
+ {"version":3,"file":"inline-content.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/inline-content.ts"],"names":[],"mappings":"AAKA,KAAK,mBAAmB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEhD,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,mBAAmB,GAC1B,mBAAmB,CAkBrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/markdown.transformer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAkIxD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAa7E"}
1
+ {"version":3,"file":"markdown.transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/markdown.transformer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA+HxD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAa7E"}
@@ -1,6 +1,6 @@
1
1
  import TurndownService from 'turndown';
2
2
  import { CODE_BLOCK, FRONTMATTER_DELIMITER, joinLines, } from '../config/formatting.js';
3
- import { detectLanguageFromCode } from '../services/parser.js';
3
+ import { detectLanguageFromCode, resolveLanguageFromAttributes, } from '../utils/code-language.js';
4
4
  let turndownInstance = null;
5
5
  function getTurndown() {
6
6
  if (turndownInstance)
@@ -50,11 +50,8 @@ function formatFencedCodeBlock(node) {
50
50
  function resolveCodeLanguage(codeNode, code) {
51
51
  const className = codeNode.getAttribute('class') ?? '';
52
52
  const dataLang = codeNode.getAttribute('data-language') ?? '';
53
- const languageMatch = /language-(\w+)/.exec(className) ??
54
- /lang-(\w+)/.exec(className) ??
55
- /highlight-(\w+)/.exec(className) ??
56
- /^(\w+)$/.exec(dataLang);
57
- return languageMatch?.[1] ?? detectLanguageFromCode(code) ?? '';
53
+ const attributeLanguage = resolveLanguageFromAttributes(className, dataLang);
54
+ return attributeLanguage ?? detectLanguageFromCode(code) ?? '';
58
55
  }
59
56
  const YAML_SPECIAL_CHARS = /[:[\]{}"\r\t'|>&*!?,#]|\n/;
60
57
  const YAML_NUMERIC = /^[\d.]+$/;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.transformer.js","sourceRoot":"","sources":["../../src/transformers/markdown.transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.transformer.js","sourceRoot":"","sources":["../../src/transformers/markdown.transformer.ts"],"names":[],"mappings":"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"}