sandboxedjs 0.1.68 → 0.1.69

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/index.js CHANGED
@@ -17953,7 +17953,7 @@ var wheels_default = {
17953
17953
 
17954
17954
  // package.json
17955
17955
  var package_default = {
17956
- version: "0.1.68"};
17956
+ version: "0.1.69"};
17957
17957
 
17958
17958
  // src/runtime/python/config.ts
17959
17959
  var bundledManifest = {
@@ -19867,7 +19867,11 @@ async function startPythonProcess(options) {
19867
19867
  pid: options.pid,
19868
19868
  ppid: options.ppid,
19869
19869
  mounts: options.mounts,
19870
- isTty: options.isTty
19870
+ isTty: options.isTty,
19871
+ /* Only beyond the standard three: 0, 1 and 2 are bound as the process's
19872
+ * terminal-or-pipe streams by the worker itself, and installing a second
19873
+ * stream over one of them would leave two objects claiming the number. */
19874
+ inheritFds: [...options.inherit?.keys() ?? []].filter((fd) => fd > 2)
19871
19875
  });
19872
19876
  return {
19873
19877
  write: (data) => stdin.push(data),
@@ -20390,13 +20394,9 @@ function createProcessService(ctx) {
20390
20394
  return {
20391
20395
  async spawn(request) {
20392
20396
  const token = `${ctx.proc.pid}:${Math.random().toString(36).slice(2)}`;
20393
- const extra = /* @__PURE__ */ new Map();
20394
- for (const [fd, description] of request.files) {
20395
- if (fd > 2) extra.set(fd, description);
20396
- }
20397
20397
  const env2 = { ...request.env };
20398
- if (extra.size > 0) {
20399
- PENDING_INHERITANCE.set(token, extra);
20398
+ if (request.files.size > 0) {
20399
+ PENDING_INHERITANCE.set(token, new Map(request.files));
20400
20400
  env2[INHERIT_TOKEN] = token;
20401
20401
  }
20402
20402
  const stdin = request.files.get(0);