@poe-platform/safe-bash 0.1.532 → 0.1.534

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 (39) hide show
  1. package/dist/safe-bash/commands/archive/index.d.ts +2 -0
  2. package/dist/safe-bash/commands/archive/index.d.ts.map +1 -1
  3. package/dist/safe-bash/commands/archive/index.js +11 -3
  4. package/dist/safe-bash/commands/archive/index.js.map +1 -1
  5. package/dist/safe-bash/commands/archive/unzip/arguments.d.ts +32 -0
  6. package/dist/safe-bash/commands/archive/unzip/arguments.d.ts.map +1 -0
  7. package/dist/safe-bash/commands/archive/unzip/arguments.js +214 -0
  8. package/dist/safe-bash/commands/archive/unzip/arguments.js.map +1 -0
  9. package/dist/safe-bash/commands/archive/unzip/safety.d.ts +28 -0
  10. package/dist/safe-bash/commands/archive/unzip/safety.d.ts.map +1 -0
  11. package/dist/safe-bash/commands/archive/unzip/safety.js +288 -0
  12. package/dist/safe-bash/commands/archive/unzip/safety.js.map +1 -0
  13. package/dist/safe-bash/commands/archive/unzip.d.ts +4 -0
  14. package/dist/safe-bash/commands/archive/unzip.d.ts.map +1 -0
  15. package/dist/safe-bash/commands/archive/unzip.js +264 -0
  16. package/dist/safe-bash/commands/archive/unzip.js.map +1 -0
  17. package/dist/safe-bash/commands/archive/zip/safety.d.ts +28 -0
  18. package/dist/safe-bash/commands/archive/zip/safety.d.ts.map +1 -0
  19. package/dist/safe-bash/commands/archive/zip/safety.js +228 -0
  20. package/dist/safe-bash/commands/archive/zip/safety.js.map +1 -0
  21. package/dist/safe-bash/commands/archive/zip-format.d.ts +39 -0
  22. package/dist/safe-bash/commands/archive/zip-format.d.ts.map +1 -0
  23. package/dist/safe-bash/commands/archive/zip-format.js +509 -0
  24. package/dist/safe-bash/commands/archive/zip-format.js.map +1 -0
  25. package/dist/safe-bash/commands/archive/zip.d.ts +4 -0
  26. package/dist/safe-bash/commands/archive/zip.d.ts.map +1 -0
  27. package/dist/safe-bash/commands/archive/zip.js +290 -0
  28. package/dist/safe-bash/commands/archive/zip.js.map +1 -0
  29. package/dist/safe-bash/commands/bytes/compression/codec.d.ts +1 -1
  30. package/dist/safe-bash/commands/bytes/compression/codec.d.ts.map +1 -1
  31. package/dist/safe-bash/commands/bytes/compression/codec.js +2 -2
  32. package/dist/safe-bash/commands/bytes/compression/codec.js.map +1 -1
  33. package/dist/safe-bash/core.browser.js +1937 -389
  34. package/dist/safe-bash/core.browser.js.map +4 -4
  35. package/dist/safe-bash/shell/runtime.d.ts +1 -0
  36. package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
  37. package/dist/safe-bash/shell/runtime.js +4 -1
  38. package/dist/safe-bash/shell/runtime.js.map +1 -1
  39. package/package.json +2 -2
@@ -0,0 +1,290 @@
1
+ import { collectBytes, dirname, getCommandArguments, writeBytes } from "../../contracts/index.js";
2
+ import { shellValueByteLength, shellValueBytes } from "../../contracts/value.js";
3
+ import { writeFileOutput } from "../../contracts/filesystem-output.js";
4
+ import { yieldTurn } from "../../contracts/yield.js";
5
+ import { publicDiagnosticMessage } from "../../diagnostics.js";
6
+ import { escapeText } from "../../escaping.js";
7
+ import { Budget, checkPath, display, fail, hasIdentity, sameIdentity, settings, text, vfsPath } from "./internal.js";
8
+ import { makeZipEntry, readZipArchive, writeZipArchive } from "./zip-format.js";
9
+ import { publishZip, ZipScope } from "./zip/safety.js";
10
+ class ZipFailure extends Error {
11
+ status;
12
+ label;
13
+ constructor(status, label, detail) {
14
+ super(detail);
15
+ this.status = status;
16
+ this.label = label;
17
+ }
18
+ }
19
+ function parse(context, limits) {
20
+ if (context.args.length > limits.maxArgumentBytes)
21
+ fail("argument count limit exceeded");
22
+ let bytes = 0;
23
+ for (const argument of context.args) {
24
+ const size = Buffer.byteLength(argument);
25
+ if (size > limits.maxArgumentBytes - bytes)
26
+ fail("argument byte limit exceeded");
27
+ bytes += size;
28
+ }
29
+ if (context.argumentValues) {
30
+ const argumentsValue = getCommandArguments(context);
31
+ let rawBytes = 0;
32
+ for (const value of argumentsValue.values) {
33
+ const size = shellValueByteLength(value);
34
+ if (size > limits.maxArgumentBytes - rawBytes)
35
+ fail("argument byte limit exceeded");
36
+ rawBytes += size;
37
+ }
38
+ for (const value of argumentsValue.values)
39
+ text(shellValueBytes(value));
40
+ }
41
+ let archive;
42
+ let recursive = false;
43
+ let literal = false;
44
+ let firstOperand = -1;
45
+ const operands = [];
46
+ for (const [index, argument] of context.args.entries()) {
47
+ checkPath(argument, limits);
48
+ if (!literal && argument === "--") {
49
+ if (archive === undefined)
50
+ throw new ZipFailure(16, "Invalid command arguments", "can't use -- before archive name");
51
+ literal = true;
52
+ }
53
+ else if (!literal && argument.startsWith("-") && argument !== "-") {
54
+ if (argument.length > 1 && [...argument.slice(1)].every(flag => flag === "r"))
55
+ recursive = true;
56
+ else
57
+ throw new ZipFailure(16, "Invalid command arguments", `unsupported option: ${argument}`);
58
+ }
59
+ else if (archive === undefined)
60
+ archive = argument;
61
+ else {
62
+ if (operands.length >= limits.maxMembers)
63
+ fail("operand limit exceeded");
64
+ if (firstOperand < 0)
65
+ firstOperand = index;
66
+ operands.push(argument);
67
+ }
68
+ }
69
+ if (archive === undefined)
70
+ throw new ZipFailure(16, "Invalid command arguments", "expected zip [-r] ARCHIVE FILES...");
71
+ if (archive === "-" || operands.includes("-"))
72
+ throw new ZipFailure(16, "Invalid command arguments", "standard input/output archives are unsupported");
73
+ if (!archive.slice(archive.lastIndexOf("/") + 1).includes("."))
74
+ archive += ".zip";
75
+ checkPath(archive, limits);
76
+ return { archive, recursive, operands, firstOperand };
77
+ }
78
+ function memberName(path, limits) {
79
+ if (path.startsWith("//") && !path.startsWith("///"))
80
+ fail("UNC source paths are unsupported");
81
+ let start = 0;
82
+ while (path[start] === "/")
83
+ start++;
84
+ while (path.slice(start, start + 2) === "./")
85
+ start += 2;
86
+ const name = path.slice(start);
87
+ if (name.split("/").includes(".."))
88
+ fail("parent-component archive names are unsupported");
89
+ if (name && name !== ".")
90
+ checkPath(name, limits);
91
+ return name === "." ? "" : name;
92
+ }
93
+ function unchanged(before, after) {
94
+ return before.type === after.type && before.size === after.size && before.mode === after.mode
95
+ && before.mtimeMs === after.mtimeMs && before.ctimeMs === after.ctimeMs
96
+ && before.nlink === after.nlink && (!hasIdentity(before) || sameIdentity(before, after));
97
+ }
98
+ async function prepare(scope, parsed, budget) {
99
+ const context = scope.context;
100
+ const limits = budget.limits;
101
+ const outputName = vfsPath(context.cwd, parsed.archive);
102
+ const parentName = dirname(outputName);
103
+ const parent = await scope.operation(() => context.fs.realpath(parentName, { signal: context.signal }));
104
+ const output = `${parent === "/" ? "" : parent}/${outputName.slice(outputName.lastIndexOf("/") + 1)}`;
105
+ checkPath(output, limits);
106
+ const existing = await scope.stat(output);
107
+ if (existing && (existing.type !== "file" || !hasIdentity(existing) || existing.nlink !== 1))
108
+ fail("updating archive requires a regular, single-link file with known backing identity; archive aliases are unsupported");
109
+ let archive = { entries: [], comment: new Uint8Array() };
110
+ if (existing) {
111
+ if (!Number.isSafeInteger(existing.size) || existing.size < 0 || existing.size > limits.maxArchiveBytes)
112
+ fail("archive byte limit exceeded");
113
+ const bytes = await collectBytes(scope.input(output), { maxBytes: limits.maxArchiveBytes, signal: context.signal });
114
+ if (bytes.length !== existing.size)
115
+ fail("archive changed while reading");
116
+ archive = await readZipArchive(bytes, limits, context.signal);
117
+ const current = await scope.stat(output);
118
+ if (!current || !unchanged(existing, current))
119
+ fail("archive changed while reading");
120
+ }
121
+ const old = new Map(archive.entries.map(entry => [entry.name, entry]));
122
+ const selected = new Map();
123
+ const ancestors = [];
124
+ let visits = 0;
125
+ let work = 0;
126
+ let compressedBytes = 0;
127
+ const visit = async (source, name, depth) => {
128
+ context.signal.throwIfAborted();
129
+ if (++visits > limits.maxMembers)
130
+ fail("traversal member limit exceeded");
131
+ if (++work > limits.maxPatternSteps)
132
+ fail("archive work limit exceeded");
133
+ if (visits % 128 === 0)
134
+ await yieldTurn(context.signal);
135
+ if (depth > limits.maxDepth)
136
+ fail("archive recursion depth limit exceeded");
137
+ const path = vfsPath(context.cwd, source);
138
+ checkPath(path, limits);
139
+ let canonical;
140
+ let stat;
141
+ try {
142
+ canonical = await scope.operation(() => context.fs.realpath(path, { signal: context.signal }));
143
+ stat = await scope.operation(() => context.fs.stat(path, { signal: context.signal }));
144
+ }
145
+ catch (error) {
146
+ context.signal.throwIfAborted();
147
+ if (typeof error !== "object" || error === null || !("code" in error) || error.code !== "ENOENT")
148
+ throw error;
149
+ if (!old.has(name))
150
+ await budget.output(`\tzip warning: name not matched: ${source}\n`);
151
+ return;
152
+ }
153
+ checkPath(canonical, limits);
154
+ if (canonical === output || (existing && sameIdentity(existing, stat)))
155
+ return;
156
+ if (stat.type !== "file" && stat.type !== "directory") {
157
+ await budget.output(`\tzip warning: ignoring special file: ${source}\n`);
158
+ return;
159
+ }
160
+ if (existing && !hasIdentity(stat))
161
+ fail("cannot exclude archive aliases when source backing identity is unknown");
162
+ const directory = stat.type === "directory";
163
+ if (directory && name && !name.endsWith("/"))
164
+ name += "/";
165
+ if (name) {
166
+ checkPath(name, limits);
167
+ const previous = selected.get(name);
168
+ if (previous && previous.source !== source) {
169
+ await budget.output(`\tzip warning: first full name: ${previous.source}\n second full name: ${source}\n name in zip file repeated: ${name}\n`);
170
+ throw new ZipFailure(16, "Invalid command arguments", "cannot repeat names in zip file");
171
+ }
172
+ if (!previous) {
173
+ await budget.member(directory ? 0 : stat.size);
174
+ const bytes = directory ? new Uint8Array() : await collectBytes(scope.input(path), { maxBytes: stat.size, signal: context.signal });
175
+ if (!directory && bytes.length !== stat.size)
176
+ fail(`source changed while reading: ${source}`);
177
+ const current = await scope.operation(() => context.fs.stat(path, { signal: context.signal }));
178
+ const currentPath = await scope.operation(() => context.fs.realpath(path, { signal: context.signal }));
179
+ if (currentPath !== canonical || !unchanged(stat, current))
180
+ fail(`source changed while reading: ${source}`);
181
+ let entry = await makeZipEntry(name, bytes, { modified: new Date(stat.mtimeMs), mode: stat.mode, directory, symlink: false }, limits, context.signal);
182
+ if ([".z", ".zip", ".zoo", ".arc", ".lzh", ".arj"].some(suffix => name.toLowerCase().endsWith(suffix)))
183
+ entry = { ...entry, method: 0, data: bytes };
184
+ const prior = old.get(name);
185
+ if (prior?.comment)
186
+ entry = { ...entry, comment: prior.comment };
187
+ if (entry.data.length > limits.maxArchiveBytes - compressedBytes)
188
+ fail("archive byte limit exceeded");
189
+ compressedBytes += entry.data.length;
190
+ selected.set(name, { entry, source });
191
+ }
192
+ }
193
+ if (directory && parsed.recursive) {
194
+ if (ancestors.some(ancestor => ancestor.path === canonical || sameIdentity(ancestor.stat, stat)))
195
+ fail(`directory cycle while archiving: ${source}`);
196
+ ancestors.push({ path: canonical, stat });
197
+ try {
198
+ const children = await scope.operation(() => context.fs.readdir(path, { signal: context.signal, maxEntries: limits.maxMembers - visits }));
199
+ if (children.length > limits.maxMembers - visits)
200
+ fail("traversal member limit exceeded");
201
+ for (const child of children) {
202
+ if (!child.name || child.name === "." || child.name === ".." || child.name.includes("/") || child.name.includes("\0"))
203
+ fail("invalid filesystem directory entry");
204
+ const prefix = source === "." ? "" : source.endsWith("/") ? source : `${source}/`;
205
+ await visit(`${prefix}${child.name}`, `${name}${child.name}`, depth + 1);
206
+ }
207
+ }
208
+ finally {
209
+ ancestors.pop();
210
+ }
211
+ }
212
+ };
213
+ for (const operand of parsed.operands)
214
+ await visit(operand, memberName(operand, limits), 0);
215
+ if (!selected.size) {
216
+ const detail = parsed.recursive && parsed.firstOperand >= 0
217
+ ? `try: zip ${context.args.slice(0, parsed.firstOperand).join(" ")} . -i ${context.args.slice(parsed.firstOperand).join(" ")}`
218
+ : parsed.archive;
219
+ throw new ZipFailure(12, "Nothing to do!", detail);
220
+ }
221
+ const entries = [];
222
+ const progress = [];
223
+ let progressBytes = 0;
224
+ const append = (entry, update) => {
225
+ const percentage = entry.size ? Math.trunc((Math.trunc(200 * (entry.size - entry.data.length) / entry.size) + 1) / 2) : 0;
226
+ const message = `${update ? "updating:" : " adding:"} ${entry.name} (${entry.method === 8 ? `deflated ${percentage}%` : "stored 0%"})\n`;
227
+ const size = Buffer.byteLength(message);
228
+ if (size > limits.maxTextBytes - budget.textBytes - progressBytes)
229
+ fail("text output limit exceeded");
230
+ progressBytes += size;
231
+ progress.push(message);
232
+ };
233
+ for (const entry of archive.entries) {
234
+ if (++work > limits.maxPatternSteps)
235
+ fail("archive work limit exceeded");
236
+ const replacement = selected.get(entry.name);
237
+ if (replacement) {
238
+ entries.push(replacement.entry);
239
+ append(replacement.entry, true);
240
+ selected.delete(entry.name);
241
+ }
242
+ else {
243
+ await budget.member(entry.size);
244
+ entries.push(entry);
245
+ }
246
+ }
247
+ for (const { entry } of selected.values()) {
248
+ entries.push(entry);
249
+ append(entry, false);
250
+ }
251
+ const bytes = await writeZipArchive({ entries, comment: archive.comment }, limits, context.signal);
252
+ return { output, parentName, parent, existing, bytes, progress };
253
+ }
254
+ export function createZipCommand(options = {}) {
255
+ const limits = settings(options);
256
+ return { name: "zip", description: "Create or update bounded ZIP archives in the virtual filesystem", async execute(original) {
257
+ original.signal.throwIfAborted();
258
+ const scope = new ZipScope(original, limits);
259
+ const context = scope.context;
260
+ const budget = new Budget(context, limits);
261
+ try {
262
+ const parsed = parse(context, limits);
263
+ const prepared = await prepare(scope, parsed, budget);
264
+ await writeFileOutput(context, prepared.bytes, () => scope.operation(() => publishZip(scope, prepared)));
265
+ for (const message of prepared.progress)
266
+ await budget.output(message);
267
+ return { exitCode: 0 };
268
+ }
269
+ catch (error) {
270
+ original.signal.throwIfAborted();
271
+ context.signal.throwIfAborted();
272
+ if (error instanceof ZipFailure) {
273
+ await budget.output(`\nzip error: ${error.label} (${error.message})\n`);
274
+ return { exitCode: error.status };
275
+ }
276
+ const message = escapeText(display(publicDiagnosticMessage(error, context.onInternalError).slice(0, 1024)), "diagnostic");
277
+ await writeBytes(context.stderr, Buffer.from(`zip: ${message}\n`).subarray(0, limits.maxDiagnosticBytes), context.signal);
278
+ return { exitCode: 2 };
279
+ }
280
+ finally {
281
+ try {
282
+ await scope.close();
283
+ }
284
+ finally {
285
+ original.signal.throwIfAborted();
286
+ }
287
+ }
288
+ } };
289
+ }
290
+ //# sourceMappingURL=zip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/commands/archive/zip.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare class CodecReader implements CodecInput {
15
15
  close(): Promise<void>;
16
16
  }
17
17
  interface CodecOptions {
18
- readonly mode: "gzip" | "gunzip" | "inflate-raw";
18
+ readonly mode: "gzip" | "gunzip" | "inflate-raw" | "deflate-raw";
19
19
  readonly chunkSize?: number;
20
20
  readonly level?: number;
21
21
  readonly onFailure?: (error: unknown) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../src/commands/bytes/compression/codec.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAIzE,MAAM,WAAW,UAAU;IACzB,KAAK,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,WAAY,YAAW,UAAU;IAKZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,OAAO,CAA4B;gBAC/B,MAAM,EAAE,UAAU,EAAmB,MAAM,EAAE,WAAW;IAC9D,KAAK,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAW9C,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvB;AAED,UAAU,YAAY;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAQD,wBAAuB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAqGtG"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../src/commands/bytes/compression/codec.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAIzE,MAAM,WAAW,UAAU;IACzB,KAAK,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,WAAY,YAAW,UAAU;IAKZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,OAAO,CAA4B;gBAC/B,MAAM,EAAE,UAAU,EAAmB,MAAM,EAAE,WAAW;IAC9D,KAAK,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAW9C,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvB;AAED,UAAU,YAAY;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAQD,wBAAuB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAqGtG"}
@@ -50,10 +50,10 @@ export async function* codec(input, options, signal) {
50
50
  throw new RangeError("invalid codec chunk size");
51
51
  const chunkSize = Math.min(requestedSize, 64 * 1024);
52
52
  let output = new Uint8Array(chunkSize);
53
- const encoding = options.mode === "gzip";
53
+ const encoding = options.mode === "gzip" || options.mode === "deflate-raw";
54
54
  const stream = new ZStream();
55
55
  const initialized = encoding
56
- ? zlibDeflateInit2(stream, options.level ?? 6, 8, 31, 8, 0, true)
56
+ ? zlibDeflateInit2(stream, options.level ?? 6, 8, options.mode === "deflate-raw" ? -15 : 31, 8, 0, true)
57
57
  : zlibInflateInit2(stream, options.mode === "inflate-raw" ? -15 : 31);
58
58
  if (initialized !== Z_OK) {
59
59
  if (encoding)
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../../src/commands/bytes/compression/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../../src/commands/bytes/compression/codec.ts"],"names":[],"mappings":"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"}