@poe-platform/safe-js 0.1.340 → 0.1.342

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-EGALWAJ7.js";
30
+ } from "./chunk-OFW7PC42.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-4ILMVEHZ.js.map
8252
+ //# sourceMappingURL=chunk-NAUX4YNE.js.map
@@ -14883,7 +14883,7 @@ function createFloat32ArrayPrototypes(budget, constructor) {
14883
14883
  getters.push(getter);
14884
14884
  Object.defineProperty(shared, key, { get: accessorAdapter(getter, "get"), configurable: true });
14885
14885
  }
14886
- for (const key of ["set", "slice", "subarray", "fill", "copyWithin", "reverse", "at", "includes", "indexOf", "lastIndexOf", "forEach", "every", "some", "find", "findIndex", "findLast", "findLastIndex", "toLocaleString"])
14886
+ for (const key of ["set", "slice", "subarray", "fill", "copyWithin", "reverse", "at", "includes", "indexOf", "lastIndexOf", "forEach", "every", "some", "find", "findIndex", "findLast", "findLastIndex", "map", "filter", "toLocaleString"])
14887
14887
  Object.defineProperty(shared, key, { value: getFloat32Member(new Float32Array(0), key, budget, constructor), writable: true, configurable: true });
14888
14888
  const arrayPrototype = resolveIntrinsicIdentity(budget, '["Array","prototype"]');
14889
14889
  Object.defineProperty(shared, "toString", { value: getSandboxDataProperty(arrayPrototype, "toString", budget), writable: true, configurable: true });
@@ -14965,18 +14965,18 @@ function getFloat32Member(value, property, budget, defaultConstructor) {
14965
14965
  if (key === "byteLength") return storage.length * 4;
14966
14966
  if (key === "byteOffset") return storage.byteOffset;
14967
14967
  if (key === "BYTES_PER_ELEMENT") return 4;
14968
- if (!["set", "slice", "subarray", "fill", "copyWithin", "reverse", "at", "includes", "indexOf", "lastIndexOf", "forEach", "every", "some", "find", "findIndex", "findLast", "findLastIndex", "toLocaleString"].includes(key)) return void 0;
14968
+ if (!["set", "slice", "subarray", "fill", "copyWithin", "reverse", "at", "includes", "indexOf", "lastIndexOf", "forEach", "every", "some", "find", "findIndex", "findLast", "findLastIndex", "map", "filter", "toLocaleString"].includes(key)) return void 0;
14969
14969
  const numberPrototype = key === "toLocaleString" ? getBoxedPrototype(0, budget) : void 0;
14970
14970
  return createSandboxClosure({
14971
14971
  guest: true,
14972
14972
  sandbox: true,
14973
14973
  name: key,
14974
- length: key === "reverse" || key === "toLocaleString" ? 0 : key === "set" || key === "fill" || key === "at" || key === "includes" || key === "indexOf" || key === "lastIndexOf" || key === "forEach" || key === "every" || key === "some" || key === "find" || key === "findIndex" || key === "findLast" || key === "findLastIndex" ? 1 : 2,
14974
+ length: key === "reverse" || key === "toLocaleString" ? 0 : key === "map" || key === "filter" || key === "set" || key === "fill" || key === "at" || key === "includes" || key === "indexOf" || key === "lastIndexOf" || key === "forEach" || key === "every" || key === "some" || key === "find" || key === "findIndex" || key === "findLast" || key === "findLastIndex" ? 1 : 2,
14975
14975
  call: (args, context) => {
14976
14976
  const receiver = context?.thisValue;
14977
14977
  if (!isFloat32Array(receiver))
14978
14978
  throw new TypeError(`Float32Array#${key} requires a Float32Array receiver.`);
14979
- const storage2 = float32Storage(receiver, key === "slice" || key === "fill" || key === "copyWithin" || key === "reverse" || key === "at" || key === "includes" || key === "indexOf" || key === "lastIndexOf" || key === "forEach" || key === "every" || key === "some" || key === "find" || key === "findIndex" || key === "findLast" || key === "findLastIndex" || key === "toLocaleString");
14979
+ const storage2 = float32Storage(receiver, key === "map" || key === "filter" || key === "slice" || key === "fill" || key === "copyWithin" || key === "reverse" || key === "at" || key === "includes" || key === "indexOf" || key === "lastIndexOf" || key === "forEach" || key === "every" || key === "some" || key === "find" || key === "findIndex" || key === "findLast" || key === "findLastIndex" || key === "toLocaleString");
14980
14980
  if (key === "reverse") {
14981
14981
  const release = retainValues(budget, () => [receiver, ...args]);
14982
14982
  try {
@@ -15030,8 +15030,8 @@ function getFloat32Member(value, property, budget, defaultConstructor) {
15030
15030
  })();
15031
15031
  }
15032
15032
  if (key === "forEach" || key === "every" || key === "some" || key === "find" || key === "findIndex" || key === "findLast" || key === "findLastIndex") {
15033
- const callback = args[0];
15034
- if (!isSandboxClosure(callback)) throw new TypeError(`Float32Array#${key} callback must be callable.`);
15033
+ const callback2 = args[0];
15034
+ if (!isSandboxClosure(callback2)) throw new TypeError(`Float32Array#${key} callback must be callable.`);
15035
15035
  return (async () => {
15036
15036
  const release = retainValues(budget, () => [receiver, ...args]);
15037
15037
  try {
@@ -15039,7 +15039,7 @@ function getFloat32Member(value, property, budget, defaultConstructor) {
15039
15039
  for (let index = backwards ? storage2.length - 1 : 0; backwards ? index >= 0 : index < storage2.length; index += backwards ? -1 : 1) {
15040
15040
  budget.visitNode();
15041
15041
  const element = receiver[index];
15042
- const result = await invokeBuiltinClosure(callback, [element, index, receiver], budget, bridge, args[1]);
15042
+ const result = await invokeBuiltinClosure(callback2, [element, index, receiver], budget, bridge, args[1]);
15043
15043
  if (key === "every" && !result) return false;
15044
15044
  if (key === "some" && result) return true;
15045
15045
  if ((key === "find" || key === "findLast") && result) return element;
@@ -15171,14 +15171,32 @@ function getFloat32Member(value, property, budget, defaultConstructor) {
15171
15171
  }
15172
15172
  })();
15173
15173
  }
15174
+ const callback = key === "map" || key === "filter" ? args[0] : void 0;
15175
+ if ((key === "map" || key === "filter") && !isSandboxClosure(callback)) throw new TypeError(`Float32Array#${key} callback must be callable.`);
15174
15176
  return (async () => {
15175
15177
  let candidate;
15176
15178
  let result;
15177
- const release = retainValues(budget, () => [receiver, candidate, result, ...args]);
15179
+ let mapped;
15180
+ const kept = [];
15181
+ const release = retainValues(budget, () => [receiver, candidate, result, mapped, kept, ...args]);
15178
15182
  try {
15179
- const start = relativeIndex(await sandboxNumber(args[0], budget, bridge), storage2.length);
15180
- const end = args[1] === void 0 ? storage2.length : relativeIndex(await sandboxNumber(args[1], budget, bridge), storage2.length);
15181
- const length = Math.max(end - start, 0);
15183
+ const start = key === "map" || key === "filter" ? 0 : relativeIndex(await sandboxNumber(args[0], budget, bridge), storage2.length);
15184
+ const end = key === "map" || key === "filter" || args[1] === void 0 ? storage2.length : relativeIndex(await sandboxNumber(args[1], budget, bridge), storage2.length);
15185
+ let length = Math.max(end - start, 0);
15186
+ if (key === "filter") {
15187
+ const checkData = createDataCheckpoint(budget, bridge);
15188
+ for (let index = 0; index < length; index++) {
15189
+ budget.visitNode();
15190
+ const element = receiver[index];
15191
+ const selected = await invokeBuiltinClosure(callback, [element, index, receiver], budget, bridge, args[1]);
15192
+ if (selected) {
15193
+ budget.allocateArrayLength(kept.length + 1);
15194
+ kept.push(element);
15195
+ checkData(kept, 1 + (budget.limits.dataSize === void 0 ? 0 : measureSandboxData([element])));
15196
+ }
15197
+ }
15198
+ length = kept.length;
15199
+ }
15182
15200
  const layout = float32ViewLayouts.get(receiver);
15183
15201
  const offset = (layout?.byteOffset ?? storage2.byteOffset) + start * 4;
15184
15202
  const tracking = layout !== void 0 && layout.length === void 0 && args[1] === void 0;
@@ -15193,11 +15211,11 @@ function getFloat32Member(value, property, budget, defaultConstructor) {
15193
15211
  }
15194
15212
  }
15195
15213
  if (candidate !== void 0 && candidate !== null && candidate !== defaultConstructor) {
15196
- const values = key === "slice" ? [length] : [storage2.buffer, offset, tracking ? void 0 : length];
15214
+ const values = key !== "subarray" ? [length] : [storage2.buffer, offset, tracking ? void 0 : length];
15197
15215
  result = await invokeBuiltinClosure(candidate, values, budget, bridge, void 0, true);
15198
15216
  if (!isFloat32Array(result)) throw new TypeError("TypedArray species must return typed storage.");
15199
- const target = float32Storage(result, key === "slice");
15200
- if (key === "slice" && target.length < length)
15217
+ const target = float32Storage(result, key !== "subarray");
15218
+ if (key !== "subarray" && target.length < length)
15201
15219
  throw new TypeError("TypedArray species returned insufficient storage.");
15202
15220
  }
15203
15221
  if (key === "subarray") {
@@ -15213,6 +15231,21 @@ function getFloat32Member(value, property, budget, defaultConstructor) {
15213
15231
  result = new Float32Array(length);
15214
15232
  }
15215
15233
  if (!isFloat32Array(result)) throw new TypeError("TypedArray species must return typed storage.");
15234
+ if (key === "filter") {
15235
+ for (let index = 0; index < length; index++) {
15236
+ budget.visitNode();
15237
+ result[index] = kept[index] ?? NaN;
15238
+ }
15239
+ return result;
15240
+ }
15241
+ if (key === "map") {
15242
+ for (let index = 0; index < length; index++) {
15243
+ budget.visitNode();
15244
+ mapped = await invokeBuiltinClosure(callback, [receiver[index], index, receiver], budget, bridge, args[1]);
15245
+ result[index] = await sandboxNumber(mapped, budget, bridge);
15246
+ }
15247
+ return result;
15248
+ }
15216
15249
  if (length > 0) {
15217
15250
  const current = float32Storage(receiver, true);
15218
15251
  const target = float32Storage(result, true);
@@ -42500,4 +42533,4 @@ export {
42500
42533
  FileSnapshotBackend,
42501
42534
  run
42502
42535
  };
42503
- //# sourceMappingURL=chunk-EGALWAJ7.js.map
42536
+ //# sourceMappingURL=chunk-OFW7PC42.js.map