@poe-platform/safe-bash 0.1.423 → 0.1.424

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.
@@ -7,6 +7,7 @@ export declare class InvocationScope {
7
7
  readonly parent?: InvocationScope | undefined;
8
8
  constructor(callerSignal?: AbortSignal | undefined, failures?: unknown[], parent?: InvocationScope | undefined);
9
9
  get signal(): AbortSignal;
10
+ registerFinalizer(finalize: () => void): void;
10
11
  assertOpen(): void;
11
12
  child(): InvocationScope;
12
13
  register(cleanup: InvocationCleanup): void;
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/shell/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,eAAO,MAAM,eAAe,eAAqC,CAAC;AAElE,qBAAa,eAAe;;IASxB,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe;gBAFxB,YAAY,CAAC,EAAE,WAAW,YAAA,EAC1B,QAAQ,GAAE,OAAO,EAAO,EACxB,MAAM,CAAC,EAAE,eAAe,YAAA;IAGnC,IAAI,MAAM,IAAI,WAAW,CAAoC;IAE7D,UAAU,IAAI,IAAI;IAMlB,KAAK,IAAI,eAAe;IAOxB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAM1C,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IASrD,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAWhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAiBvB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAGvE"}
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/shell/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,eAAO,MAAM,eAAe,eAAqC,CAAC;AAElE,qBAAa,eAAe;;IAUxB,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe;gBAFxB,YAAY,CAAC,EAAE,WAAW,YAAA,EAC1B,QAAQ,GAAE,OAAO,EAAO,EACxB,MAAM,CAAC,EAAE,eAAe,YAAA;IAGnC,IAAI,MAAM,IAAI,WAAW,CAAoC;IAE7D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAK7C,UAAU,IAAI,IAAI;IAMlB,KAAK,IAAI,eAAe;IAOxB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAM1C,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IASrD,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAWhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBvB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAGvE"}
@@ -5,6 +5,7 @@ export class InvocationScope {
5
5
  parent;
6
6
  #children = new Set();
7
7
  #callbacks = [];
8
+ #finalizers = [];
8
9
  #work = new Set();
9
10
  #controller = new AbortController();
10
11
  #closed = false;
@@ -15,6 +16,10 @@ export class InvocationScope {
15
16
  this.parent = parent;
16
17
  }
17
18
  get signal() { return this.#controller.signal; }
19
+ registerFinalizer(finalize) {
20
+ this.assertOpen();
21
+ this.#finalizers.push(finalize);
22
+ }
18
23
  assertOpen() {
19
24
  this.callerSignal?.throwIfAborted();
20
25
  if (this.#closed)
@@ -71,6 +76,14 @@ export class InvocationScope {
71
76
  ]);
72
77
  }
73
78
  finally {
79
+ for (const finalize of this.#finalizers.splice(0)) {
80
+ try {
81
+ finalize();
82
+ }
83
+ catch (error) {
84
+ this.failures.push(error);
85
+ }
86
+ }
74
87
  if (this.parent)
75
88
  this.parent.#children.delete(this);
76
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/shell/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/shell/cleanup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { FileSystem } from "../contracts/index.js";
2
+ import type { InvocationScope } from "./cleanup.js";
3
+ import type { ShellLimits } from "./types.js";
4
+ export declare class PathLookup {
5
+ #private;
6
+ suspend(): () => void;
7
+ suspendUntilClosed(scope: InvocationScope): void;
8
+ isFile(fs: FileSystem, path: string, signal: AbortSignal): Promise<boolean>;
9
+ }
10
+ export declare function pathTargets(name: string, path: string | undefined, limits: Required<ShellLimits>, signal: AbortSignal, fail: (limit: keyof ShellLimits) => never): Generator<string>;
11
+ //# sourceMappingURL=path-lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-lookup.d.ts","sourceRoot":"","sources":["../../src/shell/path-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,qBAAa,UAAU;;IAMrB,OAAO,IAAI,MAAM,IAAI;IAcrB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAM1C,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CA2BlF;AAED,wBAAiB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,WAAW,KAAK,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CA0BrL"}
@@ -0,0 +1,91 @@
1
+ const maxCacheEntries = 256;
2
+ const maxCacheBytes = 64 * 1024;
3
+ export class PathLookup {
4
+ #entries = new Map();
5
+ #bytes = 0;
6
+ #pending = 0;
7
+ #generation = 0;
8
+ suspend() {
9
+ this.#entries.clear();
10
+ this.#bytes = 0;
11
+ this.#generation++;
12
+ this.#pending++;
13
+ let closed = false;
14
+ return () => {
15
+ if (closed)
16
+ return;
17
+ closed = true;
18
+ this.#pending--;
19
+ this.#generation++;
20
+ };
21
+ }
22
+ suspendUntilClosed(scope) {
23
+ scope.assertOpen();
24
+ const resume = this.suspend();
25
+ scope.registerFinalizer(resume);
26
+ }
27
+ async isFile(fs, path, signal) {
28
+ signal.throwIfAborted();
29
+ const cached = this.#entries.get(path);
30
+ if (cached)
31
+ return cached.file;
32
+ const generation = this.#generation;
33
+ let file;
34
+ try {
35
+ file = (await fs.stat(path, { signal })).type === "file";
36
+ }
37
+ catch (error) {
38
+ signal.throwIfAborted();
39
+ const code = typeof error === "object" && error !== null && "code" in error ? error.code : undefined;
40
+ if (code !== "ENOENT" && code !== "ENOTDIR")
41
+ throw error;
42
+ file = false;
43
+ }
44
+ signal.throwIfAborted();
45
+ const bytes = Buffer.byteLength(path) + 64;
46
+ if (!this.#pending && generation === this.#generation && bytes <= maxCacheBytes && !this.#entries.has(path)) {
47
+ while (this.#entries.size >= maxCacheEntries || this.#bytes + bytes > maxCacheBytes) {
48
+ const oldest = this.#entries.entries().next().value;
49
+ this.#bytes -= oldest[1].bytes;
50
+ this.#entries.delete(oldest[0]);
51
+ }
52
+ this.#entries.set(path, { file, bytes });
53
+ this.#bytes += bytes;
54
+ }
55
+ return file;
56
+ }
57
+ }
58
+ export function* pathTargets(name, path, limits, signal, fail) {
59
+ signal.throwIfAborted();
60
+ if (path !== undefined && Buffer.byteLength(path) > limits.maxExpansionBytes)
61
+ fail("maxExpansionBytes");
62
+ if (name.includes("/") || path === undefined) {
63
+ if (limits.maxExpansionFields < 1)
64
+ fail("maxExpansionFields");
65
+ yield name;
66
+ return;
67
+ }
68
+ let fields = 1;
69
+ for (let separator = path.indexOf(":"); separator >= 0; separator = path.indexOf(":", separator + 1)) {
70
+ signal.throwIfAborted();
71
+ if (++fields > limits.maxExpansionFields)
72
+ fail("maxExpansionFields");
73
+ }
74
+ if (fields > limits.maxExpansionFields)
75
+ fail("maxExpansionFields");
76
+ let start = 0;
77
+ let consulted = 0;
78
+ while (start <= path.length) {
79
+ signal.throwIfAborted();
80
+ if (consulted >= limits.maxPathComponents)
81
+ fail("maxPathComponents");
82
+ consulted++;
83
+ const end = path.indexOf(":", start);
84
+ const component = path.slice(start, end < 0 ? path.length : end);
85
+ yield `${component || "."}${component.endsWith("/") ? "" : "/"}${name}`;
86
+ if (end < 0)
87
+ return;
88
+ start = end + 1;
89
+ }
90
+ }
91
+ //# sourceMappingURL=path-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-lookup.js","sourceRoot":"","sources":["../../src/shell/path-lookup.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import type { GetoptsState } from "./getopts.js";
12
12
  import type { CancellationAdmissionSnapshot, CancellationBoundary, CancellationReport, CancellationSelection } from "./cancellation.js";
13
13
  import type { ArrayAssignment } from "./arrays/syntax.js";
14
14
  import { ArrayOwner } from "./arrays/ledger.js";
15
+ import { PathLookup } from "./path-lookup.js";
15
16
  export declare const defaultLimits: Required<ShellLimits>;
16
17
  type Discovery = {
17
18
  kind: "function" | "builtin" | "command" | "interpreter" | "file";
@@ -22,6 +23,7 @@ export declare class Budget {
22
23
  #private;
23
24
  readonly limits: Required<ShellLimits>;
24
25
  readonly executionScope: Readonly<{}>;
26
+ readonly pathLookup: PathLookup;
25
27
  readonly parsing: ParseBudget;
26
28
  readonly values: ValueArena;
27
29
  commands: number;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/shell/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/shell/runtime.ts"],"names":[],"mappings":"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"}
@@ -35,12 +35,14 @@ import { EreProfileLimitError, EreSyntaxError, EreUnsupportedError } from "../co
35
35
  import { EreLedger } from "../commands/regex-execution/ere/limits.js";
36
36
  import { compileEre } from "../commands/regex-execution/ere/syntax.js";
37
37
  import { matchEre } from "../commands/regex-execution/ere/matcher.js";
38
+ import { PathLookup, pathTargets } from "./path-lookup.js";
38
39
  export const defaultLimits = {
39
40
  maxParseUnits: defaultMaxParseUnits,
40
41
  maxInputBytes: 32 * 1024 * 1024,
41
42
  maxOutputBytes: 16 * 1024 * 1024,
42
43
  maxCommands: 10_000,
43
44
  maxFileSystemOperations: 100_000,
45
+ maxPathComponents: 64,
44
46
  maxRedirects: 64,
45
47
  maxPipelineStages: 64,
46
48
  maxLoopIterations: 10_000,
@@ -76,6 +78,7 @@ const budgetedSinks = new WeakMap();
76
78
  export class Budget {
77
79
  limits;
78
80
  executionScope = Object.freeze({});
81
+ pathLookup = new PathLookup();
79
82
  parsing;
80
83
  values;
81
84
  commands = 0;
@@ -2512,10 +2515,12 @@ export class Runtime {
2512
2515
  });
2513
2516
  } };
2514
2517
  };
2518
+ const resumePathCache = this.budget.pathLookup.suspend();
2515
2519
  const release = () => {
2516
2520
  if (closed)
2517
2521
  return;
2518
2522
  closed = true;
2523
+ resumePathCache();
2519
2524
  if (--file.references === 0 && this.outputFiles.get(path) === file)
2520
2525
  this.outputFiles.delete(path);
2521
2526
  };
@@ -2814,6 +2819,7 @@ export class Runtime {
2814
2819
  Reflect.deleteProperty(context, "argumentValues");
2815
2820
  const middleware = this.middleware.map((handler) => (context, next) => {
2816
2821
  scope.assertOpen();
2822
+ this.budget.pathLookup.suspendUntilClosed(scope);
2817
2823
  let downstream;
2818
2824
  const raw = handler(context, () => {
2819
2825
  downstream = next();
@@ -3039,6 +3045,7 @@ export class Runtime {
3039
3045
  await this.diagnostic({ ...io, ...context }, `${context.command}: command not found`);
3040
3046
  return { exitCode: 127 };
3041
3047
  }
3048
+ this.budget.pathLookup.suspendUntilClosed(scope);
3042
3049
  const raw = definition.execute(forwarded);
3043
3050
  const observed = this.observeRuntimeReturn(raw, runtimeFrame);
3044
3051
  return await interruptible(observed, this.signal);
@@ -3221,21 +3228,13 @@ export class Runtime {
3221
3228
  async searchPaths(name, state, all = false, discovery = false) {
3222
3229
  if (!name)
3223
3230
  return [];
3224
- const path = state.variables.PATH;
3225
- if (path !== undefined && Buffer.byteLength(path) > this.budget.limits.maxExpansionBytes)
3226
- this.budget.fail("maxExpansionBytes");
3227
- const components = name.includes("/") || path === undefined ? [undefined] : path.split(":");
3228
- if (components.length > this.budget.limits.maxExpansionFields)
3229
- this.budget.fail("maxExpansionFields");
3230
3231
  let denied;
3231
3232
  const matches = [];
3232
- for (const component of components) {
3233
- this.signal.throwIfAborted();
3234
- const target = component === undefined ? name : `${component || "."}${component?.endsWith("/") ? "" : "/"}${name}`;
3233
+ for (const target of pathTargets(name, state.variables.PATH, this.budget.limits, this.signal, limit => this.budget.fail(limit))) {
3235
3234
  const resolved = resolvePath(state.cwd, target);
3236
3235
  try {
3237
3236
  const options = { signal: this.signal };
3238
- if ((await interruptible(this.fs.stat(resolved, options), this.signal)).type !== "file")
3237
+ if (!await interruptible(this.budget.pathLookup.isFile(this.fs, resolved, this.signal), this.signal))
3239
3238
  continue;
3240
3239
  if (this.fs.capabilities.permissions !== true)
3241
3240
  throw new CommandFailure(`${target}: execution permissions are not supported by this filesystem`, 126);
@@ -3246,6 +3245,8 @@ export class Runtime {
3246
3245
  }
3247
3246
  catch (error) {
3248
3247
  this.signal.throwIfAborted();
3248
+ if (error instanceof ShellLimitError)
3249
+ throw error;
3249
3250
  if (error instanceof CommandFailure) {
3250
3251
  if (discovery)
3251
3252
  continue;
@@ -3482,6 +3483,7 @@ export class Runtime {
3482
3483
  const runtimeFrame = {};
3483
3484
  const middleware = this.middleware.map(handler => (context, next) => {
3484
3485
  scope.assertOpen();
3486
+ this.budget.pathLookup.suspendUntilClosed(scope);
3485
3487
  let downstream;
3486
3488
  const raw = handler(context, () => {
3487
3489
  downstream = next();
@@ -3567,8 +3569,10 @@ export class Runtime {
3567
3569
  }
3568
3570
  if (direct)
3569
3571
  return { exitCode: await runtime.scriptFile(forwarded, state, childIO, command, forwarded.args, true) };
3570
- if (definition)
3572
+ if (definition) {
3573
+ runtime.budget.pathLookup.suspendUntilClosed(childIO[invocationScope]);
3571
3574
  return definition.execute(forwarded);
3575
+ }
3572
3576
  await writeDiagnostic(forwarded.stderr, `env: ${command}: command not found\n`);
3573
3577
  return { exitCode: 127 };
3574
3578
  }, undefined, options.stdin !== context.stdin ? options.stdin : undefined, scope);
@@ -3585,6 +3589,7 @@ export class Runtime {
3585
3589
  return this.shebangStage({
3586
3590
  ...context, command: "env", args: argumentValues.args, argumentValues,
3587
3591
  }, state, io, async (runtime, forwarded) => {
3592
+ runtime.budget.pathLookup.suspendUntilClosed(io[invocationScope]);
3588
3593
  let failed = false;
3589
3594
  let failure;
3590
3595
  let failureReport;
@@ -3786,18 +3791,11 @@ export class Runtime {
3786
3791
  try {
3787
3792
  const options = { signal: this.signal };
3788
3793
  if (filename && !filename.includes("/") && state.variables.PATH) {
3789
- if (Buffer.byteLength(state.variables.PATH) > this.budget.limits.maxExpansionBytes)
3790
- this.budget.fail("maxExpansionBytes");
3791
- const components = state.variables.PATH.split(":");
3792
- if (components.length > this.budget.limits.maxExpansionFields)
3793
- this.budget.fail("maxExpansionFields");
3794
3794
  let found = false;
3795
- for (const component of components) {
3796
- this.signal.throwIfAborted();
3797
- const candidate = `${component || "."}${component.endsWith("/") ? "" : "/"}${filename}`;
3795
+ for (const candidate of pathTargets(filename, state.variables.PATH, this.budget.limits, this.signal, limit => this.budget.fail(limit))) {
3798
3796
  const path = resolvePath(state.cwd, candidate);
3799
3797
  try {
3800
- if ((await interruptible(this.fs.stat(path, options), this.signal)).type !== "file")
3798
+ if (!await interruptible(this.budget.pathLookup.isFile(this.fs, path, this.signal), this.signal))
3801
3799
  continue;
3802
3800
  await interruptible(this.fs.access(path, ACCESS_MODES.R_OK, options), this.signal);
3803
3801
  target = candidate;