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,17 @@
|
|
|
1
|
+
import { type ExecutionLimits } from '@wasm-idle/core';
|
|
2
|
+
export declare const RUST_NON_DEBUG_RESOURCE_REQUIREMENTS: Readonly<{
|
|
3
|
+
maxWorkers: 1;
|
|
4
|
+
maxThreads: 4;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const RUST_NON_DEBUG_MAX_ASSET_DELIVERY_BYTES: number;
|
|
7
|
+
export interface RustNonDebugResourceLimits {
|
|
8
|
+
readonly maxWorkers: number;
|
|
9
|
+
readonly maxThreads: number;
|
|
10
|
+
readonly maxAssetDeliveryBytes: number;
|
|
11
|
+
readonly compilerLimits: Readonly<{
|
|
12
|
+
maxWorkers: number;
|
|
13
|
+
maxThreads: number;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export declare function snapshotRustNonDebugResourceLimits(value: unknown): RustNonDebugResourceLimits;
|
|
17
|
+
export declare function resolveRustNonDebugResourceLimits(limits?: Partial<ExecutionLimits>): RustNonDebugResourceLimits;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { RuntimeConfigurationError, resolveExecutionLimits } from '@wasm-idle/core';
|
|
2
|
+
export const RUST_NON_DEBUG_RESOURCE_REQUIREMENTS = Object.freeze({
|
|
3
|
+
maxWorkers: 1,
|
|
4
|
+
maxThreads: 4
|
|
5
|
+
});
|
|
6
|
+
// The largest pinned logical target closure is currently 179,123,525 bytes (wasip3).
|
|
7
|
+
export const RUST_NON_DEBUG_MAX_ASSET_DELIVERY_BYTES = 192 * 1024 * 1024;
|
|
8
|
+
export function snapshotRustNonDebugResourceLimits(value) {
|
|
9
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
10
|
+
throw new RuntimeConfigurationError('Rust non-debug execution limits must be an object', {
|
|
11
|
+
phase: 'compile',
|
|
12
|
+
runtimeId: 'wasm-rust'
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const limits = value;
|
|
16
|
+
for (const name of ['maxWorkers', 'maxThreads', 'maxAssetBytes']) {
|
|
17
|
+
if (!Number.isSafeInteger(limits[name]) || limits[name] <= 0) {
|
|
18
|
+
throw new RuntimeConfigurationError(`Rust non-debug execution limit ${name} must be a positive safe integer`, { phase: 'compile', runtimeId: 'wasm-rust' });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const maxWorkers = limits.maxWorkers;
|
|
22
|
+
const maxThreads = limits.maxThreads;
|
|
23
|
+
const maxAssetDeliveryBytes = Math.min(limits.maxAssetBytes, RUST_NON_DEBUG_MAX_ASSET_DELIVERY_BYTES / 2) * 2;
|
|
24
|
+
const compilerLimits = Object.freeze({ maxWorkers, maxThreads });
|
|
25
|
+
return Object.freeze({
|
|
26
|
+
maxWorkers,
|
|
27
|
+
maxThreads,
|
|
28
|
+
maxAssetDeliveryBytes,
|
|
29
|
+
compilerLimits
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export function resolveRustNonDebugResourceLimits(limits = {}) {
|
|
33
|
+
return snapshotRustNonDebugResourceLimits(resolveExecutionLimits(limits));
|
|
34
|
+
}
|
|
@@ -1,25 +1,30 @@
|
|
|
1
|
-
import type { CompilerDiagnostic, DebugCommand, DebugSessionEvent, SandboxExecutionOptions } from './options';
|
|
1
|
+
import type { CompilerDiagnostic, DebugCommand, DebugDataBreakpoint, DebugDataBreakpointInfo, DebugDataBreakpointInfoArguments, DebugMemory, DebugResolvedDataBreakpoint, DebugSessionEvent, DebugWriteMemoryResult, SandboxExecutionOptions } from './options';
|
|
2
2
|
import type { PlaygroundRuntimeAssets } from './assets';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ExecutionLimits, SandboxProgress as CoreSandboxProgress } from '@wasm-idle/core';
|
|
4
4
|
export type SandboxRuntimeAssets = string | PlaygroundRuntimeAssets;
|
|
5
|
-
export type SandboxProgress =
|
|
6
|
-
set?: (value: number) => void;
|
|
7
|
-
};
|
|
5
|
+
export type SandboxProgress = CoreSandboxProgress;
|
|
8
6
|
export interface Sandbox {
|
|
9
7
|
constructor: any;
|
|
8
|
+
readonly defaultExecutionLimits?: Readonly<Partial<ExecutionLimits>>;
|
|
10
9
|
eof: () => void;
|
|
11
10
|
load: (runtimeAssets?: SandboxRuntimeAssets, code?: string, log?: boolean, args?: string[], options?: SandboxExecutionOptions, progress?: SandboxProgress) => Promise<void>;
|
|
12
11
|
run: (code: string, prepare: boolean, log?: boolean, prog?: SandboxProgress, args?: string[], options?: SandboxExecutionOptions) => Promise<boolean | string>;
|
|
13
|
-
terminate: () => void
|
|
12
|
+
terminate: () => void | Promise<void>;
|
|
14
13
|
clear: () => Promise<void>;
|
|
15
|
-
|
|
14
|
+
dispose?: () => void | Promise<void>;
|
|
15
|
+
kill?: () => void | Promise<void>;
|
|
16
16
|
write?: (data: string) => void;
|
|
17
17
|
output?: (data: string) => void;
|
|
18
18
|
ondebug?: (event: DebugSessionEvent) => void;
|
|
19
19
|
oncompilerdiagnostic?: (diagnostic: CompilerDiagnostic) => void;
|
|
20
|
-
debugCommand?: (command: DebugCommand) => void
|
|
21
|
-
|
|
20
|
+
debugCommand?: (command: DebugCommand) => void | Promise<void>;
|
|
21
|
+
debugPause?: () => void | Promise<void>;
|
|
22
|
+
setBreakpoints?: (lines: number[], sourcePath?: string) => void | Promise<void>;
|
|
22
23
|
debugEvaluate?: (expression: string) => Promise<string>;
|
|
24
|
+
debugReadMemory?: (memoryReference: string, offset: number, count: number) => Promise<DebugMemory | null>;
|
|
25
|
+
debugWriteMemory?: (memoryReference: string, offset: number, data: Uint8Array, allowPartial?: boolean) => Promise<DebugWriteMemoryResult | null>;
|
|
26
|
+
debugDataBreakpointInfo?: (arguments_: DebugDataBreakpointInfoArguments) => Promise<DebugDataBreakpointInfo | null>;
|
|
27
|
+
debugSetDataBreakpoints?: (breakpoints: DebugDataBreakpoint[]) => Promise<DebugResolvedDataBreakpoint[]>;
|
|
23
28
|
image?: (data: {
|
|
24
29
|
mime: string;
|
|
25
30
|
b64: string;
|
|
@@ -27,8 +32,9 @@ export interface Sandbox {
|
|
|
27
32
|
}) => void;
|
|
28
33
|
elapse?: number;
|
|
29
34
|
}
|
|
30
|
-
export interface BoundSandbox extends Omit<Sandbox, 'load'> {
|
|
35
|
+
export interface BoundSandbox extends Omit<Sandbox, 'load' | 'dispose'> {
|
|
31
36
|
load: (code?: string, log?: boolean, args?: string[], options?: SandboxExecutionOptions, progress?: SandboxProgress) => Promise<void>;
|
|
37
|
+
dispose?: () => Promise<void>;
|
|
32
38
|
runtimeAssets: SandboxRuntimeAssets;
|
|
33
39
|
}
|
|
34
40
|
export interface PlaygroundTerminalProps {
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type WasmIdleSharedBuffer = ArrayBuffer | SharedArrayBuffer;
|
|
2
|
+
export declare const isSharedArrayBufferAvailable: () => boolean;
|
|
3
|
+
export declare const createWasmIdleSharedBuffer: (byteLength: number) => WasmIdleSharedBuffer;
|
|
4
|
+
export declare const isSharedBufferBacked: (buffer: ArrayBufferLike | undefined | null) => boolean;
|
|
5
|
+
export declare const isSharedBufferBackedView: (view: ArrayBufferView | undefined | null) => boolean;
|
|
6
|
+
export declare const requireSharedArrayBuffer: (feature: string) => void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const isSharedArrayBufferAvailable = () => typeof globalThis.SharedArrayBuffer === 'function' &&
|
|
2
|
+
(typeof globalThis.crossOriginIsolated !== 'boolean' || globalThis.crossOriginIsolated);
|
|
3
|
+
export const createWasmIdleSharedBuffer = (byteLength) => isSharedArrayBufferAvailable()
|
|
4
|
+
? new SharedArrayBuffer(byteLength)
|
|
5
|
+
: new ArrayBuffer(byteLength);
|
|
6
|
+
export const isSharedBufferBacked = (buffer) => typeof globalThis.SharedArrayBuffer === 'function' && buffer instanceof SharedArrayBuffer;
|
|
7
|
+
export const isSharedBufferBackedView = (view) => isSharedBufferBacked(view?.buffer);
|
|
8
|
+
export const requireSharedArrayBuffer = (feature) => {
|
|
9
|
+
if (isSharedArrayBufferAvailable())
|
|
10
|
+
return;
|
|
11
|
+
throw new Error(`${feature} requires SharedArrayBuffer. This browser context is not cross-origin isolated; provide stdin before starting the program and avoid interactive controls in this environment.`);
|
|
12
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type PlaygroundRuntimeAssets } from './assets';
|
|
2
|
+
import type { CompilerDiagnostic, SandboxExecutionOptions } from './options';
|
|
3
|
+
import type { Sandbox, SandboxProgress } from './sandbox';
|
|
4
|
+
declare class Sqlite implements Sandbox {
|
|
5
|
+
output: any;
|
|
6
|
+
worker?: Worker;
|
|
7
|
+
begin: number;
|
|
8
|
+
elapse: number;
|
|
9
|
+
uid: number;
|
|
10
|
+
exit: boolean;
|
|
11
|
+
wasmUrl: string;
|
|
12
|
+
moduleUrl: string;
|
|
13
|
+
oncompilerdiagnostic?: (diagnostic: CompilerDiagnostic) => void;
|
|
14
|
+
private activeOperation;
|
|
15
|
+
private disposed;
|
|
16
|
+
private disposePromise;
|
|
17
|
+
private readonly disposeCancellation;
|
|
18
|
+
private readonly workerSession;
|
|
19
|
+
private requireOperationIdle;
|
|
20
|
+
private beginOperation;
|
|
21
|
+
private isOperationActive;
|
|
22
|
+
private releaseOperation;
|
|
23
|
+
private cleanupOperation;
|
|
24
|
+
private releaseBeforeSession;
|
|
25
|
+
private bindPreSessionAbort;
|
|
26
|
+
private bindAbortSignal;
|
|
27
|
+
private bindOperationTimeout;
|
|
28
|
+
private cancelOperation;
|
|
29
|
+
load(runtimeAssets?: string | PlaygroundRuntimeAssets, _code?: string, _log?: boolean, _args?: string[], options?: SandboxExecutionOptions, progress?: SandboxProgress): Promise<void>;
|
|
30
|
+
write(): void;
|
|
31
|
+
eof(): void;
|
|
32
|
+
run(code: string, prepare: boolean, _log?: boolean, _prog?: SandboxProgress, _args?: string[], options?: SandboxExecutionOptions): Promise<boolean | string>;
|
|
33
|
+
kill(): void;
|
|
34
|
+
terminate(reason?: unknown): void;
|
|
35
|
+
clear(): Promise<void>;
|
|
36
|
+
dispose(): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
export default Sqlite;
|