@bedolla/enrivision 0.1.5 → 0.1.7
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 +43 -9
- package/dist/client/EnriProxyClient.d.ts +296 -248
- package/dist/client/EnriProxyClient.d.ts.map +1 -1
- package/dist/client/EnriProxyClient.js +849 -119
- package/dist/client/EnriProxyClient.js.map +1 -1
- package/dist/client/EnriProxyClientContract.d.ts +478 -0
- package/dist/client/EnriProxyClientContract.d.ts.map +1 -0
- package/dist/client/EnriProxyClientContract.js +136 -0
- package/dist/client/EnriProxyClientContract.js.map +1 -0
- package/dist/index.js +23 -12
- package/dist/index.js.map +1 -1
- package/dist/package-info.d.ts +28 -0
- package/dist/package-info.d.ts.map +1 -1
- package/dist/package-info.js +28 -0
- package/dist/package-info.js.map +1 -1
- package/dist/server/EnriVisionServer.d.ts +186 -0
- package/dist/server/EnriVisionServer.d.ts.map +1 -1
- package/dist/server/EnriVisionServer.js +804 -94
- package/dist/server/EnriVisionServer.js.map +1 -1
- package/dist/shared/codepointTruncation.d.ts +61 -0
- package/dist/shared/codepointTruncation.d.ts.map +1 -0
- package/dist/shared/codepointTruncation.js +73 -0
- package/dist/shared/codepointTruncation.js.map +1 -0
- package/dist/shared/mediaUrlFetcher.d.ts +247 -9
- package/dist/shared/mediaUrlFetcher.d.ts.map +1 -1
- package/dist/shared/mediaUrlFetcher.js +712 -53
- package/dist/shared/mediaUrlFetcher.js.map +1 -1
- package/dist/shared/tar.d.ts +82 -2
- package/dist/shared/tar.d.ts.map +1 -1
- package/dist/shared/tar.js +106 -43
- package/dist/shared/tar.js.map +1 -1
- package/dist/shared/validation.d.ts +96 -2
- package/dist/shared/validation.d.ts.map +1 -1
- package/dist/shared/validation.js +169 -10
- package/dist/shared/validation.js.map +1 -1
- package/dist/tools/AnalyzeMediaContract.d.ts +462 -0
- package/dist/tools/AnalyzeMediaContract.d.ts.map +1 -0
- package/dist/tools/AnalyzeMediaContract.js +161 -0
- package/dist/tools/AnalyzeMediaContract.js.map +1 -0
- package/dist/tools/AnalyzeMediaExtractionSanitizer.d.ts +35 -0
- package/dist/tools/AnalyzeMediaExtractionSanitizer.d.ts.map +1 -0
- package/dist/tools/AnalyzeMediaExtractionSanitizer.js +214 -0
- package/dist/tools/AnalyzeMediaExtractionSanitizer.js.map +1 -0
- package/dist/tools/AnalyzeMediaInputResolver.d.ts +250 -0
- package/dist/tools/AnalyzeMediaInputResolver.d.ts.map +1 -0
- package/dist/tools/AnalyzeMediaInputResolver.js +430 -0
- package/dist/tools/AnalyzeMediaInputResolver.js.map +1 -0
- package/dist/tools/AnalyzeMediaParamParser.d.ts +307 -0
- package/dist/tools/AnalyzeMediaParamParser.d.ts.map +1 -0
- package/dist/tools/AnalyzeMediaParamParser.js +843 -0
- package/dist/tools/AnalyzeMediaParamParser.js.map +1 -0
- package/dist/tools/AnalyzeMediaResumableUploader.d.ts +244 -0
- package/dist/tools/AnalyzeMediaResumableUploader.d.ts.map +1 -0
- package/dist/tools/AnalyzeMediaResumableUploader.js +549 -0
- package/dist/tools/AnalyzeMediaResumableUploader.js.map +1 -0
- package/dist/tools/AnalyzeMediaTarPackager.d.ts +42 -0
- package/dist/tools/AnalyzeMediaTarPackager.d.ts.map +1 -0
- package/dist/tools/AnalyzeMediaTarPackager.js +245 -0
- package/dist/tools/AnalyzeMediaTarPackager.js.map +1 -0
- package/dist/tools/AnalyzeMediaTool.d.ts +156 -294
- package/dist/tools/AnalyzeMediaTool.d.ts.map +1 -1
- package/dist/tools/AnalyzeMediaTool.js +611 -457
- package/dist/tools/AnalyzeMediaTool.js.map +1 -1
- 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,
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
|
1
|
+
{"version":3,"file":"mediaUrlFetcher.d.ts","sourceRoot":"","sources":["../../src/shared/mediaUrlFetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAEvC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AA6BnF;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAErD;;;;;OAKG;IACH,gBAAuB,mBAAmB,qCAAqC;IAE/E;;;;;OAKG;WACW,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIrD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAU;IAE5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAK;IAE1C;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAmE;IAE5G;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU;IAE/C;;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;;;;;;;;;;OAUG;WACW,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAerE;;;;;;;;;;;;;;OAcG;WACW,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAc1D;;;;;;;;;;;;OAYG;IACU,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA+I7F;;;;;;;OAOG;YACW,gBAAgB;IAwF9B;;;;;;;;;;;;OAYG;mBACkB,qBAAqB;IA0B1C;;;;;;;;;;;;;;;;;;OAkBG;YACW,gBAAgB;IAkB9B;;;;;;;;;;OAUG;YACW,uBAAuB;IA6BrC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAmD3C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAmB5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoBlC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA2B/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAYxC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAYlC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAepC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAQ9B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAwB7B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IActB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB;CAchC"}
|