diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c612146..6881e84 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,7 @@ jobs: # Owns the rev derivation, the rev-keyed tools cache, the # install, and the pins gate; the justfile's _ct-tools # recognizes the stamped install and does not repeat it. - uses: polymorph-components/polymorph-test/actions/setup@3ec431717895b2e4fa81500794e0da7fd13e26e7 + uses: polymorph-components/polymorph-test/actions/setup@b4444a25a22106ad4128549bdc9e579552e62210 with: tools: component-test-cli js-locks: | @@ -133,7 +133,7 @@ jobs: # against the pin. - name: Publish the conformance matrix if: always() && hashFiles('conformance/driver-ct/results/*.jsonl') != '' - uses: polymorph-components/polymorph-test/actions/aggregate@3ec431717895b2e4fa81500794e0da7fd13e26e7 + uses: polymorph-components/polymorph-test/actions/aggregate@b4444a25a22106ad4128549bdc9e579552e62210 with: lock: conformance/guest-ct/tests.lock manifest: conformance/driver-ct/targets.toml diff --git a/Cargo.lock b/Cargo.lock index d3c4e42..7ac0c80 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -180,7 +180,7 @@ dependencies = [ [[package]] name = "component-test-core" version = "0.1.0" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=3ec431717895b2e4fa81500794e0da7fd13e26e7#3ec431717895b2e4fa81500794e0da7fd13e26e7" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=b4444a25a22106ad4128549bdc9e579552e62210#b4444a25a22106ad4128549bdc9e579552e62210" dependencies = [ "arcstr", "serde", @@ -189,7 +189,7 @@ dependencies = [ [[package]] name = "component-test-formats" version = "0.1.0" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=3ec431717895b2e4fa81500794e0da7fd13e26e7#3ec431717895b2e4fa81500794e0da7fd13e26e7" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=b4444a25a22106ad4128549bdc9e579552e62210#b4444a25a22106ad4128549bdc9e579552e62210" dependencies = [ "anyhow", "component-test-core", @@ -204,7 +204,7 @@ dependencies = [ [[package]] name = "component-test-results" version = "0.1.0" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=3ec431717895b2e4fa81500794e0da7fd13e26e7#3ec431717895b2e4fa81500794e0da7fd13e26e7" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=b4444a25a22106ad4128549bdc9e579552e62210#b4444a25a22106ad4128549bdc9e579552e62210" dependencies = [ "anyhow", "component-test-core", @@ -215,7 +215,7 @@ dependencies = [ [[package]] name = "component-test-runner" version = "0.1.0" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=3ec431717895b2e4fa81500794e0da7fd13e26e7#3ec431717895b2e4fa81500794e0da7fd13e26e7" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=b4444a25a22106ad4128549bdc9e579552e62210#b4444a25a22106ad4128549bdc9e579552e62210" dependencies = [ "anyhow", "component-test-core", @@ -231,7 +231,7 @@ dependencies = [ [[package]] name = "component-test-sdk" version = "0.1.0" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=3ec431717895b2e4fa81500794e0da7fd13e26e7#3ec431717895b2e4fa81500794e0da7fd13e26e7" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=b4444a25a22106ad4128549bdc9e579552e62210#b4444a25a22106ad4128549bdc9e579552e62210" dependencies = [ "component-test-core", "component-test-sdk-macro", @@ -243,7 +243,7 @@ dependencies = [ [[package]] name = "component-test-sdk-macro" version = "0.1.0" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=3ec431717895b2e4fa81500794e0da7fd13e26e7#3ec431717895b2e4fa81500794e0da7fd13e26e7" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=b4444a25a22106ad4128549bdc9e579552e62210#b4444a25a22106ad4128549bdc9e579552e62210" dependencies = [ "component-test-core", "proc-macro2", @@ -1814,7 +1814,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.3", + "getrandom 0.3.4", "once_cell", "rustix", "windows-sys 0.61.2", diff --git a/Cargo.toml b/Cargo.toml index 9823088..2ef102b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,8 +32,8 @@ default-members = [ # .github/workflows/ci.yml`, then `cargo update component-test-sdk # component-test-runner` and `pnpm --dir conformance/driver-ct/deltic # install`; the _ct-tools pins gate and the CI ref guard fail on skew. -component-test-sdk = { git = "https://github.com/polymorph-components/polymorph-test", rev = "3ec431717895b2e4fa81500794e0da7fd13e26e7" } -component-test-runner = { git = "https://github.com/polymorph-components/polymorph-test", rev = "3ec431717895b2e4fa81500794e0da7fd13e26e7" } +component-test-sdk = { git = "https://github.com/polymorph-components/polymorph-test", rev = "b4444a25a22106ad4128549bdc9e579552e62210" } +component-test-runner = { git = "https://github.com/polymorph-components/polymorph-test", rev = "b4444a25a22106ad4128549bdc9e579552e62210" } anyhow = "1" bytes = "1" futures = "0.3" diff --git a/README.md b/README.md index dba236b..1a7ef0f 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,14 @@ holds them to one behavior. Open questions and findings are tracked in the [`tokio-tungstenite`]: https://github.com/snapview/tokio-tungstenite +## Releases + +Everything here is **unstable** (0.x), but [releases](../../releases) are +**caret-honest**: within a minor line they stay backward-compatible, and +anything breaking bumps the minor. Consumption is pinned at a release's +commit — cargo git dependencies, vendored WIT, the release-pinned +deltic/JSR graph — and bumped deliberately. + ## Why this exists WebAssembly components have no standard WebSocket path today: `wasi:http` diff --git a/conformance/driver-ct/deltic/browser-bundle-entry.ts b/conformance/driver-ct/deltic/browser-bundle-entry.ts index c41bd1c..6ea0313 100644 --- a/conformance/driver-ct/deltic/browser-bundle-entry.ts +++ b/conformance/driver-ct/deltic/browser-bundle-entry.ts @@ -9,10 +9,10 @@ // map — the single deltic pin site), the emitted module is what // browser/worker-entry.ts imports as `@deltic/release-bundle-entry` // used to. Same export surface: instantiate/Translator/runSuite/ -// wasiShims/ComponentException/artifactsFromEnvelope and friends (49 exports +// wasi/ComponentException/artifactsFromEnvelope and friends (49 exports // verified against the retired upstream entry). export * from "@deltic/runtime/embedder"; export { Translator } from "@deltic/runtime/shim"; export * from "@deltic/ct-runner"; -export { wasiShims } from "@deltic/wasi-shims"; -export type { WasiShims, WasiShimsOptions } from "@deltic/wasi-shims"; +export { wasi } from "@deltic/wasi"; +export type { WasiImports, WasiOptions } from "@deltic/wasi"; diff --git a/conformance/driver-ct/deltic/deno.json b/conformance/driver-ct/deltic/deno.json index 79ea4c1..4299795 100644 --- a/conformance/driver-ct/deltic/deno.json +++ b/conformance/driver-ct/deltic/deno.json @@ -1,11 +1,11 @@ { - "//": "MODULE-IDENTITY CONSTRAINT: deltic's wasi-shims module imports @deltic/runtime/embedder by bare specifier internally. The @deltic/runtime/embedder entry here must map to the IDENTICAL exact-pinned JSR version as ../../../js/deltic/deno.json's entry, or the embedder module loads twice and `instanceof ComponentException` stops holding across the module boundary. Pin story: 0.1.0-pre.ga2f84a5 names one upstream deltic commit; @deltic/translator ships the translator wasm for that SAME commit; deno.lock carries integrity, --frozen enforced everywhere; one version repo-wide is asserted by the pin gate (justfile: exam-deltic).", + "//": "MODULE-IDENTITY CONSTRAINT: deltic's wasi module imports @deltic/runtime/embedder by bare specifier internally. The @deltic/runtime/embedder entry here must map to the IDENTICAL exact-pinned JSR version as ../../../js/deltic/deno.json's entry, or the embedder module loads twice and `instanceof ComponentException` stops holding across the module boundary. Pin story: exact-pinned JSR releases (caret-honest upstream: within a minor line releases stay compatible, breaking bumps the minor; per-commit `-pre.g` prereleases exist between releases — pin exactly); @deltic/translator ships the translator wasm for that SAME commit; deno.lock carries integrity, --frozen enforced everywhere; one version repo-wide is asserted by the pin gate (justfile: exam-deltic).", "imports": { - "@deltic/ct-runner": "jsr:@deltic/ct-runner@0.1.0-pre.ga2f84a5", - "@deltic/runtime/embedder": "jsr:@deltic/runtime@0.1.0-pre.ga2f84a5/embedder", - "@deltic/runtime/shim": "jsr:@deltic/runtime@0.1.0-pre.ga2f84a5/shim", - "@deltic/wasi-shims": "jsr:@deltic/wasi-shims@0.1.0-pre.ga2f84a5", - "@deltic/translator": "jsr:@deltic/translator@0.1.0-pre.ga2f84a5", + "@deltic/ct-runner": "jsr:@deltic/ct-runner@0.1.0", + "@deltic/runtime/embedder": "jsr:@deltic/runtime@0.1.0/embedder", + "@deltic/runtime/shim": "jsr:@deltic/runtime@0.1.0/shim", + "@deltic/wasi": "jsr:@deltic/wasi@0.1.0", + "@deltic/translator": "jsr:@deltic/translator@0.1.0", "@polymorph/component-test-js/deltic-worker-main": "./node_modules/@polymorph/component-test-js/js/runner-deltic/worker-main.mjs" }, "minimumDependencyAge": { "age": "P1D", "exclude": ["jsr:@deltic/*"] }, diff --git a/conformance/driver-ct/deltic/deno.lock b/conformance/driver-ct/deltic/deno.lock index 370fdd1..6bc38aa 100644 --- a/conformance/driver-ct/deltic/deno.lock +++ b/conformance/driver-ct/deltic/deno.lock @@ -1,41 +1,41 @@ { "version": "5", "specifiers": { - "jsr:@deltic/ct-runner@0.1.0-pre.ga2f84a5": "0.1.0-pre.ga2f84a5", + "jsr:@deltic/ct-runner@0.1.0": "0.1.0", "jsr:@deltic/protocol@0.2": "0.2.0", - "jsr:@deltic/runtime@0.1.0-pre.ga2f84a5": "0.1.0-pre.ga2f84a5", - "jsr:@deltic/runtime@~0.1.0-pre.ga2f84a5": "0.1.0-pre.ga2f84a5", - "jsr:@deltic/translator@0.1.0-pre.ga2f84a5": "0.1.0-pre.ga2f84a5", - "jsr:@deltic/wasi-shims@0.1.0-pre.ga2f84a5": "0.1.0-pre.ga2f84a5", + "jsr:@deltic/runtime@0.1": "0.1.0", + "jsr:@deltic/runtime@0.1.0": "0.1.0", + "jsr:@deltic/translator@0.1.0": "0.1.0", + "jsr:@deltic/wasi@0.1.0": "0.1.0", "npm:playwright-core@^1.61.1": "1.62.1" }, "jsr": { - "@deltic/ct-runner@0.1.0-pre.ga2f84a5": { - "integrity": "4695ae5509c99a10ba67e6dfef66b2a567b169f40aa93b3c105f7f7062380e59", + "@deltic/ct-runner@0.1.0": { + "integrity": "cf642f22675d6733b6d13117cebdd2de95135884d2a1231764a3f7a4e3314982", "dependencies": [ - "jsr:@deltic/runtime@~0.1.0-pre.ga2f84a5" + "jsr:@deltic/runtime@0.1" ] }, "@deltic/protocol@0.2.0": { "integrity": "028be6a3623c5e910598aa7a199209b85e8931ae484ac7f6638d610ddb0e19fa" }, - "@deltic/runtime@0.1.0-pre.ga2f84a5": { - "integrity": "c9abb811d0c814c819924e92d57eed5f68b7bad35593edc5dcf3fc656022f4e1", + "@deltic/runtime@0.1.0": { + "integrity": "8d3f52f1a336a2dd9aed28a5c34fd281612a2f55a1582b159be614dd678593b3", "dependencies": [ "jsr:@deltic/protocol" ] }, - "@deltic/translator@0.1.0-pre.ga2f84a5": { - "integrity": "7e286b0cbacc26d144c4cad17f7ccae647cf5b71a48f986448e89f52204046b9", + "@deltic/translator@0.1.0": { + "integrity": "c447f27a90d7637dd3d5709f3f25378ded0f4b985bedc890c3f6a8cb9ff1eb9f", "dependencies": [ - "jsr:@deltic/runtime@~0.1.0-pre.ga2f84a5" + "jsr:@deltic/runtime@0.1" ] }, - "@deltic/wasi-shims@0.1.0-pre.ga2f84a5": { - "integrity": "92bb3f82371b1e356734e6d173fa7c38eeadf5f4cdf5c58393d2a3b7287c1b0b", + "@deltic/wasi@0.1.0": { + "integrity": "c35a19d139d684dafeca8ba200230a3eb1154627c80db298ae1393e3af938d68", "dependencies": [ "jsr:@deltic/protocol", - "jsr:@deltic/runtime@~0.1.0-pre.ga2f84a5" + "jsr:@deltic/runtime@0.1" ] } }, @@ -47,10 +47,10 @@ }, "workspace": { "dependencies": [ - "jsr:@deltic/ct-runner@0.1.0-pre.ga2f84a5", - "jsr:@deltic/runtime@0.1.0-pre.ga2f84a5", - "jsr:@deltic/translator@0.1.0-pre.ga2f84a5", - "jsr:@deltic/wasi-shims@0.1.0-pre.ga2f84a5" + "jsr:@deltic/ct-runner@0.1.0", + "jsr:@deltic/runtime@0.1.0", + "jsr:@deltic/translator@0.1.0", + "jsr:@deltic/wasi@0.1.0" ], "packageJson": { "dependencies": [ diff --git a/conformance/driver-ct/deltic/package.json b/conformance/driver-ct/deltic/package.json index 56f308b..3289abc 100644 --- a/conformance/driver-ct/deltic/package.json +++ b/conformance/driver-ct/deltic/package.json @@ -4,7 +4,7 @@ "type": "module", "description": "Node driver + bundled worker inputs for the deltic-browser conformance row: the suite runtime-linked inside headless Chromium with this repo's deltic host module, through the upstream page driver and deltic worker-main.", "dependencies": { - "@polymorph/component-test-js": "github:polymorph-components/polymorph-test#3ec431717895b2e4fa81500794e0da7fd13e26e7", + "@polymorph/component-test-js": "github:polymorph-components/polymorph-test#b4444a25a22106ad4128549bdc9e579552e62210", "playwright-core": "^1.61.1" } } diff --git a/conformance/driver-ct/deltic/pnpm-lock.yaml b/conformance/driver-ct/deltic/pnpm-lock.yaml index 355def0..379b80f 100644 --- a/conformance/driver-ct/deltic/pnpm-lock.yaml +++ b/conformance/driver-ct/deltic/pnpm-lock.yaml @@ -9,17 +9,17 @@ importers: .: dependencies: '@polymorph/component-test-js': - specifier: github:polymorph-components/polymorph-test#3ec431717895b2e4fa81500794e0da7fd13e26e7 - version: https://codeload.github.com/polymorph-components/polymorph-test/tar.gz/3ec431717895b2e4fa81500794e0da7fd13e26e7 + specifier: github:polymorph-components/polymorph-test#b4444a25a22106ad4128549bdc9e579552e62210 + version: https://codeload.github.com/polymorph-components/polymorph-test/tar.gz/b4444a25a22106ad4128549bdc9e579552e62210 playwright-core: specifier: ^1.61.1 version: 1.62.1 packages: - '@polymorph/component-test-js@https://codeload.github.com/polymorph-components/polymorph-test/tar.gz/3ec431717895b2e4fa81500794e0da7fd13e26e7': - resolution: {gitHosted: true, integrity: sha512-Y2sc0jPnTc/UKXgB5jWth4UK+45KikzSGRsj0TeeIhKMJ27a1vrFMfC89RILVJU/5JzJ65f5SvKillJT65vtxA==, tarball: https://codeload.github.com/polymorph-components/polymorph-test/tar.gz/3ec431717895b2e4fa81500794e0da7fd13e26e7} - version: 0.2.0 + '@polymorph/component-test-js@https://codeload.github.com/polymorph-components/polymorph-test/tar.gz/b4444a25a22106ad4128549bdc9e579552e62210': + resolution: {gitHosted: true, integrity: sha512-Dy/z2SUF809cxGKpNl0/4Po1hDmv8RrwjyJpAASdBIYExDBjKjAuP3wuuHYlN81/3+5q+iqwyoDjpqNAxMVM/g==, tarball: https://codeload.github.com/polymorph-components/polymorph-test/tar.gz/b4444a25a22106ad4128549bdc9e579552e62210} + version: 0.1.0 playwright-core@1.62.1: resolution: {integrity: sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==} @@ -28,6 +28,6 @@ packages: snapshots: - '@polymorph/component-test-js@https://codeload.github.com/polymorph-components/polymorph-test/tar.gz/3ec431717895b2e4fa81500794e0da7fd13e26e7': {} + '@polymorph/component-test-js@https://codeload.github.com/polymorph-components/polymorph-test/tar.gz/b4444a25a22106ad4128549bdc9e579552e62210': {} playwright-core@1.62.1: {} diff --git a/conformance/driver-ct/deltic/run.ts b/conformance/driver-ct/deltic/run.ts index f42539c..d58626b 100644 --- a/conformance/driver-ct/deltic/run.ts +++ b/conformance/driver-ct/deltic/run.ts @@ -10,7 +10,7 @@ // `connections.setMaxInboundBufferBytes(…)` | `configure({ … })`, same values // `spawnEchod(bin)` scraping LISTENING | `spawnEchod()`, same scrape // `unreachableUrl()` (bind port 0, release) | same -// `env = [[WS_CONFORMANCE_*, …]]` | `wasiShims({ cli: { env } })` +// `env = [[WS_CONFORMANCE_*, …]]` | `wasi({ cli: { env } })` // `runSuite(...)` (component-test-js) | `runSuite(...)` (ct-runner) // `NODE_EXTRA_CA_CERTS=…/tls/ca.pem` | `DENO_CERT=…/tls/ca.pem` // @@ -27,7 +27,7 @@ // excluded: the TLS leg runs headlessly under Deno exactly as the ws: // leg does. // -// MODULE-IDENTITY CONSTRAINT: deltic's wasi-shims module imports +// MODULE-IDENTITY CONSTRAINT: deltic's wasi module imports // `@deltic/runtime/embedder` by bare specifier internally; this leg's // `deno.json` AND `js/deltic/deno.json` must map that specifier to the // IDENTICAL exact-pinned JSR version, or the embedder module loads twice @@ -47,7 +47,7 @@ import { Translator } from "@deltic/runtime/shim"; import type { ComponentArtifacts } from "@deltic/runtime/embedder"; import { defaultTranslator } from "@deltic/translator"; import { runSuite } from "@deltic/ct-runner"; -import { wasiShims } from "@deltic/wasi-shims"; +import { wasi } from "@deltic/wasi"; import { configure, websocketImports } from "../../../js/deltic/websocket.ts"; // This file sits at conformance/driver-ct/deltic/run.ts, so the repo @@ -217,7 +217,7 @@ async function main() { const artifacts = await loadArtifacts(cli.translator); const imports = { - ...wasiShims({ cli: { env, passthrough: false } }), + ...wasi({ cli: { env, passthrough: false } }), ...websocketImports(), }; diff --git a/examples/deltic-demo/run.ts b/examples/deltic-demo/run.ts index 82fc8a4..857343c 100644 --- a/examples/deltic-demo/run.ts +++ b/examples/deltic-demo/run.ts @@ -24,7 +24,7 @@ import { Translator } from "@deltic/runtime/shim"; import type { ComponentArtifacts } from "@deltic/runtime/embedder"; import { ComponentException, instantiate } from "@deltic/runtime/embedder"; import { defaultTranslator } from "@deltic/translator"; -import { wasiShims } from "@deltic/wasi-shims"; +import { wasi } from "@deltic/wasi"; import { websocketImports } from "../../js/deltic/websocket.ts"; // This file sits at examples/deltic-demo/run.ts, so the repo root is two @@ -113,7 +113,7 @@ async function main() { console.error(`echo server ready at ${echod.base}`); try { const instance = await instantiate(artifacts, { - ...wasiShims(), + ...wasi(), ...websocketImports(), }); const demo = instance.exports[DEMO_INTERFACE] as { diff --git a/js/componentize/wpt/parity/deltic-carrier.ts b/js/componentize/wpt/parity/deltic-carrier.ts index c8cbe09..a47ef78 100644 --- a/js/componentize/wpt/parity/deltic-carrier.ts +++ b/js/componentize/wpt/parity/deltic-carrier.ts @@ -19,7 +19,7 @@ // legs.mjs must not import `../reporter.js` itself. // // THE DELTIC PIN IS SINGLE-SITE: this module resolves `@deltic/*` through -// conformance/driver-ct/deltic/deno.json (exact-pinned JSR prereleases; +// conformance/driver-ct/deltic/deno.json (exact-pinned JSR releases; // the bundle recipe runs `deno bundle` from that directory) and the // translator asset is extracted from the packaged `@deltic/translator` // JSR package's lock-pinned module cache (no fetch step). Bundling from @@ -29,7 +29,7 @@ import { Translator } from "@deltic/runtime/shim"; import { instantiate } from "@deltic/runtime/embedder"; -import { wasiShims } from "@deltic/wasi-shims"; +import { wasi } from "@deltic/wasi"; import { websocketImports } from "../../../deltic/websocket.ts"; import { reporter, setSink } from "../reporter.js"; import { socketsStubs } from "./sockets-stub-deltic.mjs"; @@ -60,7 +60,7 @@ export async function instantiateRunner( const translator = await Translator.create(translatorBytes); const { plan, adapters } = translator.translate(componentBytes); const instance = await instantiate({ plan, componentBytes, adapters }, { - ...wasiShims(), + ...wasi(), ...socketsStubs(), // The host module under test: the same import-record assembly the // conformance leg uses (conformance/driver-ct/deltic/run.ts). diff --git a/js/componentize/wpt/parity/sockets-stub-deltic.mjs b/js/componentize/wpt/parity/sockets-stub-deltic.mjs index b82211b..2de63f5 100644 --- a/js/componentize/wpt/parity/sockets-stub-deltic.mjs +++ b/js/componentize/wpt/parity/sockets-stub-deltic.mjs @@ -2,7 +2,7 @@ // instantiation. // // The componentize-js runtime imports the seven `wasi:sockets@0.2` -// interfaces unconditionally, and deltic's `wasiShims()` deliberately +// interfaces unconditionally, and deltic's `wasi()` deliberately // excludes sockets (mission scope: p2 baseline + p3 clocks). The parity // runner never opens a socket — every WebSocket it drives goes through // `polymorph:websocket/connections` — so every member here exists only to @@ -13,7 +13,7 @@ // This is the deltic-keyed reshape of the jco-era `sockets-stub.mjs` // (same inventory, same throw-if-reached posture; removed with the jco // legs, see git history). Keys are compatibility-**track** keys (`@0.2`), -// the same registration form `@deltic/wasi-shims` uses, so one provider +// the same registration form `@deltic/wasi` uses, so one provider // serves whichever 0.2.x minor the guest's binary happens to name // (contracts/embedder-api.md §"Version canonicalization"). @@ -34,7 +34,7 @@ export class UdpSocket extends StubResource {} export class IncomingDatagramStream extends StubResource {} export class OutgoingDatagramStream extends StubResource {} -/** The imports-record fragment: `{ ...socketsStubs() }` beside `wasiShims()`. */ +/** The imports-record fragment: `{ ...socketsStubs() }` beside `wasi()`. */ export function socketsStubs() { return { "wasi:sockets/instance-network@0.2": { diff --git a/js/deltic/deno.json b/js/deltic/deno.json index 5a4358c..882eb6f 100644 --- a/js/deltic/deno.json +++ b/js/deltic/deno.json @@ -1,10 +1,10 @@ { "name": "@polymorph/websocket-deltic", - "version": "0.0.0", + "version": "0.1.0", "exports": "./websocket.ts", - "//": "MODULE-IDENTITY CONSTRAINT: deltic's wasi-shims module imports @deltic/runtime/embedder by bare specifier internally. Every config in this repo (this file AND conformance/driver-ct/deltic/deno.json) must map @deltic/runtime to the IDENTICAL exact-pinned JSR version, or the embedder module loads twice and `instanceof ComponentException` stops holding across the module boundary. Pin story: 0.1.0-pre.ga2f84a5 names one upstream deltic commit; @deltic/translator ships the translator wasm for that SAME commit; deno.lock carries integrity, --frozen enforced everywhere; one version repo-wide is asserted by the pin gate (justfile: exam-deltic).", + "//": "MODULE-IDENTITY CONSTRAINT: deltic's wasi module imports @deltic/runtime/embedder by bare specifier internally. Every config in this repo (this file AND conformance/driver-ct/deltic/deno.json) must map @deltic/runtime to the IDENTICAL exact-pinned JSR version, or the embedder module loads twice and `instanceof ComponentException` stops holding across the module boundary. Pin story: exact-pinned JSR releases (caret-honest upstream: within a minor line releases stay compatible, breaking bumps the minor; per-commit `-pre.g` prereleases exist between releases — pin exactly); @deltic/translator ships the translator wasm for that SAME commit; deno.lock carries integrity, --frozen enforced everywhere; one version repo-wide is asserted by the pin gate (justfile: exam-deltic).", "imports": { - "@deltic/runtime/embedder": "jsr:@deltic/runtime@0.1.0-pre.ga2f84a5/embedder" + "@deltic/runtime/embedder": "jsr:@deltic/runtime@0.1.0/embedder" }, "minimumDependencyAge": { "age": "P1D", "exclude": ["jsr:@deltic/*"] }, "compilerOptions": { diff --git a/js/deltic/deno.lock b/js/deltic/deno.lock index 602fe7c..e7c698e 100644 --- a/js/deltic/deno.lock +++ b/js/deltic/deno.lock @@ -2,7 +2,7 @@ "version": "5", "specifiers": { "jsr:@deltic/protocol@0.2": "0.2.0", - "jsr:@deltic/runtime@0.1.0-pre.ga2f84a5": "0.1.0-pre.ga2f84a5", + "jsr:@deltic/runtime@0.1.0": "0.1.0", "jsr:@std/assert@1": "1.0.19", "jsr:@std/internal@^1.0.12": "1.0.14" }, @@ -10,8 +10,8 @@ "@deltic/protocol@0.2.0": { "integrity": "028be6a3623c5e910598aa7a199209b85e8931ae484ac7f6638d610ddb0e19fa" }, - "@deltic/runtime@0.1.0-pre.ga2f84a5": { - "integrity": "c9abb811d0c814c819924e92d57eed5f68b7bad35593edc5dcf3fc656022f4e1", + "@deltic/runtime@0.1.0": { + "integrity": "8d3f52f1a336a2dd9aed28a5c34fd281612a2f55a1582b159be614dd678593b3", "dependencies": [ "jsr:@deltic/protocol" ] @@ -28,7 +28,7 @@ }, "workspace": { "dependencies": [ - "jsr:@deltic/runtime@0.1.0-pre.ga2f84a5" + "jsr:@deltic/runtime@0.1.0" ] } } diff --git a/rust/guest-provider/tls-component.rev b/rust/guest-provider/tls-component.rev index c89633b..ab7b849 100644 --- a/rust/guest-provider/tls-component.rev +++ b/rust/guest-provider/tls-component.rev @@ -1 +1 @@ -23ceddad816f95f95e282914c8a269cb20413ce3 +2f7a203a711b585439ed679aa3fa4e274284eb33