@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.
- package/README.md +258 -362
- package/dist/config/constants.d.ts +20 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +25 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/formatting.d.ts +0 -1
- package/dist/config/formatting.d.ts.map +1 -1
- package/dist/config/formatting.js +1 -1
- package/dist/config/formatting.js.map +1 -1
- package/dist/config/index.d.ts +8 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +14 -5
- package/dist/config/index.js.map +1 -1
- package/dist/config/types/content.d.ts +1 -19
- package/dist/config/types/content.d.ts.map +1 -1
- package/dist/config/types/runtime.d.ts +7 -4
- package/dist/config/types/runtime.d.ts.map +1 -1
- package/dist/config/types/tools.d.ts +5 -49
- package/dist/config/types/tools.d.ts.map +1 -1
- package/dist/http/auth.d.ts.map +1 -1
- package/dist/http/auth.js +17 -12
- package/dist/http/auth.js.map +1 -1
- package/dist/http/cors.js +4 -0
- package/dist/http/cors.js.map +1 -1
- package/dist/http/download-routes.d.ts +15 -0
- package/dist/http/download-routes.d.ts.map +1 -0
- package/dist/http/download-routes.js +132 -0
- package/dist/http/download-routes.js.map +1 -0
- package/dist/http/mcp-routes.d.ts +1 -1
- package/dist/http/mcp-routes.d.ts.map +1 -1
- package/dist/http/mcp-routes.js +1 -1
- package/dist/http/mcp-routes.js.map +1 -1
- package/dist/http/mcp-session-helpers.d.ts +14 -0
- package/dist/http/mcp-session-helpers.d.ts.map +1 -0
- package/dist/http/mcp-session-helpers.js +65 -0
- package/dist/http/mcp-session-helpers.js.map +1 -0
- package/dist/http/mcp-session.d.ts +0 -1
- package/dist/http/mcp-session.d.ts.map +1 -1
- package/dist/http/mcp-session.js +7 -70
- package/dist/http/mcp-session.js.map +1 -1
- package/dist/http/server-middleware.d.ts +10 -0
- package/dist/http/server-middleware.d.ts.map +1 -0
- package/dist/http/server-middleware.js +56 -0
- package/dist/http/server-middleware.js.map +1 -0
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +20 -98
- package/dist/http/server.js.map +1 -1
- package/dist/http/session-cleanup.d.ts +3 -0
- package/dist/http/session-cleanup.d.ts.map +1 -0
- package/dist/http/session-cleanup.js +38 -0
- package/dist/http/session-cleanup.js.map +1 -0
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/resources/cached-content.d.ts.map +1 -1
- package/dist/resources/cached-content.js +76 -11
- package/dist/resources/cached-content.js.map +1 -1
- package/dist/services/cache.d.ts +6 -2
- package/dist/services/cache.d.ts.map +1 -1
- package/dist/services/cache.js +86 -25
- package/dist/services/cache.js.map +1 -1
- package/dist/services/context.d.ts +2 -1
- package/dist/services/context.d.ts.map +1 -1
- package/dist/services/extractor.d.ts.map +1 -1
- package/dist/services/extractor.js +45 -17
- package/dist/services/extractor.js.map +1 -1
- package/dist/services/fetcher/agents.d.ts.map +1 -1
- package/dist/services/fetcher/agents.js +3 -6
- package/dist/services/fetcher/agents.js.map +1 -1
- package/dist/services/fetcher/headers.d.ts.map +1 -1
- package/dist/services/fetcher/headers.js +2 -24
- package/dist/services/fetcher/headers.js.map +1 -1
- package/dist/services/fetcher/interceptors.d.ts +2 -1
- package/dist/services/fetcher/interceptors.d.ts.map +1 -1
- package/dist/services/fetcher/interceptors.js +30 -20
- package/dist/services/fetcher/interceptors.js.map +1 -1
- package/dist/services/fetcher/redirects.d.ts +0 -1
- package/dist/services/fetcher/redirects.d.ts.map +1 -1
- package/dist/services/fetcher/redirects.js +19 -16
- package/dist/services/fetcher/redirects.js.map +1 -1
- package/dist/services/fetcher/retry-policy.d.ts +1 -27
- package/dist/services/fetcher/retry-policy.d.ts.map +1 -1
- package/dist/services/fetcher/retry-policy.js +119 -125
- package/dist/services/fetcher/retry-policy.js.map +1 -1
- package/dist/services/fetcher.d.ts.map +1 -1
- package/dist/services/fetcher.js +15 -9
- package/dist/services/fetcher.js.map +1 -1
- package/dist/services/parser.d.ts +0 -1
- package/dist/services/parser.d.ts.map +1 -1
- package/dist/services/parser.js +5 -38
- package/dist/services/parser.js.map +1 -1
- package/dist/tools/handlers/fetch-links/link-extractor.d.ts.map +1 -1
- package/dist/tools/handlers/fetch-links/link-extractor.js +15 -19
- package/dist/tools/handlers/fetch-links/link-extractor.js.map +1 -1
- package/dist/tools/handlers/fetch-links.tool.d.ts.map +1 -1
- package/dist/tools/handlers/fetch-links.tool.js +0 -2
- package/dist/tools/handlers/fetch-links.tool.js.map +1 -1
- package/dist/tools/handlers/fetch-markdown.tool.d.ts.map +1 -1
- package/dist/tools/handlers/fetch-markdown.tool.js +16 -17
- package/dist/tools/handlers/fetch-markdown.tool.js.map +1 -1
- package/dist/tools/handlers/fetch-single.shared.d.ts +11 -2
- package/dist/tools/handlers/fetch-single.shared.d.ts.map +1 -1
- package/dist/tools/handlers/fetch-single.shared.js +61 -2
- package/dist/tools/handlers/fetch-single.shared.js.map +1 -1
- package/dist/tools/handlers/fetch-url.tool.d.ts.map +1 -1
- package/dist/tools/handlers/fetch-url.tool.js +3 -14
- package/dist/tools/handlers/fetch-url.tool.js.map +1 -1
- package/dist/tools/handlers/fetch-urls/validation.d.ts +0 -1
- package/dist/tools/handlers/fetch-urls/validation.d.ts.map +1 -1
- package/dist/tools/handlers/fetch-urls/validation.js +1 -1
- package/dist/tools/handlers/fetch-urls/validation.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -19
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/schemas.d.ts +44 -236
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +38 -197
- package/dist/tools/schemas.js.map +1 -1
- package/dist/tools/utils/cache-vary.d.ts +0 -1
- package/dist/tools/utils/cache-vary.d.ts.map +1 -1
- package/dist/tools/utils/cache-vary.js +11 -25
- package/dist/tools/utils/cache-vary.js.map +1 -1
- package/dist/tools/utils/common.d.ts +1 -2
- package/dist/tools/utils/common.d.ts.map +1 -1
- package/dist/tools/utils/common.js.map +1 -1
- package/dist/tools/utils/content-transform.d.ts.map +1 -1
- package/dist/tools/utils/content-transform.js +28 -13
- package/dist/tools/utils/content-transform.js.map +1 -1
- package/dist/tools/utils/fetch-pipeline.js +14 -3
- package/dist/tools/utils/fetch-pipeline.js.map +1 -1
- package/dist/tools/utils/inline-content.d.ts +3 -2
- package/dist/tools/utils/inline-content.d.ts.map +1 -1
- package/dist/transformers/markdown.transformer.d.ts.map +1 -1
- package/dist/transformers/markdown.transformer.js +3 -6
- package/dist/transformers/markdown.transformer.js.map +1 -1
- package/dist/utils/code-language.d.ts +3 -0
- package/dist/utils/code-language.d.ts.map +1 -0
- package/dist/utils/code-language.js +57 -0
- package/dist/utils/code-language.js.map +1 -0
- package/dist/utils/content-cleaner.d.ts +0 -1
- package/dist/utils/content-cleaner.d.ts.map +1 -1
- package/dist/utils/content-cleaner.js +0 -3
- package/dist/utils/content-cleaner.js.map +1 -1
- package/dist/utils/crypto.d.ts +3 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/crypto.js +33 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/download-url.d.ts +9 -0
- package/dist/utils/download-url.d.ts.map +1 -0
- package/dist/utils/download-url.js +28 -0
- package/dist/utils/download-url.js.map +1 -0
- package/dist/utils/error-utils.d.ts +4 -0
- package/dist/utils/error-utils.d.ts.map +1 -0
- package/dist/utils/error-utils.js +14 -0
- package/dist/utils/error-utils.js.map +1 -0
- package/dist/utils/filename-generator.d.ts +2 -0
- package/dist/utils/filename-generator.d.ts.map +1 -0
- package/dist/utils/filename-generator.js +60 -0
- package/dist/utils/filename-generator.js.map +1 -0
- package/dist/utils/header-normalizer.d.ts +7 -3
- package/dist/utils/header-normalizer.d.ts.map +1 -1
- package/dist/utils/header-normalizer.js +23 -16
- package/dist/utils/header-normalizer.js.map +1 -1
- package/dist/utils/tool-error-handler.d.ts +0 -1
- package/dist/utils/tool-error-handler.d.ts.map +1 -1
- package/dist/utils/tool-error-handler.js +11 -5
- package/dist/utils/tool-error-handler.js.map +1 -1
- package/dist/utils/url-sanitizer.d.ts +2 -0
- package/dist/utils/url-sanitizer.d.ts.map +1 -0
- package/dist/utils/url-sanitizer.js +12 -0
- package/dist/utils/url-sanitizer.js.map +1 -0
- package/dist/utils/url-validator.d.ts.map +1 -1
- package/dist/utils/url-validator.js +46 -44
- package/dist/utils/url-validator.js.map +1 -1
- package/package.json +4 -6
package/dist/tools/schemas.js
CHANGED
|
@@ -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(
|
|
11
|
-
.
|
|
12
|
-
.describe('Request timeout in milliseconds (1000-
|
|
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
|
-
.
|
|
18
|
+
.default(3)
|
|
18
19
|
.describe('Number of retry attempts (1-10)'),
|
|
19
20
|
});
|
|
20
|
-
const
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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('
|
|
91
|
-
|
|
47
|
+
.describe('Resource URI when content is too large to inline'),
|
|
48
|
+
resourceMimeType: z
|
|
92
49
|
.string()
|
|
93
50
|
.optional()
|
|
94
|
-
.describe('
|
|
95
|
-
|
|
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
|
-
.
|
|
98
|
-
.describe('
|
|
99
|
-
|
|
100
|
-
.
|
|
101
|
-
|
|
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
|
|
72
|
+
export const fetchMarkdownInputSchema = requestOptionsSchema
|
|
120
73
|
.extend({
|
|
121
|
-
|
|
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
|
-
|
|
229
|
-
resourceUri: z
|
|
230
|
-
.string()
|
|
107
|
+
file: fileDownloadSchema
|
|
231
108
|
.optional()
|
|
232
|
-
.describe('
|
|
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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,aAAa,EAAE,CAAC;SACb,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,GAAG,CAAC,
|
|
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":"
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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,
|
|
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 {
|
|
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,
|
|
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;
|
|
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;
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
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
|
|
30
|
-
const
|
|
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
|
|
40
|
-
const contentBlocks = parseHtml(sourceHtml);
|
|
41
|
-
const { content, truncated } =
|
|
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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAM/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,eAAe,GAChB,MAAM,aAAa,CAAC;
|
|
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;
|
|
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,EAAE,aAAa,CAAC,CAAC;IAE/D,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,EAC9C,aAAqB;IAErB,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,EAAE;QACpC,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,KAA4B,CAAC;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,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,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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,
|
|
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;
|
|
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 '../
|
|
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
|
|
54
|
-
|
|
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":"AAAA,OAAO,eAAe,MAAM,UAAU,CAAC;AAEvC,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,SAAS,GACV,MAAM,yBAAyB,CAAC;AAGjC,OAAO,
|
|
1
|
+
{"version":3,"file":"markdown.transformer.js","sourceRoot":"","sources":["../../src/transformers/markdown.transformer.ts"],"names":[],"mappings":"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"}
|