@poe-platform/safe-bash 0.1.60 → 0.1.62

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.
@@ -0,0 +1,15 @@
1
+ import type { BoundedRegexProvider } from "./provider.js";
2
+ export interface BoundedRegexProviderOptions {
3
+ readonly maxWorkers?: number;
4
+ readonly maxPatterns?: number;
5
+ readonly maxPatternBytes?: number;
6
+ readonly maxRows?: number;
7
+ readonly maxInputBytes?: number;
8
+ readonly maxResultBytes?: number;
9
+ readonly maxWork?: number;
10
+ readonly maxAllocationUnits?: number;
11
+ readonly maxStates?: number;
12
+ }
13
+ /** Cooperative non-NUL ASCII grep selection and fixed-rg provider; not a native-worker/RSS sandbox. */
14
+ export declare function createBoundedRegexProvider(input?: BoundedRegexProviderOptions): BoundedRegexProvider;
15
+ //# sourceMappingURL=bounded-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-provider.d.ts","sourceRoot":"","sources":["../../../src/commands/regex-execution/bounded-provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAmC,MAAM,eAAe,CAAC;AAG3F,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAsQD,uGAAuG;AACvG,wBAAgB,0BAA0B,CAAC,KAAK,GAAE,2BAAgC,GAAG,oBAAoB,CAUxG"}
@@ -0,0 +1,319 @@
1
+ import { EreLedger } from "./ere/limits.js";
2
+ import { compileEre } from "./ere/syntax.js";
3
+ import { matchEre } from "./ere/matcher.js";
4
+ const defaults = Object.freeze({
5
+ maxWorkers: 2, maxPatterns: 32, maxPatternBytes: 8192, maxRows: 128,
6
+ maxInputBytes: 65_536, maxResultBytes: 2048, maxWork: 2_000_000,
7
+ maxAllocationUnits: 1_000_000, maxStates: 65_536,
8
+ });
9
+ const ceilings = Object.freeze({
10
+ maxWorkers: 32, maxPatterns: 128, maxPatternBytes: 65_532, maxRows: 4096,
11
+ maxInputBytes: 1_048_576, maxResultBytes: 65_536, maxWork: 33_554_432,
12
+ maxAllocationUnits: 4_000_000, maxStates: 65_536,
13
+ });
14
+ const typedArrayPrototype = Object.getPrototypeOf(Uint8Array.prototype);
15
+ const byteLength = Object.getOwnPropertyDescriptor(typedArrayPrototype, "byteLength").get;
16
+ const byteOffset = Object.getOwnPropertyDescriptor(typedArrayPrototype, "byteOffset").get;
17
+ const byteBuffer = Object.getOwnPropertyDescriptor(typedArrayPrototype, "buffer").get;
18
+ function fail(kind, message) {
19
+ throw new Error(`bounded regex ${kind}: ${message}`);
20
+ }
21
+ function record(value, keys, optional = []) {
22
+ if (value === null || typeof value !== "object" || Array.isArray(value))
23
+ fail("protocol", "expected a data record");
24
+ const ownKeys = Reflect.ownKeys(value);
25
+ if (ownKeys.length < keys.length || ownKeys.length > keys.length + optional.length
26
+ || ownKeys.some(key => typeof key !== "string" || !keys.includes(key) && !optional.includes(key)))
27
+ fail("protocol", "unexpected data-record fields");
28
+ for (const key of [...keys, ...optional]) {
29
+ const property = Object.getOwnPropertyDescriptor(value, key);
30
+ if (property === undefined ? keys.includes(key) : !("value" in property))
31
+ fail("protocol", "missing field or accessor");
32
+ }
33
+ }
34
+ function array(value, limit, label) {
35
+ if (!Array.isArray(value))
36
+ fail("protocol", `${label} must be an array`);
37
+ if (value.length > limit)
38
+ fail("limit", `${label} count limit exceeded`);
39
+ // The length bound precedes enumeration, including sparse-array admission.
40
+ const keys = Reflect.ownKeys(value);
41
+ if (keys.length !== value.length + 1)
42
+ fail("protocol", `${label} must be a dense data array`);
43
+ for (let index = 0; index < value.length; index++) {
44
+ const property = Object.getOwnPropertyDescriptor(value, index);
45
+ if (!property || !("value" in property))
46
+ fail("protocol", `${label} must be a dense data array`);
47
+ }
48
+ }
49
+ function options(input) {
50
+ const keys = Object.keys(defaults);
51
+ try {
52
+ record(input, [], keys);
53
+ }
54
+ catch {
55
+ throw new TypeError("bounded regex options require supported own data fields");
56
+ }
57
+ const result = { ...defaults };
58
+ for (const key of keys) {
59
+ if (!Object.hasOwn(input, key))
60
+ continue;
61
+ const value = input[key];
62
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 1 || value > ceilings[key])
63
+ throw new RangeError(`bounded regex option ${key} is outside its limit`);
64
+ result[key] = value;
65
+ }
66
+ return Object.freeze(result);
67
+ }
68
+ function descriptor(value, limits) {
69
+ if (value === null || typeof value !== "object")
70
+ fail("protocol", "invalid descriptor");
71
+ const kind = Object.getOwnPropertyDescriptor(value, "kind");
72
+ if (!kind || !("value" in kind))
73
+ fail("protocol", "invalid descriptor kind");
74
+ if (kind.value !== "grep" && kind.value !== "rg")
75
+ fail("unsupported", "only grep and fixed rg selection descriptors are supported");
76
+ const flags = kind.value === "grep" ? ["fixed", "extended", "insensitive", "whole", "word"] : ["fixed", "whole", "word", "nullData"];
77
+ record(value, ["kind", "patterns", ...flags, ...(kind.value === "rg" ? ["case"] : [])]);
78
+ for (const flag of flags)
79
+ if (typeof value[flag] !== "boolean")
80
+ fail("protocol", `invalid ${flag} flag`);
81
+ if (kind.value === "rg" && !["sensitive", "insensitive", "smart"].includes(value.case))
82
+ fail("protocol", "invalid case flag");
83
+ if (value.word || kind.value === "grep" && value.insensitive || kind.value === "rg" && value.case !== "sensitive")
84
+ fail("unsupported", "only case-sensitive, non-word selection is supported");
85
+ if (kind.value === "rg" && !value.fixed)
86
+ fail("unsupported", "rg regex and Unicode modes are unsupported; use fixed ASCII patterns");
87
+ array(value.patterns, limits.maxPatterns, "pattern");
88
+ let bytes = 0;
89
+ for (let index = 0; index < value.patterns.length; index++) {
90
+ const pattern = value.patterns[index];
91
+ if (typeof pattern !== "string")
92
+ fail("protocol", "patterns must be strings");
93
+ if (pattern.length > limits.maxPatternBytes - bytes)
94
+ fail("limit", "aggregate pattern byte limit exceeded");
95
+ bytes += pattern.length;
96
+ }
97
+ return value;
98
+ }
99
+ function admit(input, limits, signal) {
100
+ record(input, ["id", "descriptor", "rows"]);
101
+ const selected = descriptor(input.descriptor, limits);
102
+ array(input.rows, limits.maxRows, "row");
103
+ if (input.rows.length > Math.floor(limits.maxResultBytes / 16))
104
+ fail("limit", "result byte limit exceeded");
105
+ let bytes = 0;
106
+ for (let index = 0; index < input.rows.length; index++) {
107
+ const row = input.rows[index];
108
+ record(row, ["bytes", "all", "terminated"], ["directory", "ancestors"]);
109
+ if (!(row.bytes instanceof Uint8Array) || typeof row.all !== "boolean" || typeof row.terminated !== "boolean"
110
+ || Object.hasOwn(row, "directory") && typeof row.directory !== "boolean"
111
+ || Object.hasOwn(row, "ancestors") && typeof row.ancestors !== "boolean")
112
+ fail("protocol", "invalid row");
113
+ if (Object.hasOwn(row, "directory") || Object.hasOwn(row, "ancestors"))
114
+ fail("unsupported", "glob row flags are unsupported");
115
+ if (row.all)
116
+ fail("unsupported", "all-match enumeration is unsupported");
117
+ const length = byteLength.call(row.bytes);
118
+ if (length > limits.maxInputBytes - bytes)
119
+ fail("limit", "aggregate input byte limit exceeded");
120
+ bytes += length;
121
+ }
122
+ const ledger = new EreLedger({ maxExpansionBytes: 1_048_576, maxExpansionFields: 8192 }, {
123
+ patternBytes: limits.maxPatternBytes + 4, subjectBytes: limits.maxInputBytes,
124
+ work: limits.maxWork, allocationUnits: limits.maxAllocationUnits, states: limits.maxStates,
125
+ });
126
+ // Include snapshots, row/result metadata and worst-case match storage before copying.
127
+ ledger.charge("allocationUnits", bytes + input.rows.length * 12 + selected.patterns.length * 2 + 16, signal);
128
+ const patterns = [];
129
+ for (let index = 0; index < selected.patterns.length; index++)
130
+ patterns.push(selected.patterns[index]);
131
+ const ownedDescriptor = selected.kind === "grep"
132
+ ? { kind: "grep", patterns, fixed: selected.fixed, extended: selected.extended, insensitive: selected.insensitive, whole: selected.whole, word: selected.word }
133
+ : { kind: "rg", patterns, fixed: selected.fixed, case: selected.case, whole: selected.whole, word: selected.word, nullData: selected.nullData };
134
+ const rows = [];
135
+ for (let index = 0; index < input.rows.length; index++) {
136
+ const row = input.rows[index];
137
+ const source = new Uint8Array(byteBuffer.call(row.bytes), byteOffset.call(row.bytes), byteLength.call(row.bytes));
138
+ const copy = new Uint8Array(source.length);
139
+ copy.set(source);
140
+ rows.push({ bytes: copy, all: false, terminated: row.terminated });
141
+ }
142
+ return { id: input.id, descriptor: ownedDescriptor, rows, ledger };
143
+ }
144
+ async function admitBre(pattern, ledger, signal) {
145
+ let bracket = -1;
146
+ let member = false;
147
+ let namedClass = false;
148
+ for (let index = 0; index < pattern.length; index++) {
149
+ ledger.charge("work", 1, signal);
150
+ await ledger.checkpoint(signal);
151
+ const character = pattern[index];
152
+ if ("\\()+?{}|".includes(character))
153
+ fail("unsupported", "BRE escapes, groups and interval/operator extensions are unsupported; use grep -E");
154
+ if (bracket >= 0) {
155
+ if (index === bracket + 1 && character === "^")
156
+ continue;
157
+ if (namedClass) {
158
+ if (character === "]" && pattern[index - 1] === ":")
159
+ namedClass = false;
160
+ }
161
+ else if (character === "]" && member)
162
+ bracket = -1;
163
+ else if (character === "[" && pattern[index + 1] === ":")
164
+ namedClass = true;
165
+ member = true;
166
+ }
167
+ else if (character === "[") {
168
+ bracket = index;
169
+ member = false;
170
+ }
171
+ else if (character === "^" && index !== 0 || character === "$" && index !== pattern.length - 1) {
172
+ fail("unsupported", "BRE anchors are supported only at record boundaries");
173
+ }
174
+ else if (character === "*" && (index === 0 || index === 1 && pattern[0] === "^")) {
175
+ fail("unsupported", "BRE leading literal star is unsupported; use fixed matching");
176
+ }
177
+ }
178
+ }
179
+ async function execute(input, signal) {
180
+ const { descriptor: selected, rows, ledger } = input;
181
+ const programs = [];
182
+ for (const pattern of selected.patterns) {
183
+ if (selected.kind === "grep" && !selected.fixed && !selected.extended)
184
+ await admitBre(pattern, ledger, signal);
185
+ if (selected.kind === "rg" && !selected.nullData && pattern.includes("\n"))
186
+ fail("unsupported", "rg multiline matching is unsupported");
187
+ ledger.charge("allocationUnits", (selected.whole ? 3 : 1) * 3 + 2, signal);
188
+ const fragments = selected.whole
189
+ ? [{ text: "^(", literal: false }, { text: pattern, literal: selected.fixed }, { text: ")$", literal: false }]
190
+ : [{ text: pattern, literal: selected.fixed }];
191
+ programs.push(await compileEre(fragments, ledger, signal));
192
+ }
193
+ const results = [];
194
+ for (const row of rows) {
195
+ // The admitted ASCII profile makes every character offset the original byte offset.
196
+ ledger.charge("allocationUnits", row.bytes.length * 2 + 2, signal);
197
+ const characters = [];
198
+ for (const byte of row.bytes) {
199
+ ledger.charge("work", 1, signal);
200
+ if (byte === 0 || byte > 127)
201
+ fail("unsupported", "subjects require non-NUL ASCII; Unicode and invalid UTF-8 are unsupported");
202
+ characters.push(String.fromCharCode(byte));
203
+ await ledger.checkpoint(signal);
204
+ }
205
+ const subject = characters.join("");
206
+ let span;
207
+ for (const program of programs) {
208
+ const match = await matchEre(program, subject, ledger, signal);
209
+ if (!match.matched)
210
+ continue;
211
+ const candidate = match.captures[0];
212
+ if (selected.kind === "grep") {
213
+ span = candidate;
214
+ break;
215
+ }
216
+ // Fixed rg patterns select the first occurrence, breaking ties by pattern order.
217
+ if (!span || candidate.start < span.start)
218
+ span = candidate;
219
+ }
220
+ signal.throwIfAborted();
221
+ results.push(span ? new Float64Array([span.start, span.end]) : new Float64Array());
222
+ }
223
+ return { id: input.id, results };
224
+ }
225
+ class CooperativeWorker {
226
+ limits;
227
+ release;
228
+ #controller = new AbortController();
229
+ #listeners = new Map();
230
+ #tasks = new Set();
231
+ #busy = false;
232
+ #closing;
233
+ constructor(limits, release) {
234
+ this.limits = limits;
235
+ this.release = release;
236
+ queueMicrotask(() => { if (!this.#closing)
237
+ this.emit({ ready: true }); });
238
+ }
239
+ on(event, listener) {
240
+ if (this.#closing)
241
+ return;
242
+ let listeners = this.#listeners.get(event);
243
+ if (!listeners) {
244
+ listeners = new Set();
245
+ this.#listeners.set(event, listeners);
246
+ }
247
+ listeners.add(listener);
248
+ }
249
+ off(event, listener) { this.#listeners.get(event)?.delete(listener); }
250
+ emit(value) {
251
+ for (const listener of this.#listeners.get("message") ?? [])
252
+ listener(value);
253
+ }
254
+ postMessage(input) {
255
+ if (this.#closing)
256
+ throw new Error("bounded regex worker is closed");
257
+ if (this.#busy)
258
+ throw new Error("bounded regex worker is busy");
259
+ const identity = input !== null && typeof input === "object" ? Object.getOwnPropertyDescriptor(input, "id") : undefined;
260
+ if (!identity || !("value" in identity) || !Number.isSafeInteger(identity.value) || identity.value < 1)
261
+ fail("protocol", "invalid request identity");
262
+ const id = identity.value;
263
+ const submitted = Object.getOwnPropertyDescriptor(input, "descriptor")?.value;
264
+ const expression = submitted !== null && typeof submitted === "object" && Object.getOwnPropertyDescriptor(submitted, "kind")?.value === "expr-match";
265
+ let owned;
266
+ let failure;
267
+ try {
268
+ owned = admit(input, this.limits, this.#controller.signal);
269
+ }
270
+ catch (error) {
271
+ failure = error instanceof Error ? error.message.slice(0, 512) : "bounded regex protocol: request admission failed";
272
+ }
273
+ this.#busy = true;
274
+ const task = Promise.resolve().then(async () => {
275
+ let reply;
276
+ try {
277
+ this.#controller.signal.throwIfAborted();
278
+ reply = owned ? await execute(owned, this.#controller.signal) : { id, error: failure };
279
+ }
280
+ catch (error) {
281
+ reply = { id, error: error instanceof Error ? error.message.slice(0, 512) : "bounded regex request failed" };
282
+ }
283
+ if (expression && "error" in reply)
284
+ reply = { id, operation: "expr-match", category: "unsupported", error: reply.error };
285
+ // Clear request-owned payloads before notifying the consumer or allowing reuse.
286
+ owned = undefined;
287
+ this.#busy = false;
288
+ if (!this.#closing)
289
+ this.emit(reply);
290
+ });
291
+ this.#tasks.add(task);
292
+ void task.then(() => this.#tasks.delete(task), () => this.#tasks.delete(task));
293
+ }
294
+ terminate() {
295
+ if (!this.#closing) {
296
+ this.#closing = Promise.allSettled([...this.#tasks]).then(() => {
297
+ this.#listeners.clear();
298
+ this.#tasks.clear();
299
+ this.release();
300
+ });
301
+ this.#controller.abort(new Error("bounded regex worker terminated"));
302
+ }
303
+ return this.#closing;
304
+ }
305
+ }
306
+ /** Cooperative non-NUL ASCII grep selection and fixed-rg provider; not a native-worker/RSS sandbox. */
307
+ export function createBoundedRegexProvider(input = {}) {
308
+ const limits = options(input);
309
+ let active = 0;
310
+ return Object.freeze({
311
+ createWorker() {
312
+ if (active >= limits.maxWorkers)
313
+ fail("limit", "worker count limit exceeded");
314
+ active++;
315
+ return new CooperativeWorker(limits, () => { active--; });
316
+ },
317
+ });
318
+ }
319
+ //# sourceMappingURL=bounded-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-provider.js","sourceRoot":"","sources":["../../../src/commands/regex-execution/bounded-provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export type { BoundedRegexProvider, RegexWorker, RegexWorkerRequest } from "./provider.js";
2
+ export { createBoundedRegexProvider, type BoundedRegexProviderOptions } from "./bounded-provider.js";
2
3
  export { RegexExecutionError } from "./protocol.js";
3
4
  export type { RegexExecutionOptions, Descriptor as RegexDescriptor, Request as RegexRequest, Reply as RegexReply, Row as RegexRow, Match as RegexMatch, GrepDescriptor, SearchDescriptor, GlobDescriptor, } from "./protocol.js";
4
5
  export { EreLedger } from "./ere/limits.js";
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/commands/regex-execution/public.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EACV,qBAAqB,EAAE,UAAU,IAAI,eAAe,EAAE,OAAO,IAAI,YAAY,EAC7E,KAAK,IAAI,UAAU,EAAE,GAAG,IAAI,QAAQ,EAAE,KAAK,IAAI,UAAU,EACzD,cAAc,EAAE,gBAAgB,EAAE,cAAc,GACjD,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClH,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/commands/regex-execution/public.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EACV,qBAAqB,EAAE,UAAU,IAAI,eAAe,EAAE,OAAO,IAAI,YAAY,EAC7E,KAAK,IAAI,UAAU,EAAE,GAAG,IAAI,QAAQ,EAAE,KAAK,IAAI,UAAU,EACzD,cAAc,EAAE,gBAAgB,EAAE,cAAc,GACjD,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClH,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { createBoundedRegexProvider } from "./bounded-provider.js";
1
2
  export { RegexExecutionError } from "./protocol.js";
2
3
  export { EreLedger } from "./ere/limits.js";
3
4
  export { compileEre } from "./ere/syntax.js";
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/commands/regex-execution/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAMpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/commands/regex-execution/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAMpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -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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"}
@@ -31,6 +31,7 @@ export const defaultLimits = {
31
31
  maxInputBytes: 32 * 1024 * 1024,
32
32
  maxOutputBytes: 16 * 1024 * 1024,
33
33
  maxCommands: 10_000,
34
+ maxRedirects: 64,
34
35
  maxPipelineStages: 64,
35
36
  maxLoopIterations: 10_000,
36
37
  maxSubstitutionDepth: 64,
@@ -2274,6 +2275,9 @@ export class Runtime {
2274
2275
  return value;
2275
2276
  }
2276
2277
  async redirect(redirects, state, io, inputs, outputs, isolatedInlineInput = false, persistMoves = false, fileShortcut = false, line) {
2278
+ this.signal.throwIfAborted();
2279
+ if (redirects.length > this.budget.limits.maxRedirects)
2280
+ this.budget.fail("maxRedirects");
2277
2281
  io.descriptors ??= new Map([
2278
2282
  [0, { input: io.stdin, ...(io.stdinIsDefault === undefined ? {} : { stdinIsDefault: io.stdinIsDefault }) }],
2279
2283
  [1, { output: io.stdout }], [2, { output: io.stderr }],