@polyengine/runtime 0.3.0 → 0.3.1-pre.g31d29b3

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.
@@ -29,7 +29,7 @@ export const COPY_URL = import.meta.url;
29
29
  * @internal — copy-identity constant for the A9 multi-copy diagnostics; not
30
30
  * host-facing.
31
31
  */
32
- export const RUNTIME_VERSION = "0.3.0";
32
+ export const RUNTIME_VERSION = "0.3.1";
33
33
  /**
34
34
  * Compose a cross-copy diagnostic: what was foreign, which copy is speaking,
35
35
  * the census of every copy in the graph, and the by-value remediation.
@@ -473,6 +473,15 @@ export class SuspensionPoint {
473
473
  // like the value path. Missing it here is what `trap-if-done.wast:448`
474
474
  // and the `assert_trap` rows of `big-interleaving-test.wast` detect
475
475
  // ("exit-sync-call with an empty sync-call stack").
476
+ //
477
+ // Symmetry with the success arm below (issue #158): if the DRIVER's slot
478
+ // is live for the activation currently executing, that activation is the
479
+ // code delivering this resume (a running guest's `subtask.cancel`, whose
480
+ // `produce` computes a trap), so its claim window has closed — consume it
481
+ // rather than false-positive the one-claimant assert in
482
+ // `setResumingThread`. Without this the assert preempts `#fail(e)` and
483
+ // the parked guest receives an AssertionError in place of its trap.
484
+ consumeClaimIfRunning();
476
485
  if (maybeCurrentThread() === undefined)
477
486
  claimActivationAmbient(this.owner);
478
487
  setResumingThread(this.task?.implicitThread ?? null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyengine/runtime",
3
- "version": "0.3.0",
3
+ "version": "0.3.1-pre.g31d29b3",
4
4
  "description": "A WebAssembly Component Model host for JavaScript engines: plan executor, canonical ABI, 0.3 task scheduler, JSPI bridge, and embedder API.",
5
5
  "homepage": "https://github.com/polymorph-components/polyengine#readme",
6
6
  "repository": {
@@ -55,7 +55,7 @@
55
55
  "access": "public"
56
56
  },
57
57
  "dependencies": {
58
- "@polyengine/protocol": "0.3.0"
58
+ "@polyengine/protocol": "0.3.1-pre.g31d29b3"
59
59
  },
60
60
  "_generatedBy": "dnt@0.43.2"
61
61
  }
@@ -17,7 +17,7 @@ export declare const COPY_URL: string;
17
17
  * @internal — copy-identity constant for the A9 multi-copy diagnostics; not
18
18
  * host-facing.
19
19
  */
20
- export declare const RUNTIME_VERSION = "0.3.0";
20
+ export declare const RUNTIME_VERSION = "0.3.1";
21
21
  /**
22
22
  * Compose a cross-copy diagnostic: what was foreign, which copy is speaking,
23
23
  * the census of every copy in the graph, and the by-value remediation.