@poe-platform/safe-js 0.1.223 → 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.
- package/dist/safe-js/chunks/{chunk-JJKJAB53.js → chunk-NG6CD75M.js} +2 -2
- package/dist/safe-js/chunks/{chunk-PEHO3DVD.js → chunk-P2JEDD2J.js} +64 -13
- package/dist/safe-js/chunks/chunk-P2JEDD2J.js.map +7 -0
- package/dist/safe-js/cli.js +2 -2
- package/dist/safe-js/core.js +1 -1
- package/dist/safe-js/index.js +2 -2
- package/dist/safe-js/interp/generator-expression-state.d.ts +11 -0
- package/package.json +2 -2
- package/dist/safe-js/chunks/chunk-PEHO3DVD.js.map +0 -7
- /package/dist/safe-js/chunks/{chunk-JJKJAB53.js.map → chunk-NG6CD75M.js.map} +0 -0
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
validateMigrationSemantics,
|
|
28
28
|
validateSnapshotData,
|
|
29
29
|
validateSnapshotMigration
|
|
30
|
-
} from "./chunk-
|
|
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-
|
|
8252
|
+
//# sourceMappingURL=chunk-NG6CD75M.js.map
|
|
@@ -8581,7 +8581,18 @@ 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 === "
|
|
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" ? {
|
|
8592
|
+
kind: "member",
|
|
8593
|
+
object: encode(expression.object),
|
|
8594
|
+
...Object.hasOwn(expression, "superReceiver") ? { superReceiver: encode(expression.superReceiver) } : {}
|
|
8595
|
+
} : expression.kind === "template" ? { ...expression } : expression.kind === "object" ? {
|
|
8585
8596
|
kind: "object",
|
|
8586
8597
|
value: encode(expression.value),
|
|
8587
8598
|
index: expression.index,
|
|
@@ -16870,13 +16881,15 @@ async function evaluateMemberAssignmentExpression(node, context) {
|
|
|
16870
16881
|
if (node.left.type !== "MemberExpression") {
|
|
16871
16882
|
throw new TypeError("Expected member assignment target.");
|
|
16872
16883
|
}
|
|
16873
|
-
|
|
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) => {
|
|
16874
16887
|
if (member.kind === "nullish") {
|
|
16875
16888
|
throw new TypeError("Cannot assign properties of null or undefined.");
|
|
16876
16889
|
}
|
|
16877
|
-
let property;
|
|
16878
|
-
let current =
|
|
16879
|
-
if (node.operator !== "=") {
|
|
16890
|
+
let property = restored?.key;
|
|
16891
|
+
let current = restored?.current;
|
|
16892
|
+
if (node.operator !== "=" && restored === void 0) {
|
|
16880
16893
|
if (member.object === null || member.object === void 0) {
|
|
16881
16894
|
throw new TypeError("Cannot assign properties of null or undefined.");
|
|
16882
16895
|
}
|
|
@@ -16913,7 +16926,18 @@ async function evaluateMemberAssignmentExpression(node, context) {
|
|
|
16913
16926
|
value: current
|
|
16914
16927
|
};
|
|
16915
16928
|
}
|
|
16916
|
-
|
|
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];
|
|
16917
16941
|
const release = retainValues(context.budget, () => operands);
|
|
16918
16942
|
try {
|
|
16919
16943
|
const right = await evaluateNode(node.right, context);
|
|
@@ -16925,7 +16949,7 @@ async function evaluateMemberAssignmentExpression(node, context) {
|
|
|
16925
16949
|
if (member.object === null || member.object === void 0) {
|
|
16926
16950
|
throw new TypeError("Cannot assign properties of null or undefined.");
|
|
16927
16951
|
}
|
|
16928
|
-
operands = [value];
|
|
16952
|
+
operands = [value, member.object, member.property, member.superReceiver?.value];
|
|
16929
16953
|
property ??= await toPropertyKey(
|
|
16930
16954
|
member.property,
|
|
16931
16955
|
context.budget,
|
|
@@ -16950,7 +16974,14 @@ async function evaluateMemberAssignmentExpression(node, context) {
|
|
|
16950
16974
|
} finally {
|
|
16951
16975
|
release();
|
|
16952
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 } } : {}
|
|
16953
16983
|
});
|
|
16984
|
+
return evaluateMemberAccess(node.left, context, assign);
|
|
16954
16985
|
}
|
|
16955
16986
|
async function evaluateLogicalExpression(node, context) {
|
|
16956
16987
|
if (context.generatorResume !== void 0 && containsResumeTarget(node.right, /* @__PURE__ */ new Set([context.generatorResume.yieldNodeId])))
|
|
@@ -18228,13 +18259,24 @@ function attachFatalSandboxErrorContext(error, node, stackFrames) {
|
|
|
18228
18259
|
replaceErrorStack(error, stackFrames);
|
|
18229
18260
|
}
|
|
18230
18261
|
async function evaluateMemberAccess(node, context, consume) {
|
|
18231
|
-
const
|
|
18232
|
-
|
|
18262
|
+
const restored = context.generatorResume === void 0 || node.nodeId === void 0 ? void 0 : context.restoredGeneratorExpressionStates?.get(node.nodeId);
|
|
18263
|
+
if (restored !== void 0 && restored.kind !== "member") throw new TypeError("Invalid member continuation.");
|
|
18264
|
+
const thisBinding = node.object.type === "Super" ? context.scope.lookup("this") : void 0;
|
|
18265
|
+
const superReceiver = restored?.kind === "member" && Object.hasOwn(restored, "superReceiver") ? { value: restored.superReceiver } : thisBinding === void 0 ? void 0 : { value: thisBinding.found ? thisBinding.value : void 0 };
|
|
18266
|
+
const object = restored?.kind === "member" ? { kind: "normal", value: restored.object } : await evaluateNode(node.object, context);
|
|
18233
18267
|
if (object.kind !== "normal") return object;
|
|
18234
18268
|
if ((object.value === null || object.value === void 0) && node.optional) {
|
|
18235
18269
|
return consume({ kind: "nullish" });
|
|
18236
18270
|
}
|
|
18237
18271
|
let property;
|
|
18272
|
+
if (node.computed && context.generatorYield !== void 0 && node.nodeId !== void 0) {
|
|
18273
|
+
const state = {
|
|
18274
|
+
kind: "member",
|
|
18275
|
+
object: object.value,
|
|
18276
|
+
...superReceiver === void 0 ? {} : { superReceiver: superReceiver.value }
|
|
18277
|
+
};
|
|
18278
|
+
context = { ...context, generatorExpressionStates: new Map([...context.generatorExpressionStates ?? [], [node.nodeId, state]]) };
|
|
18279
|
+
}
|
|
18238
18280
|
const release = retainValues(context.budget, () => [object.value, property]);
|
|
18239
18281
|
try {
|
|
18240
18282
|
const result = node.computed ? await evaluateNode(node.property, context) : { kind: "normal", value: getStaticPropertyName2(node.property) };
|
|
@@ -18244,7 +18286,7 @@ async function evaluateMemberAccess(node, context, consume) {
|
|
|
18244
18286
|
kind: "resolved",
|
|
18245
18287
|
object: object.value,
|
|
18246
18288
|
property,
|
|
18247
|
-
...superReceiver === void 0 ? {} : { superReceiver
|
|
18289
|
+
...superReceiver === void 0 ? {} : { superReceiver }
|
|
18248
18290
|
});
|
|
18249
18291
|
} finally {
|
|
18250
18292
|
release();
|
|
@@ -22430,6 +22472,11 @@ function validateGuestHeapNode(raw, heap, maxArrayLength = 4294967295) {
|
|
|
22430
22472
|
const expression = record2(raw2);
|
|
22431
22473
|
if (expression.kind === "binary") {
|
|
22432
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"]);
|
|
22478
|
+
} else if (expression.kind === "member") {
|
|
22479
|
+
fields(expression, ["kind", "object"], ["superReceiver"]);
|
|
22433
22480
|
} else if (expression.kind === "template") {
|
|
22434
22481
|
fields(expression, ["kind", "prefix", "index"]);
|
|
22435
22482
|
integer(expression.index);
|
|
@@ -22605,7 +22652,11 @@ function validateGuestFunctionAst(record3, origin) {
|
|
|
22605
22652
|
pending.push({
|
|
22606
22653
|
value,
|
|
22607
22654
|
blocks,
|
|
22608
|
-
expressions: node.type === "BinaryExpression" && key === "right" && typeof node.nodeId === "number" ? new Map([...frame.expressions, [node.nodeId, { kind: "binary" }]]) : 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,
|
|
22609
22660
|
finalizers: node.type === "TryStatement" && key === "finalizer" && typeof node.nodeId === "number" ? /* @__PURE__ */ new Set([...frame.finalizers, node.nodeId]) : frame.finalizers
|
|
22610
22661
|
});
|
|
22611
22662
|
}
|
|
@@ -22631,7 +22682,7 @@ function validateGuestFunctionAst(record3, origin) {
|
|
|
22631
22682
|
for (const [id, expression] of expressions) {
|
|
22632
22683
|
const expected = yieldExpressions?.get(Number(id));
|
|
22633
22684
|
const compatibleKind = expected?.kind === expression.kind || expected?.kind === "call" && expected.member === true && expression.kind === "array-call";
|
|
22634
|
-
if (expected === void 0 || !compatibleKind || expected.kind !== "binary" && expected.index !== expression.index || 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"))
|
|
22635
22686
|
throw new TypeError("Invalid generator AST identity: unrelated expression continuation");
|
|
22636
22687
|
}
|
|
22637
22688
|
}
|
|
@@ -38877,4 +38928,4 @@ export {
|
|
|
38877
38928
|
FileSnapshotBackend,
|
|
38878
38929
|
run
|
|
38879
38930
|
};
|
|
38880
|
-
//# sourceMappingURL=chunk-
|
|
38931
|
+
//# sourceMappingURL=chunk-P2JEDD2J.js.map
|