@bedolla/enrivision 0.1.4 → 0.1.6

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 (64) hide show
  1. package/README.md +31 -6
  2. package/dist/client/EnriProxyClient.d.ts +289 -244
  3. package/dist/client/EnriProxyClient.d.ts.map +1 -1
  4. package/dist/client/EnriProxyClient.js +841 -115
  5. package/dist/client/EnriProxyClient.js.map +1 -1
  6. package/dist/client/EnriProxyClientContract.d.ts +425 -0
  7. package/dist/client/EnriProxyClientContract.d.ts.map +1 -0
  8. package/dist/client/EnriProxyClientContract.js +87 -0
  9. package/dist/client/EnriProxyClientContract.js.map +1 -0
  10. package/dist/index.js +23 -12
  11. package/dist/index.js.map +1 -1
  12. package/dist/package-info.d.ts +28 -0
  13. package/dist/package-info.d.ts.map +1 -1
  14. package/dist/package-info.js +28 -0
  15. package/dist/package-info.js.map +1 -1
  16. package/dist/server/EnriVisionServer.d.ts +186 -0
  17. package/dist/server/EnriVisionServer.d.ts.map +1 -1
  18. package/dist/server/EnriVisionServer.js +780 -93
  19. package/dist/server/EnriVisionServer.js.map +1 -1
  20. package/dist/shared/codepointTruncation.d.ts +61 -0
  21. package/dist/shared/codepointTruncation.d.ts.map +1 -0
  22. package/dist/shared/codepointTruncation.js +73 -0
  23. package/dist/shared/codepointTruncation.js.map +1 -0
  24. package/dist/shared/mediaUrlFetcher.d.ts +247 -9
  25. package/dist/shared/mediaUrlFetcher.d.ts.map +1 -1
  26. package/dist/shared/mediaUrlFetcher.js +712 -53
  27. package/dist/shared/mediaUrlFetcher.js.map +1 -1
  28. package/dist/shared/tar.d.ts +82 -2
  29. package/dist/shared/tar.d.ts.map +1 -1
  30. package/dist/shared/tar.js +106 -43
  31. package/dist/shared/tar.js.map +1 -1
  32. package/dist/shared/validation.d.ts +96 -2
  33. package/dist/shared/validation.d.ts.map +1 -1
  34. package/dist/shared/validation.js +169 -10
  35. package/dist/shared/validation.js.map +1 -1
  36. package/dist/tools/AnalyzeMediaContract.d.ts +457 -0
  37. package/dist/tools/AnalyzeMediaContract.d.ts.map +1 -0
  38. package/dist/tools/AnalyzeMediaContract.js +161 -0
  39. package/dist/tools/AnalyzeMediaContract.js.map +1 -0
  40. package/dist/tools/AnalyzeMediaExtractionSanitizer.d.ts +35 -0
  41. package/dist/tools/AnalyzeMediaExtractionSanitizer.d.ts.map +1 -0
  42. package/dist/tools/AnalyzeMediaExtractionSanitizer.js +214 -0
  43. package/dist/tools/AnalyzeMediaExtractionSanitizer.js.map +1 -0
  44. package/dist/tools/AnalyzeMediaInputResolver.d.ts +250 -0
  45. package/dist/tools/AnalyzeMediaInputResolver.d.ts.map +1 -0
  46. package/dist/tools/AnalyzeMediaInputResolver.js +430 -0
  47. package/dist/tools/AnalyzeMediaInputResolver.js.map +1 -0
  48. package/dist/tools/AnalyzeMediaParamParser.d.ts +299 -0
  49. package/dist/tools/AnalyzeMediaParamParser.d.ts.map +1 -0
  50. package/dist/tools/AnalyzeMediaParamParser.js +824 -0
  51. package/dist/tools/AnalyzeMediaParamParser.js.map +1 -0
  52. package/dist/tools/AnalyzeMediaResumableUploader.d.ts +244 -0
  53. package/dist/tools/AnalyzeMediaResumableUploader.d.ts.map +1 -0
  54. package/dist/tools/AnalyzeMediaResumableUploader.js +549 -0
  55. package/dist/tools/AnalyzeMediaResumableUploader.js.map +1 -0
  56. package/dist/tools/AnalyzeMediaTarPackager.d.ts +42 -0
  57. package/dist/tools/AnalyzeMediaTarPackager.d.ts.map +1 -0
  58. package/dist/tools/AnalyzeMediaTarPackager.js +245 -0
  59. package/dist/tools/AnalyzeMediaTarPackager.js.map +1 -0
  60. package/dist/tools/AnalyzeMediaTool.d.ts +155 -294
  61. package/dist/tools/AnalyzeMediaTool.d.ts.map +1 -1
  62. package/dist/tools/AnalyzeMediaTool.js +600 -457
  63. package/dist/tools/AnalyzeMediaTool.js.map +1 -1
  64. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EnriVisionServer.js","sourceRoot":"","sources":["../../src/server/EnriVisionServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnriVisionServer.js","sourceRoot":"","sources":["../../src/server/EnriVisionServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * CODE-POINT TRUNCATION
3
+ *
4
+ * Single-pass, bounded-memory truncation helpers for model-facing text.
5
+ * Analysis payloads can reach tens of MiB, so `Array.from(text)` (one full
6
+ * array per call, sometimes three per payload) is an OOM-shaped cost paid
7
+ * only to keep a few tens of KiB. These helpers walk the string once with
8
+ * `for..of` (code-point iteration, never splitting surrogates) while
9
+ * retaining at most `head + tail` characters plus a running total.
10
+ *
11
+ * @module shared/codepointTruncation
12
+ */
13
+ /**
14
+ * Result of a single-pass code-point truncation.
15
+ */
16
+ export interface CodePointTruncation {
17
+ /**
18
+ * Kept head characters (up to the requested head budget).
19
+ */
20
+ readonly head: string;
21
+ /**
22
+ * Kept tail characters (up to the requested tail budget, in order).
23
+ */
24
+ readonly tail: string;
25
+ /**
26
+ * Head plus tail (the bounded text to forward).
27
+ */
28
+ readonly text: string;
29
+ /**
30
+ * Total code points observed in the input.
31
+ */
32
+ readonly totalChars: number;
33
+ /**
34
+ * True when input exceeded the head + tail budget.
35
+ */
36
+ readonly truncated: boolean;
37
+ }
38
+ /**
39
+ * Truncates text to a head budget in a single pass with O(budget) memory.
40
+ *
41
+ * @param value - Raw text.
42
+ * @param maxChars - Maximum code points kept from the start.
43
+ * @returns Truncation result.
44
+ */
45
+ export declare function truncateCodePointsHead(value: string, maxChars: number): CodePointTruncation;
46
+ /**
47
+ * Truncates text keeping head and tail in a single pass with O(budget) memory.
48
+ *
49
+ * @remarks
50
+ * Keeping the tail preserves conclusions that head-only truncation drops.
51
+ * When the input fits the combined budget the original reference is
52
+ * returned untouched (`truncated: false`) so callers can rely on
53
+ * passthrough.
54
+ *
55
+ * @param value - Raw text.
56
+ * @param headChars - Code points kept at the start.
57
+ * @param tailChars - Code points kept at the end.
58
+ * @returns Truncation result.
59
+ */
60
+ export declare function truncateCodePointsHeadTail(value: string, headChars: number, tailChars: number): CodePointTruncation;
61
+ //# sourceMappingURL=codepointTruncation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codepointTruncation.d.ts","sourceRoot":"","sources":["../../src/shared/codepointTruncation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAE3F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,mBAAmB,CAmCrB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * CODE-POINT TRUNCATION
3
+ *
4
+ * Single-pass, bounded-memory truncation helpers for model-facing text.
5
+ * Analysis payloads can reach tens of MiB, so `Array.from(text)` (one full
6
+ * array per call, sometimes three per payload) is an OOM-shaped cost paid
7
+ * only to keep a few tens of KiB. These helpers walk the string once with
8
+ * `for..of` (code-point iteration, never splitting surrogates) while
9
+ * retaining at most `head + tail` characters plus a running total.
10
+ *
11
+ * @module shared/codepointTruncation
12
+ */
13
+ /**
14
+ * Truncates text to a head budget in a single pass with O(budget) memory.
15
+ *
16
+ * @param value - Raw text.
17
+ * @param maxChars - Maximum code points kept from the start.
18
+ * @returns Truncation result.
19
+ */
20
+ export function truncateCodePointsHead(value, maxChars) {
21
+ return truncateCodePointsHeadTail(value, maxChars, 0);
22
+ }
23
+ /**
24
+ * Truncates text keeping head and tail in a single pass with O(budget) memory.
25
+ *
26
+ * @remarks
27
+ * Keeping the tail preserves conclusions that head-only truncation drops.
28
+ * When the input fits the combined budget the original reference is
29
+ * returned untouched (`truncated: false`) so callers can rely on
30
+ * passthrough.
31
+ *
32
+ * @param value - Raw text.
33
+ * @param headChars - Code points kept at the start.
34
+ * @param tailChars - Code points kept at the end.
35
+ * @returns Truncation result.
36
+ */
37
+ export function truncateCodePointsHeadTail(value, headChars, tailChars) {
38
+ const headLimit = Math.max(0, Math.floor(headChars));
39
+ const tailLimit = Math.max(0, Math.floor(tailChars));
40
+ const head = [];
41
+ const tail = [];
42
+ let tailStart = 0;
43
+ let total = 0;
44
+ for (const point of value) {
45
+ total += 1;
46
+ if (head.length < headLimit) {
47
+ head.push(point);
48
+ continue;
49
+ }
50
+ if (tailLimit === 0) {
51
+ continue;
52
+ }
53
+ if (tail.length < tailLimit) {
54
+ tail.push(point);
55
+ continue;
56
+ }
57
+ tail[tailStart] = point;
58
+ tailStart = (tailStart + 1) % tailLimit;
59
+ }
60
+ if (total <= headLimit + tailLimit) {
61
+ return { head: value, tail: "", text: value, totalChars: total, truncated: false };
62
+ }
63
+ const headText = head.join("");
64
+ let tailText = "";
65
+ if (tail.length > 0) {
66
+ tailText =
67
+ tail.length < tailLimit
68
+ ? tail.join("")
69
+ : [...tail.slice(tailStart), ...tail.slice(0, tailStart)].join("");
70
+ }
71
+ return { head: headText, tail: tailText, text: headText + tailText, totalChars: total, truncated: true };
72
+ }
73
+ //# sourceMappingURL=codepointTruncation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codepointTruncation.js","sourceRoot":"","sources":["../../src/shared/codepointTruncation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgCH;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,QAAgB;IACpE,OAAO,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAa,EACb,SAAiB,EACjB,SAAiB;IAEjB,MAAM,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACxB,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1C,CAAC;IACD,IAAI,KAAK,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACrF,CAAC;IACD,MAAM,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,QAAQ;YACN,IAAI,CAAC,MAAM,GAAG,SAAS;gBACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACf,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC3G,CAAC"}
@@ -4,9 +4,10 @@
4
4
  * Downloads one http(s) media resource into a temporary directory so the
5
5
  * upload pipeline can treat it like any local file.
6
6
  *
7
- * Protections: 64 MiB size cap, 60 s timeout, SSRF guard (literal private
7
+ * Protections: 64 MiB size cap, 60 s timeout, 30 s stall watchdog (a hung
8
+ * `reader.read()` aborts the download), SSRF guard (literal private
8
9
  * addresses rejected, DNS-resolved addresses rejected, per-hop validation of
9
- * up to 3 redirects), and an owned cleanup callback.
10
+ * up to 5 redirects), and an owned cleanup callback.
10
11
  *
11
12
  * @module shared/mediaUrlFetcher
12
13
  */
@@ -22,11 +23,30 @@ export interface MediaUrlFetchResult {
22
23
  * Content type reported by the server, without parameters (empty when absent).
23
24
  */
24
25
  readonly contentType: string;
26
+ /**
27
+ * True when the local file extension was synthesized from the server
28
+ * content type because the URL carried no usable extension.
29
+ *
30
+ * @remarks
31
+ * Callers must prefer {@link contentType} over the extension-derived MIME
32
+ * type when this flag is set; the synthesized extension is only a
33
+ * filesystem hint and must never override the authoritative server type.
34
+ */
35
+ readonly extensionSynthesized: boolean;
25
36
  /**
26
37
  * Removes the owned temporary directory.
27
38
  */
28
39
  cleanup(): Promise<void>;
29
40
  }
41
+ /**
42
+ * Options for {@link MediaUrlFetcher.fetch}.
43
+ */
44
+ export interface MediaUrlFetchOptions {
45
+ /**
46
+ * Cancellation signal (e.g., the MCP request `extra.signal`).
47
+ */
48
+ readonly signal?: AbortSignal;
49
+ }
30
50
  /**
31
51
  * Resolves hostnames to addresses for SSRF validation.
32
52
  */
@@ -39,14 +59,44 @@ export declare class MediaUrlFetcher {
39
59
  * Maximum accepted download size in bytes.
40
60
  */
41
61
  private static readonly MAX_BYTES;
62
+ /**
63
+ * Stable size-cap marker embedded in every size-cap rejection message.
64
+ *
65
+ * Routers match on this marker (via {@link MediaUrlFetcher.isSizeCapError}),
66
+ * never on the human-scale budget prose.
67
+ */
68
+ static readonly URL_SIZE_CAP_MARKER = "[ENRIVISION_MEDIA_URL_SIZE_CAP]";
69
+ /**
70
+ * Reports whether an error is a client-side URL size-cap rejection.
71
+ *
72
+ * @param error - Unknown caught failure.
73
+ * @returns True only for size-cap rejections carrying the stable marker.
74
+ */
75
+ static isSizeCapError(error: unknown): boolean;
42
76
  /**
43
77
  * Download timeout in milliseconds.
44
78
  */
45
79
  private static readonly TIMEOUT_MS;
46
80
  /**
47
- * Maximum followed redirects (each hop re-validated).
81
+ * Maximum followed redirects (each hop re-validated, mirrors EnriCode).
48
82
  */
49
83
  private static readonly MAX_REDIRECTS;
84
+ /**
85
+ * Redirect statuses that carry a `Location` hop.
86
+ *
87
+ * @remarks
88
+ * Mirrors EnriCode `VisionAnalyzeMediaUrlFetcher.REDIRECT_STATUSES`: 304
89
+ * (Not Modified, a cache validator without `Location` semantics), 305
90
+ * (deprecated proxy directive), and 306 (unused since HTTP/1.1) never
91
+ * start a new hop. Treating them as terminal keeps redirect-chasing
92
+ * predictable and avoids method/body-rewrite surprises.
93
+ */
94
+ private static readonly REDIRECT_STATUSES;
95
+ /**
96
+ * Stall watchdog in milliseconds: abort when no body bytes arrive within
97
+ * this window (mirrors EnriCode `BODY_STALL_MS`).
98
+ */
99
+ private static readonly BODY_STALL_MS;
50
100
  /**
51
101
  * Fetch implementation (injectable for tests).
52
102
  */
@@ -69,19 +119,87 @@ export declare class MediaUrlFetcher {
69
119
  * @returns True for http/https URLs.
70
120
  */
71
121
  static isHttpUrl(value: string): boolean;
122
+ /**
123
+ * Reports whether one served content type is analyzable media.
124
+ *
125
+ * @remarks
126
+ * Exact-match set mirroring EnriCode `VisionAnalyzeMediaUrlFetcher`: Office
127
+ * types never match by substring, so crafted types such as
128
+ * `application/x-wordprocessing-evil` are rejected.
129
+ *
130
+ * @param contentType - Served content type without parameters.
131
+ * @returns True for image, video, audio, PDF, and Office documents.
132
+ */
133
+ static isAllowedMediaContentType(contentType: string): boolean;
134
+ /**
135
+ * Reports whether a URL path carries a known media extension.
136
+ *
137
+ * @remarks
138
+ * Fallback for servers that omit `content-type`: the extension is mapped
139
+ * through the canonical `mime-types` table and the mapped type must pass
140
+ * {@link isAllowedMediaContentType}, so this fallback can never drift
141
+ * from the allowlist (mirrors EnriCode
142
+ * `VisionAnalyzeMediaUrlFetcher.hasKnownMediaExtension`). A lying
143
+ * extension still resolves through the authoritative server type
144
+ * downstream, exactly like the EnriCode contract.
145
+ *
146
+ * @param url - Final URL (after redirects).
147
+ * @returns True when the URL path ends with an extension mapping to analyzable media.
148
+ */
149
+ static hasKnownMediaExtension(url: string): boolean;
72
150
  /**
73
151
  * Downloads one http(s) URL into a temporary directory.
74
152
  *
153
+ * @remarks
154
+ * The response body is streamed directly to disk so large downloads never
155
+ * sit fully in memory; the 64 MiB cap is enforced incrementally while
156
+ * streaming.
157
+ *
75
158
  * @param url - Absolute http(s) URL.
159
+ * @param options - Optional fetch options (cancellation signal).
76
160
  * @returns Bounded fetch result with owned cleanup.
77
- * @throws Error when the destination is blocked, too large, or the download fails.
161
+ * @throws Error when the destination is blocked, too large, cancelled, or the download fails.
78
162
  */
79
- fetch(url: string): Promise<MediaUrlFetchResult>;
163
+ fetch(url: string, options?: MediaUrlFetchOptions): Promise<MediaUrlFetchResult>;
164
+ /**
165
+ * Streams one validated response body directly to a file.
166
+ *
167
+ * @param response - Validated fetch response.
168
+ * @param localPath - Destination file path.
169
+ * @param callerSignal - Optional caller cancellation signal.
170
+ * @throws Error when the body exceeds the size cap, is cancelled, or cannot be written.
171
+ */
172
+ private streamBodyToFile;
173
+ /**
174
+ * Reads one body chunk guarded by the stall watchdog.
175
+ *
176
+ * @remarks
177
+ * The global 60 s timeout alone cannot fire while one `reader.read()`
178
+ * hangs forever; racing each read against `BODY_STALL_MS` aborts stalled
179
+ * connections with a Spanish error.
180
+ *
181
+ * @param reader - Body reader.
182
+ * @param stallMs - Stall budget in milliseconds.
183
+ * @returns Read result.
184
+ * @throws Error with an Spanish-first bilingual message when no bytes arrive within the stall budget.
185
+ */
186
+ private static readWithStallWatchdog;
80
187
  /**
81
188
  * Performs one fetch request after validating the destination addresses.
82
189
  *
190
+ * @remarks
191
+ * Residual SSRF note (DNS-rebinding TOCTOU): the hostname is resolved and
192
+ * validated here, but the HTTP stack re-resolves it when connecting, so a
193
+ * hostile DNS could answer the second lookup with a private address. IP
194
+ * pinning is intentionally not implemented: the global fetch/undici stack
195
+ * used here exposes no connection-level IP pin without a custom
196
+ * dispatcher, and every redirect hop is re-validated to keep the race
197
+ * window minimal. This residual risk is accepted post-release, mirroring
198
+ * EnriProxy's documented DNS-rebinding stance.
199
+ *
83
200
  * @param url - Candidate URL (already normalized).
84
- * @param timeoutSignal - Timeout signal shared by every hop.
201
+ * @param requestSignal - Timeout/cancellation signal shared by every hop.
202
+ * @param callerSignal - Caller cancellation signal used to report bilingual cancel errors.
85
203
  * @returns Fetch response.
86
204
  * @throws Error when the hostname resolves to a blocked address or the request fails.
87
205
  */
@@ -89,12 +207,127 @@ export declare class MediaUrlFetcher {
89
207
  /**
90
208
  * Validates that the URL hostname is not a private/loopback/link-local target.
91
209
  *
210
+ * @remarks
211
+ * Non-canonical IPv4 literals (decimal `2130706433`, hex `0x7f.0.0.1`,
212
+ * octal `0177.0.0.1`) are normalized to dotted quads before validation so
213
+ * they cannot bypass the literal-IP check and reach DNS.
214
+ *
92
215
  * @param url - Candidate URL.
93
216
  * @throws Error when a literal or resolved address is blocked.
94
217
  */
95
218
  private assertPublicDestination;
96
219
  /**
97
- * Rejects private, loopback, link-local, and unspecified addresses.
220
+ * Normalizes a hostname to an IP address when it is a non-canonical IP literal.
221
+ *
222
+ * @remarks
223
+ * Handles decimal (`2130706433`), hex (`0x7f.0.0.1`), and octal
224
+ * (`0177.0.0.1`) IPv4 forms per `inet_aton` rules, plus IPv6
225
+ * `::ffff:`-mapped forms in hex (`::ffff:7f00:1`) and full
226
+ * (`0:0:0:0:0:ffff:127.0.0.1`) notation. Returns null for real hostnames
227
+ * so they keep flowing to DNS validation.
228
+ *
229
+ * @param hostname - Lowercased hostname without brackets or trailing dots.
230
+ * @returns Normalized IP address or null when not an IP literal.
231
+ */
232
+ private static normalizeHostnameToIpAddress;
233
+ /**
234
+ * Parses one IPv4 address part accepting decimal, hex, and octal forms.
235
+ *
236
+ * @param part - Raw address part.
237
+ * @returns Parsed value or null when not a numeric part.
238
+ */
239
+ private static parseIpv4Part;
240
+ /**
241
+ * Normalizes IPv6 `::ffff:`-mapped literals to their embedded IPv4 address.
242
+ *
243
+ * @remarks
244
+ * Covers the compact hex form (`::ffff:7f00:1`), the compact dotted form
245
+ * (`::ffff:127.0.0.1`), and the full zero-expanded forms
246
+ * (`0:0:0:0:0:ffff:127.0.0.1`, `0:0:0:0:0:ffff:7f00:1`).
247
+ *
248
+ * @param hostname - Lowercased hostname.
249
+ * @returns Embedded IPv4 dotted quad or null when not a mapped literal.
250
+ */
251
+ private static normalizeMappedIpv6;
252
+ /**
253
+ * Expands one IPv6 literal into eight hex groups.
254
+ *
255
+ * @remarks
256
+ * Returns null for dotted-quad tails (handled by the compatible/mapped
257
+ * helpers), malformed group counts, and non-hex groups, so callers only
258
+ * ever judge fully-validated literals.
259
+ *
260
+ * @param normalized - Lowercased IPv6 literal without a zone id.
261
+ * @returns Eight lowercase hex groups, or null when not parseable.
262
+ */
263
+ private static expandIpv6Groups;
264
+ /**
265
+ * Reports whether one IPv6 literal is unspecified or loopback in any spelling.
266
+ *
267
+ * @remarks
268
+ * The exact-only `"::"` / `"::1"` comparison misses zero-expanded
269
+ * spellings (`0:0:0:0:0:0:0:0`, `0:0:0:0:0:0:0:1`) and leading-zero
270
+ * variants (`::01`): expanding first closes the SSRF loopback bypass.
271
+ *
272
+ * @param normalized - Lowercased IPv6 literal.
273
+ * @returns True for `::/128` and `::1/128` in any spelling.
274
+ */
275
+ private static isUnspecifiedOrLoopbackV6;
276
+ /**
277
+ * Extracts the embedded IPv4 address from a deprecated IPv4-compatible literal.
278
+ *
279
+ * @remarks
280
+ * `::127.0.0.1` (and its zero-expanded `0:0:0:0:0:0:127.0.0.1` form)
281
+ * carries no `ffff` marker, so the mapped-address helper ignores it and
282
+ * the quad would sail through as "public". Recursing into the IPv4
283
+ * validator closes the bypass.
284
+ *
285
+ * @param normalized - Lowercased IPv6 literal.
286
+ * @returns Embedded IPv4 dotted quad or null when not a compatible literal.
287
+ */
288
+ private static extractCompatibleV4;
289
+ /**
290
+ * Extracts the embedded IPv4 address from a zero-prefixed hex literal.
291
+ *
292
+ * @remarks
293
+ * `::7f00:1` (and expanded `0:0:0:0:0:0:7f00:1`) embeds `127.0.0.1` in
294
+ * the low 32 bits with neither dots nor an `ffff` marker, so neither the
295
+ * compatible helper nor the mapped helper fires. Treating the low 32
296
+ * bits of any 96-bit-zero literal as IPv4 closes the bypass; literals
297
+ * with a nonzero prefix (including `::ffff:`-mapped) return null.
298
+ *
299
+ * @param normalized - Lowercased IPv6 literal.
300
+ * @returns Embedded IPv4 dotted quad or null when the prefix is nonzero.
301
+ */
302
+ private static extractZeroPrefixedV4;
303
+ /**
304
+ * Extracts the embedded IPv4 address from a normalized IPv6 literal.
305
+ *
306
+ * @param normalized - Lowercased IPv6 literal.
307
+ * @returns Embedded IPv4 dotted quad or undefined when not mapped.
308
+ */
309
+ private static extractMappedV4;
310
+ /**
311
+ * Extracts the embedded IPv4 address from a NAT64 `64:ff9b::/96` literal.
312
+ *
313
+ * @remarks
314
+ * On NAT64 networks `64:ff9b::7f00:1` routes to `127.0.0.1`, so the
315
+ * literal sails through prefix tests as "public". Judging the embedded
316
+ * quad as IPv4 closes the bypass (parity with EnriCode
317
+ * `Nat64AddressGuard.extractNat64EmbeddedIpv4`).
318
+ *
319
+ * @param normalized - Lowercased IPv6 literal.
320
+ * @returns Embedded IPv4 dotted quad or null when not a NAT64 literal.
321
+ */
322
+ private static extractNat64V4;
323
+ /**
324
+ * Rejects private, loopback, link-local, multicast, and reserved addresses.
325
+ *
326
+ * @remarks
327
+ * Documentation TEST-NET ranges (`192.0.2.0/24`, `198.51.100.0/24`,
328
+ * `203.0.113.0/24`) intentionally stay allowed: they are publicly routed
329
+ * test fixtures, never host-local media, and blocking them would break
330
+ * legitimate fixture URLs.
98
331
  *
99
332
  * @param address - Literal IP address.
100
333
  * @throws Error when the address belongs to a blocked range.
@@ -105,11 +338,16 @@ export declare class MediaUrlFetcher {
105
338
  *
106
339
  * @param url - Source URL.
107
340
  * @param contentType - Reported content type.
108
- * @returns Bounded file name with a recognized extension.
341
+ * @returns Bounded file name with a recognized extension plus whether the extension was synthesized.
109
342
  */
110
343
  private deriveFileName;
111
344
  /**
112
- * Resolves one default extension for a content type.
345
+ * Resolves one precise extension for a content type.
346
+ *
347
+ * @remarks
348
+ * The exact `mime-types` mapping wins (e.g., `image/webp` yields `.webp`,
349
+ * never the generic `.png`) so the synthesized extension can never shadow
350
+ * the authoritative server content type downstream.
113
351
  *
114
352
  * @param contentType - Reported content type.
115
353
  * @returns Extension with leading dot.
@@ -1 +1 @@
1
- {"version":3,"file":"mediaUrlFetcher.d.ts","sourceRoot":"","sources":["../../src/shared/mediaUrlFetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AA2BnF;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAErD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAU;IAE5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAK;IAE1C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAEzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAE3D;;;;;OAKG;gBACgB,SAAS,CAAC,EAAE,OAAO,KAAK,EAAE,oBAAoB,CAAC,EAAE,mBAAmB;IAUvF;;;;;OAKG;WACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;;;OAMG;IACU,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiE7D;;;;;;;OAOG;YACW,gBAAgB;IAW9B;;;;;OAKG;YACW,uBAAuB;IAkBrC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAwC3B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;CAQhC"}
1
+ {"version":3,"file":"mediaUrlFetcher.d.ts","sourceRoot":"","sources":["../../src/shared/mediaUrlFetcher.ts"],"names":[],"mappings":"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"}