@pulse-compute/wasm-contracts 1.0.0-beta.2 → 1.0.0-beta.3

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/README.md CHANGED
@@ -7,9 +7,9 @@
7
7
  > **Supported entry points:** `@pulse-compute/wasm-contracts/provider/toolchain`<br>
8
8
  > **Stability:** The provider toolchain contract is versioned and supported for the Beta; other protocol and proof interfaces remain internal.<br>
9
9
  > **npm:** [`@pulse-compute/wasm-contracts`](https://www.npmjs.com/package/@pulse-compute/wasm-contracts)<br>
10
- > **Canonical documentation:** [Package guide](https://pulsecompute.io/v1.0.0-beta.2/packages/implementation-packages/)
10
+ > **Canonical documentation:** [Package guide](https://pulsecompute.io/v1.0.0-beta.3/packages/implementation-packages/)
11
11
  >
12
- > This release-status block is generated from the synchronized `Pulse 1.0.0-beta.2` package policy.
12
+ > This release-status block is generated from the synchronized `Pulse 1.0.0-beta.3` package policy.
13
13
  <!-- pulse-package-status:end -->
14
14
 
15
15
  This package owns stable data contracts shared by the compiler, runtime, and providers.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulse-compute/wasm-contracts",
3
- "version": "1.0.0-beta.2",
3
+ "version": "1.0.0-beta.3",
4
4
  "license": "Apache-2.0",
5
5
  "engines": {
6
6
  "node": "^22.14.0 || ^24.0.0"
@@ -126,7 +126,7 @@
126
126
  "url": "git+https://github.com/pulse-compute/pulse.git",
127
127
  "directory": "wasm/packages/contracts"
128
128
  },
129
- "homepage": "https://pulsecompute.io/v1.0.0-beta.2/packages/implementation-packages/",
129
+ "homepage": "https://pulsecompute.io/v1.0.0-beta.3/packages/implementation-packages/",
130
130
  "bugs": {
131
131
  "url": "https://github.com/pulse-compute/pulse/issues"
132
132
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  const path = require('node:path');
4
4
 
5
- const PACKAGE_VERSION = 'pulsewasm-route-extractor@1.0.0-beta.2';
5
+ const PACKAGE_VERSION = 'pulsewasm-route-extractor@1.0.0-beta.3';
6
6
  const DIAGNOSTICS_VERSION = 'pulsewasm.diagnostics.v1';
7
7
 
8
8
  function stableFileName(fileName, cwd) {
@@ -51,6 +51,7 @@ const DRIVER_FIELDS = Object.freeze([
51
51
  'events',
52
52
  'targets',
53
53
  'execute',
54
+ 'prepareNativeExecution',
54
55
  'createLoweringPlan',
55
56
  'inspectRealization',
56
57
  'writeTarget',
@@ -366,6 +367,9 @@ function defineProviderDriver(input, expected = {}) {
366
367
  if ((targets.native && (targets.native.commands.test || targets.native.commands.dev)) && typeof input.execute !== 'function') {
367
368
  throw new TypeError(`Pulse provider driver ${id} is missing execute().`);
368
369
  }
370
+ if (input.prepareNativeExecution !== undefined && typeof input.prepareNativeExecution !== 'function') {
371
+ throw new TypeError(`Pulse provider driver ${id} prepareNativeExecution must be a function.`);
372
+ }
369
373
  const descriptor = input.descriptor === undefined ? undefined : normalizeDescriptor(input.descriptor);
370
374
  if (descriptor && descriptor.id !== id) throw new TypeError(`Pulse provider driver ${id} descriptor identity does not match.`);
371
375
  const javascript = normalizeJavascriptDriver(input.javascript, targets.javascript);
@@ -392,6 +396,7 @@ function defineProviderDriver(input, expected = {}) {
392
396
  events,
393
397
  targets,
394
398
  execute: input.execute,
399
+ prepareNativeExecution: input.prepareNativeExecution,
395
400
  createLoweringPlan: input.createLoweringPlan,
396
401
  inspectRealization: input.inspectRealization,
397
402
  writeTarget: input.writeTarget,
@@ -622,7 +627,7 @@ function createProviderTargetInvocation(input) {
622
627
  throw new TypeError(`Pulse provider target invocation version must be ${PROVIDER_TARGET_INVOCATION_VERSION}.`);
623
628
  }
624
629
  const action = nonEmpty(input.action, 'invocation action');
625
- if (!['inspect-native', 'write-native', 'write-javascript'].includes(action)) {
630
+ if (!['inspect-native', 'write-native', 'write-javascript', 'execute-native'].includes(action)) {
626
631
  throw new TypeError(`Pulse provider target invocation action ${action} is unsupported.`);
627
632
  }
628
633
  const target = action.endsWith('javascript') ? 'javascript' : 'native';