@poe-platform/safe-js 0.1.224 → 0.1.225

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-DQY3GFKQ.js";
30
+ } from "./chunk-P2JEDD2J.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-NP47NXCT.js.map
8252
+ //# sourceMappingURL=chunk-NG6CD75M.js.map
@@ -8581,7 +8581,14 @@ function captureGuestHeapNode(value, encode) {
8581
8581
  ...value.state !== "suspended" || origin2.expressionStates === void 0 ? {} : {
8582
8582
  expressionStates: Object.fromEntries([...origin2.expressionStates].map(([id, expression]) => [
8583
8583
  String(id),
8584
- expression.kind === "binary" ? { kind: "binary", left: encode(expression.left) } : expression.kind === "member" ? {
8584
+ expression.kind === "binary" ? { kind: "binary", left: encode(expression.left) } : expression.kind === "member-assignment" ? {
8585
+ kind: "member-assignment",
8586
+ object: encode(expression.object),
8587
+ property: encode(expression.property),
8588
+ current: encode(expression.current),
8589
+ ...Object.hasOwn(expression, "key") ? { key: encode(expression.key) } : {},
8590
+ ...Object.hasOwn(expression, "superReceiver") ? { superReceiver: encode(expression.superReceiver) } : {}
8591
+ } : expression.kind === "member" ? {
8585
8592
  kind: "member",
8586
8593
  object: encode(expression.object),
8587
8594
  ...Object.hasOwn(expression, "superReceiver") ? { superReceiver: encode(expression.superReceiver) } : {}
@@ -16874,13 +16881,15 @@ async function evaluateMemberAssignmentExpression(node, context) {
16874
16881
  if (node.left.type !== "MemberExpression") {
16875
16882
  throw new TypeError("Expected member assignment target.");
16876
16883
  }
16877
- return evaluateMemberAccess(node.left, context, async (member) => {
16884
+ const restored = context.generatorResume === void 0 || node.nodeId === void 0 ? void 0 : context.restoredGeneratorExpressionStates?.get(node.nodeId);
16885
+ if (restored !== void 0 && restored.kind !== "member-assignment") throw new TypeError("Invalid assignment continuation.");
16886
+ const assign = async (member) => {
16878
16887
  if (member.kind === "nullish") {
16879
16888
  throw new TypeError("Cannot assign properties of null or undefined.");
16880
16889
  }
16881
- let property;
16882
- let current = void 0;
16883
- if (node.operator !== "=") {
16890
+ let property = restored?.key;
16891
+ let current = restored?.current;
16892
+ if (node.operator !== "=" && restored === void 0) {
16884
16893
  if (member.object === null || member.object === void 0) {
16885
16894
  throw new TypeError("Cannot assign properties of null or undefined.");
16886
16895
  }
@@ -16917,7 +16926,18 @@ async function evaluateMemberAssignmentExpression(node, context) {
16917
16926
  value: current
16918
16927
  };
16919
16928
  }
16920
- let operands = [current, property];
16929
+ if (context.generatorYield !== void 0 && node.nodeId !== void 0) {
16930
+ const state = {
16931
+ kind: "member-assignment",
16932
+ object: member.object,
16933
+ property: member.property,
16934
+ current,
16935
+ ...property === void 0 ? {} : { key: property },
16936
+ ...member.superReceiver === void 0 ? {} : { superReceiver: member.superReceiver.value }
16937
+ };
16938
+ context = { ...context, generatorExpressionStates: new Map([...context.generatorExpressionStates ?? [], [node.nodeId, state]]) };
16939
+ }
16940
+ let operands = [current, property, member.object, member.property, member.superReceiver?.value];
16921
16941
  const release = retainValues(context.budget, () => operands);
16922
16942
  try {
16923
16943
  const right = await evaluateNode(node.right, context);
@@ -16929,7 +16949,7 @@ async function evaluateMemberAssignmentExpression(node, context) {
16929
16949
  if (member.object === null || member.object === void 0) {
16930
16950
  throw new TypeError("Cannot assign properties of null or undefined.");
16931
16951
  }
16932
- operands = [value];
16952
+ operands = [value, member.object, member.property, member.superReceiver?.value];
16933
16953
  property ??= await toPropertyKey(
16934
16954
  member.property,
16935
16955
  context.budget,
@@ -16954,7 +16974,14 @@ async function evaluateMemberAssignmentExpression(node, context) {
16954
16974
  } finally {
16955
16975
  release();
16956
16976
  }
16977
+ };
16978
+ if (restored !== void 0) return assign({
16979
+ kind: "resolved",
16980
+ object: restored.object,
16981
+ property: restored.property,
16982
+ ...Object.hasOwn(restored, "superReceiver") ? { superReceiver: { value: restored.superReceiver } } : {}
16957
16983
  });
16984
+ return evaluateMemberAccess(node.left, context, assign);
16958
16985
  }
16959
16986
  async function evaluateLogicalExpression(node, context) {
16960
16987
  if (context.generatorResume !== void 0 && containsResumeTarget(node.right, /* @__PURE__ */ new Set([context.generatorResume.yieldNodeId])))
@@ -22445,6 +22472,9 @@ function validateGuestHeapNode(raw, heap, maxArrayLength = 4294967295) {
22445
22472
  const expression = record2(raw2);
22446
22473
  if (expression.kind === "binary") {
22447
22474
  fields(expression, ["kind", "left"]);
22475
+ } else if (expression.kind === "member-assignment") {
22476
+ fields(expression, ["kind", "object", "property", "current"], ["key", "superReceiver"]);
22477
+ if (Object.hasOwn(expression, "key") && typeof expression.key !== "string") reference(expression.key, ["symbol"]);
22448
22478
  } else if (expression.kind === "member") {
22449
22479
  fields(expression, ["kind", "object"], ["superReceiver"]);
22450
22480
  } else if (expression.kind === "template") {
@@ -22622,7 +22652,11 @@ function validateGuestFunctionAst(record3, origin) {
22622
22652
  pending.push({
22623
22653
  value,
22624
22654
  blocks,
22625
- expressions: node.type === "BinaryExpression" && key === "right" && typeof node.nodeId === "number" ? new Map([...frame.expressions, [node.nodeId, { kind: "binary" }]]) : node.type === "MemberExpression" && node.computed === true && key === "property" && typeof node.nodeId === "number" ? new Map([...frame.expressions, [node.nodeId, { kind: "member", superReceiver: node.object.type === "Super" }]]) : frame.expressions,
22655
+ expressions: node.type === "BinaryExpression" && key === "right" && typeof node.nodeId === "number" ? new Map([...frame.expressions, [node.nodeId, { kind: "binary" }]]) : node.type === "AssignmentExpression" && key === "right" && typeof node.nodeId === "number" && node.left.type === "MemberExpression" ? new Map([...frame.expressions, [node.nodeId, {
22656
+ kind: "member-assignment",
22657
+ key: node.operator !== "=",
22658
+ superReceiver: node.left.object.type === "Super"
22659
+ }]]) : node.type === "MemberExpression" && node.computed === true && key === "property" && typeof node.nodeId === "number" ? new Map([...frame.expressions, [node.nodeId, { kind: "member", superReceiver: node.object.type === "Super" }]]) : frame.expressions,
22626
22660
  finalizers: node.type === "TryStatement" && key === "finalizer" && typeof node.nodeId === "number" ? /* @__PURE__ */ new Set([...frame.finalizers, node.nodeId]) : frame.finalizers
22627
22661
  });
22628
22662
  }
@@ -22648,7 +22682,7 @@ function validateGuestFunctionAst(record3, origin) {
22648
22682
  for (const [id, expression] of expressions) {
22649
22683
  const expected = yieldExpressions?.get(Number(id));
22650
22684
  const compatibleKind = expected?.kind === expression.kind || expected?.kind === "call" && expected.member === true && expression.kind === "array-call";
22651
- if (expected === void 0 || !compatibleKind || expected.kind !== "binary" && expected.kind !== "member" && expected.index !== expression.index || expected.kind === "member" && expected.superReceiver !== Object.hasOwn(expression, "superReceiver") || expected.kind === "object" && expected.key !== Object.hasOwn(expression, "key"))
22685
+ if (expected === void 0 || !compatibleKind || expected.kind !== "binary" && expected.kind !== "member" && expected.kind !== "member-assignment" && expected.index !== expression.index || expected.kind === "member-assignment" && (expected.key !== Object.hasOwn(expression, "key") || expected.superReceiver !== Object.hasOwn(expression, "superReceiver")) || expected.kind === "member" && expected.superReceiver !== Object.hasOwn(expression, "superReceiver") || expected.kind === "object" && expected.key !== Object.hasOwn(expression, "key"))
22652
22686
  throw new TypeError("Invalid generator AST identity: unrelated expression continuation");
22653
22687
  }
22654
22688
  }
@@ -38894,4 +38928,4 @@ export {
38894
38928
  FileSnapshotBackend,
38895
38929
  run
38896
38930
  };
38897
- //# sourceMappingURL=chunk-DQY3GFKQ.js.map
38931
+ //# sourceMappingURL=chunk-P2JEDD2J.js.map