@poe-platform/safe-js 0.1.734 → 0.1.735

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.
Files changed (44) hide show
  1. package/README.md +1 -1
  2. package/dist/safe-js/chunks/{chunk-MDIWQFYU.js → chunk-5X7TFA3E.js} +27 -6
  3. package/dist/safe-js/chunks/{chunk-MDIWQFYU.js.map → chunk-5X7TFA3E.js.map} +2 -2
  4. package/dist/safe-js/chunks/{chunk-WS2FJBH6.js → chunk-6G3J4CW7.js} +2 -2
  5. package/dist/safe-js/chunks/{chunk-K4T4EBED.js → chunk-7R3KDASZ.js} +2 -2
  6. package/dist/safe-js/chunks/{chunk-O4IDRXW7.js → chunk-JSXHEWUQ.js} +3 -3
  7. package/dist/safe-js/chunks/{chunk-P64CQIUA.js → chunk-MTQWXXXX.js} +2 -2
  8. package/dist/safe-js/chunks/{chunk-X3CKAZQ4.js → chunk-PPIYB46P.js} +2 -2
  9. package/dist/safe-js/chunks/{chunk-PSVV3IG2.js → chunk-SHVW6TCE.js} +2 -2
  10. package/dist/safe-js/chunks/{chunk-E4XLBT7R.js → chunk-U33B2YAT.js} +2 -2
  11. package/dist/safe-js/chunks/{chunk-GNEORAQI.js → chunk-VTIHUINQ.js} +21 -11
  12. package/dist/safe-js/chunks/chunk-VTIHUINQ.js.map +7 -0
  13. package/dist/safe-js/chunks/{chunk-W4SWUHCQ.js → chunk-WGHFQSF5.js} +3 -3
  14. package/dist/safe-js/chunks/{cli-runtime-ZSOTNIVC.js → cli-runtime-ZUBPVST5.js} +8 -8
  15. package/dist/safe-js/chunks/{dump-RGRC3CG3.js → dump-YCUYBGSZ.js} +3 -3
  16. package/dist/safe-js/chunks/{harness-UMOMFXDT.js → harness-BSIQQFYL.js} +3 -3
  17. package/dist/safe-js/chunks/{mcp-2Z4XWHKW.js → mcp-JBFGRP6T.js} +3 -3
  18. package/dist/safe-js/chunks/{migration-file-KRXQYI3Q.js → migration-file-ISSKTEAS.js} +4 -4
  19. package/dist/safe-js/chunks/{restore-GEO7VN2R.js → restore-NHLS3LCF.js} +4 -4
  20. package/dist/safe-js/chunks/{run-ZSFX66RN.js → run-IBQKVJTY.js} +6 -6
  21. package/dist/safe-js/chunks/{runtime-modules-A3U2DKFL.js → runtime-modules-AFF6IQR2.js} +3 -3
  22. package/dist/safe-js/cli.js +2 -2
  23. package/dist/safe-js/core.js +5 -5
  24. package/dist/safe-js/index.js +10 -10
  25. package/dist/safe-js/interp/host-bridge.d.ts +3 -1
  26. package/dist/safe-js/modules/fs.js +2 -2
  27. package/package.json +2 -2
  28. package/dist/safe-js/chunks/chunk-GNEORAQI.js.map +0 -7
  29. /package/dist/safe-js/chunks/{chunk-WS2FJBH6.js.map → chunk-6G3J4CW7.js.map} +0 -0
  30. /package/dist/safe-js/chunks/{chunk-K4T4EBED.js.map → chunk-7R3KDASZ.js.map} +0 -0
  31. /package/dist/safe-js/chunks/{chunk-O4IDRXW7.js.map → chunk-JSXHEWUQ.js.map} +0 -0
  32. /package/dist/safe-js/chunks/{chunk-P64CQIUA.js.map → chunk-MTQWXXXX.js.map} +0 -0
  33. /package/dist/safe-js/chunks/{chunk-X3CKAZQ4.js.map → chunk-PPIYB46P.js.map} +0 -0
  34. /package/dist/safe-js/chunks/{chunk-PSVV3IG2.js.map → chunk-SHVW6TCE.js.map} +0 -0
  35. /package/dist/safe-js/chunks/{chunk-E4XLBT7R.js.map → chunk-U33B2YAT.js.map} +0 -0
  36. /package/dist/safe-js/chunks/{chunk-W4SWUHCQ.js.map → chunk-WGHFQSF5.js.map} +0 -0
  37. /package/dist/safe-js/chunks/{cli-runtime-ZSOTNIVC.js.map → cli-runtime-ZUBPVST5.js.map} +0 -0
  38. /package/dist/safe-js/chunks/{dump-RGRC3CG3.js.map → dump-YCUYBGSZ.js.map} +0 -0
  39. /package/dist/safe-js/chunks/{harness-UMOMFXDT.js.map → harness-BSIQQFYL.js.map} +0 -0
  40. /package/dist/safe-js/chunks/{mcp-2Z4XWHKW.js.map → mcp-JBFGRP6T.js.map} +0 -0
  41. /package/dist/safe-js/chunks/{migration-file-KRXQYI3Q.js.map → migration-file-ISSKTEAS.js.map} +0 -0
  42. /package/dist/safe-js/chunks/{restore-GEO7VN2R.js.map → restore-NHLS3LCF.js.map} +0 -0
  43. /package/dist/safe-js/chunks/{run-ZSFX66RN.js.map → run-IBQKVJTY.js.map} +0 -0
  44. /package/dist/safe-js/chunks/{runtime-modules-A3U2DKFL.js.map → runtime-modules-AFF6IQR2.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  deepCopyToSandbox
3
- } from "./chunk-MDIWQFYU.js";
3
+ } from "./chunk-5X7TFA3E.js";
4
4
 
5
5
  // packages/safe-js/src/modules/harness.ts
6
6
  function makeHarnessModule(frontmatter, meta) {
@@ -52,4 +52,4 @@ ${prompt}`;
52
52
  export {
53
53
  makeHarnessModule
54
54
  };
55
- //# sourceMappingURL=chunk-WS2FJBH6.js.map
55
+ //# sourceMappingURL=chunk-6G3J4CW7.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  declareBudgetedHostOperation,
9
9
  declareHostOperation
10
- } from "./chunk-MDIWQFYU.js";
10
+ } from "./chunk-5X7TFA3E.js";
11
11
  import {
12
12
  basename,
13
13
  dirname,
@@ -742,4 +742,4 @@ export {
742
742
  FS_OPTION_SURFACE,
743
743
  makeFsModule
744
744
  };
745
- //# sourceMappingURL=chunk-K4T4EBED.js.map
745
+ //# sourceMappingURL=chunk-7R3KDASZ.js.map
@@ -2,7 +2,7 @@ import {
2
2
  hashParsedAst,
3
3
  hashSource,
4
4
  validateSnapshotMigration
5
- } from "./chunk-PSVV3IG2.js";
5
+ } from "./chunk-SHVW6TCE.js";
6
6
  import {
7
7
  SnapshotValidationError,
8
8
  assertSnapshotInactive,
@@ -15,7 +15,7 @@ import {
15
15
  validateGuestFunctionAst,
16
16
  validateRuntimeSnapshotDescriptors,
17
17
  validateTemplateObjects
18
- } from "./chunk-MDIWQFYU.js";
18
+ } from "./chunk-5X7TFA3E.js";
19
19
  import {
20
20
  ParseError,
21
21
  parseExecutableModule,
@@ -111,4 +111,4 @@ export {
111
111
  SnapshotMismatchError,
112
112
  restore
113
113
  };
114
- //# sourceMappingURL=chunk-O4IDRXW7.js.map
114
+ //# sourceMappingURL=chunk-JSXHEWUQ.js.map
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  declareHostOperation,
8
8
  runResources
9
- } from "./chunk-MDIWQFYU.js";
9
+ } from "./chunk-5X7TFA3E.js";
10
10
  import {
11
11
  hostErrorData
12
12
  } from "./chunk-QKO4FATZ.js";
@@ -402,4 +402,4 @@ function isPlainObjectRecord(value) {
402
402
  export {
403
403
  makeMcpModule
404
404
  };
405
- //# sourceMappingURL=chunk-P64CQIUA.js.map
405
+ //# sourceMappingURL=chunk-MTQWXXXX.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SnapshotNotReadyError,
3
3
  serializeSafeJSSnapshot
4
- } from "./chunk-MDIWQFYU.js";
4
+ } from "./chunk-5X7TFA3E.js";
5
5
  import {
6
6
  SandboxError
7
7
  } from "./chunk-QKO4FATZ.js";
@@ -195,4 +195,4 @@ export {
195
195
  dumpCurrent,
196
196
  serializeRunSnapshot
197
197
  };
198
- //# sourceMappingURL=chunk-X3CKAZQ4.js.map
198
+ //# sourceMappingURL=chunk-PPIYB46P.js.map
@@ -2,7 +2,7 @@ import {
2
2
  HostCallJournal,
3
3
  decodeReplayData,
4
4
  validateSnapshotData
5
- } from "./chunk-MDIWQFYU.js";
5
+ } from "./chunk-5X7TFA3E.js";
6
6
  import {
7
7
  CompileScope,
8
8
  SandboxError,
@@ -219,4 +219,4 @@ export {
219
219
  validateMigrationReconciliation,
220
220
  validateSnapshotMigration
221
221
  };
222
- //# sourceMappingURL=chunk-PSVV3IG2.js.map
222
+ //# sourceMappingURL=chunk-SHVW6TCE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSandboxClosure
3
- } from "./chunk-MDIWQFYU.js";
3
+ } from "./chunk-5X7TFA3E.js";
4
4
 
5
5
  // packages/safe-js/src/lint/runtime-modules.ts
6
6
  var AsyncFunction = (async () => void 0).constructor;
@@ -34,4 +34,4 @@ function isAsyncRuntimeExport(value) {
34
34
  export {
35
35
  createLintModulesFromRuntimeRegistry
36
36
  };
37
- //# sourceMappingURL=chunk-E4XLBT7R.js.map
37
+ //# sourceMappingURL=chunk-U33B2YAT.js.map
@@ -7,15 +7,15 @@ import {
7
7
  } from "./chunk-2GVBG23M.js";
8
8
  import {
9
9
  restore
10
- } from "./chunk-O4IDRXW7.js";
10
+ } from "./chunk-JSXHEWUQ.js";
11
11
  import {
12
12
  hashParsedAst,
13
13
  hashSource
14
- } from "./chunk-PSVV3IG2.js";
14
+ } from "./chunk-SHVW6TCE.js";
15
15
  import {
16
16
  attachDumpController,
17
17
  createDumpController
18
- } from "./chunk-X3CKAZQ4.js";
18
+ } from "./chunk-PPIYB46P.js";
19
19
  import {
20
20
  DUMP_FORMAT_VERSION,
21
21
  EXECUTION_SEMANTICS,
@@ -93,6 +93,7 @@ import {
93
93
  runAsyncPrefix,
94
94
  runResources,
95
95
  sandboxGetProperty,
96
+ schedulesHostCallbacks,
96
97
  serializeSafeJSSnapshot,
97
98
  setSandboxPrototype,
98
99
  suspendJob,
@@ -102,7 +103,7 @@ import {
102
103
  withSandboxPromiseRejectionTracker,
103
104
  wrapCallerInjectedBindings,
104
105
  wrapCancelableBindings
105
- } from "./chunk-MDIWQFYU.js";
106
+ } from "./chunk-5X7TFA3E.js";
106
107
  import {
107
108
  Budget,
108
109
  CompileScope,
@@ -752,6 +753,8 @@ var RealmState = class {
752
753
  pendingWork = /* @__PURE__ */ new Set();
753
754
  releaseReconciliation;
754
755
  callbackCache = /* @__PURE__ */ new WeakMap();
756
+ queuedCallbackCache = /* @__PURE__ */ new WeakMap();
757
+ queuedCallbacks = /* @__PURE__ */ new WeakSet();
755
758
  hostObjects = /* @__PURE__ */ new Set();
756
759
  guestReferences = /* @__PURE__ */ new Map();
757
760
  retainedOperations = /* @__PURE__ */ new WeakMap();
@@ -789,6 +792,7 @@ var RealmState = class {
789
792
  return nativeRetainedArrayPrototype(roots, retainedArrayPrototype);
790
793
  };
791
794
  captureArguments = (operation, args, copy) => {
795
+ const queued = schedulesHostCallbacks(operation);
792
796
  const from = this.retainedOperations.get(operation)?.from ?? args.length;
793
797
  const owned = this.callbackOperations.has(operation) ? /* @__PURE__ */ new Map() : void 0;
794
798
  const captured = [];
@@ -803,10 +807,10 @@ var RealmState = class {
803
807
  }
804
808
  };
805
809
  try {
806
- const values = copy(args.slice(0, from), owned === void 0 ? void 0 : (closure) => {
810
+ const values = copy(args.slice(0, from), owned === void 0 ? queued ? (closure) => this.wrapCallback(closure, false, true) : void 0 : (closure) => {
807
811
  let callback = owned.get(closure);
808
812
  if (callback === void 0) {
809
- callback = this.wrapCallback(closure, true);
813
+ callback = this.wrapCallback(closure, true, queued);
810
814
  owned.set(closure, callback);
811
815
  }
812
816
  return callback;
@@ -1071,9 +1075,10 @@ var RealmState = class {
1071
1075
  }
1072
1076
  return object;
1073
1077
  };
1074
- wrapCallback = (closure, owned = false) => {
1078
+ wrapCallback = (closure, owned = false, queued = false) => {
1075
1079
  this.assertOpen();
1076
- const existing = owned ? void 0 : this.callbackCache.get(closure);
1080
+ const cache = queued ? this.queuedCallbackCache : this.callbackCache;
1081
+ const existing = owned ? void 0 : cache.get(closure);
1077
1082
  if (existing !== void 0 && this.callbacks.has(existing)) return existing;
1078
1083
  this.checkCollection(this.callbacks.size + 1, this.limits.callbacks, "callback");
1079
1084
  const invokeCallback = this.invokeCallback;
@@ -1081,7 +1086,8 @@ var RealmState = class {
1081
1086
  return invokeCallback(callback, { args, thisValue: this });
1082
1087
  };
1083
1088
  this.callbacks.set(callback, closure);
1084
- if (!owned) this.callbackCache.set(closure, callback);
1089
+ if (!owned) cache.set(closure, callback);
1090
+ if (queued) this.queuedCallbacks.add(callback);
1085
1091
  registerGuestCallback(callback, {
1086
1092
  owner: this,
1087
1093
  closure,
@@ -1139,6 +1145,10 @@ var RealmState = class {
1139
1145
  if (scheduled) this.releaseReconciliation ??= this.budget.deferReconciliation();
1140
1146
  const rejectionOwner = scheduled ? this.tracker.startOperation() : void 0;
1141
1147
  const invoke = async () => {
1148
+ if (this.queuedCallbacks.has(callback)) {
1149
+ this.options.signal?.throwIfAborted();
1150
+ this.controller.signal.throwIfAborted();
1151
+ }
1142
1152
  this.assertOpen();
1143
1153
  readGuestCallback(callback, this);
1144
1154
  const leave = enterRunningState(closure);
@@ -1187,7 +1197,7 @@ var RealmState = class {
1187
1197
  this.resources,
1188
1198
  () => withCancellationSignal(
1189
1199
  this.controller.signal,
1190
- () => active && this.phase.getStore()?.active ? runAsyncPrefix(invoke, completeSynchronous === void 0 && this.phase.getStore()?.extension !== void 0) : this.queue.run(invoke)
1200
+ () => !this.queuedCallbacks.has(callback) && active && this.phase.getStore()?.active ? runAsyncPrefix(invoke, completeSynchronous === void 0 && this.phase.getStore()?.extension !== void 0) : this.queue.run(invoke)
1191
1201
  )
1192
1202
  )
1193
1203
  )
@@ -2829,4 +2839,4 @@ export {
2829
2839
  UnhandledRejectionError,
2830
2840
  run
2831
2841
  };
2832
- //# sourceMappingURL=chunk-GNEORAQI.js.map
2842
+ //# sourceMappingURL=chunk-VTIHUINQ.js.map