@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.
Files changed (64) hide show
  1. package/README.md +43 -9
  2. package/dist/client/EnriProxyClient.d.ts +296 -248
  3. package/dist/client/EnriProxyClient.d.ts.map +1 -1
  4. package/dist/client/EnriProxyClient.js +849 -119
  5. package/dist/client/EnriProxyClient.js.map +1 -1
  6. package/dist/client/EnriProxyClientContract.d.ts +478 -0
  7. package/dist/client/EnriProxyClientContract.d.ts.map +1 -0
  8. package/dist/client/EnriProxyClientContract.js +136 -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 +804 -94
  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 +462 -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 +307 -0
  49. package/dist/tools/AnalyzeMediaParamParser.d.ts.map +1 -0
  50. package/dist/tools/AnalyzeMediaParamParser.js +843 -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 +156 -294
  61. package/dist/tools/AnalyzeMediaTool.d.ts.map +1 -1
  62. package/dist/tools/AnalyzeMediaTool.js +611 -457
  63. package/dist/tools/AnalyzeMediaTool.js.map +1 -1
  64. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mediaUrlFetcher.js","sourceRoot":"","sources":["../../src/shared/mediaUrlFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaUrlFetcher.js","sourceRoot":"","sources":["../../src/shared/mediaUrlFetcher.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,57 @@ export type TarEntrySource = {
31
31
  * File size in bytes.
32
32
  */
33
33
  readonly sizeBytes: number;
34
+ /**
35
+ * Expected file identity (`ino:size:mtime:birthtime:nlink`) captured
36
+ * at stage time, or undefined when the caller skips TOCTOU checks.
37
+ *
38
+ * @remarks
39
+ * Compared against the just-opened handle (`fstat`, never a path
40
+ * re-stat) on first read, so a same-size replacement swapped in
41
+ * between staging and streaming fails loudly instead of shipping
42
+ * wrong bytes.
43
+ */
44
+ readonly expectedIdentity?: string;
34
45
  };
46
+ /**
47
+ * Minimal file stats consumed by a {@link TarIdentityDescriber}.
48
+ */
49
+ export interface TarFileIdentityStats {
50
+ /**
51
+ * Inode number.
52
+ */
53
+ readonly ino: number;
54
+ /**
55
+ * File size in bytes.
56
+ */
57
+ readonly size: number;
58
+ /**
59
+ * Modification time in milliseconds.
60
+ */
61
+ readonly mtimeMs: number;
62
+ /**
63
+ * Creation time in milliseconds (0 when unavailable).
64
+ */
65
+ readonly birthtimeMs?: number;
66
+ /**
67
+ * Hard-link count (0 when unavailable).
68
+ */
69
+ readonly nlink?: number;
70
+ }
71
+ /**
72
+ * Describes a stable file identity string for TOCTOU comparison.
73
+ */
74
+ export type TarIdentityDescriber = (stats: TarFileIdentityStats) => string;
75
+ /**
76
+ * Options for {@link TarStream}.
77
+ */
78
+ export interface TarStreamOptions {
79
+ /**
80
+ * Identity describer matching `expectedIdentity` strings, or undefined
81
+ * when entries carry no identity expectations.
82
+ */
83
+ readonly describeIdentity?: TarIdentityDescriber;
84
+ }
35
85
  /**
36
86
  * Tar entry description.
37
87
  */
@@ -68,12 +118,17 @@ export declare class TarStream {
68
118
  * Total tar size.
69
119
  */
70
120
  private readonly totalSizeBytes;
121
+ /**
122
+ * Identity describer for staged file expectations.
123
+ */
124
+ private readonly describeIdentity;
71
125
  /**
72
126
  * Creates a new {@link TarStream}.
73
127
  *
74
- * @param entries - Tar entries in order
128
+ * @param entries - Tar entries in order.
129
+ * @param options - Optional identity describer for TOCTOU checks.
75
130
  */
76
- constructor(entries: ReadonlyArray<TarEntry>);
131
+ constructor(entries: ReadonlyArray<TarEntry>, options?: TarStreamOptions);
77
132
  /**
78
133
  * Returns the total tar size in bytes.
79
134
  *
@@ -83,6 +138,13 @@ export declare class TarStream {
83
138
  /**
84
139
  * Iterates tar bytes as chunks, starting from a given offset.
85
140
  *
141
+ * @remarks
142
+ * File-backed reads land in one scratch per yielded chunk (subarray
143
+ * views, no per-read allocation); header, padding, zero, and in-memory
144
+ * reads keep their existing zero-copy views. The scratch is fresh for
145
+ * every iteration, so retaining a yielded chunk across `next()` calls
146
+ * stays valid — the next chunk never overwrites it.
147
+ *
86
148
  * @param startOffset - Starting byte offset (for resumable uploads)
87
149
  * @param chunkSize - Maximum bytes per yielded chunk
88
150
  * @returns Async iterator of buffers
@@ -94,10 +156,28 @@ export declare class TarStream {
94
156
  private seek;
95
157
  /**
96
158
  * Reads up to maxBytes from the current state and advances the state.
159
+ *
160
+ * @param state - Mutable seek state.
161
+ * @param maxBytes - Maximum bytes to read.
162
+ * @param scratch - Unused tail of the caller-owned per-chunk scratch;
163
+ * file-backed reads land in its leading view when it fits.
164
+ * @returns Step bytes plus how many alias `scratch`.
97
165
  */
98
166
  private readNext;
99
167
  /**
100
168
  * Ensures a file handle is open for the current file-backed entry.
169
+ *
170
+ * @remarks
171
+ * When the entry carries an `expectedIdentity` and the stream has a
172
+ * describer, the just-opened handle is `fstat`-compared before any byte
173
+ * is read: a same-size swap between the 5 s path-stat checks and this
174
+ * open still fails loudly instead of shipping wrong bytes.
175
+ *
176
+ * @param state - Mutable seek state.
177
+ * @param filePath - File path to open.
178
+ * @param expectedIdentity - Staged identity to compare, or undefined to skip.
179
+ * @returns Open file handle.
180
+ * @throws Error with an Spanish-first bilingual message when the opened file identity differs.
101
181
  */
102
182
  private ensureFileHandle;
103
183
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tar.d.ts","sourceRoot":"","sources":["../../src/shared/tar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AA+CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAY5E;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAE1C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC;;;;OAIG;gBACgB,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC;IAmCnD;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAI7B;;;;;;OAMG;IACW,aAAa,CACzB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;IA2CrC;;OAEG;IACH,OAAO,CAAC,IAAI;IA8BZ;;OAEG;YACW,QAAQ;IAwGtB;;OAEG;YACW,gBAAgB;IAW9B;;OAEG;YACW,eAAe;CAU9B"}
1
+ {"version":3,"file":"tar.d.ts","sourceRoot":"","sources":["../../src/shared/tar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,MAAM,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AA+CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAY5E;AAiBD;;GAEG;AACH,qBAAa,SAAS;IACpB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAE1C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmC;IAEpE;;;;;OAKG;gBACgB,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAoC/E;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAI7B;;;;;;;;;;;;;OAaG;IACW,aAAa,CACzB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;IAyDrC;;OAEG;IACH,OAAO,CAAC,IAAI;IA8BZ;;;;;;;;OAQG;YACW,QAAQ;IAiHtB;;;;;;;;;;;;;;OAcG;YACW,gBAAgB;IA6B9B;;OAEG;YACW,eAAe;CAU9B"}
@@ -37,18 +37,23 @@ export class TarStream {
37
37
  * Total tar size.
38
38
  */
39
39
  totalSizeBytes;
40
+ /**
41
+ * Identity describer for staged file expectations.
42
+ */
43
+ describeIdentity;
40
44
  /**
41
45
  * Creates a new {@link TarStream}.
42
46
  *
43
- * @param entries - Tar entries in order
47
+ * @param entries - Tar entries in order.
48
+ * @param options - Optional identity describer for TOCTOU checks.
44
49
  */
45
- constructor(entries) {
50
+ constructor(entries, options) {
46
51
  const normalized = [];
47
52
  let cursor = 0;
48
53
  for (const entry of entries) {
49
54
  const name = entry.name;
50
55
  if (!isSafeTarName(name)) {
51
- throw new Error(`Invalid tar entry name: ${name}`);
56
+ throw new Error(`Nombre de entrada tar inválido: ${name} / Invalid tar entry name: ${name}.`);
52
57
  }
53
58
  const contentSize = entry.source.type === "buffer" ? entry.source.buffer.length : entry.source.sizeBytes;
54
59
  const header = buildUstarHeader(name, contentSize, entry.mtimeSeconds);
@@ -68,6 +73,7 @@ export class TarStream {
68
73
  }
69
74
  this.layout = normalized;
70
75
  this.totalSizeBytes = cursor + 1024;
76
+ this.describeIdentity = options?.describeIdentity;
71
77
  }
72
78
  /**
73
79
  * Returns the total tar size in bytes.
@@ -80,6 +86,13 @@ export class TarStream {
80
86
  /**
81
87
  * Iterates tar bytes as chunks, starting from a given offset.
82
88
  *
89
+ * @remarks
90
+ * File-backed reads land in one scratch per yielded chunk (subarray
91
+ * views, no per-read allocation); header, padding, zero, and in-memory
92
+ * reads keep their existing zero-copy views. The scratch is fresh for
93
+ * every iteration, so retaining a yielded chunk across `next()` calls
94
+ * stays valid — the next chunk never overwrites it.
95
+ *
83
96
  * @param startOffset - Starting byte offset (for resumable uploads)
84
97
  * @param chunkSize - Maximum bytes per yielded chunk
85
98
  * @returns Async iterator of buffers
@@ -92,30 +105,45 @@ export class TarStream {
92
105
  }
93
106
  let position = normalizedStart;
94
107
  const state = this.seek(position);
95
- while (position < this.totalSizeBytes) {
96
- const remainingTar = this.totalSizeBytes - position;
97
- const desired = Math.min(normalizedChunk, remainingTar);
98
- const parts = [];
99
- let remaining = desired;
100
- let emptyReadsInARow = 0;
101
- while (remaining > 0) {
102
- const read = await this.readNext(state, remaining);
103
- if (read.length <= 0) {
104
- emptyReadsInARow += 1;
105
- if (emptyReadsInARow > 50) {
106
- break;
108
+ try {
109
+ while (position < this.totalSizeBytes) {
110
+ const remainingTar = this.totalSizeBytes - position;
111
+ const desired = Math.min(normalizedChunk, remainingTar);
112
+ // One scratch per yielded chunk: file-backed reads land in subarray
113
+ // views of it, so a chunk crossing N entries costs one allocation
114
+ // instead of N (the concat copy survives only when mixed with
115
+ // header/zero/in-memory views). Fresh per iteration, so chunks
116
+ // retained across next() calls stay valid.
117
+ const scratch = Buffer.allocUnsafe(desired);
118
+ let scratchUsed = 0;
119
+ const parts = [];
120
+ let remaining = desired;
121
+ let emptyReadsInARow = 0;
122
+ while (remaining > 0) {
123
+ const read = await this.readNext(state, remaining, scratch.subarray(scratchUsed));
124
+ if (read.data.length <= 0) {
125
+ emptyReadsInARow += 1;
126
+ if (emptyReadsInARow > 50) {
127
+ break;
128
+ }
129
+ continue;
107
130
  }
108
- continue;
131
+ emptyReadsInARow = 0;
132
+ parts.push(read.data);
133
+ scratchUsed += read.scratchBytes;
134
+ remaining -= read.data.length;
135
+ position += read.data.length;
109
136
  }
110
- emptyReadsInARow = 0;
111
- parts.push(read);
112
- remaining -= read.length;
113
- position += read.length;
114
- }
115
- if (parts.length === 0) {
116
- break;
137
+ if (parts.length === 0) {
138
+ break;
139
+ }
140
+ yield parts.length === 1 ? parts[0] : Buffer.concat(parts);
117
141
  }
118
- yield parts.length === 1 ? parts[0] : Buffer.concat(parts);
142
+ }
143
+ finally {
144
+ // The caller may abandon the iterator early (for-await break on offset
145
+ // resync); always release the file handle so descriptors do not leak.
146
+ await this.closeFileHandle(state);
119
147
  }
120
148
  }
121
149
  /**
@@ -146,17 +174,23 @@ export class TarStream {
146
174
  }
147
175
  /**
148
176
  * Reads up to maxBytes from the current state and advances the state.
177
+ *
178
+ * @param state - Mutable seek state.
179
+ * @param maxBytes - Maximum bytes to read.
180
+ * @param scratch - Unused tail of the caller-owned per-chunk scratch;
181
+ * file-backed reads land in its leading view when it fits.
182
+ * @returns Step bytes plus how many alias `scratch`.
149
183
  */
150
- async readNext(state, maxBytes) {
184
+ async readNext(state, maxBytes, scratch) {
151
185
  const want = Math.max(1, Math.floor(maxBytes));
152
186
  if (state.phase === "eof") {
153
187
  const remaining = Math.max(0, 1024 - state.phaseOffset);
154
188
  if (remaining <= 0) {
155
- return Buffer.alloc(0);
189
+ return { data: Buffer.alloc(0), scratchBytes: 0 };
156
190
  }
157
191
  const take = Math.min(want, remaining);
158
192
  state.phaseOffset += take;
159
- return Buffer.alloc(take, 0);
193
+ return { data: Buffer.alloc(take, 0), scratchBytes: 0 };
160
194
  }
161
195
  const entry = this.layout[state.entryIndex];
162
196
  if (state.phase === "entry_header") {
@@ -168,7 +202,7 @@ export class TarStream {
168
202
  state.phase = "entry_content";
169
203
  state.phaseOffset = 0;
170
204
  }
171
- return out;
205
+ return { data: out, scratchBytes: 0 };
172
206
  }
173
207
  if (state.phase === "entry_content") {
174
208
  const remaining = Math.max(0, entry.contentSize - state.phaseOffset);
@@ -176,7 +210,7 @@ export class TarStream {
176
210
  state.phase = "entry_padding";
177
211
  state.phaseOffset = 0;
178
212
  await this.closeFileHandle(state);
179
- return Buffer.alloc(0);
213
+ return { data: Buffer.alloc(0), scratchBytes: 0 };
180
214
  }
181
215
  const take = Math.min(want, remaining);
182
216
  if (entry.source.type === "buffer") {
@@ -186,25 +220,27 @@ export class TarStream {
186
220
  state.phase = "entry_padding";
187
221
  state.phaseOffset = 0;
188
222
  }
189
- return buf;
223
+ return { data: buf, scratchBytes: 0 };
190
224
  }
191
- const handle = await this.ensureFileHandle(state, entry.source.path);
192
- const buffer = Buffer.allocUnsafe(take);
193
- const read = await handle.read(buffer, 0, take, state.phaseOffset);
225
+ const handle = await this.ensureFileHandle(state, entry.source.path, entry.source.type === "file" ? entry.source.expectedIdentity : undefined);
226
+ // Land in the caller scratch when it fits so a chunk crossing N
227
+ // entries costs one allocation instead of N; the caller advances its
228
+ // cursor by scratchBytes and owns the sizing invariant.
229
+ const useScratch = scratch.length >= take;
230
+ const target = useScratch ? scratch.subarray(0, take) : Buffer.allocUnsafe(take);
231
+ const read = await handle.read(target, 0, take, state.phaseOffset);
194
232
  if (read.bytesRead <= 0) {
195
233
  await this.closeFileHandle(state);
196
- state.phase = "entry_padding";
197
- state.phaseOffset = 0;
198
- return Buffer.alloc(0);
234
+ throw new Error(`El archivo cambió durante la subida (${entry.name}); reintente la llamada. / File changed during upload (${entry.name}); retry the call.`);
199
235
  }
200
236
  state.phaseOffset += read.bytesRead;
201
- const out = read.bytesRead === buffer.length ? buffer : buffer.subarray(0, read.bytesRead);
237
+ const out = read.bytesRead === target.length ? target : target.subarray(0, read.bytesRead);
202
238
  if (state.phaseOffset >= entry.contentSize) {
203
239
  await this.closeFileHandle(state);
204
240
  state.phase = "entry_padding";
205
241
  state.phaseOffset = 0;
206
242
  }
207
- return out;
243
+ return { data: out, scratchBytes: useScratch ? read.bytesRead : 0 };
208
244
  }
209
245
  // entry_padding
210
246
  const remaining = Math.max(0, entry.paddingSize - state.phaseOffset);
@@ -218,7 +254,7 @@ export class TarStream {
218
254
  else {
219
255
  state.phase = "entry_header";
220
256
  }
221
- return Buffer.alloc(0);
257
+ return { data: Buffer.alloc(0), scratchBytes: 0 };
222
258
  }
223
259
  const take = Math.min(want, remaining);
224
260
  state.phaseOffset += take;
@@ -233,17 +269,44 @@ export class TarStream {
233
269
  state.phase = "entry_header";
234
270
  }
235
271
  }
236
- return Buffer.alloc(take, 0);
272
+ return { data: Buffer.alloc(take, 0), scratchBytes: 0 };
237
273
  }
238
274
  /**
239
275
  * Ensures a file handle is open for the current file-backed entry.
276
+ *
277
+ * @remarks
278
+ * When the entry carries an `expectedIdentity` and the stream has a
279
+ * describer, the just-opened handle is `fstat`-compared before any byte
280
+ * is read: a same-size swap between the 5 s path-stat checks and this
281
+ * open still fails loudly instead of shipping wrong bytes.
282
+ *
283
+ * @param state - Mutable seek state.
284
+ * @param filePath - File path to open.
285
+ * @param expectedIdentity - Staged identity to compare, or undefined to skip.
286
+ * @returns Open file handle.
287
+ * @throws Error with an Spanish-first bilingual message when the opened file identity differs.
240
288
  */
241
- async ensureFileHandle(state, filePath) {
289
+ async ensureFileHandle(state, filePath, expectedIdentity) {
242
290
  if (state.fileHandle) {
243
291
  return state.fileHandle;
244
292
  }
245
- state.fileHandle = await open(filePath, "r");
246
- return state.fileHandle;
293
+ const handle = await open(filePath, "r");
294
+ state.fileHandle = handle;
295
+ if (typeof expectedIdentity === "string" && typeof this.describeIdentity === "function") {
296
+ const openedStats = await handle.stat();
297
+ const openedIdentity = this.describeIdentity({
298
+ ino: openedStats.ino,
299
+ size: openedStats.size,
300
+ mtimeMs: openedStats.mtimeMs,
301
+ birthtimeMs: openedStats.birthtimeMs,
302
+ nlink: openedStats.nlink,
303
+ });
304
+ if (openedIdentity !== expectedIdentity) {
305
+ await this.closeFileHandle(state);
306
+ throw new Error(`El archivo cambió mientras se subía (${filePath}); reintente la llamada con archivos estables. / File changed while uploading (${filePath}); retry the call with stable files.`);
307
+ }
308
+ }
309
+ return handle;
247
310
  }
248
311
  /**
249
312
  * Closes any open file handle for the current state.
@@ -1 +1 @@
1
- {"version":3,"file":"tar.js","sourceRoot":"","sources":["../../src/shared/tar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tar.js","sourceRoot":"","sources":["../../src/shared/tar.ts"],"names":[],"mappings":"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"}
@@ -30,26 +30,120 @@ export declare function assertNonEmptyString(value: unknown, name: string): stri
30
30
  */
31
31
  export declare function optionalString(value: unknown): string | undefined;
32
32
  /**
33
- * Returns an integer when the value is a number or numeric string, otherwise undefined.
33
+ * Returns an integer when the value is an integer number or an integer
34
+ * numeric string, otherwise undefined.
35
+ *
36
+ * @remarks
37
+ * Strict by design: fractional numbers (`7.9`) and fractional strings
38
+ * (`"7.9"`) are rejected (undefined) so callers fail with a Spanish
39
+ * coaching error instead of silently flooring to `7`.
34
40
  *
35
41
  * @param value - Value to validate
36
42
  * @returns Parsed integer or undefined
37
43
  */
38
44
  export declare function optionalInt(value: unknown): number | undefined;
39
45
  /**
40
- * Returns a number when the value is a number or numeric string, otherwise undefined.
46
+ * Returns a number when the value is a number or a complete numeric string, otherwise undefined.
47
+ *
48
+ * @remarks
49
+ * Strict by design: partial numerics (`"12:34"`, `"754s"`, `"1e"`) and
50
+ * exponent spellings (`"1e3"`) are rejected (undefined) so callers fail
51
+ * with a Spanish coaching error instead of silently parsing a prefix
52
+ * (`parseFloat("12:34") === 12`). Mirrors the anchored-string policy of
53
+ * {@link optionalFraction} and {@link optionalInt} plus EnriCode
54
+ * `coerceCompleteNumber` and the proxy `requireValidFloat`/`requireValidInt`.
41
55
  *
42
56
  * @param value - Value to validate
43
57
  * @returns Parsed number or undefined
44
58
  */
45
59
  export declare function optionalNumber(value: unknown): number | undefined;
60
+ /**
61
+ * Returns a trimmed string when present, failing on non-string values.
62
+ *
63
+ * @remarks
64
+ * Strict by design: when the key exists (anything but `undefined`) with a
65
+ * non-string value (`123`, `{}`, `null`), callers get a Spanish coaching
66
+ * error instead of silently dropping the value (which hides model mistakes
67
+ * such as `language: 5`). Absent keys stay `undefined`; blank strings
68
+ * collapse to `undefined`.
69
+ *
70
+ * @param value - Raw field value.
71
+ * @param fieldName - Dotted field name for error messages.
72
+ * @returns Trimmed string or undefined when absent/blank.
73
+ * @throws Error with an Spanish-first bilingual message when present but not a string.
74
+ */
75
+ export declare function assertOptionalString(value: unknown, fieldName: string): string | undefined;
46
76
  /**
47
77
  * Returns a boolean when the value is a boolean, otherwise undefined.
48
78
  *
79
+ * @remarks
80
+ * Strict by design: truthy strings such as `"true"` are NOT coerced and
81
+ * return undefined so callers can fail with a Spanish coaching error.
82
+ *
49
83
  * @param value - Value to validate
50
84
  * @returns Boolean or undefined
51
85
  */
52
86
  export declare function optionalBoolean(value: unknown): boolean | undefined;
87
+ /**
88
+ * Validates an optional boolean knob, accepting booleans plus `"true"`/`"false"` strings.
89
+ *
90
+ * @remarks
91
+ * Small-model parity with EnriCode `readOptionalBoolean`: `"true"` and
92
+ * `"false"` (trimmed, case-insensitive) coerce; every other present value
93
+ * fails in Spanish (`"yes"`, `1`, `{}` never coerce silently).
94
+ *
95
+ * @param value - Raw knob value.
96
+ * @param fieldName - Dotted field name for error messages.
97
+ * @returns Boolean or undefined when absent.
98
+ * @throws Error with an Spanish-first bilingual message when present but not a boolean nor a true/false string.
99
+ */
100
+ export declare function assertOptionalBoolean(value: unknown, fieldName: string): boolean | undefined;
101
+ /**
102
+ * Parses a relative [0,1] fraction from a number or a complete numeric string.
103
+ *
104
+ * @remarks
105
+ * Strict by design: booleans, empty strings, and partial numerics are
106
+ * rejected instead of being coerced (`Number(true) === 1`).
107
+ *
108
+ * @param value - Raw fraction value.
109
+ * @returns Parsed finite number or undefined when unparseable.
110
+ */
111
+ export declare function optionalFraction(value: unknown): number | undefined;
112
+ /**
113
+ * Builds the shared Spanish-first bilingual honesty warning for one clamped clip window.
114
+ *
115
+ * @remarks
116
+ * Single builder for the parser and the direct-client backstop so both surfaces
117
+ * declare the exact analyzed window with identical wording. The Spanish half keeps
118
+ * the `La ventana pedida (inicio …) … se recortó la duración` prefix family shared with
119
+ * EnriCode `buildClipWindowClampedWarning` (`La ventana del clip pedida … recortó`),
120
+ * so es-MX parity fixtures keep matching on both sides.
121
+ *
122
+ * @param startSeconds - Effective analyzed window start in seconds.
123
+ * @param requestedDurationSeconds - Requested window duration in seconds (before clamping).
124
+ * @param clampedDurationSeconds - Analyzed window duration in seconds (after clamping).
125
+ * @param maxSeconds - Clip-window cap in seconds (86400, 24 h).
126
+ * @returns Spanish-first bilingual warning naming the requested and analyzed windows.
127
+ */
128
+ export declare function buildClipWindowClampedWarning(startSeconds: number, requestedDurationSeconds: number, clampedDurationSeconds: number, maxSeconds: number): string;
129
+ /**
130
+ * Resolves a timeout override from a raw environment string.
131
+ *
132
+ * @remarks
133
+ * Strict by design: only `^\d+$` with a value `> 0` is accepted. Anything
134
+ * else present (`"30s"`, `"1e4"`, `"0"`, `"-5"`) falls back to
135
+ * `fallbackMs` with a bilingual stderr warning instead of silently using a
136
+ * garbage budget (`parseInt("30s") === 30`).
137
+ *
138
+ * @param raw - Raw environment value (already trimmed, may be empty).
139
+ * @param envName - Environment variable name for the warning.
140
+ * @param fallbackMs - Fallback timeout in milliseconds.
141
+ * @returns Resolved timeout plus a Spanish warning, or null when clean.
142
+ */
143
+ export declare function resolveTimeoutMs(raw: string, envName: string, fallbackMs: number): {
144
+ readonly timeoutMs: number;
145
+ readonly warning: string | null;
146
+ };
53
147
  /**
54
148
  * Asserts that a string looks like an HTTP(S) URL.
55
149
  *
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKlF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CASzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAS9D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CASjE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlE"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKlF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CASzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAa9D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAajE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAEnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAiB5F;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAanE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,wBAAwB,EAAE,MAAM,EAChC,sBAAsB,EAAE,MAAM,EAC9B,UAAU,EAAE,MAAM,GACjB,MAAM,CASR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAcjE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlE"}