wasm-idle 0.7.2 → 1.0.0
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 +760 -81
- package/dist/index.d.ts +4 -9
- package/dist/index.js +2 -4
- package/dist/playground/applicationAssets.d.ts +4 -0
- package/dist/playground/applicationAssets.js +277 -0
- package/dist/playground/assemblyscript.d.ts +41 -0
- package/dist/playground/assemblyscript.js +630 -0
- package/dist/playground/assetBridge.d.ts +18 -7
- package/dist/playground/assetBridge.js +824 -100
- package/dist/playground/assets.d.ts +813 -19
- package/dist/playground/assets.js +2096 -156
- package/dist/playground/awk.d.ts +5 -0
- package/dist/playground/awk.js +60 -0
- package/dist/playground/bash.d.ts +53 -0
- package/dist/playground/bash.js +1096 -0
- package/dist/playground/bashWorkerProtocol.d.ts +88 -0
- package/dist/playground/bashWorkerProtocol.js +135 -0
- package/dist/playground/bqn.d.ts +5 -0
- package/dist/playground/bqn.js +57 -0
- package/dist/playground/bqnPreflight.d.ts +26 -0
- package/dist/playground/bqnPreflight.js +399 -0
- package/dist/playground/c3.d.ts +15 -0
- package/dist/playground/c3.js +154 -0
- package/dist/playground/clang.d.ts +35 -19
- package/dist/playground/clang.js +241 -52
- package/dist/playground/clangAssetIntegrity.d.ts +32 -0
- package/dist/playground/clangAssetIntegrity.js +8 -0
- package/dist/playground/clojurescript.d.ts +5 -0
- package/dist/playground/clojurescript.js +59 -0
- package/dist/playground/clojurescriptPreflight.d.ts +26 -0
- package/dist/playground/clojurescriptPreflight.js +383 -0
- package/dist/playground/cobol.d.ts +46 -0
- package/dist/playground/cobol.js +703 -0
- package/dist/playground/d.d.ts +47 -0
- package/dist/playground/d.js +644 -0
- package/dist/playground/dOuterAssets.d.ts +16 -0
- package/dist/playground/dOuterAssets.js +163 -0
- package/dist/playground/dotnet.d.ts +99 -0
- package/dist/playground/dotnet.js +1131 -0
- package/dist/playground/duckdb.d.ts +36 -0
- package/dist/playground/duckdb.js +542 -0
- package/dist/playground/elixir.d.ts +18 -10
- package/dist/playground/elixir.js +630 -96
- package/dist/playground/elixirAssets.d.ts +6 -0
- package/dist/playground/elixirAssets.js +33 -0
- package/dist/playground/executionObservation.d.ts +22 -0
- package/dist/playground/executionObservation.js +65 -0
- package/dist/playground/forth.d.ts +5 -0
- package/dist/playground/forth.js +53 -0
- package/dist/playground/forthPreflight.d.ts +24 -0
- package/dist/playground/forthPreflight.js +198 -0
- package/dist/playground/fortran.d.ts +47 -0
- package/dist/playground/fortran.js +651 -0
- package/dist/playground/fortranAssets.d.ts +6 -0
- package/dist/playground/fortranAssets.js +27 -0
- package/dist/playground/gleam.d.ts +6 -0
- package/dist/playground/gleam.js +33 -0
- package/dist/playground/go.d.ts +17 -11
- package/dist/playground/go.js +376 -72
- package/dist/playground/goDebugInstrumentation.d.ts +1 -0
- package/dist/playground/goDebugInstrumentation.js +229 -0
- package/dist/playground/haskell.d.ts +44 -0
- package/dist/playground/haskell.js +678 -0
- package/dist/playground/haskellAssets.d.ts +24 -0
- package/dist/playground/haskellAssets.js +93 -0
- package/dist/playground/index.d.ts +1 -1
- package/dist/playground/index.js +360 -111
- package/dist/playground/j.d.ts +5 -0
- package/dist/playground/j.js +60 -0
- package/dist/playground/jPreflight.d.ts +26 -0
- package/dist/playground/jPreflight.js +372 -0
- package/dist/playground/janet.d.ts +5 -0
- package/dist/playground/janet.js +64 -0
- package/dist/playground/java.d.ts +24 -10
- package/dist/playground/java.js +706 -84
- package/dist/playground/javaSource.d.ts +5 -0
- package/dist/playground/javaSource.js +16 -0
- package/dist/playground/javaStdin.d.ts +1 -1
- package/dist/playground/javaStdin.js +13 -4
- package/dist/playground/julia.d.ts +5 -0
- package/dist/playground/julia.js +64 -0
- package/dist/playground/lfortran.d.ts +8 -0
- package/dist/playground/lfortran.js +30 -0
- package/dist/playground/lfortranAssets.d.ts +21 -0
- package/dist/playground/lfortranAssets.js +118 -0
- package/dist/playground/lisp.d.ts +45 -0
- package/dist/playground/lisp.js +640 -0
- package/dist/playground/lispAssets.d.ts +9 -0
- package/dist/playground/lispAssets.js +74 -0
- package/dist/playground/lldbManifest.d.ts +3 -0
- package/dist/playground/lldbManifest.js +155 -0
- package/dist/playground/lldbSession.d.ts +115 -0
- package/dist/playground/lldbSession.js +1347 -0
- package/dist/playground/loadingProgress.d.ts +16 -0
- package/dist/playground/loadingProgress.js +166 -0
- package/dist/playground/lua.d.ts +44 -0
- package/dist/playground/lua.js +630 -0
- package/dist/playground/nim.d.ts +5 -0
- package/dist/playground/nim.js +76 -0
- package/dist/playground/objectivec.d.ts +39 -0
- package/dist/playground/objectivec.js +288 -0
- package/dist/playground/ocaml.d.ts +28 -10
- package/dist/playground/ocaml.js +815 -253
- package/dist/playground/octave.d.ts +43 -0
- package/dist/playground/octave.js +783 -0
- package/dist/playground/options.d.ts +19 -40
- package/dist/playground/options.js +2 -1
- package/dist/playground/pascal.d.ts +5 -0
- package/dist/playground/pascal.js +60 -0
- package/dist/playground/perl.d.ts +5 -0
- package/dist/playground/perl.js +61 -0
- package/dist/playground/php.d.ts +44 -0
- package/dist/playground/php.js +665 -0
- package/dist/playground/prolog.d.ts +6 -0
- package/dist/playground/prolog.js +75 -0
- package/dist/playground/python.d.ts +20 -14
- package/dist/playground/python.js +445 -101
- package/dist/playground/pythonPackageLock.d.ts +6 -0
- package/dist/playground/pythonPackageLock.js +56 -0
- package/dist/playground/r.d.ts +44 -0
- package/dist/playground/r.js +637 -0
- package/dist/playground/ruby.d.ts +46 -0
- package/dist/playground/ruby.js +732 -0
- package/dist/playground/rubyAssets.d.ts +23 -0
- package/dist/playground/rubyAssets.js +68 -0
- package/dist/playground/rubyTestPreflight.d.ts +2 -0
- package/dist/playground/rubyTestPreflight.js +18 -0
- package/dist/playground/runtimeModule.d.ts +1 -0
- package/dist/playground/runtimeModule.js +5 -0
- package/dist/playground/rust.d.ts +44 -13
- package/dist/playground/rust.js +714 -76
- package/dist/playground/rustExecutableGraph.d.ts +85 -0
- package/dist/playground/rustExecutableGraph.js +946 -0
- package/dist/playground/rustWorkerLimits.d.ts +17 -0
- package/dist/playground/rustWorkerLimits.js +34 -0
- package/dist/playground/sandbox.d.ts +16 -10
- package/dist/playground/sharedBuffer.d.ts +6 -0
- package/dist/playground/sharedBuffer.js +12 -0
- package/dist/playground/sqlite.d.ts +38 -0
- package/dist/playground/sqlite.js +550 -0
- package/dist/playground/staticRuntimeModuleVersion.d.ts +1 -0
- package/dist/playground/staticRuntimeModuleVersion.js +2 -0
- package/dist/playground/staticRuntimePreflight.d.ts +13 -0
- package/dist/playground/staticRuntimePreflight.js +231 -0
- package/dist/playground/staticRuntimePreflightExecute.d.ts +8 -0
- package/dist/playground/staticRuntimePreflightExecute.js +66 -0
- package/dist/playground/staticRuntimePreflightProtocol.d.ts +68 -0
- package/dist/playground/staticRuntimePreflightProtocol.js +339 -0
- package/dist/playground/staticStdinRing.d.ts +45 -0
- package/dist/playground/staticStdinRing.js +158 -0
- package/dist/playground/staticWorkerRuntime.d.ts +154 -0
- package/dist/playground/staticWorkerRuntime.js +1917 -0
- package/dist/playground/stdinBuffer.d.ts +9 -7
- package/dist/playground/stdinBuffer.js +9 -18
- package/dist/playground/swift.d.ts +5 -0
- package/dist/playground/swift.js +17 -0
- package/dist/playground/tcl.d.ts +5 -0
- package/dist/playground/tcl.js +62 -0
- package/dist/playground/teavmConfig.d.ts +1 -1
- package/dist/playground/teavmConfig.js +2 -2
- package/dist/playground/tinygo.d.ts +48 -18
- package/dist/playground/tinygo.js +1202 -329
- package/dist/playground/tinygoExecutableGraph.d.ts +44 -0
- package/dist/playground/tinygoExecutableGraph.js +449 -0
- package/dist/playground/typescript.d.ts +55 -0
- package/dist/playground/typescript.js +924 -0
- package/dist/playground/wasm.d.ts +43 -0
- package/dist/playground/wasm.js +608 -0
- package/dist/playground/wasmAwkVersion.d.ts +59 -0
- package/dist/playground/wasmAwkVersion.js +31 -0
- package/dist/playground/wasmBashVersion.d.ts +63 -0
- package/dist/playground/wasmBashVersion.js +36 -0
- package/dist/playground/wasmBqnVersion.d.ts +24 -0
- package/dist/playground/wasmBqnVersion.js +24 -0
- package/dist/playground/wasmC3Version.d.ts +20 -0
- package/dist/playground/wasmC3Version.js +21 -0
- package/dist/playground/wasmClojureScriptVersion.d.ts +21 -0
- package/dist/playground/wasmClojureScriptVersion.js +21 -0
- package/dist/playground/wasmDIntegrity.d.ts +15 -0
- package/dist/playground/wasmDIntegrity.js +15 -0
- package/dist/playground/wasmDVersion.d.ts +1 -0
- package/dist/playground/wasmDVersion.js +1 -0
- package/dist/playground/wasmDebugVersion.d.ts +6 -0
- package/dist/playground/wasmDebugVersion.js +6 -0
- package/dist/playground/wasmDotnetVersion.d.ts +1 -0
- package/dist/playground/wasmDotnetVersion.js +1 -0
- package/dist/playground/wasmElixirVersion.d.ts +21 -1
- package/dist/playground/wasmElixirVersion.js +21 -1
- package/dist/playground/wasmForthVersion.d.ts +18 -0
- package/dist/playground/wasmForthVersion.js +18 -0
- package/dist/playground/wasmFortranExecutionAssets.d.ts +15 -0
- package/dist/playground/wasmFortranExecutionAssets.js +15 -0
- package/dist/playground/wasmFortranVersion.d.ts +1 -0
- package/dist/playground/wasmFortranVersion.js +1 -0
- package/dist/playground/wasmGleamVersion.d.ts +5 -0
- package/dist/playground/wasmGleamVersion.js +5 -0
- package/dist/playground/wasmGoVersion.d.ts +1 -1
- package/dist/playground/wasmGoVersion.js +1 -1
- package/dist/playground/wasmHaskellVersion.d.ts +1 -0
- package/dist/playground/wasmHaskellVersion.js +1 -0
- package/dist/playground/wasmJVersion.d.ts +24 -0
- package/dist/playground/wasmJVersion.js +24 -0
- package/dist/playground/wasmJanetVersion.d.ts +53 -0
- package/dist/playground/wasmJanetVersion.js +30 -0
- package/dist/playground/wasmJuliaVersion.d.ts +71 -0
- package/dist/playground/wasmJuliaVersion.js +39 -0
- package/dist/playground/wasmLfortranVersion.d.ts +28 -0
- package/dist/playground/wasmLfortranVersion.js +29 -0
- package/dist/playground/wasmLispVersion.d.ts +1 -0
- package/dist/playground/wasmLispVersion.js +1 -0
- package/dist/playground/wasmLuaVersion.d.ts +1 -0
- package/dist/playground/wasmLuaVersion.js +1 -0
- package/dist/playground/wasmNimVersion.d.ts +125 -0
- package/dist/playground/wasmNimVersion.js +66 -0
- package/dist/playground/wasmObjectiveCVersion.d.ts +27 -0
- package/dist/playground/wasmObjectiveCVersion.js +27 -0
- package/dist/playground/wasmOcamlVersion.d.ts +12 -1
- package/dist/playground/wasmOcamlVersion.js +12 -1
- package/dist/playground/wasmOctaveVersion.d.ts +1 -0
- package/dist/playground/wasmOctaveVersion.js +1 -0
- package/dist/playground/wasmPascalVersion.d.ts +61 -0
- package/dist/playground/wasmPascalVersion.js +34 -0
- package/dist/playground/wasmPerlVersion.d.ts +71 -0
- package/dist/playground/wasmPerlVersion.js +39 -0
- package/dist/playground/wasmPrologVersion.d.ts +31 -0
- package/dist/playground/wasmPrologVersion.js +31 -0
- package/dist/playground/wasmRVersion.d.ts +1 -0
- package/dist/playground/wasmRVersion.js +1 -0
- package/dist/playground/wasmRustVersion.d.ts +1306 -1
- package/dist/playground/wasmRustVersion.js +1458 -1
- package/dist/playground/wasmSwiftVersion.d.ts +1 -0
- package/dist/playground/wasmSwiftVersion.js +1 -0
- package/dist/playground/wasmTclVersion.d.ts +85 -0
- package/dist/playground/wasmTclVersion.js +46 -0
- package/dist/playground/wasmTinyGoVersion.d.ts +98 -1
- package/dist/playground/wasmTinyGoVersion.js +107 -1
- package/dist/playground/wasmTypeScriptVersion.d.ts +5 -0
- package/dist/playground/wasmTypeScriptVersion.js +5 -0
- package/dist/playground/wasmWatVersion.d.ts +1 -0
- package/dist/playground/wasmWatVersion.js +1 -0
- package/dist/playground/wasmZigVersion.d.ts +13 -0
- package/dist/playground/wasmZigVersion.js +13 -0
- package/dist/playground/wat.d.ts +44 -0
- package/dist/playground/wat.js +622 -0
- package/dist/playground/worker/assemblyscript.js +339 -0
- package/dist/playground/worker/assets.d.ts +7 -0
- package/dist/playground/worker/assets.js +288 -39
- package/dist/playground/worker/bash.js +338 -0
- package/dist/playground/worker/bashNestedBootstrap.d.ts +6 -0
- package/dist/playground/worker/bashNestedBootstrap.js +59 -0
- package/dist/playground/worker/bashRuntime.d.ts +89 -0
- package/dist/playground/worker/bashRuntime.js +982 -0
- package/dist/playground/worker/clang.js +92 -13
- package/dist/playground/worker/cobol.js +107 -0
- package/dist/playground/worker/d.js +199 -0
- package/dist/playground/worker/dotnet.js +141 -0
- package/dist/playground/worker/duckdb.d.ts +1 -0
- package/dist/playground/worker/duckdb.js +136 -0
- package/dist/playground/worker/elixir.js +307 -41
- package/dist/playground/worker/fortran.d.ts +1 -0
- package/dist/playground/worker/fortran.js +295 -0
- package/dist/playground/worker/go.js +246 -40
- package/dist/playground/worker/haskell.d.ts +7 -0
- package/dist/playground/worker/haskell.js +465 -0
- package/dist/playground/worker/java.js +59 -20
- package/dist/playground/worker/lisp.d.ts +1 -0
- package/dist/playground/worker/lisp.js +195 -0
- package/dist/playground/worker/lua.d.ts +1 -0
- package/dist/playground/worker/lua.js +163 -0
- package/dist/playground/worker/objectivec.d.ts +1 -0
- package/dist/playground/worker/objectivec.js +10 -0
- package/dist/playground/worker/ocaml.js +206 -58
- package/dist/playground/worker/php.d.ts +1 -0
- package/dist/playground/worker/php.js +261 -0
- package/dist/playground/worker/python.js +201 -44
- package/dist/playground/worker/r.d.ts +1 -0
- package/dist/playground/worker/r.js +192 -0
- package/dist/playground/worker/ruby.d.ts +1 -0
- package/dist/playground/worker/ruby.js +248 -0
- package/dist/playground/worker/runtimeAssetFetch.d.ts +15 -0
- package/dist/playground/worker/runtimeAssetFetch.js +375 -0
- package/dist/playground/worker/rust.js +546 -20
- package/dist/playground/worker/sqlite.d.ts +1 -0
- package/dist/playground/worker/sqlite.js +112 -0
- package/dist/playground/worker/staticRuntimePreflight.d.ts +1 -0
- package/dist/playground/worker/staticRuntimePreflight.js +56 -0
- package/dist/playground/worker/tinygo.js +34 -9
- package/dist/playground/worker/typescript.d.ts +1 -0
- package/dist/playground/worker/typescript.js +251 -0
- package/dist/playground/worker/wasm.d.ts +1 -0
- package/dist/playground/worker/wasm.js +273 -0
- package/dist/playground/worker/wat.d.ts +1 -0
- package/dist/playground/worker/wat.js +188 -0
- package/dist/playground/worker/zig.d.ts +8 -0
- package/dist/playground/worker/zig.js +578 -0
- package/dist/playground/workerProgress.d.ts +15 -0
- package/dist/playground/workerProgress.js +72 -0
- package/dist/playground/workerSession.d.ts +28 -0
- package/dist/playground/workerSession.js +164 -0
- package/dist/playground/zig.d.ts +46 -0
- package/dist/playground/zig.js +690 -0
- package/dist/playground/zigAssets.d.ts +6 -0
- package/dist/playground/zigAssets.js +49 -0
- package/package.json +234 -105
- package/dist/clang/app.d.ts +0 -75
- package/dist/clang/app.js +0 -744
- package/dist/clang/apply.d.ts +0 -2
- package/dist/clang/apply.js +0 -11
- package/dist/clang/color.d.ts +0 -3
- package/dist/clang/color.js +0 -3
- package/dist/clang/encode.d.ts +0 -4
- package/dist/clang/encode.js +0 -20
- package/dist/clang/error.d.ts +0 -14
- package/dist/clang/error.js +0 -27
- package/dist/clang/gccCompat.d.ts +0 -15
- package/dist/clang/gccCompat.js +0 -767
- package/dist/clang/index.d.ts +0 -85
- package/dist/clang/index.js +0 -1077
- package/dist/clang/memory/index.d.ts +0 -4
- package/dist/clang/memory/index.js +0 -4
- package/dist/clang/memory/memFs.d.ts +0 -35
- package/dist/clang/memory/memFs.js +0 -132
- package/dist/clang/memory/memory.d.ts +0 -22
- package/dist/clang/memory/memory.js +0 -73
- package/dist/clang/memory/tar.d.ts +0 -2
- package/dist/clang/memory/tar.js +0 -59
- package/dist/clang/url.d.ts +0 -4
- package/dist/clang/url.js +0 -5
- package/dist/clang/wasm.d.ts +0 -4
- package/dist/clang/wasm.js +0 -50
- package/dist/clangd/config.d.ts +0 -18
- package/dist/clangd/config.js +0 -14
- package/dist/clangd/jsonStream.d.ts +0 -9
- package/dist/clangd/jsonStream.js +0 -48
- package/dist/clangd/session.d.ts +0 -18
- package/dist/clangd/session.js +0 -112
- package/dist/clangd/worker.js +0 -131
- package/dist/debug/controller.svelte.d.ts +0 -43
- package/dist/debug/controller.svelte.js +0 -268
- package/dist/debug/editor/index.d.ts +0 -2
- package/dist/debug/editor/index.js +0 -1
- package/dist/debug/editor/monaco.d.ts +0 -26
- package/dist/debug/editor/monaco.js +0 -128
- package/dist/debug/expression.d.ts +0 -26
- package/dist/debug/expression.js +0 -547
- package/dist/debug/index.d.ts +0 -8
- package/dist/debug/index.js +0 -5
- package/dist/debug/language/cpp.d.ts +0 -2
- package/dist/debug/language/cpp.js +0 -7
- package/dist/debug/language/index.d.ts +0 -3
- package/dist/debug/language/index.js +0 -2
- package/dist/debug/language/python.d.ts +0 -2
- package/dist/debug/language/python.js +0 -14
- package/dist/debug/language/types.d.ts +0 -6
- package/dist/debug/locals.d.ts +0 -2
- package/dist/debug/locals.js +0 -8
- package/dist/lsp/cpp/server.d.ts +0 -2
- package/dist/lsp/cpp/server.js +0 -68
- package/dist/lsp/index.d.ts +0 -5
- package/dist/lsp/index.js +0 -4
- package/dist/lsp/python/main.worker.js +0 -92
- package/dist/lsp/python/package/arcturus_python_lsp/__init__.py +0 -3
- package/dist/lsp/python/package/arcturus_python_lsp/server.py +0 -462
- package/dist/lsp/python/server.d.ts +0 -2
- package/dist/lsp/python/server.js +0 -54
- package/dist/lsp/registry.d.ts +0 -2
- package/dist/lsp/registry.js +0 -12
- package/dist/lsp/runtime.d.ts +0 -5
- package/dist/lsp/runtime.js +0 -31
- package/dist/lsp/types.d.ts +0 -17
- package/dist/terminal/Terminal.svelte +0 -422
- package/dist/terminal/Terminal.svelte.d.ts +0 -26
- package/dist/terminal/index.d.ts +0 -7
- package/dist/terminal/index.js +0 -5
- package/dist/terminal/plugin/index.d.ts +0 -9
- package/dist/terminal/plugin/index.js +0 -19
- package/dist/terminal/theme.d.ts +0 -49
- package/dist/terminal/theme.js +0 -49
- package/dist/terminal/types.d.ts +0 -18
- package/dist/utils/vscodeJsonrpcBrowser.d.ts +0 -5
- package/dist/utils/vscodeJsonrpcBrowser.js +0 -4
- /package/dist/{clangd/worker.d.ts → playground/worker/assemblyscript.d.ts} +0 -0
- /package/dist/{debug/language/types.js → playground/worker/bash.d.ts} +0 -0
- /package/dist/{lsp/python/main.worker.d.ts → playground/worker/cobol.d.ts} +0 -0
- /package/dist/{lsp/types.js → playground/worker/d.d.ts} +0 -0
- /package/dist/{terminal/types.js → playground/worker/dotnet.d.ts} +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ResolvedRubyRuntimeAssetConfig } from './assets';
|
|
2
|
+
import { type ExecutionLimits, type RubyRuntimePreflightPayload, type RuntimeAssetPreflightProgress } from '@wasm-idle/core';
|
|
3
|
+
export interface RubyRuntimePreflightOptions {
|
|
4
|
+
readonly limits?: Partial<ExecutionLimits>;
|
|
5
|
+
readonly signal?: AbortSignal;
|
|
6
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
7
|
+
readonly reportProgress?: (progress: RuntimeAssetPreflightProgress) => void;
|
|
8
|
+
readonly reportDecompressionProgress?: (loadedBytes: number, totalBytes: number) => void;
|
|
9
|
+
}
|
|
10
|
+
export type RubyRuntimePreflightDeliveryState = 'available' | 'consumed' | 'retired';
|
|
11
|
+
export interface RubyRuntimeOwnedPreflightDelivery {
|
|
12
|
+
readonly payload: RubyRuntimePreflightPayload;
|
|
13
|
+
readonly state: RubyRuntimePreflightDeliveryState;
|
|
14
|
+
consume(): readonly [ArrayBuffer, ArrayBuffer, ArrayBuffer];
|
|
15
|
+
retire(): void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Adopts a freshly preflighted Ruby payload for exactly one Worker load dispatch.
|
|
19
|
+
* The caller relinquishes every payload byte view after consume(), regardless of
|
|
20
|
+
* whether postMessage succeeds; a consumed or retired delivery cannot be reused.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createRubyRuntimeOwnedPreflightDelivery(value: unknown): RubyRuntimeOwnedPreflightDelivery;
|
|
23
|
+
export declare function preflightVerifiedRubyRuntimeAssets(config: ResolvedRubyRuntimeAssetConfig, options?: RubyRuntimePreflightOptions): Promise<RubyRuntimePreflightPayload>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { preflightRubyRuntimeAssets, requireRubyRuntimePreflightPayload } from '@wasm-idle/core';
|
|
2
|
+
function isPlainFrozenRecord(value) {
|
|
3
|
+
if (!value || typeof value !== 'object' || Array.isArray(value) || !Object.isFrozen(value)) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
const prototype = Object.getPrototypeOf(value);
|
|
7
|
+
return prototype === Object.prototype || prototype === null;
|
|
8
|
+
}
|
|
9
|
+
function requireOwnedWholeBuffer(value, label) {
|
|
10
|
+
if (value.byteLength <= 0 ||
|
|
11
|
+
!(value.buffer instanceof ArrayBuffer) ||
|
|
12
|
+
value.byteOffset !== 0 ||
|
|
13
|
+
value.byteLength !== value.buffer.byteLength) {
|
|
14
|
+
throw new TypeError(`Ruby runtime ${label} must exclusively own one nonempty whole buffer`);
|
|
15
|
+
}
|
|
16
|
+
return value.buffer;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Adopts a freshly preflighted Ruby payload for exactly one Worker load dispatch.
|
|
20
|
+
* The caller relinquishes every payload byte view after consume(), regardless of
|
|
21
|
+
* whether postMessage succeeds; a consumed or retired delivery cannot be reused.
|
|
22
|
+
*/
|
|
23
|
+
export function createRubyRuntimeOwnedPreflightDelivery(value) {
|
|
24
|
+
if (!isPlainFrozenRecord(value)) {
|
|
25
|
+
throw new TypeError('Ruby runtime preflight delivery requires one frozen plain payload');
|
|
26
|
+
}
|
|
27
|
+
const payload = requireRubyRuntimePreflightPayload(value);
|
|
28
|
+
const transferables = [
|
|
29
|
+
requireOwnedWholeBuffer(payload.manifestBytes, 'manifest bytes'),
|
|
30
|
+
requireOwnedWholeBuffer(payload.moduleJavaScriptBytes, 'module JavaScript bytes'),
|
|
31
|
+
requireOwnedWholeBuffer(payload.wasmBytes, 'Wasm bytes')
|
|
32
|
+
];
|
|
33
|
+
if (new Set(transferables).size !== transferables.length) {
|
|
34
|
+
throw new TypeError('Ruby runtime preflight byte buffers must have unique ownership');
|
|
35
|
+
}
|
|
36
|
+
let state = 'available';
|
|
37
|
+
return Object.freeze({
|
|
38
|
+
payload,
|
|
39
|
+
get state() {
|
|
40
|
+
return state;
|
|
41
|
+
},
|
|
42
|
+
consume() {
|
|
43
|
+
if (state !== 'available') {
|
|
44
|
+
throw new TypeError('Ruby runtime preflight delivery is no longer available');
|
|
45
|
+
}
|
|
46
|
+
state = 'consumed';
|
|
47
|
+
return transferables;
|
|
48
|
+
},
|
|
49
|
+
retire() {
|
|
50
|
+
if (state === 'available')
|
|
51
|
+
state = 'retired';
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
export async function preflightVerifiedRubyRuntimeAssets(config, options = {}) {
|
|
56
|
+
return await preflightRubyRuntimeAssets({
|
|
57
|
+
baseUrl: config.baseUrl,
|
|
58
|
+
manifestUrl: config.manifestUrl,
|
|
59
|
+
moduleUrl: config.moduleUrl,
|
|
60
|
+
wasmUrl: config.wasmUrl,
|
|
61
|
+
profile: config.preflightProfile,
|
|
62
|
+
limits: options.limits,
|
|
63
|
+
signal: options.signal,
|
|
64
|
+
fetch: options.fetch,
|
|
65
|
+
reportProgress: options.reportProgress,
|
|
66
|
+
reportDecompressionProgress: options.reportDecompressionProgress
|
|
67
|
+
});
|
|
68
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RUBY_PREFLIGHT_PROTOCOL, RUBY_PREFLIGHT_PROTOCOL_VERSION, RUBY_RUNTIME_PROFILE } from '@wasm-idle/core';
|
|
2
|
+
export function createRubyRuntimeTestPreflightPayload() {
|
|
3
|
+
return Object.freeze({
|
|
4
|
+
protocol: RUBY_PREFLIGHT_PROTOCOL,
|
|
5
|
+
protocolVersion: RUBY_PREFLIGHT_PROTOCOL_VERSION,
|
|
6
|
+
profileId: RUBY_RUNTIME_PROFILE.profileId,
|
|
7
|
+
artifactRevision: RUBY_RUNTIME_PROFILE.artifactRevision,
|
|
8
|
+
rubyVersion: RUBY_RUNTIME_PROFILE.rubyVersion,
|
|
9
|
+
rubyRevision: RUBY_RUNTIME_PROFILE.rubyRevision,
|
|
10
|
+
rubyWasmVersion: RUBY_RUNTIME_PROFILE.rubyWasmVersion,
|
|
11
|
+
rubyWasmRevision: RUBY_RUNTIME_PROFILE.rubyWasmRevision,
|
|
12
|
+
wasiSdkVersion: RUBY_RUNTIME_PROFILE.wasiSdkVersion,
|
|
13
|
+
manifestFingerprint: RUBY_RUNTIME_PROFILE.manifestFingerprint,
|
|
14
|
+
manifestBytes: Uint8Array.of(1),
|
|
15
|
+
moduleJavaScriptBytes: Uint8Array.of(2),
|
|
16
|
+
wasmBytes: Uint8Array.of(0, 97, 115, 109, 1, 0, 0, 0)
|
|
17
|
+
});
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function importRuntimeModule<T>(moduleUrl: string): Promise<T>;
|
|
@@ -1,32 +1,63 @@
|
|
|
1
|
-
import { type PlaygroundRuntimeAssets } from './assets';
|
|
2
|
-
import { type CompilerDiagnostic, type SandboxExecutionOptions } from './options';
|
|
3
|
-
import type { Sandbox } from './sandbox';
|
|
1
|
+
import { type PlaygroundRuntimeAssets, type RuntimeAssetIntegrityEntry } from './assets';
|
|
2
|
+
import { type DebugCommand, type DebugDataBreakpoint, type DebugDataBreakpointInfoArguments, type DebugSessionEvent, type CompilerDiagnostic, type SandboxExecutionOptions } from './options';
|
|
3
|
+
import type { Sandbox, SandboxProgress } from './sandbox';
|
|
4
4
|
declare class Rust implements Sandbox {
|
|
5
5
|
output: any;
|
|
6
|
+
ondebug?: (event: DebugSessionEvent) => void;
|
|
6
7
|
worker?: Worker;
|
|
7
|
-
buffer:
|
|
8
|
+
buffer: import("./sharedBuffer").WasmIdleSharedBuffer;
|
|
9
|
+
debugBuffer: import("./sharedBuffer").WasmIdleSharedBuffer;
|
|
8
10
|
pendingInput: string[];
|
|
9
11
|
begin: number;
|
|
10
12
|
elapse: number;
|
|
11
13
|
uid: number;
|
|
12
14
|
exit: boolean;
|
|
13
15
|
compilerUrl: string;
|
|
16
|
+
debugModuleUrl: string;
|
|
14
17
|
assetPath: string;
|
|
15
|
-
|
|
18
|
+
debugRuntimeBaseUrl: string;
|
|
19
|
+
debugManifestUrl: string;
|
|
20
|
+
debugManifestReceipt?: Readonly<RuntimeAssetIntegrityEntry>;
|
|
21
|
+
executableGraphFingerprint: string;
|
|
16
22
|
oncompilerdiagnostic?: (diagnostic: CompilerDiagnostic) => void;
|
|
17
23
|
waitingForInput: boolean;
|
|
18
24
|
pendingEof: boolean;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
private readonly workerSession;
|
|
26
|
+
private readonly workerExecutableGraphs;
|
|
27
|
+
private loadGeneration;
|
|
28
|
+
private loadController;
|
|
29
|
+
private pendingLoadWorker;
|
|
30
|
+
private pendingLoadGraph;
|
|
31
|
+
private pendingLoadReject;
|
|
32
|
+
private runActive;
|
|
33
|
+
private lldbSession?;
|
|
34
|
+
private debugMode;
|
|
35
|
+
private activeDebugPhaseTimeout?;
|
|
36
|
+
private readonly lldbBreakpoints;
|
|
37
|
+
private lldbEditorSourcePath;
|
|
38
|
+
private disposeWorkerExecutableGraph;
|
|
39
|
+
load(runtimeAssets?: string | PlaygroundRuntimeAssets, _code?: string, _log?: boolean, _args?: string[], _options?: SandboxExecutionOptions, progress?: SandboxProgress): Promise<void>;
|
|
22
40
|
write(input: string): void;
|
|
23
41
|
eof(): void;
|
|
24
42
|
private flushPendingInput;
|
|
25
|
-
run(code: string, prepare: boolean, _log?: boolean, _prog?:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
43
|
+
run(code: string, prepare: boolean, _log?: boolean, _prog?: SandboxProgress, args?: string[], options?: SandboxExecutionOptions): Promise<boolean | string>;
|
|
44
|
+
debugCommand(command: DebugCommand): Promise<void> | undefined;
|
|
45
|
+
debugPause(): Promise<void> | undefined;
|
|
46
|
+
setBreakpoints(lines: number[], sourcePath?: string): Promise<void> | undefined;
|
|
47
|
+
debugEvaluate(expression: string): Promise<string>;
|
|
48
|
+
debugVariables(variablesReference: number, start?: number, count?: number): Promise<import("@wasm-idle/core").DebugVariable[]>;
|
|
49
|
+
debugScopes(frameId: number): Promise<import("@wasm-idle/core").DebugScope[]>;
|
|
50
|
+
debugFrameScopes(frameId: number): Promise<import("@wasm-idle/core").DebugScope[]>;
|
|
51
|
+
debugFrameName(frameId: number): Promise<string | null>;
|
|
52
|
+
debugReadMemory(memoryReference: string, offset: number, count: number): Promise<import("@wasm-idle/core").DebugMemory | null>;
|
|
53
|
+
debugWriteMemory(memoryReference: string, offset: number, data: Uint8Array, allowPartial?: boolean): Promise<{
|
|
54
|
+
offset?: number;
|
|
55
|
+
bytesWritten: number;
|
|
56
|
+
} | null>;
|
|
57
|
+
debugDataBreakpointInfo(arguments_: DebugDataBreakpointInfoArguments): Promise<import("@wasm-idle/core").DebugDataBreakpointInfo | null>;
|
|
58
|
+
debugSetDataBreakpoints(breakpoints: DebugDataBreakpoint[]): Promise<import("@wasm-idle/core").DebugResolvedDataBreakpoint[]>;
|
|
59
|
+
kill(): Promise<void>;
|
|
60
|
+
terminate(): Promise<void>;
|
|
30
61
|
clear(): Promise<void>;
|
|
31
62
|
}
|
|
32
63
|
export default Rust;
|