From 6177669611742b1adb3c89836de033d22b78bdbb Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Mon, 10 Aug 2026 20:37:02 -0400 Subject: [PATCH] Adopt deltic's A5 parking kernel; pin pre-a67ee83 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit wasi-shims now owns the p2 parking kernel (deltic A5, built against this repo's spikes as the scoping consumer): real poll/timer suspension with a publicly constructible Pollable(ready, wait) as the interop seam. The experiments' sockets module deletes its own Pollable class, suspending poll loop, timer machinery, and monotonic-clock override — what remains is just the synthetic network (sockets, bridge hooks, datagram routing), minting kernel pollables over its queues. The polls/suspends driver counters go with the deleted poll (the kernel owns that seam now); datagram/ws/webrtc counters stay. The kernel's poll has a sync fast path ours lacked (a ready poll returns without the engine continuation hop — roughly half our polls paid it needlessly), and the pin also carries the list bulk-copy store fix (deltic#54): the blobs spike's phase-2 fetch moves 4.8 -> 6.3 MiB/s, and the browser echo p50 drops 940 -> 620us. The bump rides on two upstream fixes this adoption surfaced: lann/deltic#73 (JSR no-slow-types on the A5 poll export — the 0a55393-era JSR publishes were missing) and lann/deltic#77 (the deadlock probe re-checks pendingHostCalls before its verdict; A5's fast path let the probe sample the store between an A1 settle and the next park and trap a live workload — found by these spikes, fixed and gated upstream: conformance 1254/0/95-xfail). Also: demo.ts's JSPI feature probe reads WebAssembly.Suspending untyped — deltic's jspi types are module-scoped now (no global augmentation, a JSR constraint). Gates at the new pin: deno check green across all three experiments (browser entries included); just exam-deltic — EXAM PASS (5/5); iroh-relay-ws run.sh + browser-test (migration 50ms, phase 2 p50 620us); iroh-blobs run.sh + browser-test (phase 2 6.32 MiB/s); ping-demo build.sh + Playwright suite PASS. --- experiments/iroh-blobs/host/browser-entry.ts | 1 - experiments/iroh-blobs/host/run.ts | 1 - .../iroh-relay-ws/host/browser-entry.ts | 1 - experiments/iroh-relay-ws/host/deno.json | 8 +- experiments/iroh-relay-ws/host/deno.lock | 118 ++++++++--------- experiments/iroh-relay-ws/host/harness.ts | 10 +- experiments/iroh-relay-ws/host/run.ts | 1 - experiments/iroh-relay-ws/host/sockets.ts | 119 +++--------------- experiments/ping-demo/build.sh | 2 +- experiments/ping-demo/web/demo.ts | 4 +- host-deltic/deno.json | 6 +- host-deltic/deno.lock | 114 ++++++++--------- host-deltic/fetch-translator.ts | 4 +- 13 files changed, 154 insertions(+), 235 deletions(-) diff --git a/experiments/iroh-blobs/host/browser-entry.ts b/experiments/iroh-blobs/host/browser-entry.ts index e4b77dc..535db5b 100644 --- a/experiments/iroh-blobs/host/browser-entry.ts +++ b/experiments/iroh-blobs/host/browser-entry.ts @@ -44,7 +44,6 @@ try { ); const summary = `[driver] done in ${((performance.now() - t0) / 1000).toFixed(1)}s; ` + - `polls=${stats.pollCalls} (suspended ${stats.pollSuspends}) ` + `datagrams in/out=${stats.datagramsIn}/${stats.datagramsOut} ` + `ws connections=${bridgeStats.connections} ws msgs in/out=${bridgeStats.wsIn}/${bridgeStats.wsOut} ` + `webrtc channels=${webrtcStats.channelsOpened} msgs in/out=${webrtcStats.in}/${webrtcStats.out} ` + diff --git a/experiments/iroh-blobs/host/run.ts b/experiments/iroh-blobs/host/run.ts index 1c813f5..01b038d 100644 --- a/experiments/iroh-blobs/host/run.ts +++ b/experiments/iroh-blobs/host/run.ts @@ -59,7 +59,6 @@ clearTimeout(watchdog); console.log( `[driver] done in ${((performance.now() - t0) / 1000).toFixed(1)}s; ` + - `polls=${stats.pollCalls} (suspended ${stats.pollSuspends}) ` + `datagrams in/out=${stats.datagramsIn}/${stats.datagramsOut} ` + `ws connections=${bridgeStats.connections} ws msgs in/out=${bridgeStats.wsIn}/${bridgeStats.wsOut} ` + `webrtc channels=${webrtcStats.channelsOpened} msgs in/out=${webrtcStats.in}/${webrtcStats.out} ` + diff --git a/experiments/iroh-relay-ws/host/browser-entry.ts b/experiments/iroh-relay-ws/host/browser-entry.ts index 51e3c21..1f45dbb 100644 --- a/experiments/iroh-relay-ws/host/browser-entry.ts +++ b/experiments/iroh-relay-ws/host/browser-entry.ts @@ -40,7 +40,6 @@ try { ); const summary = `[driver] done in ${((performance.now() - t0) / 1000).toFixed(1)}s; ` + - `polls=${stats.pollCalls} (suspended ${stats.pollSuspends}) ` + `datagrams in/out=${stats.datagramsIn}/${stats.datagramsOut} ` + `ws connections=${bridgeStats.connections} ws msgs in/out=${bridgeStats.wsIn}/${bridgeStats.wsOut} ` + `webrtc channels=${webrtcStats.channelsOpened} msgs in/out=${webrtcStats.in}/${webrtcStats.out} ` + diff --git a/experiments/iroh-relay-ws/host/deno.json b/experiments/iroh-relay-ws/host/deno.json index 8ab50fb..a36afa9 100644 --- a/experiments/iroh-relay-ws/host/deno.json +++ b/experiments/iroh-relay-ws/host/deno.json @@ -5,10 +5,10 @@ "lib": ["dom", "dom.iterable", "dom.asynciterable", "deno.ns"] }, "imports": { - "@deltic/runtime/embedder": "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/mod.ts", - "@deltic/runtime/plan": "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/plan/mod.ts", - "@deltic/runtime/shim": "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/shim/mod.ts", - "@deltic/wasi-shims": "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/mod.ts", + "@deltic/runtime/embedder": "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/mod.ts", + "@deltic/runtime/plan": "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/plan/mod.ts", + "@deltic/runtime/shim": "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/shim/mod.ts", + "@deltic/wasi-shims": "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/mod.ts", "node-datachannel": "npm:node-datachannel@0.32.3", "node-datachannel/polyfill": "npm:node-datachannel@0.32.3/polyfill", "werift": "npm:werift@0.22.2" diff --git a/experiments/iroh-relay-ws/host/deno.lock b/experiments/iroh-relay-ws/host/deno.lock index 2d239f0..0120a0b 100644 --- a/experiments/iroh-relay-ws/host/deno.lock +++ b/experiments/iroh-relay-ws/host/deno.lock @@ -591,65 +591,65 @@ } }, "remote": { - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/async_values.ts": "af1279d4e4db5b756268979aeff5b27c1cf6c0f021213655676ade90472f282b", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/context.ts": "b4b60891ef9d9e72b208636f6ba37f0b9b6962d307af6156ad3b5ad59a626902", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/flatten.ts": "6c980fe38d7adce349d5e028b819eb0ffbb92714f958c1d5daae8da3e7ed3889", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/float.ts": "0483e8c1aa8786eee4c6f6357fee6738555e4310650c474aba6cd811a80d7d36", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/handles.ts": "30510750261499f48a812bb8c349a8f88a3bb7239175e6f1d4e6d10c38571e5d", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/layout.ts": "8122141b39f4d8189c13d91fc1b37825ceead86988f879f3fa9351bbef96f8f2", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/lift.ts": "e4475a44a5618114f288025601b535bc04b97e9a37b3be21f51d3be092d419c8", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/load.ts": "c1d8ddb1b3b3c59afe30710a97ad6dd7ae1ecd59aa1d427a5eaf4552d3b1ea01", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/lower.ts": "916ef7476dc583783770f4c42de7a655350531b3763c81a92249cca96f5e4d80", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/memory.ts": "09728360d6413fb30a5a7bff1ba6abec1ac6474ff150d45f093b8ebe5e65cd51", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/mod.ts": "b79cf9e2bab2e837fee76fa61dc18bff66d941e08597f1b76de93811bd6d6008", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/store.ts": "97aaecfeb4dfbf5c3c132fb5eadf1f5677924936eee0c7fa75a266a00cd73634", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/strings.ts": "9589dda3857725792ae15ef6888449b48e973b9eb0f3058ed64e10bf4d39b793", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/trap.ts": "307d8b48806eeba30400b3d7db9370cee70a12298851c1c19053dd8ca0013e1c", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/types.ts": "d0392e8cdf2990a76c8a1f9b85795d3b7c19b8eb006c2b159b671d08c39b9535", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/values.ts": "9e6ddcc4192d05897b2cbea250db3fef0ad9bf6548ba87aff378ee14b7ab7022", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/casing.ts": "1e9083becfc08107c09015ce3db79c304b05c40085a3c899ea1c8ebe25fcd45f", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/errors.ts": "b0cac244526b92c052d165f2aee1d9492e5915a5a4cad114e1ab575ffe1587ba", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/imports.ts": "98cca003e4a1131c35854c91b458f109d6761a3e8f67c23730f7e9bc28bbad88", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/instantiate.ts": "23d48153014b127930b5c38172b36bffe839ad81738087914c32cbce21da6e08", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/mod.ts": "8f431ffc276fb1c6f38088dd8cc79d23a42c6291cd4aefb43de62038076b781f", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/resources.ts": "d209e5f13545b9c0c095ac4e188b72370d97c9bd394ba7c8793ddd74f436b1ef", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/streams.ts": "4ef894a43da94b4cb01ee65798a108a8fb3f6b2dc6013c71881f63e0806df565", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/values.ts": "ed876f9103f4a4f34e8eb475934091156bee1447f5a029ea300644b8f3ee71eb", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/version.ts": "b1c589988e5fb88dce3a014846c9253399e286f12afb5fd92509c8d6090ad4bb", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/exec/boundary.ts": "494551c1cf500768b506e3e44d41993c0d06c29d4cd20d67ecc2cba995e62769", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/exec/executor.ts": "3488e912b8c0fa6370b1c419c2809f7ba8919fc4b1220fdd20b8f8391e02f752", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/exec/host_streams.ts": "63f6b113806c401ae9895df82448da70a7745a97b6e2f04061fb5bc64e7d0acf", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/exec/mod.ts": "a46320977ece14342bcb72c9c9e36d65a1cd09d789591d0909d7d1185264010b", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/async_builtins.ts": "526795358da8908d54a483bb47eebc43e0a1ea59e69ece94d0c6890ad0fa8784", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/context.ts": "be93b23d127ff71d5c372781f89d1c3746c5d32a44e67ebbcd91f2b0f0807e93", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/errors.ts": "9d09fc1818b4dc98b238aa69008a9110d9d305b6a8e806604f3bd48fca1eebcb", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/fact_calls.ts": "2d43e451a729c54847aae88e823b7b18c6e7a8ff3ba95465028d99a9a4b15544", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/mod.ts": "f9c095e561f5fbb51f70693b21f272f66241f2e8ff2e1a83cd4176bcd0104eb9", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/stream_builtins.ts": "bbc1e1ea0e4616026a46d790a68695aa70589a88b08a6275acdb525f0ab531ec", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/transcode.ts": "e3fcaeb7a60b6cbad999d9389d4bce59e305e6f54e035ba791f909e10d1f82c7", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/bridge.ts": "8b4399ba38179ce36f1e21a1c9511b26250f16386537eb967e507c79627744bf", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/mechanics.ts": "dc0fe4965b3ef8c0aff6674afd8bae2a38942ab934fa07fd2eb7db72b2462f17", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/mod.ts": "672aae180ad752ce07cfd83b006d24058f3aa4952a75d9a1fd256b7f804cd46a", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/suspending.ts": "8d24327f6452cf47197e01f2b5224d03fe9270968254fcaa4e8a927ea1b19041", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/types.ts": "86929224733a764a148ac75a9d6b95d61ab4c8123a48fe956d998e97726a1432", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/plan/format.ts": "90e31bbc7137c2f80c0782e1431afb6f81827aab8d38dba1178b8761f1b3ea0a", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/plan/loader.ts": "107db77e724a7f74f161a5fd20e7110a6e6f182c46f18282eba650bc887dc876", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/plan/mod.ts": "4ad969fc0760e52650dbcd299b859e79e91c6366402c2986d75d26939c2e4abc", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/shim/mod.ts": "34af2240dfd0be720def487db2db34eaad6ba9178003f20e2193d03a0632779b", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/shim/translator.ts": "9b8c558179acbf7b467db3437be71837db44cecbcc52f45e913b210b3a059dab", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/mod.ts": "42d2a2620eba5651016a16c16f47ec0524be525e56f78dec4956c1767b4d2002", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/scheduler.ts": "424e271e7d35f1eec3308a95408a2bee35010f2ead815931ee29246138c00722", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/streams.ts": "83b522a6393ba06fbdb87881bc6761f3fce9c03b85e9eda03d3befe7d2605a60", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/subtask.ts": "750b13a1318f62836bfd149f1b9144de5b017fd7a84adc8e2fb2151e63130fbc", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/thread.ts": "81fe38b37a1ec130803b478a24e428b19ee4e1ef8c0bae741395cd8d52751580", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/waitable.ts": "5e1fc092e3d8f1fb4429d6a91d8886b3e474aa9ac6254e7924fd896c4929e1f9", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/tools/translate/main.ts": "d9c8d1d478378e26d1c3ef82892268447cb715cd01809c66053e9ff8fd1bb3e9", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/cli.ts": "d1617e12dc2569f4ee107f8b92488797daf431d14b8a86a1ab10750a28757394", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/clocks.ts": "05468a822b635408ce3a671b40fd06fd4448c220019f9449bf029ac1c7e59664", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/filesystem.ts": "6dcead5346d78084c3923410e44875e678f3b58db0c2d59513339b428596ec25", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/io.ts": "dfe270e5ad3388c02696e27a5c69c58a411759fe8c99416361b0ac10177366da", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/mod.ts": "1748985cf851252e1755aafd9ebb9c7ae96003ec41322d9524a952062d2b8570", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/random.ts": "bdd9b3c87c16588a8b176b9e4fbd4f9900a78a3a3a545a5559c51272e1780647" + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/async_values.ts": "af1279d4e4db5b756268979aeff5b27c1cf6c0f021213655676ade90472f282b", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/context.ts": "b4b60891ef9d9e72b208636f6ba37f0b9b6962d307af6156ad3b5ad59a626902", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/flatten.ts": "6c980fe38d7adce349d5e028b819eb0ffbb92714f958c1d5daae8da3e7ed3889", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/float.ts": "0483e8c1aa8786eee4c6f6357fee6738555e4310650c474aba6cd811a80d7d36", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/handles.ts": "30510750261499f48a812bb8c349a8f88a3bb7239175e6f1d4e6d10c38571e5d", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/layout.ts": "8122141b39f4d8189c13d91fc1b37825ceead86988f879f3fa9351bbef96f8f2", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/lift.ts": "e4475a44a5618114f288025601b535bc04b97e9a37b3be21f51d3be092d419c8", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/load.ts": "c1d8ddb1b3b3c59afe30710a97ad6dd7ae1ecd59aa1d427a5eaf4552d3b1ea01", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/lower.ts": "916ef7476dc583783770f4c42de7a655350531b3763c81a92249cca96f5e4d80", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/memory.ts": "09728360d6413fb30a5a7bff1ba6abec1ac6474ff150d45f093b8ebe5e65cd51", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/mod.ts": "b79cf9e2bab2e837fee76fa61dc18bff66d941e08597f1b76de93811bd6d6008", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/store.ts": "ab3c1475ddce5aef1c7feb77933c19b48ab8bd54634c22a5397c9e734cfd5183", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/strings.ts": "9589dda3857725792ae15ef6888449b48e973b9eb0f3058ed64e10bf4d39b793", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/trap.ts": "307d8b48806eeba30400b3d7db9370cee70a12298851c1c19053dd8ca0013e1c", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/types.ts": "d0392e8cdf2990a76c8a1f9b85795d3b7c19b8eb006c2b159b671d08c39b9535", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/values.ts": "9e6ddcc4192d05897b2cbea250db3fef0ad9bf6548ba87aff378ee14b7ab7022", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/casing.ts": "1e9083becfc08107c09015ce3db79c304b05c40085a3c899ea1c8ebe25fcd45f", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/errors.ts": "fe1b220c22facf37948d444f97d7c8083da41c8496e6ce23b27c820ca0c2c7d7", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/imports.ts": "98cca003e4a1131c35854c91b458f109d6761a3e8f67c23730f7e9bc28bbad88", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/instantiate.ts": "1c50c17d72bca15738b161b99aa5c406ce87486110b50d09f116aa49a05c215c", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/mod.ts": "3d0be7e5d2fc784725c7ec5ddb1add5120c4f7a2c39be3d4aa3368f27834ed87", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/resources.ts": "d209e5f13545b9c0c095ac4e188b72370d97c9bd394ba7c8793ddd74f436b1ef", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/streams.ts": "f3f3374faf54bc412954692c4df7446d711fe4b6c7712b29e2cea289fcabe5a5", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/values.ts": "ed876f9103f4a4f34e8eb475934091156bee1447f5a029ea300644b8f3ee71eb", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/version.ts": "b1c589988e5fb88dce3a014846c9253399e286f12afb5fd92509c8d6090ad4bb", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/exec/boundary.ts": "3467d40646a21af853cfdf511fa1acdc9a28122c09e09dcfe124af8ce769b3d2", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/exec/executor.ts": "5d0a5b90886a79ca7c774c8ed612d8aead1acf06433406702ce97ddcf2968be1", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/exec/host_streams.ts": "38e4d6a89169616a18a1369dd6220cfbc11f2ec3d4f85ab10b5933eed76b36cb", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/exec/mod.ts": "a46320977ece14342bcb72c9c9e36d65a1cd09d789591d0909d7d1185264010b", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/async_builtins.ts": "526795358da8908d54a483bb47eebc43e0a1ea59e69ece94d0c6890ad0fa8784", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/context.ts": "be93b23d127ff71d5c372781f89d1c3746c5d32a44e67ebbcd91f2b0f0807e93", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/errors.ts": "9d09fc1818b4dc98b238aa69008a9110d9d305b6a8e806604f3bd48fca1eebcb", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/fact_calls.ts": "c28a9e07699045800105b8f8c3eb086f5550f118b1de852de72d25814ee17068", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/mod.ts": "f9c095e561f5fbb51f70693b21f272f66241f2e8ff2e1a83cd4176bcd0104eb9", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/stream_builtins.ts": "bbc1e1ea0e4616026a46d790a68695aa70589a88b08a6275acdb525f0ab531ec", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/transcode.ts": "e3fcaeb7a60b6cbad999d9389d4bce59e305e6f54e035ba791f909e10d1f82c7", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/bridge.ts": "28cb5681d63408cca14a9e307065f50188b25aa15ebe5be159ed32dc5f96f002", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/mechanics.ts": "621eb66135f516cdb488ef6388607772175ec1ef005a70f67e86d1c31f84e4db", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/mod.ts": "672aae180ad752ce07cfd83b006d24058f3aa4952a75d9a1fd256b7f804cd46a", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/suspending.ts": "8d24327f6452cf47197e01f2b5224d03fe9270968254fcaa4e8a927ea1b19041", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/types.ts": "102430fa9386026d0429d42a5365dcc2ed557af536138328325e4cd56f8ddce0", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/plan/format.ts": "90e31bbc7137c2f80c0782e1431afb6f81827aab8d38dba1178b8761f1b3ea0a", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/plan/loader.ts": "107db77e724a7f74f161a5fd20e7110a6e6f182c46f18282eba650bc887dc876", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/plan/mod.ts": "4ad969fc0760e52650dbcd299b859e79e91c6366402c2986d75d26939c2e4abc", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/shim/mod.ts": "34af2240dfd0be720def487db2db34eaad6ba9178003f20e2193d03a0632779b", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/shim/translator.ts": "9b8c558179acbf7b467db3437be71837db44cecbcc52f45e913b210b3a059dab", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/mod.ts": "42d2a2620eba5651016a16c16f47ec0524be525e56f78dec4956c1767b4d2002", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/scheduler.ts": "b6f3ecf8a3b8e51862cc60a51907009ee3cc5ba9f21a6e4dc49d54f595c04e70", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/streams.ts": "59e3b9b5ededc2b191b8de0728b105f8459e113e1b869b7e418150aaea869029", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/subtask.ts": "750b13a1318f62836bfd149f1b9144de5b017fd7a84adc8e2fb2151e63130fbc", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/thread.ts": "9f19995d3b0cdbd491d9a8176151f1ceea1ffdd10af837777b9ed4071b99218f", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/waitable.ts": "5e1fc092e3d8f1fb4429d6a91d8886b3e474aa9ac6254e7924fd896c4929e1f9", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/tools/translate/main.ts": "d9c8d1d478378e26d1c3ef82892268447cb715cd01809c66053e9ff8fd1bb3e9", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/cli.ts": "d1617e12dc2569f4ee107f8b92488797daf431d14b8a86a1ab10750a28757394", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/clocks.ts": "1ce4e2beb07231c7e284e3feb9d6a5bb25d16627e1104d8d51a9d016d17fa457", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/filesystem.ts": "6dcead5346d78084c3923410e44875e678f3b58db0c2d59513339b428596ec25", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/io.ts": "797828af58cf820250b5d8f174a451fbe525a33f82353eac4c50ff55610d47af", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/mod.ts": "1748985cf851252e1755aafd9ebb9c7ae96003ec41322d9524a952062d2b8570", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/random.ts": "bdd9b3c87c16588a8b176b9e4fbd4f9900a78a3a3a545a5559c51272e1780647" }, "workspace": { "dependencies": [ diff --git a/experiments/iroh-relay-ws/host/harness.ts b/experiments/iroh-relay-ws/host/harness.ts index 2906229..4f0adb0 100644 --- a/experiments/iroh-relay-ws/host/harness.ts +++ b/experiments/iroh-relay-ws/host/harness.ts @@ -49,9 +49,9 @@ export interface GuestOptions { /** * The full import record for the spike guests: deltic's wasi-shims - * baseline, with the synthetic network fragment (sockets.ts) replacing - * the tier-(a) poll/clock stubs, and stdio routed to the console - * line-buffered. + * baseline (whose A5 parking kernel serves poll/clock suspension), the + * synthetic network fragment (sockets.ts), and stdio routed to the + * console line-buffered. */ export function guestImports(options: GuestOptions): Record { const stdout = new OutputStream(lineSink("guest-out", console.log)); @@ -69,8 +69,8 @@ export function guestImports(options: GuestOptions): Record { * * `artifacts` is anything `instantiate` accepts (embedder-api A3): the * translated `ComponentArtifacts`, or `{ componentBytes, translator }` - * for in-process translation. jspi mode is selected by the `suspending()` - * markers in sockets.ts; no explicit option is needed. + * for in-process translation. jspi mode is selected by wasi-shims' own + * `suspending()` markers (the A5 kernel); no explicit option is needed. */ export async function runGuest( artifacts: ComponentArtifacts | { diff --git a/experiments/iroh-relay-ws/host/run.ts b/experiments/iroh-relay-ws/host/run.ts index 11b076c..ba7f210 100644 --- a/experiments/iroh-relay-ws/host/run.ts +++ b/experiments/iroh-relay-ws/host/run.ts @@ -48,7 +48,6 @@ clearTimeout(watchdog); console.log( `[driver] done in ${((performance.now() - t0) / 1000).toFixed(1)}s; ` + - `polls=${stats.pollCalls} (suspended ${stats.pollSuspends}) ` + `datagrams in/out=${stats.datagramsIn}/${stats.datagramsOut} ` + `ws connections=${bridgeStats.connections} ws msgs in/out=${bridgeStats.wsIn}/${bridgeStats.wsOut} ` + `webrtc channels=${webrtcStats.channelsOpened} msgs in/out=${webrtcStats.in}/${webrtcStats.out} ` + diff --git a/experiments/iroh-relay-ws/host/sockets.ts b/experiments/iroh-relay-ws/host/sockets.ts index 2e689a6..924a522 100644 --- a/experiments/iroh-relay-ws/host/sockets.ts +++ b/experiments/iroh-relay-ws/host/sockets.ts @@ -7,33 +7,28 @@ // to host-side bridges by well-known port (bridge.ts, webrtc-bridge.ts) // or by full synthetic destination address (the issue #26 overlay). // -// deltic's own `wasi-shims` package deliberately stops at tier (a)/(b) of -// the embedder contract's p2 strategy: its pollables are always-ready -// stubs and its clock subscriptions never fire, which busy-loops a guest -// that genuinely parks. The iroh guests park constantly (tokio's reactor -// blocks in `wasi:io/poll#poll`), so this module takes the contract's -// tier (c): `poll` and `Pollable.block` are sync-typed WIT functions -// implemented as Promise-returning JS, declared with the `suspending()` -// marker (embedder-api amendment A1) — the marked import parks the -// calling wasm frame on JSPI, and the marker itself selects jspi mode. +// Parking is deltic's, not this module's: wasi-shims' kernel (embedder-api +// A5) serves `wasi:io/poll` and the clock subscriptions with real +// suspension, and its `Pollable` is publicly constructible as the interop +// seam — this module only mints `new Pollable(ready, wait)` over its +// datagram queues (the promise-swap wake pattern the kernel documents). +// Interfaces the guest links but can never use functionally (tcp, +// ip-name-lookup) are typed stubs that fail with WIT error values, not +// traps. // // Registered under compatibility-track keys (`@0.2`), so one provider -// serves whatever 0.2.x the guest binary names. Interfaces the guest -// links but can never use functionally (tcp, ip-name-lookup) are typed -// stubs that fail with WIT error values, not traps. +// serves whatever 0.2.x the guest binary names. // -// Environment-portable: standard globals only (`performance`, `crypto`, -// `console`); works under Deno and in browsers. +// Environment-portable: standard globals only; works under Deno and in +// browsers. -import { suspending, WitError } from "@deltic/runtime/embedder"; +import { WitError } from "@deltic/runtime/embedder"; +import { Pollable } from "@deltic/wasi-shims"; // --------------------------------------------------------------------------- // instrumentation export const stats = { - pollCalls: 0, - pollSuspends: 0, - blocks: 0, datagramsIn: 0, // bridge -> guest datagramsOut: 0, // guest -> bridge }; @@ -64,85 +59,14 @@ export interface OutgoingDatagram { } // --------------------------------------------------------------------------- -// wasi:io/poll — tier (c): pollables that really park - -/** Nanosecond monotonic clock over `performance.now()`. */ -const hrnow = (): bigint => BigInt(Math.round(performance.now() * 1e6)); - -export class Pollable { - #readyFn: () => boolean; - #waitFn: () => Promise; - constructor(readyFn: () => boolean, waitFn: () => Promise) { - this.#readyFn = readyFn; - this.#waitFn = waitFn; - } - ready(): boolean { - return this.#readyFn(); - } - /** Sync WIT function that genuinely parks: tier (c), `@suspending`. */ - @suspending - async block(): Promise { - stats.blocks++; - while (!this.#readyFn()) await this.#waitFn(); - } - waitPromise(): Promise { - return this.#waitFn(); - } -} - +// pollable minting +// // Every `own` handed to the guest is a FRESH instance: two own // handles sharing one host instance alias one registry rep, and the first // guest-side drop would kill both (HostResourceRegistry semantics). -const ready = (): Pollable => new Pollable(() => true, () => Promise.resolve()); -const never = (): Pollable => new Pollable(() => false, () => new Promise(() => {})); - -/** Duck-typed views of foreign pollables (deltic wasi-shims tier-(a) ones). */ -interface PollableLike { - ready(): boolean; - waitPromise?: () => Promise; -} -/** - * `wasi:io/poll#poll` — sync WIT, Promise-returning JS (tier (c)). - * - * The list mixes this module's pollables with foreign ones (deltic - * wasi-shims' stdio/filesystem pollables are always-ready stubs without - * `waitPromise`), so readiness is duck-typed: a foreign pollable that is - * not ready can never wake us, exactly like the NEVER pollable. - */ -async function poll(list: PollableLike[]): Promise { - stats.pollCalls++; - for (;;) { - const ready: number[] = []; - for (let i = 0; i < list.length; i++) { - if (list[i].ready()) ready.push(i); - } - if (ready.length) return ready; - stats.pollSuspends++; - await Promise.race(list.map((p) => p.waitPromise?.() ?? new Promise(() => {}))); - } -} - -// --------------------------------------------------------------------------- -// wasi:clocks/monotonic-clock — subscriptions that really fire - -function timerPollable(deadlineNs: bigint): Pollable { - return new Pollable( - () => hrnow() >= deadlineNs, - () => - new Promise((r) => { - const ms = Number(deadlineNs - hrnow()) / 1e6; - setTimeout(r, Math.max(0, ms)); - }), - ); -} - -const monotonicClock = { - now: hrnow, - resolution: (): bigint => 1_000n, - subscribeInstant: (when: bigint): Pollable => timerPollable(when), - subscribeDuration: (ns: bigint): Pollable => timerPollable(hrnow() + ns), -}; +const ready = (): Pollable => new Pollable(); +const never = (): Pollable => new Pollable(() => false, () => new Promise(() => {})); // --------------------------------------------------------------------------- // wasi:sockets — the synthetic network (multi-socket) @@ -405,15 +329,12 @@ export class ResolveAddressStream { // the import fragment /** - * The synthetic-network provider fragment (track keys), spread AFTER - * deltic's `wasiShims(...)` so the tier-(c) `wasi:io/poll` and - * `wasi:clocks/monotonic-clock` implementations replace the stub tiers - * (same keys, object-spread override). + * The synthetic-network provider fragment (track keys), spread next to + * deltic's `wasiShims(...)`, whose A5 kernel serves `wasi:io/poll` and + * the clock subscriptions these sockets' pollables park under. */ export function syntheticNetImports(): Record { return { - "wasi:io/poll@0.2": { Pollable, poll: suspending(poll) }, - "wasi:clocks/monotonic-clock@0.2": monotonicClock, "wasi:sockets/network@0.2": { Network }, "wasi:sockets/instance-network@0.2": { instanceNetwork: (): Network => theNetwork, diff --git a/experiments/ping-demo/build.sh b/experiments/ping-demo/build.sh index 183442c..b89fb02 100755 --- a/experiments/ping-demo/build.sh +++ b/experiments/ping-demo/build.sh @@ -33,7 +33,7 @@ shim=$(deno run --config ../../host-deltic/deno.json --frozen \ # repo's pinned tag; the raw URL below must carry the same tag (the pin # gate in host-deltic/fetch-translator.ts checks it). deno run --config "$SPIKE_HOST/deno.json" --allow-read --allow-write \ - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/tools/translate/main.ts" \ + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/tools/translate/main.ts" \ "$GUEST_WASM" -o "$SITE/ping-demo.plan.json" --shim "$shim" cp "$GUEST_WASM" "$SITE/ping-demo.component.wasm" diff --git a/experiments/ping-demo/web/demo.ts b/experiments/ping-demo/web/demo.ts index c3cb5d4..4ffdf57 100644 --- a/experiments/ping-demo/web/demo.ts +++ b/experiments/ping-demo/web/demo.ts @@ -506,7 +506,9 @@ try { setStatus("error", `guest failed: ${err}`) ); } catch (err) { - const jspi = typeof WebAssembly.Suspending === "function"; + // Feature-probe only: deltic's jspi types are module-scoped (no global + // WebAssembly augmentation), so read the property untyped. + const jspi = typeof (WebAssembly as { Suspending?: unknown }).Suspending === "function"; setStatus( "error", jspi diff --git a/host-deltic/deno.json b/host-deltic/deno.json index 292b43c..4fc4295 100644 --- a/host-deltic/deno.json +++ b/host-deltic/deno.json @@ -2,9 +2,9 @@ "//": "MODULE-IDENTITY CONSTRAINT: deltic's wasi-shims and the sibling deltic host modules (.deps/{websocket,webrtc,webcrypto}) import @deltic/runtime/embedder by bare specifier internally; this file maps that specifier ONCE for the whole module graph, so `instanceof WitError` holds across every boundary. The npm mappings serve the webrtc module's bare `node-datachannel`/`werift` specifiers, which resolve against THIS config when run-endpoint.ts is the entry module.", "nodeModulesDir": "auto", "imports": { - "@deltic/runtime/embedder": "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/mod.ts", - "@deltic/runtime/shim": "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/shim/mod.ts", - "@deltic/wasi-shims": "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/mod.ts", + "@deltic/runtime/embedder": "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/mod.ts", + "@deltic/runtime/shim": "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/shim/mod.ts", + "@deltic/wasi-shims": "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/mod.ts", "@polymorph/webcrypto-deltic": "../.deps/webcrypto/js/deltic/src/mod.ts", "node-datachannel": "npm:node-datachannel@0.32.3", "node-datachannel/polyfill": "npm:node-datachannel@0.32.3/polyfill", diff --git a/host-deltic/deno.lock b/host-deltic/deno.lock index 159e356..9084b43 100644 --- a/host-deltic/deno.lock +++ b/host-deltic/deno.lock @@ -619,63 +619,63 @@ "https://raw.githubusercontent.com/lann/deltic/pre-58b2404/runtime/src/task/subtask.ts": "750b13a1318f62836bfd149f1b9144de5b017fd7a84adc8e2fb2151e63130fbc", "https://raw.githubusercontent.com/lann/deltic/pre-58b2404/runtime/src/task/thread.ts": "81fe38b37a1ec130803b478a24e428b19ee4e1ef8c0bae741395cd8d52751580", "https://raw.githubusercontent.com/lann/deltic/pre-58b2404/runtime/src/task/waitable.ts": "5e1fc092e3d8f1fb4429d6a91d8886b3e474aa9ac6254e7924fd896c4929e1f9", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/async_values.ts": "af1279d4e4db5b756268979aeff5b27c1cf6c0f021213655676ade90472f282b", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/context.ts": "b4b60891ef9d9e72b208636f6ba37f0b9b6962d307af6156ad3b5ad59a626902", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/flatten.ts": "6c980fe38d7adce349d5e028b819eb0ffbb92714f958c1d5daae8da3e7ed3889", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/float.ts": "0483e8c1aa8786eee4c6f6357fee6738555e4310650c474aba6cd811a80d7d36", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/handles.ts": "30510750261499f48a812bb8c349a8f88a3bb7239175e6f1d4e6d10c38571e5d", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/layout.ts": "8122141b39f4d8189c13d91fc1b37825ceead86988f879f3fa9351bbef96f8f2", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/lift.ts": "e4475a44a5618114f288025601b535bc04b97e9a37b3be21f51d3be092d419c8", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/load.ts": "c1d8ddb1b3b3c59afe30710a97ad6dd7ae1ecd59aa1d427a5eaf4552d3b1ea01", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/lower.ts": "916ef7476dc583783770f4c42de7a655350531b3763c81a92249cca96f5e4d80", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/memory.ts": "09728360d6413fb30a5a7bff1ba6abec1ac6474ff150d45f093b8ebe5e65cd51", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/mod.ts": "b79cf9e2bab2e837fee76fa61dc18bff66d941e08597f1b76de93811bd6d6008", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/store.ts": "97aaecfeb4dfbf5c3c132fb5eadf1f5677924936eee0c7fa75a266a00cd73634", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/strings.ts": "9589dda3857725792ae15ef6888449b48e973b9eb0f3058ed64e10bf4d39b793", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/trap.ts": "307d8b48806eeba30400b3d7db9370cee70a12298851c1c19053dd8ca0013e1c", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/types.ts": "d0392e8cdf2990a76c8a1f9b85795d3b7c19b8eb006c2b159b671d08c39b9535", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/cabi/values.ts": "9e6ddcc4192d05897b2cbea250db3fef0ad9bf6548ba87aff378ee14b7ab7022", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/casing.ts": "1e9083becfc08107c09015ce3db79c304b05c40085a3c899ea1c8ebe25fcd45f", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/errors.ts": "b0cac244526b92c052d165f2aee1d9492e5915a5a4cad114e1ab575ffe1587ba", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/imports.ts": "98cca003e4a1131c35854c91b458f109d6761a3e8f67c23730f7e9bc28bbad88", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/instantiate.ts": "23d48153014b127930b5c38172b36bffe839ad81738087914c32cbce21da6e08", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/mod.ts": "8f431ffc276fb1c6f38088dd8cc79d23a42c6291cd4aefb43de62038076b781f", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/resources.ts": "d209e5f13545b9c0c095ac4e188b72370d97c9bd394ba7c8793ddd74f436b1ef", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/streams.ts": "4ef894a43da94b4cb01ee65798a108a8fb3f6b2dc6013c71881f63e0806df565", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/values.ts": "ed876f9103f4a4f34e8eb475934091156bee1447f5a029ea300644b8f3ee71eb", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/embedder/version.ts": "b1c589988e5fb88dce3a014846c9253399e286f12afb5fd92509c8d6090ad4bb", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/exec/boundary.ts": "494551c1cf500768b506e3e44d41993c0d06c29d4cd20d67ecc2cba995e62769", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/exec/executor.ts": "3488e912b8c0fa6370b1c419c2809f7ba8919fc4b1220fdd20b8f8391e02f752", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/exec/host_streams.ts": "63f6b113806c401ae9895df82448da70a7745a97b6e2f04061fb5bc64e7d0acf", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/exec/mod.ts": "a46320977ece14342bcb72c9c9e36d65a1cd09d789591d0909d7d1185264010b", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/async_builtins.ts": "526795358da8908d54a483bb47eebc43e0a1ea59e69ece94d0c6890ad0fa8784", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/context.ts": "be93b23d127ff71d5c372781f89d1c3746c5d32a44e67ebbcd91f2b0f0807e93", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/errors.ts": "9d09fc1818b4dc98b238aa69008a9110d9d305b6a8e806604f3bd48fca1eebcb", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/fact_calls.ts": "2d43e451a729c54847aae88e823b7b18c6e7a8ff3ba95465028d99a9a4b15544", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/mod.ts": "f9c095e561f5fbb51f70693b21f272f66241f2e8ff2e1a83cd4176bcd0104eb9", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/stream_builtins.ts": "bbc1e1ea0e4616026a46d790a68695aa70589a88b08a6275acdb525f0ab531ec", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/intrinsics/transcode.ts": "e3fcaeb7a60b6cbad999d9389d4bce59e305e6f54e035ba791f909e10d1f82c7", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/bridge.ts": "8b4399ba38179ce36f1e21a1c9511b26250f16386537eb967e507c79627744bf", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/mechanics.ts": "dc0fe4965b3ef8c0aff6674afd8bae2a38942ab934fa07fd2eb7db72b2462f17", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/mod.ts": "672aae180ad752ce07cfd83b006d24058f3aa4952a75d9a1fd256b7f804cd46a", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/suspending.ts": "8d24327f6452cf47197e01f2b5224d03fe9270968254fcaa4e8a927ea1b19041", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/jspi/types.ts": "86929224733a764a148ac75a9d6b95d61ab4c8123a48fe956d998e97726a1432", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/plan/format.ts": "90e31bbc7137c2f80c0782e1431afb6f81827aab8d38dba1178b8761f1b3ea0a", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/plan/loader.ts": "107db77e724a7f74f161a5fd20e7110a6e6f182c46f18282eba650bc887dc876", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/shim/mod.ts": "34af2240dfd0be720def487db2db34eaad6ba9178003f20e2193d03a0632779b", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/shim/translator.ts": "9b8c558179acbf7b467db3437be71837db44cecbcc52f45e913b210b3a059dab", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/mod.ts": "42d2a2620eba5651016a16c16f47ec0524be525e56f78dec4956c1767b4d2002", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/scheduler.ts": "424e271e7d35f1eec3308a95408a2bee35010f2ead815931ee29246138c00722", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/streams.ts": "83b522a6393ba06fbdb87881bc6761f3fce9c03b85e9eda03d3befe7d2605a60", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/subtask.ts": "750b13a1318f62836bfd149f1b9144de5b017fd7a84adc8e2fb2151e63130fbc", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/thread.ts": "81fe38b37a1ec130803b478a24e428b19ee4e1ef8c0bae741395cd8d52751580", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/runtime/src/task/waitable.ts": "5e1fc092e3d8f1fb4429d6a91d8886b3e474aa9ac6254e7924fd896c4929e1f9", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/cli.ts": "d1617e12dc2569f4ee107f8b92488797daf431d14b8a86a1ab10750a28757394", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/clocks.ts": "05468a822b635408ce3a671b40fd06fd4448c220019f9449bf029ac1c7e59664", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/filesystem.ts": "6dcead5346d78084c3923410e44875e678f3b58db0c2d59513339b428596ec25", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/io.ts": "dfe270e5ad3388c02696e27a5c69c58a411759fe8c99416361b0ac10177366da", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/mod.ts": "1748985cf851252e1755aafd9ebb9c7ae96003ec41322d9524a952062d2b8570", - "https://raw.githubusercontent.com/lann/deltic/pre-eb3f8d0/wasi-shims/src/random.ts": "bdd9b3c87c16588a8b176b9e4fbd4f9900a78a3a3a545a5559c51272e1780647" + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/async_values.ts": "af1279d4e4db5b756268979aeff5b27c1cf6c0f021213655676ade90472f282b", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/context.ts": "b4b60891ef9d9e72b208636f6ba37f0b9b6962d307af6156ad3b5ad59a626902", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/flatten.ts": "6c980fe38d7adce349d5e028b819eb0ffbb92714f958c1d5daae8da3e7ed3889", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/float.ts": "0483e8c1aa8786eee4c6f6357fee6738555e4310650c474aba6cd811a80d7d36", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/handles.ts": "30510750261499f48a812bb8c349a8f88a3bb7239175e6f1d4e6d10c38571e5d", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/layout.ts": "8122141b39f4d8189c13d91fc1b37825ceead86988f879f3fa9351bbef96f8f2", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/lift.ts": "e4475a44a5618114f288025601b535bc04b97e9a37b3be21f51d3be092d419c8", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/load.ts": "c1d8ddb1b3b3c59afe30710a97ad6dd7ae1ecd59aa1d427a5eaf4552d3b1ea01", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/lower.ts": "916ef7476dc583783770f4c42de7a655350531b3763c81a92249cca96f5e4d80", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/memory.ts": "09728360d6413fb30a5a7bff1ba6abec1ac6474ff150d45f093b8ebe5e65cd51", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/mod.ts": "b79cf9e2bab2e837fee76fa61dc18bff66d941e08597f1b76de93811bd6d6008", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/store.ts": "ab3c1475ddce5aef1c7feb77933c19b48ab8bd54634c22a5397c9e734cfd5183", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/strings.ts": "9589dda3857725792ae15ef6888449b48e973b9eb0f3058ed64e10bf4d39b793", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/trap.ts": "307d8b48806eeba30400b3d7db9370cee70a12298851c1c19053dd8ca0013e1c", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/types.ts": "d0392e8cdf2990a76c8a1f9b85795d3b7c19b8eb006c2b159b671d08c39b9535", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/cabi/values.ts": "9e6ddcc4192d05897b2cbea250db3fef0ad9bf6548ba87aff378ee14b7ab7022", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/casing.ts": "1e9083becfc08107c09015ce3db79c304b05c40085a3c899ea1c8ebe25fcd45f", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/errors.ts": "fe1b220c22facf37948d444f97d7c8083da41c8496e6ce23b27c820ca0c2c7d7", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/imports.ts": "98cca003e4a1131c35854c91b458f109d6761a3e8f67c23730f7e9bc28bbad88", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/instantiate.ts": "1c50c17d72bca15738b161b99aa5c406ce87486110b50d09f116aa49a05c215c", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/mod.ts": "3d0be7e5d2fc784725c7ec5ddb1add5120c4f7a2c39be3d4aa3368f27834ed87", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/resources.ts": "d209e5f13545b9c0c095ac4e188b72370d97c9bd394ba7c8793ddd74f436b1ef", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/streams.ts": "f3f3374faf54bc412954692c4df7446d711fe4b6c7712b29e2cea289fcabe5a5", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/values.ts": "ed876f9103f4a4f34e8eb475934091156bee1447f5a029ea300644b8f3ee71eb", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/embedder/version.ts": "b1c589988e5fb88dce3a014846c9253399e286f12afb5fd92509c8d6090ad4bb", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/exec/boundary.ts": "3467d40646a21af853cfdf511fa1acdc9a28122c09e09dcfe124af8ce769b3d2", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/exec/executor.ts": "5d0a5b90886a79ca7c774c8ed612d8aead1acf06433406702ce97ddcf2968be1", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/exec/host_streams.ts": "38e4d6a89169616a18a1369dd6220cfbc11f2ec3d4f85ab10b5933eed76b36cb", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/exec/mod.ts": "a46320977ece14342bcb72c9c9e36d65a1cd09d789591d0909d7d1185264010b", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/async_builtins.ts": "526795358da8908d54a483bb47eebc43e0a1ea59e69ece94d0c6890ad0fa8784", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/context.ts": "be93b23d127ff71d5c372781f89d1c3746c5d32a44e67ebbcd91f2b0f0807e93", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/errors.ts": "9d09fc1818b4dc98b238aa69008a9110d9d305b6a8e806604f3bd48fca1eebcb", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/fact_calls.ts": "c28a9e07699045800105b8f8c3eb086f5550f118b1de852de72d25814ee17068", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/mod.ts": "f9c095e561f5fbb51f70693b21f272f66241f2e8ff2e1a83cd4176bcd0104eb9", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/stream_builtins.ts": "bbc1e1ea0e4616026a46d790a68695aa70589a88b08a6275acdb525f0ab531ec", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/intrinsics/transcode.ts": "e3fcaeb7a60b6cbad999d9389d4bce59e305e6f54e035ba791f909e10d1f82c7", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/bridge.ts": "28cb5681d63408cca14a9e307065f50188b25aa15ebe5be159ed32dc5f96f002", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/mechanics.ts": "621eb66135f516cdb488ef6388607772175ec1ef005a70f67e86d1c31f84e4db", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/mod.ts": "672aae180ad752ce07cfd83b006d24058f3aa4952a75d9a1fd256b7f804cd46a", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/suspending.ts": "8d24327f6452cf47197e01f2b5224d03fe9270968254fcaa4e8a927ea1b19041", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/jspi/types.ts": "102430fa9386026d0429d42a5365dcc2ed557af536138328325e4cd56f8ddce0", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/plan/format.ts": "90e31bbc7137c2f80c0782e1431afb6f81827aab8d38dba1178b8761f1b3ea0a", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/plan/loader.ts": "107db77e724a7f74f161a5fd20e7110a6e6f182c46f18282eba650bc887dc876", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/shim/mod.ts": "34af2240dfd0be720def487db2db34eaad6ba9178003f20e2193d03a0632779b", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/shim/translator.ts": "9b8c558179acbf7b467db3437be71837db44cecbcc52f45e913b210b3a059dab", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/mod.ts": "42d2a2620eba5651016a16c16f47ec0524be525e56f78dec4956c1767b4d2002", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/scheduler.ts": "b6f3ecf8a3b8e51862cc60a51907009ee3cc5ba9f21a6e4dc49d54f595c04e70", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/streams.ts": "59e3b9b5ededc2b191b8de0728b105f8459e113e1b869b7e418150aaea869029", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/subtask.ts": "750b13a1318f62836bfd149f1b9144de5b017fd7a84adc8e2fb2151e63130fbc", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/thread.ts": "9f19995d3b0cdbd491d9a8176151f1ceea1ffdd10af837777b9ed4071b99218f", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/runtime/src/task/waitable.ts": "5e1fc092e3d8f1fb4429d6a91d8886b3e474aa9ac6254e7924fd896c4929e1f9", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/cli.ts": "d1617e12dc2569f4ee107f8b92488797daf431d14b8a86a1ab10750a28757394", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/clocks.ts": "1ce4e2beb07231c7e284e3feb9d6a5bb25d16627e1104d8d51a9d016d17fa457", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/filesystem.ts": "6dcead5346d78084c3923410e44875e678f3b58db0c2d59513339b428596ec25", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/io.ts": "797828af58cf820250b5d8f174a451fbe525a33f82353eac4c50ff55610d47af", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/mod.ts": "1748985cf851252e1755aafd9ebb9c7ae96003ec41322d9524a952062d2b8570", + "https://raw.githubusercontent.com/lann/deltic/pre-a67ee83/wasi-shims/src/random.ts": "bdd9b3c87c16588a8b176b9e4fbd4f9900a78a3a3a545a5559c51272e1780647" }, "workspace": { "dependencies": [ diff --git a/host-deltic/fetch-translator.ts b/host-deltic/fetch-translator.ts index 292dab7..db4d241 100644 --- a/host-deltic/fetch-translator.ts +++ b/host-deltic/fetch-translator.ts @@ -16,9 +16,9 @@ // `deno install --allow-scripts=npm:node-datachannel` in this directory to // regenerate it (commit the diff). -const TAG = "pre-eb3f8d0"; +const TAG = "pre-a67ee83"; const TRANSLATOR_SHA256 = - "6d02b363785593595a789d083cda0aebb1de790726718ccf543198354fa3870c"; + "2a2c9bbd3dfc009f301bdce9101116b237593bd8e17a06f412b000e2d4d4c220"; const ASSET = "deltic-translator-shim.wasm"; const HERE = new URL(".", import.meta.url);