@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.
Files changed (137) hide show
  1. package/dist/safe-bash/browser.d.ts +2 -0
  2. package/dist/safe-bash/browser.d.ts.map +1 -1
  3. package/dist/safe-bash/browser.js +3951 -874
  4. package/dist/safe-bash/browser.js.map +4 -4
  5. package/dist/safe-bash/commands/basic.d.ts.map +1 -1
  6. package/dist/safe-bash/commands/basic.js +7 -1
  7. package/dist/safe-bash/commands/basic.js.map +1 -1
  8. package/dist/safe-bash/commands/filesystem-requirements.d.ts +67 -0
  9. package/dist/safe-bash/commands/filesystem-requirements.d.ts.map +1 -0
  10. package/dist/safe-bash/commands/filesystem-requirements.js +81 -0
  11. package/dist/safe-bash/commands/filesystem-requirements.js.map +1 -0
  12. package/dist/safe-bash/commands/filesystem.d.ts.map +1 -1
  13. package/dist/safe-bash/commands/filesystem.js +106 -9
  14. package/dist/safe-bash/commands/filesystem.js.map +1 -1
  15. package/dist/safe-bash/commands/grep.d.ts.map +1 -1
  16. package/dist/safe-bash/commands/grep.js +3 -109
  17. package/dist/safe-bash/commands/grep.js.map +1 -1
  18. package/dist/safe-bash/commands/internal.d.ts +1 -0
  19. package/dist/safe-bash/commands/internal.d.ts.map +1 -1
  20. package/dist/safe-bash/commands/internal.js +22 -0
  21. package/dist/safe-bash/commands/internal.js.map +1 -1
  22. package/dist/safe-bash/commands/move.d.ts.map +1 -1
  23. package/dist/safe-bash/commands/move.js +21 -0
  24. package/dist/safe-bash/commands/move.js.map +1 -1
  25. package/dist/safe-bash/commands/network/curl.js +2 -0
  26. package/dist/safe-bash/commands/network/curl.js.map +1 -1
  27. package/dist/safe-bash/commands/network/output.d.ts.map +1 -1
  28. package/dist/safe-bash/commands/network/output.js +37 -33
  29. package/dist/safe-bash/commands/network/output.js.map +1 -1
  30. package/dist/safe-bash/commands/portable-requirements.d.ts +6 -0
  31. package/dist/safe-bash/commands/portable-requirements.d.ts.map +1 -0
  32. package/dist/safe-bash/commands/portable-requirements.js +18 -0
  33. package/dist/safe-bash/commands/portable-requirements.js.map +1 -0
  34. package/dist/safe-bash/commands/predicates.d.ts.map +1 -1
  35. package/dist/safe-bash/commands/predicates.js +9 -1
  36. package/dist/safe-bash/commands/predicates.js.map +1 -1
  37. package/dist/safe-bash/commands/regex-execution/client.d.ts +5 -67
  38. package/dist/safe-bash/commands/regex-execution/client.d.ts.map +1 -1
  39. package/dist/safe-bash/commands/regex-execution/client.js +13 -379
  40. package/dist/safe-bash/commands/regex-execution/client.js.map +1 -1
  41. package/dist/safe-bash/commands/regex-execution/portable.d.ts +71 -0
  42. package/dist/safe-bash/commands/regex-execution/portable.d.ts.map +1 -0
  43. package/dist/safe-bash/commands/regex-execution/portable.js +385 -0
  44. package/dist/safe-bash/commands/regex-execution/portable.js.map +1 -0
  45. package/dist/safe-bash/commands/regex-execution/protocol.js +1 -1
  46. package/dist/safe-bash/commands/regex-execution/protocol.js.map +1 -1
  47. package/dist/safe-bash/commands/regex-execution/provider.d.ts +24 -0
  48. package/dist/safe-bash/commands/regex-execution/provider.d.ts.map +1 -0
  49. package/dist/safe-bash/commands/regex-execution/provider.js +2 -0
  50. package/dist/safe-bash/commands/regex-execution/provider.js.map +1 -0
  51. package/dist/safe-bash/commands/regex-execution/public.d.ts +9 -0
  52. package/dist/safe-bash/commands/regex-execution/public.d.ts.map +1 -0
  53. package/dist/safe-bash/commands/regex-execution/public.js +6 -0
  54. package/dist/safe-bash/commands/regex-execution/public.js.map +1 -0
  55. package/dist/safe-bash/commands/search/glob.d.ts +1 -1
  56. package/dist/safe-bash/commands/search/glob.d.ts.map +1 -1
  57. package/dist/safe-bash/commands/search/glob.js +1 -1
  58. package/dist/safe-bash/commands/search/glob.js.map +1 -1
  59. package/dist/safe-bash/commands/search/grep.d.ts +4 -0
  60. package/dist/safe-bash/commands/search/grep.d.ts.map +1 -0
  61. package/dist/safe-bash/commands/search/grep.js +119 -0
  62. package/dist/safe-bash/commands/search/grep.js.map +1 -0
  63. package/dist/safe-bash/commands/search/matcher.d.ts +1 -1
  64. package/dist/safe-bash/commands/search/matcher.d.ts.map +1 -1
  65. package/dist/safe-bash/commands/search/matcher.js +1 -1
  66. package/dist/safe-bash/commands/search/matcher.js.map +1 -1
  67. package/dist/safe-bash/commands/search/output.d.ts +1 -1
  68. package/dist/safe-bash/commands/search/output.d.ts.map +1 -1
  69. package/dist/safe-bash/commands/search/output.js +8 -2
  70. package/dist/safe-bash/commands/search/output.js.map +1 -1
  71. package/dist/safe-bash/commands/search/portable.d.ts +14 -0
  72. package/dist/safe-bash/commands/search/portable.d.ts.map +1 -0
  73. package/dist/safe-bash/commands/search/portable.js +22 -0
  74. package/dist/safe-bash/commands/search/portable.js.map +1 -0
  75. package/dist/safe-bash/commands/search/requirements.d.ts +9 -0
  76. package/dist/safe-bash/commands/search/requirements.d.ts.map +1 -0
  77. package/dist/safe-bash/commands/search/requirements.js +72 -0
  78. package/dist/safe-bash/commands/search/requirements.js.map +1 -0
  79. package/dist/safe-bash/commands/search/rg-command.d.ts +5 -0
  80. package/dist/safe-bash/commands/search/rg-command.d.ts.map +1 -0
  81. package/dist/safe-bash/commands/search/rg-command.js +230 -0
  82. package/dist/safe-bash/commands/search/rg-command.js.map +1 -0
  83. package/dist/safe-bash/commands/search/rg.d.ts +2 -2
  84. package/dist/safe-bash/commands/search/rg.d.ts.map +1 -1
  85. package/dist/safe-bash/commands/search/rg.js +3 -216
  86. package/dist/safe-bash/commands/search/rg.js.map +1 -1
  87. package/dist/safe-bash/commands/search/shared.d.ts.map +1 -1
  88. package/dist/safe-bash/commands/search/shared.js +2 -0
  89. package/dist/safe-bash/commands/search/shared.js.map +1 -1
  90. package/dist/safe-bash/commands/search/walk.d.ts +1 -1
  91. package/dist/safe-bash/commands/search/walk.d.ts.map +1 -1
  92. package/dist/safe-bash/commands/search/walk.js +8 -1
  93. package/dist/safe-bash/commands/search/walk.js.map +1 -1
  94. package/dist/safe-bash/commands/streams.d.ts.map +1 -1
  95. package/dist/safe-bash/commands/streams.js +52 -108
  96. package/dist/safe-bash/commands/streams.js.map +1 -1
  97. package/dist/safe-bash/commands/text-programs/sed.d.ts.map +1 -1
  98. package/dist/safe-bash/commands/text-programs/sed.js +23 -14
  99. package/dist/safe-bash/commands/text-programs/sed.js.map +1 -1
  100. package/dist/safe-bash/commands/text-programs/shared.d.ts.map +1 -1
  101. package/dist/safe-bash/commands/text-programs/shared.js +3 -5
  102. package/dist/safe-bash/commands/text-programs/shared.js.map +1 -1
  103. package/dist/safe-bash/commands/text.d.ts.map +1 -1
  104. package/dist/safe-bash/commands/text.js +22 -4
  105. package/dist/safe-bash/commands/text.js.map +1 -1
  106. package/dist/safe-bash/contracts/command-requirements.d.ts +22 -0
  107. package/dist/safe-bash/contracts/command-requirements.d.ts.map +1 -0
  108. package/dist/safe-bash/contracts/command-requirements.js +47 -0
  109. package/dist/safe-bash/contracts/command-requirements.js.map +1 -0
  110. package/dist/safe-bash/contracts/command.d.ts +2 -0
  111. package/dist/safe-bash/contracts/command.d.ts.map +1 -1
  112. package/dist/safe-bash/contracts/command.js.map +1 -1
  113. package/dist/safe-bash/contracts/filesystem-output.d.ts +12 -0
  114. package/dist/safe-bash/contracts/filesystem-output.d.ts.map +1 -0
  115. package/dist/safe-bash/contracts/filesystem-output.js +160 -0
  116. package/dist/safe-bash/contracts/filesystem-output.js.map +1 -0
  117. package/dist/safe-bash/contracts/index.d.ts +1 -0
  118. package/dist/safe-bash/contracts/index.d.ts.map +1 -1
  119. package/dist/safe-bash/contracts/index.js +1 -0
  120. package/dist/safe-bash/contracts/index.js.map +1 -1
  121. package/dist/safe-bash/contracts/io.d.ts +2 -0
  122. package/dist/safe-bash/contracts/io.d.ts.map +1 -1
  123. package/dist/safe-bash/contracts/io.js +2 -0
  124. package/dist/safe-bash/contracts/io.js.map +1 -1
  125. package/dist/safe-bash/contracts/output.d.ts +1 -0
  126. package/dist/safe-bash/contracts/output.d.ts.map +1 -1
  127. package/dist/safe-bash/contracts/output.js +6 -1
  128. package/dist/safe-bash/contracts/output.js.map +1 -1
  129. package/dist/safe-bash/index.d.ts +2 -1
  130. package/dist/safe-bash/index.d.ts.map +1 -1
  131. package/dist/safe-bash/index.js +2 -0
  132. package/dist/safe-bash/index.js.map +1 -1
  133. package/dist/safe-bash/shell/runtime.d.ts +7 -2
  134. package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
  135. package/dist/safe-bash/shell/runtime.js +247 -185
  136. package/dist/safe-bash/shell/runtime.js.map +1 -1
  137. package/package.json +2 -2
@@ -1,5 +1,23 @@
1
- import { createBytePipe, createOutputOperation, FsError } from "../contracts/index.js";
2
- import { bufferLimit, concatenate, define, diagnostic, encoder, escapeBytes, input, integer, lines, options, output, pathOf, UsageError, value, } from "./internal.js";
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 paths = [];
407
- const streams = [];
430
+ const targets = new Set();
408
431
  let exitCode = 0;
409
- let closed = false;
410
- let cleanup;
411
- const closeStreams = () => {
412
- closed = true;
413
- return cleanup ??= Promise.allSettled(streams.map(async (target) => {
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
- else {
474
- if (context.fs.capabilities.append === false) {
475
- throw new FsError(context.fs.capabilities.readOnly === true ? "EROFS" : "ENOTSUP", { syscall: "tee", path });
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 streams) {
491
- if (!target.active)
492
- continue;
446
+ for (const target of targets) {
493
447
  try {
494
- await target.pipe.writable.write(chunk);
448
+ await target.sink.write(chunk);
495
449
  }
496
450
  catch (error) {
497
451
  context.signal.throwIfAborted();
498
- await target.task;
499
- await recover(target, target.failed ? target.failure : error);
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 streams) {
516
- if (!target.active)
517
- continue;
459
+ for (const target of targets) {
518
460
  try {
519
- await target.pipe.close();
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 target.task;
527
- await recover(target, target.failed ? target.failure : error);
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 closeStreams();
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,EAAuD,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEvH,OAAO,EAAmH,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAwVvK,wBAAgB,UAAU,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CAoE9E"}
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, readBytes, writeBytes } from "../../contracts/index.js";
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 stream = context.fs.readStream?.(path, { signal: context.signal });
303
- if (stream) {
304
- for await (const chunk of readBytes(stream, context.signal)) {
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);
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
- return command("sed", async (context) => {
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(program.flatMap(instruction => instruction.file !== undefined && instruction.kind !== "r" ? [virtualPath(context, instruction.file)] : []));
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;AAExI,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,CAQ5E;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
+ {"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
- const path = virtualPath(context, file);
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) {