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
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
1
|
+
type StdinBuffer = ArrayBufferLike | Int32Array;
|
|
2
|
+
export declare const flushQueuedStdin: (queue: string[], buffer: StdinBuffer) => boolean;
|
|
3
|
+
export declare const readBufferedStdin: (buffer: StdinBuffer) => string | null;
|
|
4
|
+
export declare const bufferedSequence: (buffer: StdinBuffer) => number;
|
|
5
|
+
export declare const waitForBufferedSequenceChange: (buffer: StdinBuffer, sequence: number, timeoutMs?: number) => Promise<string | null>;
|
|
6
|
+
export declare const flushBufferedEof: (buffer: StdinBuffer) => void;
|
|
7
|
+
export declare const waitForBufferedStdin: (buffer: Int32Array | null | undefined, requestInput: () => void) => string | null;
|
|
8
|
+
export declare const resetBufferedStdin: (buffer: StdinBuffer) => void;
|
|
9
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isSharedBufferBackedView } from './sharedBuffer';
|
|
1
2
|
const SEQUENCE_INDEX = 0;
|
|
2
3
|
const LENGTH_INDEX = 1;
|
|
3
4
|
const HEADER_BYTES = Int32Array.BYTES_PER_ELEMENT * 2;
|
|
@@ -7,26 +8,14 @@ const decoder = new TextDecoder();
|
|
|
7
8
|
const controlViewOf = (buffer) => buffer instanceof Int32Array ? buffer : new Int32Array(buffer);
|
|
8
9
|
const payloadViewOf = (control) => new Uint8Array(control.buffer, control.byteOffset + HEADER_BYTES, control.byteLength - HEADER_BYTES);
|
|
9
10
|
const splitChunk = (input, maxBytes) => {
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const bytes = new Uint8Array(maxBytes);
|
|
12
|
+
const { read, written } = encoder.encodeInto(input, bytes);
|
|
13
|
+
if (input.length > 0 && read === 0) {
|
|
14
|
+
throw new RangeError('Stdin buffer payload cannot fit the next UTF-8 character');
|
|
13
15
|
}
|
|
14
|
-
let left = 0;
|
|
15
|
-
let right = input.length;
|
|
16
|
-
while (left < right) {
|
|
17
|
-
const middle = Math.ceil((left + right) / 2);
|
|
18
|
-
if (encoder.encode(input.slice(0, middle)).length <= maxBytes) {
|
|
19
|
-
left = middle;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
right = middle - 1;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const chunk = input.slice(0, left);
|
|
26
16
|
return {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
rest: input.slice(left)
|
|
17
|
+
bytes: bytes.subarray(0, written),
|
|
18
|
+
rest: input.slice(read)
|
|
30
19
|
};
|
|
31
20
|
};
|
|
32
21
|
export const flushQueuedStdin = (queue, buffer) => {
|
|
@@ -82,6 +71,8 @@ export const flushBufferedEof = (buffer) => {
|
|
|
82
71
|
Atomics.notify(control, SEQUENCE_INDEX);
|
|
83
72
|
};
|
|
84
73
|
export const waitForBufferedStdin = (buffer, requestInput) => {
|
|
74
|
+
if (!buffer || !isSharedBufferBackedView(buffer))
|
|
75
|
+
return null;
|
|
85
76
|
const sequence = Atomics.load(buffer, SEQUENCE_INDEX);
|
|
86
77
|
requestInput();
|
|
87
78
|
while (true) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { resolveSwiftRuntimeAssetConfig } from './assets';
|
|
2
|
+
import { StaticWorkerRuntimeSandbox } from './staticWorkerRuntime';
|
|
3
|
+
class Swift extends StaticWorkerRuntimeSandbox {
|
|
4
|
+
constructor() {
|
|
5
|
+
super({
|
|
6
|
+
displayName: 'Swift',
|
|
7
|
+
languageId: 'SWIFT',
|
|
8
|
+
defaultActivePath: 'main.swift',
|
|
9
|
+
stdin: {
|
|
10
|
+
mode: 'prebuffered',
|
|
11
|
+
sourceHintPattern: /\b(?:readLine|FileHandle\.standardInput|stdin)\b/
|
|
12
|
+
},
|
|
13
|
+
resolveRuntimeAssets: resolveSwiftRuntimeAssetConfig
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export default Swift;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { resolveTclRuntimeAssetConfig } from './assets';
|
|
2
|
+
import { StaticWorkerRuntimeSandbox } from './staticWorkerRuntime';
|
|
3
|
+
import { RuntimeConfigurationError, preflightTclRuntimeAssets, snapshotTclRuntimePreflightProfile } from '@wasm-idle/core';
|
|
4
|
+
class Tcl extends StaticWorkerRuntimeSandbox {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({
|
|
7
|
+
languageId: 'TCL',
|
|
8
|
+
displayName: 'Tcl',
|
|
9
|
+
defaultActivePath: 'main.tcl',
|
|
10
|
+
stdin: {
|
|
11
|
+
mode: 'streaming',
|
|
12
|
+
sourceHintPattern: /\b(gets|read)\s+(stdin|file\d*)\b|\bstdin\b/
|
|
13
|
+
},
|
|
14
|
+
inlineVerifiedWorker: true,
|
|
15
|
+
resolveRuntimeAssets(runtimeAssets, currentUrl) {
|
|
16
|
+
const resolved = resolveTclRuntimeAssetConfig(runtimeAssets, currentUrl);
|
|
17
|
+
const profile = snapshotTclRuntimePreflightProfile(resolved.preflightProfile);
|
|
18
|
+
if (!/^[a-f0-9]{64}$/u.test(resolved.manifestFingerprint || '') ||
|
|
19
|
+
profile.manifestFingerprint !== resolved.manifestFingerprint ||
|
|
20
|
+
!resolved.workerReceipt) {
|
|
21
|
+
throw new RuntimeConfigurationError('Tcl runtime requires one coherent preflight profile, manifest fingerprint, and worker receipt.', { runtimeId: 'TCL' });
|
|
22
|
+
}
|
|
23
|
+
return { ...resolved, preflightProfile: profile };
|
|
24
|
+
},
|
|
25
|
+
async preflightRuntimeAssets(urls, context) {
|
|
26
|
+
const profile = urls.preflightProfile;
|
|
27
|
+
const loadedByAsset = new Map();
|
|
28
|
+
const decompressedByAsset = new Map();
|
|
29
|
+
const totalDownloadBytes = (profile.manifestReceipt.bytes ?? 0) +
|
|
30
|
+
(profile.requireJsReceipt.bytes ?? 0) +
|
|
31
|
+
(profile.customDataReceipt.bytes ?? 0) +
|
|
32
|
+
(profile.libraryDataReceipt.bytes ?? 0) +
|
|
33
|
+
(profile.glueReceipt.bytes ?? 0) +
|
|
34
|
+
(profile.wasmReceipt.bytes ?? 0);
|
|
35
|
+
const totalDecompressedBytes = (profile.libraryDataReceipt.uncompressedBytes ?? 0) +
|
|
36
|
+
(profile.wasmReceipt.uncompressedBytes ?? 0);
|
|
37
|
+
return await preflightTclRuntimeAssets({
|
|
38
|
+
baseUrl: urls.baseUrl,
|
|
39
|
+
manifestUrl: urls.manifestUrl || '',
|
|
40
|
+
profile,
|
|
41
|
+
limits: context.limits,
|
|
42
|
+
signal: context.signal,
|
|
43
|
+
reportProgress(progress) {
|
|
44
|
+
loadedByAsset.set(progress.assetKey, progress.loadedBytes);
|
|
45
|
+
const loadedBytes = [...loadedByAsset.values()].reduce((total, loaded) => total + loaded, 0);
|
|
46
|
+
const fraction = totalDownloadBytes > 0 ? loadedBytes / totalDownloadBytes : 0;
|
|
47
|
+
context.reportProgress(0.04 + Math.min(1, fraction) * 0.1, `Preflighting Tcl asset ${progress.assetKey}`);
|
|
48
|
+
},
|
|
49
|
+
reportDecompressionProgress(asset, loadedBytes) {
|
|
50
|
+
decompressedByAsset.set(asset, loadedBytes);
|
|
51
|
+
const decompressedBytes = [...decompressedByAsset.values()].reduce((total, loaded) => total + loaded, 0);
|
|
52
|
+
const fraction = totalDecompressedBytes > 0
|
|
53
|
+
? decompressedBytes / totalDecompressedBytes
|
|
54
|
+
: 0;
|
|
55
|
+
context.reportProgress(0.14 + Math.min(1, fraction) * 0.03, `Decompressing verified Tcl ${asset}`);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export default Tcl;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const normalizeTeaVmBaseUrl: (baseUrl: string) => string;
|
|
2
|
-
export declare const resolveTeaVmBaseUrl: (pathPrefix?: string, currentUrl?: string) => string;
|
|
2
|
+
export declare const resolveTeaVmBaseUrl: (pathPrefix?: string, currentUrl?: string, configuredBaseUrl?: string) => string;
|
|
3
3
|
export declare const resolveTeaVmAssetUrl: (baseUrl: string, assetPath: string) => string;
|
|
@@ -4,8 +4,8 @@ const normalizePathPrefix = (pathPrefix) => {
|
|
|
4
4
|
return '';
|
|
5
5
|
return pathPrefix.endsWith('/') ? pathPrefix.slice(0, -1) : pathPrefix;
|
|
6
6
|
};
|
|
7
|
-
export const resolveTeaVmBaseUrl = (pathPrefix = '', currentUrl = '') => {
|
|
8
|
-
|
|
7
|
+
export const resolveTeaVmBaseUrl = (pathPrefix = '', currentUrl = '', configuredBaseUrl = '') => {
|
|
8
|
+
configuredBaseUrl = configuredBaseUrl.trim();
|
|
9
9
|
const baseUrl = configuredBaseUrl
|
|
10
10
|
? normalizeTeaVmBaseUrl(configuredBaseUrl)
|
|
11
11
|
: `${normalizePathPrefix(pathPrefix) || ''}/teavm/`;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type PlaygroundRuntimeAssets, type
|
|
2
|
-
import { type
|
|
3
|
-
import type {
|
|
1
|
+
import { type PlaygroundRuntimeAssets, type RuntimeAssetIntegrityEntry, type TinyGoRuntimeAssetLoader } from './assets';
|
|
2
|
+
import { type LoadedTinyGoExecutableGraph } from './tinygoExecutableGraph';
|
|
3
|
+
import type { CompilerDiagnostic, SandboxExecutionOptions, TinyGoTarget } from './options';
|
|
4
|
+
import type { Sandbox, SandboxProgress } from './sandbox';
|
|
4
5
|
type TinyGoRuntimeHooks = {
|
|
5
6
|
boot(): Promise<void>;
|
|
6
7
|
plan(): Promise<unknown>;
|
|
@@ -18,37 +19,47 @@ type TinyGoRuntimeHooks = {
|
|
|
18
19
|
setBuildRequestOverrides?(overrides: {
|
|
19
20
|
target?: TinyGoTarget;
|
|
20
21
|
} | null): void;
|
|
22
|
+
setMaxAssetBytes?(maxAssetBytes: number): void;
|
|
23
|
+
setMaxWasmMemoryBytes?(maxWasmMemoryBytes: number): void;
|
|
21
24
|
setWorkspaceFiles(files: Record<string, string> | null): void;
|
|
22
25
|
dispose?(): void;
|
|
23
26
|
};
|
|
27
|
+
type TinyGoUpstreamRuntimeProfile = {
|
|
28
|
+
profileId: string;
|
|
29
|
+
protocolVersion: number;
|
|
30
|
+
manifestPath: string;
|
|
31
|
+
manifestFingerprint: string;
|
|
32
|
+
manifestReceipt: RuntimeAssetIntegrityEntry;
|
|
33
|
+
assetReceipts: Readonly<Record<string, RuntimeAssetIntegrityEntry>>;
|
|
34
|
+
};
|
|
24
35
|
declare class TinyGo implements Sandbox {
|
|
25
36
|
output: any;
|
|
26
37
|
worker?: Worker;
|
|
27
|
-
buffer:
|
|
38
|
+
buffer: import("./sharedBuffer").WasmIdleSharedBuffer;
|
|
28
39
|
pendingInput: string[];
|
|
29
40
|
begin: number;
|
|
30
41
|
elapse: number;
|
|
31
42
|
uid: number;
|
|
32
43
|
exit: boolean;
|
|
33
44
|
moduleUrl: string;
|
|
34
|
-
|
|
35
|
-
hostCompileUrls: string[];
|
|
45
|
+
executableGraphFingerprint: string;
|
|
36
46
|
rustRuntimeBaseUrl: string;
|
|
47
|
+
oncompilerdiagnostic?: (diagnostic: CompilerDiagnostic) => void;
|
|
37
48
|
assetLoader: TinyGoRuntimeAssetLoader | undefined;
|
|
38
|
-
|
|
49
|
+
runtimeProfile: TinyGoUpstreamRuntimeProfile | undefined;
|
|
50
|
+
executableGraph: LoadedTinyGoExecutableGraph | null;
|
|
39
51
|
runtime: TinyGoRuntimeHooks | null;
|
|
52
|
+
runtimeToken: symbol | null;
|
|
40
53
|
runtimePromise: Promise<TinyGoRuntimeHooks> | null;
|
|
54
|
+
private runtimePromiseToken;
|
|
41
55
|
loadPromise: Promise<void> | null;
|
|
42
56
|
compiledArtifact: Uint8Array | null;
|
|
43
57
|
compiledArtifactExecutionError: string;
|
|
44
58
|
compiledCacheKey: string;
|
|
45
|
-
activeReject: ((reason: string) => void) | null;
|
|
46
59
|
waitingForInput: boolean;
|
|
47
60
|
pendingEof: boolean;
|
|
48
61
|
lastActivityLog: string;
|
|
49
|
-
runtimeProgress:
|
|
50
|
-
set?: (value: number) => void;
|
|
51
|
-
} | import('svelte/store').Writable<number> | undefined;
|
|
62
|
+
runtimeProgress: SandboxProgress | undefined;
|
|
52
63
|
runtimeProgressStart: number;
|
|
53
64
|
runtimeProgressEnd: number;
|
|
54
65
|
runtimeProgressValue: number;
|
|
@@ -56,23 +67,42 @@ declare class TinyGo implements Sandbox {
|
|
|
56
67
|
loaded: number;
|
|
57
68
|
total: number;
|
|
58
69
|
}>;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
70
|
+
private runtimeProgressOwner;
|
|
71
|
+
private activeOperation;
|
|
72
|
+
private disposed;
|
|
73
|
+
private disposePromise;
|
|
74
|
+
private readonly disposeCancellation;
|
|
75
|
+
private readonly workerSession;
|
|
76
|
+
private disposedConfigurationError;
|
|
77
|
+
load(runtimeAssets?: string | PlaygroundRuntimeAssets, _code?: string, _log?: boolean, _args?: string[], options?: SandboxExecutionOptions, progress?: SandboxProgress): Promise<void>;
|
|
78
|
+
private beginOperation;
|
|
79
|
+
private completeOperation;
|
|
80
|
+
private isOperationActive;
|
|
81
|
+
private assertOperation;
|
|
82
|
+
private snapshotExecutionLimits;
|
|
83
|
+
private executeOperation;
|
|
84
|
+
private emitOutput;
|
|
85
|
+
private emitCompilerDiagnostic;
|
|
86
|
+
private clearPendingStdin;
|
|
62
87
|
write(input: string): void;
|
|
63
88
|
eof(): void;
|
|
64
89
|
private flushPendingInput;
|
|
65
90
|
private ensureWorker;
|
|
91
|
+
private detachRuntime;
|
|
92
|
+
private disposeRuntimeHooks;
|
|
66
93
|
private disposeRuntime;
|
|
94
|
+
private reportRuntimeProgress;
|
|
95
|
+
private requireRuntimeAssetLimitSetter;
|
|
67
96
|
private ensureRuntime;
|
|
68
97
|
private emitActivityLog;
|
|
69
98
|
private extractCompileFailure;
|
|
70
99
|
private compileArtifact;
|
|
71
|
-
run(code: string, prepare: boolean, _log?: boolean, _prog?:
|
|
72
|
-
|
|
73
|
-
|
|
100
|
+
run(code: string, prepare: boolean, _log?: boolean, _prog?: SandboxProgress, args?: string[], options?: SandboxExecutionOptions): Promise<boolean | string>;
|
|
101
|
+
private resetOwnedBuffers;
|
|
102
|
+
private cancelOperation;
|
|
74
103
|
kill(): void;
|
|
75
|
-
terminate(): void;
|
|
104
|
+
terminate(reason?: unknown): void;
|
|
76
105
|
clear(): Promise<void>;
|
|
106
|
+
dispose(): Promise<void>;
|
|
77
107
|
}
|
|
78
108
|
export default TinyGo;
|