@poe-platform/safe-bash 0.1.656 → 0.1.657

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 (109) hide show
  1. package/dist/safe-bash/chunks/{xz-U4QDTPZL.js → xz-4V5FXSPG.js} +555 -514
  2. package/dist/safe-bash/chunks/xz-4V5FXSPG.js.map +7 -0
  3. package/dist/safe-bash/commands/archive/index.d.ts +1 -1
  4. package/dist/safe-bash/commands/archive/index.d.ts.map +1 -1
  5. package/dist/safe-bash/commands/archive/internal.d.ts +32 -0
  6. package/dist/safe-bash/commands/archive/internal.d.ts.map +1 -1
  7. package/dist/safe-bash/commands/archive/internal.js.map +1 -1
  8. package/dist/safe-bash/commands/archive/unzip/arguments.d.ts +3 -0
  9. package/dist/safe-bash/commands/archive/unzip/arguments.d.ts.map +1 -1
  10. package/dist/safe-bash/commands/archive/unzip/arguments.js +31 -5
  11. package/dist/safe-bash/commands/archive/unzip/arguments.js.map +1 -1
  12. package/dist/safe-bash/commands/archive/unzip/safety.d.ts +4 -0
  13. package/dist/safe-bash/commands/archive/unzip/safety.d.ts.map +1 -1
  14. package/dist/safe-bash/commands/archive/unzip/safety.js +3 -0
  15. package/dist/safe-bash/commands/archive/unzip/safety.js.map +1 -1
  16. package/dist/safe-bash/commands/archive/unzip.d.ts.map +1 -1
  17. package/dist/safe-bash/commands/archive/unzip.js +159 -112
  18. package/dist/safe-bash/commands/archive/unzip.js.map +1 -1
  19. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts +2 -0
  20. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts.map +1 -0
  21. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js +3 -0
  22. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js.map +1 -0
  23. package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts +2 -0
  24. package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts.map +1 -0
  25. package/dist/safe-bash/commands/archive/zip/aes-primitives.js +3 -0
  26. package/dist/safe-bash/commands/archive/zip/aes-primitives.js.map +1 -0
  27. package/dist/safe-bash/commands/archive/zip/aes.d.ts +18 -0
  28. package/dist/safe-bash/commands/archive/zip/aes.d.ts.map +1 -0
  29. package/dist/safe-bash/commands/archive/zip/aes.js +157 -0
  30. package/dist/safe-bash/commands/archive/zip/aes.js.map +1 -0
  31. package/dist/safe-bash/commands/archive/zip/crypto.d.ts +16 -0
  32. package/dist/safe-bash/commands/archive/zip/crypto.d.ts.map +1 -1
  33. package/dist/safe-bash/commands/archive/zip/crypto.js +85 -0
  34. package/dist/safe-bash/commands/archive/zip/crypto.js.map +1 -1
  35. package/dist/safe-bash/commands/archive/zip/grow.d.ts +4 -0
  36. package/dist/safe-bash/commands/archive/zip/grow.d.ts.map +1 -0
  37. package/dist/safe-bash/commands/archive/zip/grow.js +3 -0
  38. package/dist/safe-bash/commands/archive/zip/grow.js.map +1 -0
  39. package/dist/safe-bash/commands/archive/zip/help.d.ts +4 -2
  40. package/dist/safe-bash/commands/archive/zip/help.d.ts.map +1 -1
  41. package/dist/safe-bash/commands/archive/zip/help.js +98 -3
  42. package/dist/safe-bash/commands/archive/zip/help.js.map +1 -1
  43. package/dist/safe-bash/commands/archive/zip/line-endings.d.ts +1 -0
  44. package/dist/safe-bash/commands/archive/zip/line-endings.d.ts.map +1 -1
  45. package/dist/safe-bash/commands/archive/zip/line-endings.js +158 -0
  46. package/dist/safe-bash/commands/archive/zip/line-endings.js.map +1 -1
  47. package/dist/safe-bash/commands/archive/zip/log.d.ts +23 -0
  48. package/dist/safe-bash/commands/archive/zip/log.d.ts.map +1 -0
  49. package/dist/safe-bash/commands/archive/zip/log.js +159 -0
  50. package/dist/safe-bash/commands/archive/zip/log.js.map +1 -0
  51. package/dist/safe-bash/commands/archive/zip/lzma.d.ts +10 -0
  52. package/dist/safe-bash/commands/archive/zip/lzma.d.ts.map +1 -0
  53. package/dist/safe-bash/commands/archive/zip/lzma.js +41 -0
  54. package/dist/safe-bash/commands/archive/zip/lzma.js.map +1 -0
  55. package/dist/safe-bash/commands/archive/zip/names.d.ts +3 -0
  56. package/dist/safe-bash/commands/archive/zip/names.d.ts.map +1 -0
  57. package/dist/safe-bash/commands/archive/zip/names.js +34 -0
  58. package/dist/safe-bash/commands/archive/zip/names.js.map +1 -0
  59. package/dist/safe-bash/commands/archive/zip/options.d.ts +7 -0
  60. package/dist/safe-bash/commands/archive/zip/options.d.ts.map +1 -1
  61. package/dist/safe-bash/commands/archive/zip/options.js +88 -17
  62. package/dist/safe-bash/commands/archive/zip/options.js.map +1 -1
  63. package/dist/safe-bash/commands/archive/zip/repair.d.ts +11 -0
  64. package/dist/safe-bash/commands/archive/zip/repair.d.ts.map +1 -0
  65. package/dist/safe-bash/commands/archive/zip/repair.js +392 -0
  66. package/dist/safe-bash/commands/archive/zip/repair.js.map +1 -0
  67. package/dist/safe-bash/commands/archive/zip/safety.d.ts +23 -4
  68. package/dist/safe-bash/commands/archive/zip/safety.d.ts.map +1 -1
  69. package/dist/safe-bash/commands/archive/zip/safety.js +73 -23
  70. package/dist/safe-bash/commands/archive/zip/safety.js.map +1 -1
  71. package/dist/safe-bash/commands/archive/zip/sfx.d.ts +5 -0
  72. package/dist/safe-bash/commands/archive/zip/sfx.d.ts.map +1 -0
  73. package/dist/safe-bash/commands/archive/zip/sfx.js +56 -0
  74. package/dist/safe-bash/commands/archive/zip/sfx.js.map +1 -0
  75. package/dist/safe-bash/commands/archive/zip/test-command.d.ts +6 -0
  76. package/dist/safe-bash/commands/archive/zip/test-command.d.ts.map +1 -0
  77. package/dist/safe-bash/commands/archive/zip/test-command.js +101 -0
  78. package/dist/safe-bash/commands/archive/zip/test-command.js.map +1 -0
  79. package/dist/safe-bash/commands/archive/zip/volumes.d.ts +22 -0
  80. package/dist/safe-bash/commands/archive/zip/volumes.d.ts.map +1 -0
  81. package/dist/safe-bash/commands/archive/zip/volumes.js +265 -0
  82. package/dist/safe-bash/commands/archive/zip/volumes.js.map +1 -0
  83. package/dist/safe-bash/commands/archive/zip/zip64.d.ts +20 -1
  84. package/dist/safe-bash/commands/archive/zip/zip64.d.ts.map +1 -1
  85. package/dist/safe-bash/commands/archive/zip/zip64.js +127 -17
  86. package/dist/safe-bash/commands/archive/zip/zip64.js.map +1 -1
  87. package/dist/safe-bash/commands/archive/zip-format.d.ts +30 -5
  88. package/dist/safe-bash/commands/archive/zip-format.d.ts.map +1 -1
  89. package/dist/safe-bash/commands/archive/zip-format.js +489 -91
  90. package/dist/safe-bash/commands/archive/zip-format.js.map +1 -1
  91. package/dist/safe-bash/commands/archive/zip.d.ts.map +1 -1
  92. package/dist/safe-bash/commands/archive/zip.js +729 -128
  93. package/dist/safe-bash/commands/archive/zip.js.map +1 -1
  94. package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts +7 -0
  95. package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts.map +1 -1
  96. package/dist/safe-bash/commands/bytes/compression/bounded-codec.js.map +1 -1
  97. package/dist/safe-bash/commands/bytes/compression/codec-loader.d.ts.map +1 -1
  98. package/dist/safe-bash/commands/bytes/compression/codec-loader.js +8 -1
  99. package/dist/safe-bash/commands/bytes/compression/codec-loader.js.map +1 -1
  100. package/dist/safe-bash/commands/bytes/compression/native/generated/xz.mjs +1 -1
  101. package/dist/safe-bash/commands/bytes/compression/native/sources.json +2 -2
  102. package/dist/safe-bash/commands/bytes/compression/native/types.d.ts +1 -0
  103. package/dist/safe-bash/commands/bytes/compression/native/types.d.ts.map +1 -1
  104. package/dist/safe-bash/commands/text.js +1 -1
  105. package/dist/safe-bash/commands/text.js.map +1 -1
  106. package/dist/safe-bash/core.browser.js +3106 -717
  107. package/dist/safe-bash/core.browser.js.map +4 -4
  108. package/package.json +11 -3
  109. package/dist/safe-bash/chunks/xz-U4QDTPZL.js.map +0 -7
@@ -0,0 +1,265 @@
1
+ import { collectBytes } from "../../../contracts/index.js";
2
+ import { yieldTurn } from "../../../contracts/yield.js";
3
+ import { writeFileOutput } from "../../../contracts/filesystem-output.js";
4
+ import { checkPath, fail, hasIdentity, sameIdentity, vfsPath } from "../internal.js";
5
+ import { ZipFailure } from "./options.js";
6
+ import { stageZip } from "./safety.js";
7
+ import { zip64Directory, zip64Fields } from "./zip64.js";
8
+ export function splitSize(value) {
9
+ if (value === "-")
10
+ return 0;
11
+ let end = 0;
12
+ while (end < value.length && value[end] >= "0" && value[end] <= "9")
13
+ end++;
14
+ const unit = value.slice(end).toLowerCase();
15
+ const factor = { "": 1, k: 1024, m: 1024 ** 2, g: 1024 ** 3, t: 1024 ** 4 }[unit];
16
+ const raw = Number(value.slice(0, end)) * (factor ?? 0);
17
+ const size = raw < 1024 ? raw * 1024 ** 2 : raw;
18
+ if (!end || factor === undefined || !Number.isSafeInteger(size) || size !== 0 && size < 65536)
19
+ throw new ZipFailure(16, "Invalid command arguments", "split size must be zero or at least 64 KB");
20
+ return size;
21
+ }
22
+ export function volumeName(archive, disk, disks) {
23
+ if (!archive.toLowerCase().endsWith(".zip"))
24
+ fail("split output requires a .zip filename");
25
+ return disk === disks - 1 ? archive : `${archive.slice(0, -4)}.z${String(disk + 1).padStart(2, "0")}`;
26
+ }
27
+ export function zipEndOffset(bytes) {
28
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
29
+ let found = -1;
30
+ for (let offset = bytes.length - 22; offset >= Math.max(0, bytes.length - 65557); offset--) {
31
+ if (view.getUint32(offset, true) === 0x06054b50 && offset + 22 + view.getUint16(offset + 20, true) === bytes.length) {
32
+ if (found !== -1)
33
+ fail("ZIP ambiguous end records");
34
+ found = offset;
35
+ }
36
+ }
37
+ if (found < 0)
38
+ fail("ZIP missing end record");
39
+ return found;
40
+ }
41
+ /** Input disks are supplied by the host, then read solely through the invocation VFS. */
42
+ export async function resolveZipVolumes(scope, archive, final, host) {
43
+ const { fs, signal, cwd } = scope.context;
44
+ const end = zipEndOffset(final);
45
+ const view = new DataView(final.buffer, final.byteOffset, final.byteLength);
46
+ const disk = view.getUint16(end + 4, true);
47
+ const locator = end >= 20 && view.getUint32(end - 20, true) === 0x07064b50;
48
+ const count = locator ? view.getUint32(end - 4, true) : disk + 1;
49
+ if (count === 1 && !disk && !view.getUint16(end + 6, true))
50
+ return { bytes: final, paths: [archive], ...(view.getUint32(0, true) === 0x08074b50 ? { disks: { starts: [0], lengths: [final.length] } } : {}) };
51
+ if (!host?.volume)
52
+ fail("ZIP multi-disk archive requires an explicit VFS volume resolver");
53
+ if (count < 2 || count > scope.limits.maxMembers || disk !== count - 1)
54
+ fail("ZIP invalid volume count");
55
+ const parts = [], starts = [], lengths = [], paths = [];
56
+ const stats = [];
57
+ const finalPath = await scope.operation(() => fs.realpath(archive, { signal }));
58
+ const finalStat = await scope.stat(finalPath);
59
+ let total = 0;
60
+ for (let index = 0; index < count; index++) {
61
+ const name = index === count - 1 ? finalPath : await scope.operation(() => host.volume({ archive, disk: index, disks: count, signal }));
62
+ if (!name)
63
+ fail("ZIP missing input volume");
64
+ checkPath(name, scope.limits);
65
+ const path = await scope.operation(() => fs.realpath(vfsPath(cwd, name), { signal }));
66
+ const stat = index === count - 1 ? finalStat : await scope.stat(path);
67
+ if (!stat || stat.type !== "file" || !hasIdentity(stat) || stat.nlink !== 1)
68
+ fail("ZIP volume requires a regular single-link file with known identity");
69
+ if (index !== count - 1 && path === finalPath || paths.includes(path) || stats.some(other => sameIdentity(stat, other)))
70
+ fail("ZIP repeated or aliased input volume");
71
+ if (!Number.isSafeInteger(stat.size) || stat.size < 1 || stat.size > scope.limits.maxArchiveBytes - total)
72
+ fail("ZIP volume byte limit exceeded");
73
+ const bytes = index === count - 1 ? final : await collectBytes(scope.input(path), { signal, maxBytes: stat.size });
74
+ const after = await scope.stat(path);
75
+ if (bytes.length !== stat.size || !after || !sameIdentity(stat, after) || after.size !== stat.size || after.mtimeMs !== stat.mtimeMs || after.ctimeMs !== stat.ctimeMs)
76
+ fail("ZIP input volume changed while reading");
77
+ starts.push(total);
78
+ lengths.push(bytes.length);
79
+ paths.push(path);
80
+ stats.push(stat);
81
+ total += bytes.length;
82
+ parts.push(bytes);
83
+ }
84
+ // Later resolver callbacks and reads may change an earlier, already-read disk.
85
+ for (let index = 0; index < paths.length; index++) {
86
+ const before = stats[index], after = await scope.stat(paths[index]);
87
+ if (!after || !sameIdentity(before, after) || after.size !== before.size || after.mtimeMs !== before.mtimeMs || after.ctimeMs !== before.ctimeMs)
88
+ fail("ZIP input volume changed while reading");
89
+ }
90
+ const bytes = new Uint8Array(total);
91
+ for (let index = 0; index < parts.length; index++) {
92
+ for (let offset = 0; offset < parts[index].length; offset += scope.limits.chunkSize) {
93
+ signal.throwIfAborted();
94
+ bytes.set(parts[index].subarray(offset, offset + scope.limits.chunkSize), starts[index] + offset);
95
+ await yieldTurn(signal);
96
+ }
97
+ }
98
+ return { bytes, disks: { starts, lengths }, paths, volumes: paths.map((path, index) => ({ path, stat: stats[index] })) };
99
+ }
100
+ /** Partition a validated single-disk encoding, preserving record boundaries and ciphertext. */
101
+ export async function splitZipVolumes(input, size, limits, signal) {
102
+ signal.throwIfAborted();
103
+ if (!Number.isSafeInteger(size) || size < 65536)
104
+ fail("ZIP invalid split size");
105
+ if (input.length > limits.maxArchiveBytes - 4)
106
+ fail("ZIP split archive byte limit exceeded");
107
+ const view = new DataView(input.buffer, input.byteOffset, input.byteLength);
108
+ const end = zipEndOffset(input);
109
+ const directory = zip64Directory(view, end, limits);
110
+ const records = [], central = [];
111
+ let offset = directory.centralStart;
112
+ for (let index = 0; index < directory.members; index++) {
113
+ signal.throwIfAborted();
114
+ if (offset + 46 > directory.centralEnd || view.getUint32(offset, true) !== 0x02014b50)
115
+ fail("ZIP invalid central record");
116
+ const name = view.getUint16(offset + 28, true), extra = view.getUint16(offset + 30, true), comment = view.getUint16(offset + 32, true);
117
+ const next = offset + 46 + name + extra + comment;
118
+ if (next > directory.centralEnd)
119
+ fail("ZIP truncated central record");
120
+ let zip64, extraOffset;
121
+ for (let field = offset + 46 + name; field < next - comment;) {
122
+ if (field + 4 > next - comment)
123
+ fail("ZIP truncated extra field");
124
+ const finish = field + 4 + view.getUint16(field + 2, true);
125
+ if (finish > next - comment)
126
+ fail("ZIP truncated extra field");
127
+ if (view.getUint16(field, true) === 1) {
128
+ zip64 = input.subarray(field + 4, finish);
129
+ extraOffset = field + 4;
130
+ }
131
+ field = finish;
132
+ }
133
+ const raw = [view.getUint32(offset + 24, true), view.getUint32(offset + 20, true), view.getUint32(offset + 42, true)];
134
+ const values = zip64Fields(zip64, raw);
135
+ const local = values[2];
136
+ if (local + 30 > directory.centralStart || view.getUint32(local, true) !== 0x04034b50)
137
+ fail("ZIP invalid local record");
138
+ const payload = local + 30 + view.getUint16(local + 26, true) + view.getUint16(local + 28, true);
139
+ records.push({ start: local, end: payload }, { start: offset, end: next });
140
+ if (view.getUint16(local + 6, true) & 8) {
141
+ const descriptor = payload + values[1];
142
+ const wide = view.getUint32(local + 18, true) === 0xffffffff || view.getUint32(local + 22, true) === 0xffffffff;
143
+ records.push({ start: descriptor, end: descriptor + (view.getUint32(descriptor, true) === 0x08074b50 ? 4 : 0) + (wide ? 20 : 12) });
144
+ }
145
+ central.push({ start: offset, local, ...(raw[2] === 0xffffffff && extraOffset !== undefined ? { extraOffset: extraOffset + (raw[0] === 0xffffffff ? 8 : 0) + (raw[1] === 0xffffffff ? 8 : 0) } : {}) });
146
+ offset = next;
147
+ await yieldTurn(signal);
148
+ }
149
+ if (directory.centralEnd !== end)
150
+ records.push({ start: directory.centralEnd, end: end - 20 }, { start: end - 20, end });
151
+ records.push({ start: end, end: input.length });
152
+ records.sort((a, b) => a.start - b.start);
153
+ const starts = [0];
154
+ let source = 0, used = 4;
155
+ for (const record of records) {
156
+ if (record.start < source || record.end > input.length || record.end - record.start > size)
157
+ fail("ZIP record cannot fit in split volume");
158
+ while (record.start - source >= size - used && record.start > source) {
159
+ source += size - used;
160
+ starts.push(source);
161
+ used = 0;
162
+ }
163
+ used += record.start - source;
164
+ source = record.start;
165
+ if (record.end - record.start > size - used) {
166
+ starts.push(source);
167
+ used = 0;
168
+ }
169
+ used += record.end - source;
170
+ source = record.end;
171
+ }
172
+ if (starts.length > limits.maxMembers || starts.length >= 65535)
173
+ fail("ZIP split volume count limit exceeded");
174
+ const parts = starts.map((start, index) => new Uint8Array((starts[index + 1] ?? input.length) - start + (index === 0 ? 4 : 0)));
175
+ new DataView(parts[0].buffer).setUint32(0, 0x08074b50, true);
176
+ for (let index = 0; index < parts.length; index++) {
177
+ const finish = starts[index + 1] ?? input.length;
178
+ for (let pos = starts[index]; pos < finish; pos += limits.chunkSize) {
179
+ signal.throwIfAborted();
180
+ parts[index].set(input.subarray(pos, Math.min(finish, pos + limits.chunkSize)), pos - starts[index] + (index === 0 ? 4 : 0));
181
+ await yieldTurn(signal);
182
+ }
183
+ }
184
+ const location = (position) => {
185
+ let disk = starts.length - 1;
186
+ while (starts[disk] > position)
187
+ disk--;
188
+ return { disk, relative: position - starts[disk] + (disk === 0 ? 4 : 0) };
189
+ };
190
+ for (const record of central) {
191
+ const here = location(record.start), local = location(record.local);
192
+ const header = new DataView(parts[here.disk].buffer);
193
+ header.setUint16(here.relative + 34, local.disk, true);
194
+ if (record.extraOffset === undefined)
195
+ header.setUint32(here.relative + 42, local.relative, true);
196
+ else
197
+ header.setBigUint64(here.relative + record.extraOffset - record.start, BigInt(local.relative), true);
198
+ }
199
+ const last = parts.length - 1, finish = location(end), centralStart = location(directory.centralStart);
200
+ const header = new DataView(parts[last].buffer);
201
+ const onLast = central.filter(record => location(record.start).disk === last).length;
202
+ header.setUint16(finish.relative + 4, last, true);
203
+ header.setUint16(finish.relative + 6, centralStart.disk, true);
204
+ header.setUint16(finish.relative + 8, Math.min(onLast, 65535), true);
205
+ if (view.getUint32(end + 16, true) !== 0xffffffff)
206
+ header.setUint32(finish.relative + 16, centralStart.relative, true);
207
+ if (directory.centralEnd !== end) {
208
+ const wide = location(directory.centralEnd);
209
+ const wideHeader = new DataView(parts[wide.disk].buffer);
210
+ const onWide = central.filter(record => location(record.start).disk === wide.disk).length;
211
+ wideHeader.setUint32(wide.relative + 16, wide.disk, true);
212
+ wideHeader.setUint32(wide.relative + 20, centralStart.disk, true);
213
+ wideHeader.setBigUint64(wide.relative + 24, BigInt(onWide), true);
214
+ wideHeader.setBigUint64(wide.relative + 48, BigInt(centralStart.relative), true);
215
+ const locator = location(end - 20), locatorHeader = new DataView(parts[locator.disk].buffer);
216
+ locatorHeader.setUint32(locator.relative + 4, wide.disk, true);
217
+ locatorHeader.setBigUint64(locator.relative + 8, BigInt(wide.relative), true);
218
+ locatorHeader.setUint32(locator.relative + 16, parts.length, true);
219
+ }
220
+ return parts;
221
+ }
222
+ /** All destinations preflight; all volumes staged before the first per-volume publication. */
223
+ export async function publishZipVolumes(scope, publication, parts, inputPaths, before) {
224
+ const { fs, signal } = scope.context;
225
+ if (!fs.publishStagedFile)
226
+ fail("ZIP split publication requires atomic owned staging");
227
+ const destinations = [];
228
+ const forbidden = new Set(inputPaths);
229
+ const inputStats = await Promise.all(inputPaths.map(path => scope.stat(path)));
230
+ for (let disk = 0; disk < parts.length; disk++) {
231
+ const output = volumeName(publication.output, disk, parts.length);
232
+ checkPath(output, scope.limits);
233
+ if (forbidden.has(output))
234
+ fail("ZIP split output aliases an input volume");
235
+ const existing = await scope.stat(output);
236
+ if (existing && (existing.type !== "file" || !hasIdentity(existing) || existing.nlink !== 1 || inputStats.some(stat => stat && sameIdentity(stat, existing))))
237
+ fail("ZIP split destination is not a safe regular file");
238
+ const capabilities = await scope.operation(() => fs.capabilitiesFor?.(output, { signal, create: true }) ?? fs.capabilities);
239
+ if (capabilities.atomicFileStaging !== true)
240
+ fail("ZIP split publication requires atomic owned staging");
241
+ destinations.push({ ...publication, output, existing, bytes: parts[disk] });
242
+ }
243
+ const staged = [];
244
+ const stage = async (disk) => {
245
+ if (disk < destinations.length) {
246
+ const prepared = destinations[disk];
247
+ await writeFileOutput(scope.context, prepared.bytes, () => stageZip(scope, { ...prepared, stagingPrefix: `zip-volume-${disk + 1}`, reservedPath: prepared.output, parent: prepared.stagingParent ?? prepared.parent, parentStat: prepared.stagingParentStat ?? prepared.parentStat }, async (value) => {
248
+ staged.push(value);
249
+ await before(prepared.output, disk);
250
+ await stage(disk + 1);
251
+ }));
252
+ return;
253
+ }
254
+ if (await scope.operation(() => fs.realpath(publication.parentName, { signal })) !== publication.parent)
255
+ fail("ZIP split parent changed before publication");
256
+ if (publication.stagingName && await scope.operation(() => fs.realpath(publication.stagingName, { signal })) !== publication.stagingParent)
257
+ fail("ZIP split staging parent changed before publication");
258
+ for (let index = 0; index < staged.length; index++) {
259
+ const prepared = destinations[index];
260
+ await scope.operation(() => fs.publishStagedFile(staged[index], prepared.output, { signal, parent: prepared.parentStat, destination: prepared.existing ?? null }));
261
+ }
262
+ };
263
+ await stage(0);
264
+ }
265
+ //# sourceMappingURL=volumes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volumes.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/volumes.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,31 @@
1
1
  import { type ArchiveLimits } from "../internal.js";
2
- export declare function zip64Directory(view: DataView, end: number, limits: ArchiveLimits): {
2
+ export interface ZipDisks {
3
+ readonly starts: readonly number[];
4
+ readonly lengths: readonly number[];
5
+ }
6
+ export declare function zipDiskRecord(disks: ZipDisks | undefined, start: number, end: number): void;
7
+ export declare function zipDiskOffset(disks: ZipDisks | undefined, disk: number, offset: number): number;
8
+ export declare function zip64Directory(view: DataView, end: number, limits: ArchiveLimits, disks?: ZipDisks, displacement?: number): {
3
9
  members: number;
4
10
  centralStart: number;
5
11
  centralSize: number;
6
12
  centralEnd: number;
13
+ diskMembers: number;
14
+ disk: number;
15
+ zip64Disk: number;
16
+ zip64DiskMembers: number;
7
17
  };
8
18
  export declare function zip64Fields(data: Uint8Array | undefined, values: readonly number[]): number[];
9
19
  export declare function stripZip64(bytes: Uint8Array): Uint8Array;
10
20
  export declare function zip64Extra(values: readonly number[], retained: Uint8Array): Uint8Array;
11
21
  export declare function writeZip64End(view: DataView, offset: number, count: number, size: number, start: number, recordOffset?: number): number;
22
+ export declare function zip64Member(size: number, compressed: number, offset: number, force?: boolean, allowed?: boolean, forceSizes?: boolean): {
23
+ size: number;
24
+ compressed: number;
25
+ offset: number;
26
+ values: number[];
27
+ wide: boolean;
28
+ };
29
+ export declare function zipEnd(count: number, size: number, start: number, comment: Uint8Array, force?: boolean, allowed?: boolean): Uint8Array;
30
+ export declare function zipDescriptor(checksum: number, compressed: number, size: number, wide: boolean, signed?: boolean): Uint8Array;
12
31
  //# sourceMappingURL=zip64.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zip64.d.ts","sourceRoot":"","sources":["../../../../src/commands/archive/zip/zip64.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;;;;;EA6BhF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAY7F;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAkBxD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,CAStF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,SAAS,GAAG,MAAM,CAavI"}
1
+ {"version":3,"file":"zip64.d.ts","sourceRoot":"","sources":["../../../../src/commands/archive/zip/zip64.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS1D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAK3F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK/F;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,SAAI;;;;;;;;;EA2CpH;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAY7F;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAkBxD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,CAUtF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,SAAS,GAAG,MAAM,CAkBvI;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ,EAAE,OAAO,UAAO,EAAE,UAAU,UAAQ;;;;;;EAW9H;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,UAAQ,EAAE,OAAO,UAAO,GAAG,UAAU,CAmBjI;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAO,GAAG,UAAU,CAiB1H"}
@@ -7,33 +7,73 @@ function wide(view, offset) {
7
7
  fail("ZIP64 unsafe numeric field");
8
8
  return Number(value);
9
9
  }
10
- export function zip64Directory(view, end, limits) {
10
+ export function zipDiskRecord(disks, start, end) {
11
+ if (!disks)
12
+ return;
13
+ let disk = disks.starts.length - 1;
14
+ while (disk >= 0 && disks.starts[disk] > start)
15
+ disk--;
16
+ if (disk < 0 || end > disks.starts[disk] + disks.lengths[disk])
17
+ fail("ZIP record straddles volume boundary");
18
+ }
19
+ export function zipDiskOffset(disks, disk, offset) {
20
+ if (!Number.isSafeInteger(disk) || disk < 0 || !Number.isSafeInteger(offset) || offset < 0)
21
+ fail("ZIP invalid disk offset");
22
+ if (!disks) {
23
+ if (disk)
24
+ fail("ZIP multi-disk archive requires a volume resolver");
25
+ return offset;
26
+ }
27
+ if (disk >= disks.starts.length || offset >= disks.lengths[disk])
28
+ fail("ZIP disk offset outside volume");
29
+ return disks.starts[disk] + offset;
30
+ }
31
+ export function zip64Directory(view, end, limits, disks, displacement = 0) {
32
+ zipDiskRecord(disks, end, view.byteLength);
11
33
  let members = view.getUint16(end + 10, true);
12
34
  let centralSize = view.getUint32(end + 12, true);
13
35
  let centralStart = view.getUint32(end + 16, true);
14
36
  let centralEnd = end;
15
- const diskMembers = view.getUint16(end + 8, true);
16
- if (view.getUint16(end + 4, true) || view.getUint16(end + 6, true))
17
- fail("ZIP multi-disk archive is unsupported");
37
+ let zip64Disk = -1, zip64DiskMembers = -1;
38
+ let diskMembers = view.getUint16(end + 8, true);
39
+ const disk = view.getUint16(end + 4, true);
40
+ if (!disks && disk)
41
+ fail("ZIP multi-disk archive requires a volume resolver");
42
+ const centralDisk = view.getUint16(end + 6, true);
43
+ if (disks && disk !== disks.starts.length - 1)
44
+ fail("ZIP final disk number mismatch");
45
+ if (centralStart !== 0xffffffff)
46
+ centralStart = zipDiskOffset(disks, centralDisk, centralStart);
47
+ if (centralStart !== 0xffffffff)
48
+ centralStart += displacement;
18
49
  const locator = end >= 20 && view.getUint32(end - 20, true) === 0x07064b50;
19
50
  if (locator) {
20
- if (view.getUint32(end - 16, true) || view.getUint32(end - 4, true) !== 1)
21
- fail("ZIP64 multi-disk locator is unsupported");
22
- centralEnd = wide(view, end - 12);
23
- if (centralEnd + 56 > end - 20 || view.getUint32(centralEnd, true) !== 0x06064b50)
51
+ zipDiskRecord(disks, end - 20, end);
52
+ const recordDisk = view.getUint32(end - 16, true);
53
+ if (view.getUint32(end - 4, true) !== (disks?.starts.length ?? 1))
54
+ fail("ZIP64 multi-disk locator count mismatch");
55
+ centralEnd = zipDiskOffset(disks, recordDisk, wide(view, end - 12)) + displacement;
56
+ if (centralEnd > end - 76 || view.getUint32(centralEnd, true) !== 0x06064b50)
24
57
  fail("ZIP64 invalid end-record span");
25
58
  const length = wide(view, centralEnd + 4);
26
- if (length < 44 || length - 44 > limits.maxPaxBytes || centralEnd + 12 + length !== end - 20)
59
+ if (length < 44 || length - 44 > limits.maxPaxBytes || length !== end - 32 - centralEnd)
27
60
  fail("ZIP64 invalid end-record length");
28
- if (view.getUint16(centralEnd + 14, true) !== 45)
61
+ zipDiskRecord(disks, centralEnd, centralEnd + 12 + length);
62
+ const version = view.getUint16(centralEnd + 14, true);
63
+ if (version < 45 || version > 46)
29
64
  fail("ZIP64 unsupported end-record extraction version");
30
- if (view.getUint32(centralEnd + 16, true) || view.getUint32(centralEnd + 20, true))
31
- fail("ZIP64 multi-disk archive is unsupported");
65
+ if (view.getUint32(centralEnd + 16, true) !== recordDisk || view.getUint32(centralEnd + 20, true) !== centralDisk)
66
+ fail("ZIP64 inconsistent disk numbers");
32
67
  const count = wide(view, centralEnd + 32);
33
- if (wide(view, centralEnd + 24) !== count || members !== 65535 && members !== count || diskMembers !== 65535 && diskMembers !== count)
68
+ const wideDiskMembers = wide(view, centralEnd + 24);
69
+ if (wideDiskMembers > count || recordDisk === disk && wideDiskMembers !== diskMembers && diskMembers !== 65535 || members !== 65535 && members !== count || !disks && wideDiskMembers !== count)
34
70
  fail("ZIP64 inconsistent member count");
71
+ if (recordDisk === disk)
72
+ diskMembers = wideDiskMembers;
73
+ zip64Disk = recordDisk;
74
+ zip64DiskMembers = wideDiskMembers;
35
75
  const size = wide(view, centralEnd + 40);
36
- const start = wide(view, centralEnd + 48);
76
+ const start = zipDiskOffset(disks, centralDisk, wide(view, centralEnd + 48)) + displacement;
37
77
  if (centralSize !== 0xffffffff && centralSize !== size || centralStart !== 0xffffffff && centralStart !== start)
38
78
  fail("ZIP64 inconsistent central directory");
39
79
  members = count;
@@ -42,13 +82,13 @@ export function zip64Directory(view, end, limits) {
42
82
  }
43
83
  else if (centralSize === 0xffffffff || centralStart === 0xffffffff)
44
84
  fail("ZIP64 missing end record and locator");
45
- else if (diskMembers !== members)
85
+ else if (!disks && diskMembers !== members)
46
86
  fail("ZIP inconsistent member count");
47
87
  if (members > limits.maxMembers)
48
88
  fail("ZIP member limit exceeded");
49
- if (centralStart > limits.maxArchiveBytes || centralSize > limits.maxArchiveBytes || centralStart + centralSize !== centralEnd)
89
+ if (centralStart > limits.maxArchiveBytes || centralSize > limits.maxArchiveBytes || centralSize !== centralEnd - centralStart)
50
90
  fail("ZIP invalid central directory span");
51
- return { members, centralStart, centralSize, centralEnd };
91
+ return { members, centralStart, centralSize, centralEnd, diskMembers, disk, zip64Disk, zip64DiskMembers };
52
92
  }
53
93
  export function zip64Fields(data, values) {
54
94
  let offset = 0;
@@ -91,6 +131,7 @@ export function stripZip64(bytes) {
91
131
  return result;
92
132
  }
93
133
  export function zip64Extra(values, retained) {
134
+ values.forEach(counter);
94
135
  if (retained.length + 4 + values.length * 8 > 65535)
95
136
  fail("ZIP64 extra field limit exceeded");
96
137
  const bytes = new Uint8Array(4 + values.length * 8 + retained.length);
@@ -102,17 +143,86 @@ export function zip64Extra(values, retained) {
102
143
  return bytes;
103
144
  }
104
145
  export function writeZip64End(view, offset, count, size, start, recordOffset = offset) {
146
+ [offset, count, size, start, recordOffset].forEach(counter);
147
+ if (offset > view.byteLength - 76)
148
+ fail("ZIP64 truncated end-record destination");
105
149
  view.setUint32(offset, 0x06064b50, true);
106
150
  view.setBigUint64(offset + 4, 44n, true);
107
151
  view.setUint16(offset + 12, 0x32d, true);
108
152
  view.setUint16(offset + 14, 45, true);
153
+ view.setUint32(offset + 16, 0, true);
154
+ view.setUint32(offset + 20, 0, true);
109
155
  view.setBigUint64(offset + 24, BigInt(count), true);
110
156
  view.setBigUint64(offset + 32, BigInt(count), true);
111
157
  view.setBigUint64(offset + 40, BigInt(size), true);
112
158
  view.setBigUint64(offset + 48, BigInt(start), true);
113
159
  view.setUint32(offset + 56, 0x07064b50, true);
160
+ view.setUint32(offset + 60, 0, true);
114
161
  view.setBigUint64(offset + 64, BigInt(recordOffset), true);
115
162
  view.setUint32(offset + 72, 1, true);
116
163
  return offset + 76;
117
164
  }
165
+ function counter(value) {
166
+ if (!Number.isSafeInteger(value) || value < 0)
167
+ fail("ZIP64 unsafe or invalid numeric field");
168
+ }
169
+ export function zip64Member(size, compressed, offset, force = false, allowed = true, forceSizes = false) {
170
+ [size, compressed, offset].forEach(counter);
171
+ const widths = [size, compressed, offset].map((value, index) => force || forceSizes && index < 2 || value >= 0xffffffff);
172
+ if (!allowed && widths.some(Boolean))
173
+ fail("ZIP64 required but disabled");
174
+ return {
175
+ size: widths[0] ? 0xffffffff : size,
176
+ compressed: widths[1] ? 0xffffffff : compressed,
177
+ offset: widths[2] ? 0xffffffff : offset,
178
+ values: [size, compressed, offset].filter((_, index) => widths[index]),
179
+ wide: widths.some(Boolean),
180
+ };
181
+ }
182
+ export function zipEnd(count, size, start, comment, force = false, allowed = true) {
183
+ [count, size, start].forEach(counter);
184
+ if (size > Number.MAX_SAFE_INTEGER - start)
185
+ fail("ZIP64 unsafe directory sum");
186
+ if (comment.length > 65535)
187
+ fail("ZIP archive comment limit exceeded");
188
+ const wide = force || count >= 65535 || size >= 0xffffffff || start >= 0xffffffff;
189
+ if (wide && !allowed)
190
+ fail("ZIP64 required but disabled");
191
+ const length = (wide ? 76 : 0) + 22 + comment.length;
192
+ if (start + size > Number.MAX_SAFE_INTEGER - length)
193
+ fail("ZIP64 unsafe archive sum");
194
+ const bytes = new Uint8Array(length);
195
+ const view = new DataView(bytes.buffer);
196
+ const end = wide ? writeZip64End(view, 0, count, size, start, start + size) : 0;
197
+ view.setUint32(end, 0x06054b50, true);
198
+ view.setUint16(end + 8, Math.min(count, 65535), true);
199
+ view.setUint16(end + 10, Math.min(count, 65535), true);
200
+ view.setUint32(end + 12, size >= 0xffffffff ? 0xffffffff : size, true);
201
+ view.setUint32(end + 16, start >= 0xffffffff ? 0xffffffff : start, true);
202
+ view.setUint16(end + 20, comment.length, true);
203
+ bytes.set(comment, end + 22);
204
+ return bytes;
205
+ }
206
+ export function zipDescriptor(checksum, compressed, size, wide, signed = true) {
207
+ [checksum, compressed, size].forEach(counter);
208
+ if (checksum > 0xffffffff)
209
+ fail("ZIP invalid descriptor checksum");
210
+ if (!wide && (compressed >= 0xffffffff || size >= 0xffffffff))
211
+ fail("ZIP64 descriptor required");
212
+ const bytes = new Uint8Array((signed ? 4 : 0) + (wide ? 20 : 12));
213
+ const view = new DataView(bytes.buffer);
214
+ const base = signed ? 4 : 0;
215
+ if (signed)
216
+ view.setUint32(0, 0x08074b50, true);
217
+ view.setUint32(base, checksum, true);
218
+ if (wide) {
219
+ view.setBigUint64(base + 4, BigInt(compressed), true);
220
+ view.setBigUint64(base + 12, BigInt(size), true);
221
+ }
222
+ else {
223
+ view.setUint32(base + 4, compressed, true);
224
+ view.setUint32(base + 8, size, true);
225
+ }
226
+ return bytes;
227
+ }
118
228
  //# sourceMappingURL=zip64.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zip64.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/zip64.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip64.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/zip64.ts"],"names":[],"mappings":"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"}