@poe-platform/safe-bash 0.1.53 → 0.1.55
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/dist/safe-bash/browser.d.ts +2 -0
- package/dist/safe-bash/browser.d.ts.map +1 -1
- package/dist/safe-bash/browser.js +3951 -874
- package/dist/safe-bash/browser.js.map +4 -4
- package/dist/safe-bash/commands/basic.d.ts.map +1 -1
- package/dist/safe-bash/commands/basic.js +7 -1
- package/dist/safe-bash/commands/basic.js.map +1 -1
- package/dist/safe-bash/commands/filesystem-requirements.d.ts +67 -0
- package/dist/safe-bash/commands/filesystem-requirements.d.ts.map +1 -0
- package/dist/safe-bash/commands/filesystem-requirements.js +81 -0
- package/dist/safe-bash/commands/filesystem-requirements.js.map +1 -0
- package/dist/safe-bash/commands/filesystem.d.ts.map +1 -1
- package/dist/safe-bash/commands/filesystem.js +106 -9
- package/dist/safe-bash/commands/filesystem.js.map +1 -1
- package/dist/safe-bash/commands/grep.d.ts.map +1 -1
- package/dist/safe-bash/commands/grep.js +3 -109
- package/dist/safe-bash/commands/grep.js.map +1 -1
- package/dist/safe-bash/commands/internal.d.ts +1 -0
- package/dist/safe-bash/commands/internal.d.ts.map +1 -1
- package/dist/safe-bash/commands/internal.js +22 -0
- package/dist/safe-bash/commands/internal.js.map +1 -1
- package/dist/safe-bash/commands/move.d.ts.map +1 -1
- package/dist/safe-bash/commands/move.js +21 -0
- package/dist/safe-bash/commands/move.js.map +1 -1
- package/dist/safe-bash/commands/network/curl.js +2 -0
- package/dist/safe-bash/commands/network/curl.js.map +1 -1
- package/dist/safe-bash/commands/network/output.d.ts.map +1 -1
- package/dist/safe-bash/commands/network/output.js +37 -33
- package/dist/safe-bash/commands/network/output.js.map +1 -1
- package/dist/safe-bash/commands/portable-requirements.d.ts +6 -0
- package/dist/safe-bash/commands/portable-requirements.d.ts.map +1 -0
- package/dist/safe-bash/commands/portable-requirements.js +18 -0
- package/dist/safe-bash/commands/portable-requirements.js.map +1 -0
- package/dist/safe-bash/commands/predicates.d.ts.map +1 -1
- package/dist/safe-bash/commands/predicates.js +9 -1
- package/dist/safe-bash/commands/predicates.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/client.d.ts +5 -67
- package/dist/safe-bash/commands/regex-execution/client.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/client.js +13 -379
- package/dist/safe-bash/commands/regex-execution/client.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/portable.d.ts +71 -0
- package/dist/safe-bash/commands/regex-execution/portable.d.ts.map +1 -0
- package/dist/safe-bash/commands/regex-execution/portable.js +385 -0
- package/dist/safe-bash/commands/regex-execution/portable.js.map +1 -0
- package/dist/safe-bash/commands/regex-execution/protocol.js +1 -1
- package/dist/safe-bash/commands/regex-execution/protocol.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/provider.d.ts +24 -0
- package/dist/safe-bash/commands/regex-execution/provider.d.ts.map +1 -0
- package/dist/safe-bash/commands/regex-execution/provider.js +2 -0
- package/dist/safe-bash/commands/regex-execution/provider.js.map +1 -0
- package/dist/safe-bash/commands/regex-execution/public.d.ts +9 -0
- package/dist/safe-bash/commands/regex-execution/public.d.ts.map +1 -0
- package/dist/safe-bash/commands/regex-execution/public.js +6 -0
- package/dist/safe-bash/commands/regex-execution/public.js.map +1 -0
- package/dist/safe-bash/commands/search/glob.d.ts +1 -1
- package/dist/safe-bash/commands/search/glob.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/glob.js +1 -1
- package/dist/safe-bash/commands/search/glob.js.map +1 -1
- package/dist/safe-bash/commands/search/grep.d.ts +4 -0
- package/dist/safe-bash/commands/search/grep.d.ts.map +1 -0
- package/dist/safe-bash/commands/search/grep.js +119 -0
- package/dist/safe-bash/commands/search/grep.js.map +1 -0
- package/dist/safe-bash/commands/search/matcher.d.ts +1 -1
- package/dist/safe-bash/commands/search/matcher.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/matcher.js +1 -1
- package/dist/safe-bash/commands/search/matcher.js.map +1 -1
- package/dist/safe-bash/commands/search/output.d.ts +1 -1
- package/dist/safe-bash/commands/search/output.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/output.js +8 -2
- package/dist/safe-bash/commands/search/output.js.map +1 -1
- package/dist/safe-bash/commands/search/portable.d.ts +14 -0
- package/dist/safe-bash/commands/search/portable.d.ts.map +1 -0
- package/dist/safe-bash/commands/search/portable.js +22 -0
- package/dist/safe-bash/commands/search/portable.js.map +1 -0
- package/dist/safe-bash/commands/search/requirements.d.ts +9 -0
- package/dist/safe-bash/commands/search/requirements.d.ts.map +1 -0
- package/dist/safe-bash/commands/search/requirements.js +72 -0
- package/dist/safe-bash/commands/search/requirements.js.map +1 -0
- package/dist/safe-bash/commands/search/rg-command.d.ts +5 -0
- package/dist/safe-bash/commands/search/rg-command.d.ts.map +1 -0
- package/dist/safe-bash/commands/search/rg-command.js +230 -0
- package/dist/safe-bash/commands/search/rg-command.js.map +1 -0
- package/dist/safe-bash/commands/search/rg.d.ts +2 -2
- package/dist/safe-bash/commands/search/rg.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/rg.js +3 -216
- package/dist/safe-bash/commands/search/rg.js.map +1 -1
- package/dist/safe-bash/commands/search/shared.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/shared.js +2 -0
- package/dist/safe-bash/commands/search/shared.js.map +1 -1
- package/dist/safe-bash/commands/search/walk.d.ts +1 -1
- package/dist/safe-bash/commands/search/walk.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/walk.js +8 -1
- package/dist/safe-bash/commands/search/walk.js.map +1 -1
- package/dist/safe-bash/commands/streams.d.ts.map +1 -1
- package/dist/safe-bash/commands/streams.js +52 -108
- package/dist/safe-bash/commands/streams.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.js +23 -14
- package/dist/safe-bash/commands/text-programs/sed.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/shared.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/shared.js +3 -5
- package/dist/safe-bash/commands/text-programs/shared.js.map +1 -1
- package/dist/safe-bash/commands/text.d.ts.map +1 -1
- package/dist/safe-bash/commands/text.js +22 -4
- package/dist/safe-bash/commands/text.js.map +1 -1
- package/dist/safe-bash/contracts/command-requirements.d.ts +22 -0
- package/dist/safe-bash/contracts/command-requirements.d.ts.map +1 -0
- package/dist/safe-bash/contracts/command-requirements.js +47 -0
- package/dist/safe-bash/contracts/command-requirements.js.map +1 -0
- package/dist/safe-bash/contracts/command.d.ts +2 -0
- package/dist/safe-bash/contracts/command.d.ts.map +1 -1
- package/dist/safe-bash/contracts/command.js.map +1 -1
- package/dist/safe-bash/contracts/filesystem-output.d.ts +12 -0
- package/dist/safe-bash/contracts/filesystem-output.d.ts.map +1 -0
- package/dist/safe-bash/contracts/filesystem-output.js +160 -0
- package/dist/safe-bash/contracts/filesystem-output.js.map +1 -0
- package/dist/safe-bash/contracts/index.d.ts +1 -0
- package/dist/safe-bash/contracts/index.d.ts.map +1 -1
- package/dist/safe-bash/contracts/index.js +1 -0
- package/dist/safe-bash/contracts/index.js.map +1 -1
- package/dist/safe-bash/contracts/io.d.ts +2 -0
- package/dist/safe-bash/contracts/io.d.ts.map +1 -1
- package/dist/safe-bash/contracts/io.js +2 -0
- package/dist/safe-bash/contracts/io.js.map +1 -1
- package/dist/safe-bash/contracts/output.d.ts +1 -0
- package/dist/safe-bash/contracts/output.d.ts.map +1 -1
- package/dist/safe-bash/contracts/output.js +6 -1
- package/dist/safe-bash/contracts/output.js.map +1 -1
- package/dist/safe-bash/index.d.ts +2 -1
- package/dist/safe-bash/index.d.ts.map +1 -1
- package/dist/safe-bash/index.js +2 -0
- package/dist/safe-bash/index.js.map +1 -1
- package/dist/safe-bash/shell/runtime.d.ts +7 -2
- package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
- package/dist/safe-bash/shell/runtime.js +247 -185
- package/dist/safe-bash/shell/runtime.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { createOutputOperation, FsError } from "../contracts/index.js";
|
|
2
|
+
import { openFileOutput } from "../contracts/filesystem-output.js";
|
|
3
|
+
import { outputFailure } from "../contracts/io.js";
|
|
4
|
+
import { assertCommandRequirements } from "../contracts/command-requirements.js";
|
|
5
|
+
import { inputRequirements } from "./portable-requirements.js";
|
|
6
|
+
import { assertInputRequirements, bufferLimit, concatenate, define, diagnostic, encoder, escapeBytes, input, integer, lines, options, output, pathOf, UsageError, value, } from "./internal.js";
|
|
7
|
+
const inspectedInputRequirements = inputRequirements.map(mode => mode.id === "file" ? { ...mode, capabilities: ["stat", "access"] } : mode);
|
|
8
|
+
const countRequirements = [
|
|
9
|
+
...inputRequirements,
|
|
10
|
+
{ id: "width", description: "Inspect file sizes for column widths", capabilities: ["stat"] },
|
|
11
|
+
];
|
|
12
|
+
const teeRequirements = [
|
|
13
|
+
{ id: "stdout", description: "Copy standard input to standard output", capabilities: [] },
|
|
14
|
+
{ id: "overwrite", description: "Write output files", capabilities: [], anyOf: [["streamingWrite"], ["write", "append"]], mutates: true },
|
|
15
|
+
{ id: "append", description: "Append to output files", capabilities: [], anyOf: [["streamingAppend"], ["append"]], mutates: true },
|
|
16
|
+
];
|
|
17
|
+
const streamRequirements = {
|
|
18
|
+
cat: inputRequirements, head: inspectedInputRequirements, tail: inspectedInputRequirements,
|
|
19
|
+
wc: countRequirements, tee: teeRequirements, tr: [],
|
|
20
|
+
};
|
|
3
21
|
async function* combinedInput(context, names, state) {
|
|
4
22
|
for (const name of names.length ? names : ["-"]) {
|
|
5
23
|
try {
|
|
@@ -145,12 +163,15 @@ function headTail(name) {
|
|
|
145
163
|
const negative = amount.startsWith("-");
|
|
146
164
|
const count = integer(amount.replace(/^[+-]/u, ""));
|
|
147
165
|
const names = parsed.operands.length ? parsed.operands : ["-"];
|
|
166
|
+
await assertInputRequirements(context, names);
|
|
167
|
+
assertCommandRequirements(context, inspectedInputRequirements, [names.some(name => name !== "-") ? "file" : "stdin"]);
|
|
148
168
|
let exitCode = 0;
|
|
149
169
|
let headerWritten = false;
|
|
150
170
|
for (const file of names) {
|
|
151
171
|
try {
|
|
152
172
|
if (file !== "-") {
|
|
153
173
|
const path = pathOf(context, file);
|
|
174
|
+
assertCommandRequirements(context, inspectedInputRequirements, ["file"], await context.fs.capabilitiesFor?.(path, { signal: context.signal }) ?? context.fs.capabilities);
|
|
154
175
|
if ((await context.fs.stat(path, { signal: context.signal })).type === "directory")
|
|
155
176
|
throw new FsError("EISDIR", { path });
|
|
156
177
|
await context.fs.access(path, 4, { signal: context.signal });
|
|
@@ -235,6 +256,7 @@ export function streamCommands() {
|
|
|
235
256
|
return [
|
|
236
257
|
define("cat", async (context) => {
|
|
237
258
|
const parsed = options(context.args, "nbsvETAute", { number: "n", "number-nonblank": "b", "squeeze-blank": "s", "show-ends": "E", "show-tabs": "T", "show-nonprinting": "v", "show-all": "A" });
|
|
259
|
+
await assertInputRequirements(context, parsed.operands);
|
|
238
260
|
if (parsed.flags.has("A"))
|
|
239
261
|
for (const flag of ["v", "E", "T"])
|
|
240
262
|
parsed.flags.add(flag);
|
|
@@ -331,6 +353,7 @@ export function streamCommands() {
|
|
|
331
353
|
parsed.flags.add(flag);
|
|
332
354
|
const selected = ["l", "w", "m", "c"].filter(flag => parsed.flags.has(flag));
|
|
333
355
|
const names = parsed.operands.length ? parsed.operands : ["-"];
|
|
356
|
+
await assertInputRequirements(context, names);
|
|
334
357
|
const totals = { l: 0, w: 0, m: 0, c: 0 };
|
|
335
358
|
const locale = context.env.LC_ALL || context.env.LC_CTYPE || context.env.LANG || "C.UTF-8";
|
|
336
359
|
const singleByte = locale === "C" || locale === "POSIX";
|
|
@@ -343,6 +366,7 @@ export function streamCommands() {
|
|
|
343
366
|
width = Math.max(width, 7);
|
|
344
367
|
continue;
|
|
345
368
|
}
|
|
369
|
+
assertCommandRequirements(context, countRequirements, ["width"]);
|
|
346
370
|
try {
|
|
347
371
|
const stat = await context.fs.stat(pathOf(context, name), { signal: context.signal });
|
|
348
372
|
if (stat.type !== "file")
|
|
@@ -403,134 +427,54 @@ export function streamCommands() {
|
|
|
403
427
|
}),
|
|
404
428
|
define("tee", async (context) => {
|
|
405
429
|
const parsed = options(context.args, "a", { append: "a" });
|
|
406
|
-
const
|
|
407
|
-
const streams = [];
|
|
430
|
+
const targets = new Set();
|
|
408
431
|
let exitCode = 0;
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
await target.pipe.abort(context.signal.aborted ? context.signal.reason : undefined);
|
|
415
|
-
await target.task;
|
|
416
|
-
})).then(() => { });
|
|
417
|
-
};
|
|
418
|
-
context.registerCleanup?.(closeStreams);
|
|
419
|
-
const report = async (target, error) => {
|
|
420
|
-
target.active = false;
|
|
421
|
-
if (target.reported)
|
|
422
|
-
return;
|
|
423
|
-
target.reported = true;
|
|
424
|
-
await diagnostic(context, error);
|
|
425
|
-
exitCode = 1;
|
|
426
|
-
};
|
|
427
|
-
const fallback = async (target) => {
|
|
428
|
-
if (context.fs.capabilities.append === false || target.accepted
|
|
429
|
-
|| !(target.failure instanceof FsError) || target.failure.code !== "ENOTSUP")
|
|
430
|
-
return false;
|
|
431
|
-
await context.fs.writeFile(target.path, new Uint8Array(), { flag: target.flag, signal: context.signal });
|
|
432
|
-
target.active = false;
|
|
433
|
-
paths.push(target.path);
|
|
434
|
-
return true;
|
|
435
|
-
};
|
|
436
|
-
const recover = async (target, error) => {
|
|
437
|
-
try {
|
|
438
|
-
if (await fallback(target))
|
|
439
|
-
return;
|
|
440
|
-
}
|
|
441
|
-
catch (fallbackError) {
|
|
442
|
-
context.signal.throwIfAborted();
|
|
443
|
-
await report(target, fallbackError);
|
|
444
|
-
return;
|
|
445
|
-
}
|
|
446
|
-
await report(target, error);
|
|
447
|
-
};
|
|
448
|
-
const streaming = context.fs.capabilities.streamingWrite !== false && typeof context.fs.writeStream === "function";
|
|
449
|
-
for (const operand of parsed.operands) {
|
|
450
|
-
try {
|
|
451
|
-
const path = pathOf(context, operand);
|
|
452
|
-
if (closed)
|
|
453
|
-
throw new FsError("ECANCELED", { syscall: "tee", path });
|
|
454
|
-
const flag = parsed.flags.has("a") ? "a" : "w";
|
|
455
|
-
if (streaming) {
|
|
456
|
-
const pipe = createBytePipe({ signal: context.signal });
|
|
457
|
-
const target = {
|
|
458
|
-
path, flag, pipe, task: Promise.resolve(), failed: false, accepted: false, reported: false, active: true,
|
|
459
|
-
};
|
|
460
|
-
const source = (async function* () {
|
|
461
|
-
for await (const chunk of pipe.readable) {
|
|
462
|
-
target.accepted = true;
|
|
463
|
-
yield chunk;
|
|
464
|
-
}
|
|
465
|
-
})();
|
|
466
|
-
target.task = context.fs.writeStream(path, source, { flag, signal: context.signal }).catch(async (error) => {
|
|
467
|
-
target.failed = true;
|
|
468
|
-
target.failure = error;
|
|
469
|
-
await pipe.abort(error);
|
|
470
|
-
});
|
|
471
|
-
streams.push(target);
|
|
432
|
+
try {
|
|
433
|
+
for (const operand of parsed.operands) {
|
|
434
|
+
try {
|
|
435
|
+
assertCommandRequirements(context, teeRequirements, [parsed.flags.has("a") ? "append" : "overwrite"]);
|
|
436
|
+
targets.add(await openFileOutput(context, pathOf(context, operand), parsed.flags.has("a") ? "a" : "w"));
|
|
472
437
|
}
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
await context.fs.writeFile(path, new Uint8Array(), { flag, signal: context.signal });
|
|
478
|
-
paths.push(path);
|
|
438
|
+
catch (error) {
|
|
439
|
+
context.signal.throwIfAborted();
|
|
440
|
+
await diagnostic(context, error);
|
|
441
|
+
exitCode = 1;
|
|
479
442
|
}
|
|
480
443
|
}
|
|
481
|
-
catch (error) {
|
|
482
|
-
context.signal.throwIfAborted();
|
|
483
|
-
await diagnostic(context, error);
|
|
484
|
-
exitCode = 1;
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
try {
|
|
488
444
|
for await (const chunk of input(context)) {
|
|
489
445
|
await output(context, chunk);
|
|
490
|
-
for (const target of
|
|
491
|
-
if (!target.active)
|
|
492
|
-
continue;
|
|
446
|
+
for (const target of targets) {
|
|
493
447
|
try {
|
|
494
|
-
await target.
|
|
448
|
+
await target.sink.write(chunk);
|
|
495
449
|
}
|
|
496
450
|
catch (error) {
|
|
497
451
|
context.signal.throwIfAborted();
|
|
498
|
-
await target.
|
|
499
|
-
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
for (let index = 0; index < paths.length;) {
|
|
503
|
-
try {
|
|
504
|
-
await context.fs.appendFile(paths[index], chunk, { signal: context.signal });
|
|
505
|
-
index++;
|
|
506
|
-
}
|
|
507
|
-
catch (error) {
|
|
508
|
-
context.signal.throwIfAborted();
|
|
509
|
-
await diagnostic(context, error);
|
|
510
|
-
paths.splice(index, 1);
|
|
452
|
+
await target.abort(error);
|
|
453
|
+
targets.delete(target);
|
|
511
454
|
exitCode = 1;
|
|
455
|
+
await diagnostic(context, error);
|
|
512
456
|
}
|
|
513
457
|
}
|
|
514
458
|
}
|
|
515
|
-
for (const target of
|
|
516
|
-
if (!target.active)
|
|
517
|
-
continue;
|
|
459
|
+
for (const target of targets) {
|
|
518
460
|
try {
|
|
519
|
-
await target.
|
|
520
|
-
await target.task;
|
|
521
|
-
if (target.failed)
|
|
522
|
-
await recover(target, target.failure);
|
|
461
|
+
await target.finish();
|
|
523
462
|
}
|
|
524
463
|
catch (error) {
|
|
525
464
|
context.signal.throwIfAborted();
|
|
526
|
-
await
|
|
527
|
-
|
|
465
|
+
await diagnostic(context, error);
|
|
466
|
+
exitCode = 1;
|
|
528
467
|
}
|
|
468
|
+
targets.delete(target);
|
|
529
469
|
}
|
|
530
470
|
return { exitCode };
|
|
531
471
|
}
|
|
472
|
+
catch (error) {
|
|
473
|
+
await context.stdout[outputFailure]?.(error);
|
|
474
|
+
throw error;
|
|
475
|
+
}
|
|
532
476
|
finally {
|
|
533
|
-
await
|
|
477
|
+
await Promise.allSettled([...targets].map(target => target.abort(context.signal.aborted ? context.signal.reason : new FsError("ECANCELED"))));
|
|
534
478
|
}
|
|
535
479
|
}),
|
|
536
480
|
define("tr", async (context) => {
|
|
@@ -573,6 +517,6 @@ export function streamCommands() {
|
|
|
573
517
|
}
|
|
574
518
|
return { exitCode: 0 };
|
|
575
519
|
}),
|
|
576
|
-
];
|
|
520
|
+
].map(command => ({ ...command, filesystemRequirements: streamRequirements[command.name] }));
|
|
577
521
|
}
|
|
578
522
|
//# sourceMappingURL=streams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../../src/commands/streams.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../../src/commands/streams.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sed.d.ts","sourceRoot":"","sources":["../../../src/commands/text-programs/sed.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sed.d.ts","sourceRoot":"","sources":["../../../src/commands/text-programs/sed.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5G,OAAO,EAAmH,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAuVvK,wBAAgB,UAAU,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CA+E9E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { FsError,
|
|
1
|
+
import { FsError, writeBytes } from "../../contracts/index.js";
|
|
2
2
|
import { Pattern, substitute } from "./regex.js";
|
|
3
3
|
import { Budget, ProgramError, byteString, bytes, command, lineRecords, readProgram, virtualPath, write } from "./shared.js";
|
|
4
|
+
import { assertPathRequirements, requiredFileInput, sedRequirements } from "../search/requirements.js";
|
|
4
5
|
function parse(source, extended) {
|
|
5
6
|
if (source.length > 1024 * 1024)
|
|
6
7
|
throw new ProgramError("sed program exceeds 1 MiB");
|
|
@@ -290,6 +291,7 @@ async function execute(program, context, files, quiet, budget) {
|
|
|
290
291
|
let status = 0;
|
|
291
292
|
const print = () => write(context, pattern + (record.terminated ? "\n" : ""));
|
|
292
293
|
const flush = async () => {
|
|
294
|
+
await assertPathRequirements(context, sedRequirements, ["script-read"], appended.flatMap(item => item.file === undefined ? [] : [item.file]));
|
|
293
295
|
if (!quiet && !deleted)
|
|
294
296
|
await print();
|
|
295
297
|
for (const item of appended) {
|
|
@@ -299,18 +301,13 @@ async function execute(program, context, files, quiet, budget) {
|
|
|
299
301
|
}
|
|
300
302
|
const path = virtualPath(context, item.file);
|
|
301
303
|
try {
|
|
302
|
-
const
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
throw new ProgramError("read buffer limit exceeded");
|
|
309
|
-
await writeBytes(context.stdout, chunk, context.signal);
|
|
310
|
-
}
|
|
304
|
+
for await (const chunk of requiredFileInput(context, sedRequirements, "script-read", path, budget.maxBufferBytes)) {
|
|
305
|
+
budget.step();
|
|
306
|
+
await budget.checkpoint();
|
|
307
|
+
if (chunk.byteLength > budget.maxBufferBytes)
|
|
308
|
+
throw new ProgramError("read buffer limit exceeded");
|
|
309
|
+
await writeBytes(context.stdout, chunk, context.signal);
|
|
311
310
|
}
|
|
312
|
-
else
|
|
313
|
-
await writeBytes(context.stdout, await context.fs.readFile(path, { signal: context.signal, maxBytes: budget.maxBufferBytes }), context.signal);
|
|
314
311
|
}
|
|
315
312
|
catch (error) {
|
|
316
313
|
context.signal.throwIfAborted();
|
|
@@ -504,7 +501,7 @@ async function execute(program, context, files, quiet, budget) {
|
|
|
504
501
|
}
|
|
505
502
|
}
|
|
506
503
|
export function sedCommand(options = {}) {
|
|
507
|
-
|
|
504
|
+
const definition = command("sed", async (context) => {
|
|
508
505
|
const budget = new Budget(context, options);
|
|
509
506
|
const sources = [];
|
|
510
507
|
const files = [];
|
|
@@ -543,6 +540,8 @@ export function sedCommand(options = {}) {
|
|
|
543
540
|
const source = argument.slice(position + 1) || context.args[++index];
|
|
544
541
|
if (source === undefined)
|
|
545
542
|
throw new ProgramError(`-${flag} requires an argument`);
|
|
543
|
+
if (flag === "f")
|
|
544
|
+
await assertPathRequirements(context, sedRequirements, ["script-file"], [source]);
|
|
546
545
|
sources.push(flag === "f" ? await readProgram(context, source) : byteString(source));
|
|
547
546
|
position = argument.length;
|
|
548
547
|
}
|
|
@@ -558,8 +557,14 @@ export function sedCommand(options = {}) {
|
|
|
558
557
|
if (sources[0]?.startsWith("#n"))
|
|
559
558
|
quiet = true;
|
|
560
559
|
const program = parse(sources.join("\n"), extended);
|
|
560
|
+
const outputFiles = program.flatMap(instruction => instruction.kind !== "r" && instruction.file !== undefined ? [instruction.file] : []);
|
|
561
|
+
await assertPathRequirements(context, sedRequirements, ["script-output"], outputFiles);
|
|
562
|
+
if (inPlace !== undefined || outputFiles.length) {
|
|
563
|
+
await assertPathRequirements(context, sedRequirements, ["file"], files.filter(file => file !== "-"));
|
|
564
|
+
await assertPathRequirements(context, sedRequirements, ["script-read"], program.flatMap(instruction => instruction.kind === "r" && instruction.file !== undefined ? [instruction.file] : []));
|
|
565
|
+
}
|
|
561
566
|
const prepareOutputs = async () => {
|
|
562
|
-
const paths = new Set(
|
|
567
|
+
const paths = new Set(outputFiles.map(file => virtualPath(context, file)));
|
|
563
568
|
for (const path of paths)
|
|
564
569
|
await context.fs.writeFile(path, new Uint8Array(), { signal: context.signal });
|
|
565
570
|
};
|
|
@@ -568,6 +573,9 @@ export function sedCommand(options = {}) {
|
|
|
568
573
|
throw new ProgramError("in-place editing requires named files");
|
|
569
574
|
if (inPlace.includes("/") || inPlace.includes("\0"))
|
|
570
575
|
throw new ProgramError("backup suffix cannot contain '/' or NUL");
|
|
576
|
+
await assertPathRequirements(context, sedRequirements, ["in-place"], files);
|
|
577
|
+
if (inPlace)
|
|
578
|
+
await assertPathRequirements(context, sedRequirements, ["backup"], files.flatMap(file => [file, file + inPlace]));
|
|
571
579
|
for (const file of files) {
|
|
572
580
|
const path = virtualPath(context, file);
|
|
573
581
|
if ((await context.fs.lstat(path, { signal: context.signal })).type !== "file")
|
|
@@ -598,5 +606,6 @@ export function sedCommand(options = {}) {
|
|
|
598
606
|
}
|
|
599
607
|
return (await execute(program, context, files, quiet, budget)).status;
|
|
600
608
|
});
|
|
609
|
+
return { ...definition, filesystemRequirements: sedRequirements };
|
|
601
610
|
}
|
|
602
611
|
//# sourceMappingURL=sed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sed.js","sourceRoot":"","sources":["../../../src/commands/text-programs/sed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sed.js","sourceRoot":"","sources":["../../../src/commands/text-programs/sed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/commands/text-programs/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAkC,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/commands/text-programs/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAkC,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIxI,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,qBAAa,MAAM;IAIL,QAAQ,CAAC,OAAO,EAAE,cAAc;IAH5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAK;gBACH,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB;IAOzE,IAAI,CAAC,KAAK,SAAI,GAAG,IAAI;IAKrB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAyD;AACzG,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAwC;AAEvF,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;AAED,wBAAuB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,SAAM,GAAG,UAAU,CAM5E;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGxF;AAED,MAAM,WAAW,UAAU;IAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAEtI,wBAAuB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAkBhI;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAa1G"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { yieldTurn } from "../../contracts/yield.js";
|
|
2
2
|
import { FsError, readBytes, writeBytes } from "../../contracts/index.js";
|
|
3
|
+
import { inputRequirements } from "../portable-requirements.js";
|
|
4
|
+
import { requiredFileInput } from "../search/requirements.js";
|
|
3
5
|
export class ProgramError extends Error {
|
|
4
6
|
}
|
|
5
7
|
export class Budget {
|
|
@@ -51,11 +53,7 @@ export async function* input(context, file = "-") {
|
|
|
51
53
|
if (file === "-")
|
|
52
54
|
yield* readBytes(context.stdin, context.signal);
|
|
53
55
|
else {
|
|
54
|
-
|
|
55
|
-
if (context.fs.readStream)
|
|
56
|
-
yield* readBytes(context.fs.readStream(path, { signal: context.signal }), context.signal);
|
|
57
|
-
else
|
|
58
|
-
yield await context.fs.readFile(path, { signal: context.signal, maxBytes: 32 * 1024 * 1024 });
|
|
56
|
+
yield* requiredFileInput(context, inputRequirements, "file", file, 32 * 1024 * 1024);
|
|
59
57
|
}
|
|
60
58
|
}
|
|
61
59
|
export async function readProgram(context, file) {
|