@poe-platform/safe-js 0.1.472 → 0.1.473

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-VDY62X4N.js";
30
+ } from "./chunk-LXNXNWYD.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-NM65FR7Y.js.map
8252
+ //# sourceMappingURL=chunk-4QFHH3GR.js.map
@@ -10354,9 +10354,79 @@ function createObjectGlobal(methods3, budget) {
10354
10354
  }
10355
10355
  })
10356
10356
  };
10357
+ for (const [name, kind, define] of [
10358
+ ["__defineGetter__", "get", true],
10359
+ ["__defineSetter__", "set", true],
10360
+ ["__lookupGetter__", "get", false],
10361
+ ["__lookupSetter__", "set", false]
10362
+ ]) {
10363
+ prototypeMethods[name] = createSandboxClosure({
10364
+ guest: true,
10365
+ sandbox: true,
10366
+ name,
10367
+ length: define ? 2 : 1,
10368
+ call: async ([key, accessor], context) => {
10369
+ const target = construct([requireReceiver(context?.thisValue)]);
10370
+ const release = retainValues(budget, () => [target, key, accessor]);
10371
+ try {
10372
+ if (define && !isSandboxClosure(accessor)) throw new TypeError("Accessor must be callable.");
10373
+ const property = await toPropertyKey(key, budget, context);
10374
+ if (define) {
10375
+ await defineDataProperty(target, property, {
10376
+ [kind]: accessorAdapter(accessor, kind),
10377
+ enumerable: true,
10378
+ configurable: true
10379
+ }, budget, context);
10380
+ return void 0;
10381
+ }
10382
+ let current = target;
10383
+ let depth = 0;
10384
+ while (current !== null) {
10385
+ budget.visitNode();
10386
+ assertSandboxDataDepth(depth++);
10387
+ const descriptor = Object.getOwnPropertyDescriptor(objectProperties(current), property);
10388
+ if (descriptor !== void 0) return accessorClosure(descriptor[kind]);
10389
+ current = getSandboxPrototype(current, budget);
10390
+ }
10391
+ return void 0;
10392
+ } finally {
10393
+ release();
10394
+ }
10395
+ }
10396
+ });
10397
+ }
10357
10398
  for (const [name, method] of Object.entries(prototypeMethods)) {
10358
10399
  Object.defineProperty(prototype, name, { value: method, writable: true, configurable: true });
10359
10400
  }
10401
+ Object.defineProperty(prototype, "__proto__", {
10402
+ configurable: true,
10403
+ get: accessorAdapter(createSandboxClosure({
10404
+ guest: true,
10405
+ sandbox: true,
10406
+ name: "get __proto__",
10407
+ length: 0,
10408
+ call: (_args, context) => {
10409
+ const target = construct([requireReceiver(context?.thisValue)]);
10410
+ objectProperties(target);
10411
+ return getSandboxPrototype(target, budget);
10412
+ }
10413
+ }), "get"),
10414
+ set: accessorAdapter(createSandboxClosure({
10415
+ guest: true,
10416
+ sandbox: true,
10417
+ name: "set __proto__",
10418
+ length: 1,
10419
+ call: ([parent], context) => {
10420
+ const target = requireReceiver(context?.thisValue);
10421
+ if (parent !== null && typeof parent !== "object") return void 0;
10422
+ if (typeof target !== "object") return void 0;
10423
+ objectProperties(target, true);
10424
+ if (parent !== null) objectProperties(parent);
10425
+ setSandboxPrototype(target, parent, budget);
10426
+ return void 0;
10427
+ }
10428
+ }), "set")
10429
+ });
10360
10430
  markDescriptorObject(prototype);
10361
10431
  installObjectPrototype(budget, prototype, constructor);
10362
10432
  return constructor;
@@ -57075,4 +57145,4 @@ authorization of the copyright holder.
57075
57145
  SPDX-License-Identifier: Unicode-3.0
57076
57146
 
57077
57147
  */
57078
- //# sourceMappingURL=chunk-VDY62X4N.js.map
57148
+ //# sourceMappingURL=chunk-LXNXNWYD.js.map