@poe-platform/safe-js 0.1.259 → 0.1.261

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.
@@ -27,7 +27,7 @@ import {
27
27
  validateMigrationSemantics,
28
28
  validateSnapshotData,
29
29
  validateSnapshotMigration
30
- } from "./chunk-2OYR4JID.js";
30
+ } from "./chunk-F4OZBPVV.js";
31
31
 
32
32
  // packages/safe-js/src/migrate.ts
33
33
  import { createHash } from "node:crypto";
@@ -8249,4 +8249,4 @@ export {
8249
8249
  parseMcpConfig,
8250
8250
  makeMcpModule
8251
8251
  };
8252
- //# sourceMappingURL=chunk-YWKNOJTQ.js.map
8252
+ //# sourceMappingURL=chunk-5YWY6ZXP.js.map
@@ -8004,12 +8004,15 @@ function setSandboxPrototype(value, prototype, budget) {
8004
8004
  if (budget !== void 0 && intrinsicPrototypes.get(budget) === value && prototype !== null) {
8005
8005
  throw new TypeError("Object.prototype has an immutable null prototype.");
8006
8006
  }
8007
- if (!Array.isArray(value) && !isSandboxRegex(value) && !isSandboxMap(value) && !isSandboxSet(value) && !isPrototypeRecord(value) || prototype !== null && !Array.isArray(prototype) && !isPrototypeRecord(prototype)) {
8007
+ if (!Array.isArray(value) && !isSandboxRegex(value) && !isSandboxMap(value) && !isSandboxSet(value) && !isPrototypeRecord(value) || prototype !== null && !Array.isArray(prototype) && !isSandboxMap(prototype) && !isSandboxSet(prototype) && !isPrototypeRecord(prototype)) {
8008
8008
  throw new TypeError(
8009
- "Prototype links require ordinary sandbox objects, arrays, or guest functions."
8009
+ "Prototype links require supported sandbox objects."
8010
8010
  );
8011
8011
  }
8012
- if (prototypes.has(value) && getSandboxPrototype(value, budget) === prototype) return;
8012
+ if (getSandboxPrototype(value, budget) === prototype) {
8013
+ if (prototype === null) prototypes.set(value, null);
8014
+ return;
8015
+ }
8013
8016
  if (!Object.isExtensible(isGuestClosure(value) ? materializeFunctionProperties(value) : isSandboxRegex(value) ? getRegexProperties(value) : isSandboxMap(value) || isSandboxSet(value) ? getCollectionProperties(value) : value)) {
8014
8017
  throw new TypeError("Cannot change the prototype of a non-extensible object.");
8015
8018
  }
@@ -17447,7 +17450,7 @@ function forInKeys(object, budget) {
17447
17450
  for (let current = object; current !== null; current = getSandboxPrototype(current, budget)) {
17448
17451
  if (depth > 0) budget.visitNode();
17449
17452
  assertSandboxDataDepth(depth++);
17450
- const properties = isGuestClosure(current) ? materializeFunctionProperties(current) : isSandboxClosure(current) ? current.properties ?? {} : current;
17453
+ const properties = isGuestClosure(current) ? materializeFunctionProperties(current) : isSandboxClosure(current) ? current.properties ?? {} : isSandboxMap(current) || isSandboxSet(current) ? getCollectionProperties(current) : current;
17451
17454
  for (const key of Object.getOwnPropertyNames(properties)) {
17452
17455
  if (seen.has(key)) continue;
17453
17456
  seen.add(key);
@@ -17463,7 +17466,7 @@ function hasForInProperty(object, key, budget) {
17463
17466
  for (let current = object; current !== null; current = getSandboxPrototype(current, budget)) {
17464
17467
  if (depth > 0) budget.visitNode();
17465
17468
  assertSandboxDataDepth(depth++);
17466
- const properties = isGuestClosure(current) ? materializeFunctionProperties(current) : isSandboxClosure(current) ? current.properties ?? {} : current;
17469
+ const properties = isGuestClosure(current) ? materializeFunctionProperties(current) : isSandboxClosure(current) ? current.properties ?? {} : isSandboxMap(current) || isSandboxSet(current) ? getCollectionProperties(current) : current;
17467
17470
  if (Object.hasOwn(properties, key)) return true;
17468
17471
  }
17469
17472
  return false;
@@ -40033,4 +40036,4 @@ export {
40033
40036
  FileSnapshotBackend,
40034
40037
  run
40035
40038
  };
40036
- //# sourceMappingURL=chunk-2OYR4JID.js.map
40039
+ //# sourceMappingURL=chunk-F4OZBPVV.js.map