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,383 @@
|
|
|
1
|
+
import { AssetIntegrityError, AssetTooLargeError, CancelledError, RuntimeConfigurationError, TimeoutError, UnsupportedBrowserFeatureError, isWasmIdleError, preflightRuntimeAssets, resolveExecutionLimits, verifyRuntimeAssetIntegrity } from '@wasm-idle/core';
|
|
2
|
+
export const CLOJURESCRIPT_PREFLIGHT_PROTOCOL = 'wasm-idle-clojurescript-preflight';
|
|
3
|
+
export const CLOJURESCRIPT_PREFLIGHT_PROTOCOL_VERSION = 1;
|
|
4
|
+
export const CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID = 'CLOJURESCRIPT';
|
|
5
|
+
const MAX_MANIFEST_BYTES = 64 * 1024;
|
|
6
|
+
const HARD_MAX_ASSET_BYTES = 16 * 1024 * 1024;
|
|
7
|
+
const VERIFIED_COMPILER_STORAGE_PATH = 'compiler.js.gz.bin';
|
|
8
|
+
export async function preflightClojureScriptRuntimeAssets(request) {
|
|
9
|
+
if (!request || typeof request !== 'object') {
|
|
10
|
+
throw new RuntimeConfigurationError('ClojureScript runtime preflight request is required', {
|
|
11
|
+
phase: 'asset',
|
|
12
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
let baseUrl;
|
|
16
|
+
let manifestUrl;
|
|
17
|
+
try {
|
|
18
|
+
baseUrl = new URL(request.baseUrl);
|
|
19
|
+
if (!baseUrl.pathname.endsWith('/'))
|
|
20
|
+
baseUrl.pathname += '/';
|
|
21
|
+
manifestUrl = new URL(request.manifestUrl, baseUrl);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
throw new RuntimeConfigurationError('ClojureScript runtime asset URLs are invalid', {
|
|
25
|
+
cause: error,
|
|
26
|
+
phase: 'asset',
|
|
27
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if ((baseUrl.protocol !== 'https:' && baseUrl.protocol !== 'http:') ||
|
|
31
|
+
baseUrl.username ||
|
|
32
|
+
baseUrl.password ||
|
|
33
|
+
baseUrl.search ||
|
|
34
|
+
baseUrl.hash) {
|
|
35
|
+
throw new RuntimeConfigurationError('ClojureScript runtime base must be a credential-free HTTP(S) directory URL without a query or fragment', { phase: 'asset', runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID });
|
|
36
|
+
}
|
|
37
|
+
if ((manifestUrl.protocol !== 'https:' && manifestUrl.protocol !== 'http:') ||
|
|
38
|
+
manifestUrl.username ||
|
|
39
|
+
manifestUrl.password ||
|
|
40
|
+
manifestUrl.hash ||
|
|
41
|
+
manifestUrl.origin !== baseUrl.origin ||
|
|
42
|
+
!manifestUrl.pathname.startsWith(baseUrl.pathname)) {
|
|
43
|
+
throw new RuntimeConfigurationError('ClojureScript runtime manifest must be an HTTP(S) asset beneath the configured runtime base', { phase: 'asset', runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID });
|
|
44
|
+
}
|
|
45
|
+
const manifestPath = manifestUrl.pathname.slice(baseUrl.pathname.length);
|
|
46
|
+
if (!manifestPath ||
|
|
47
|
+
manifestPath.includes('\\') ||
|
|
48
|
+
manifestPath.includes('\0') ||
|
|
49
|
+
manifestPath.split('/').some((segment) => !segment || segment === '.' || segment === '..')) {
|
|
50
|
+
throw new RuntimeConfigurationError('ClojureScript runtime manifest path must be a normalized file beneath the runtime base', { phase: 'asset', runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID });
|
|
51
|
+
}
|
|
52
|
+
if (manifestPath === VERIFIED_COMPILER_STORAGE_PATH) {
|
|
53
|
+
throw new RuntimeConfigurationError('ClojureScript runtime manifest and compiler storage paths must be distinct', { phase: 'asset', runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID });
|
|
54
|
+
}
|
|
55
|
+
const profile = request.profile;
|
|
56
|
+
if (!profile ||
|
|
57
|
+
typeof profile !== 'object' ||
|
|
58
|
+
typeof profile.profileId !== 'string' ||
|
|
59
|
+
!/^clojurescript-[A-Za-z0-9._+-]+$/u.test(profile.profileId) ||
|
|
60
|
+
typeof profile.sourceRevision !== 'string' ||
|
|
61
|
+
profile.sourceRevision !== 'r1.12.134' ||
|
|
62
|
+
typeof profile.integrationRevision !== 'string' ||
|
|
63
|
+
!/^[a-f0-9]{40}$/u.test(profile.integrationRevision) ||
|
|
64
|
+
typeof profile.manifestFingerprint !== 'string' ||
|
|
65
|
+
!/^[a-f0-9]{64}$/u.test(profile.manifestFingerprint)) {
|
|
66
|
+
throw new RuntimeConfigurationError('ClojureScript runtime preflight profile is invalid', {
|
|
67
|
+
phase: 'asset',
|
|
68
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
const manifestReceipt = profile.manifestReceipt;
|
|
72
|
+
if (!manifestReceipt ||
|
|
73
|
+
typeof manifestReceipt !== 'object' ||
|
|
74
|
+
!Number.isSafeInteger(manifestReceipt.bytes) ||
|
|
75
|
+
(manifestReceipt.bytes ?? 0) <= 0 ||
|
|
76
|
+
typeof manifestReceipt.sha256 !== 'string' ||
|
|
77
|
+
!/^[a-f0-9]{64}$/u.test(manifestReceipt.sha256)) {
|
|
78
|
+
throw new RuntimeConfigurationError('ClojureScript runtime manifest preflight receipt is invalid', {
|
|
79
|
+
phase: 'asset',
|
|
80
|
+
profileId: profile.profileId,
|
|
81
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
const compilerReceipt = profile.compilerReceipt;
|
|
85
|
+
if (!compilerReceipt ||
|
|
86
|
+
typeof compilerReceipt !== 'object' ||
|
|
87
|
+
!Number.isSafeInteger(compilerReceipt.bytes) ||
|
|
88
|
+
(compilerReceipt.bytes ?? 0) <= 0 ||
|
|
89
|
+
typeof compilerReceipt.sha256 !== 'string' ||
|
|
90
|
+
!/^[a-f0-9]{64}$/u.test(compilerReceipt.sha256) ||
|
|
91
|
+
!Number.isSafeInteger(compilerReceipt.uncompressedBytes) ||
|
|
92
|
+
(compilerReceipt.uncompressedBytes ?? 0) <= 0 ||
|
|
93
|
+
typeof compilerReceipt.uncompressedSha256 !== 'string' ||
|
|
94
|
+
!/^[a-f0-9]{64}$/u.test(compilerReceipt.uncompressedSha256)) {
|
|
95
|
+
throw new RuntimeConfigurationError('ClojureScript runtime compiler preflight receipt is invalid', {
|
|
96
|
+
phase: 'asset',
|
|
97
|
+
profileId: profile.profileId,
|
|
98
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
const limits = resolveExecutionLimits(request.limits);
|
|
102
|
+
const maxAssetBytes = Math.min(limits.maxAssetBytes, HARD_MAX_ASSET_BYTES);
|
|
103
|
+
const oversized = [
|
|
104
|
+
['manifest', manifestReceipt.bytes, Math.min(MAX_MANIFEST_BYTES, maxAssetBytes)],
|
|
105
|
+
['compressed compiler', compilerReceipt.bytes, maxAssetBytes],
|
|
106
|
+
['logical compiler', compilerReceipt.uncompressedBytes, maxAssetBytes]
|
|
107
|
+
];
|
|
108
|
+
for (const [label, bytes, limit] of oversized) {
|
|
109
|
+
if (bytes > limit) {
|
|
110
|
+
throw new AssetTooLargeError(`ClojureScript runtime ${label} exceeds the ${limit} byte limit`, {
|
|
111
|
+
actual: bytes,
|
|
112
|
+
limit,
|
|
113
|
+
phase: 'asset',
|
|
114
|
+
profileId: profile.profileId,
|
|
115
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (typeof DecompressionStream !== 'function') {
|
|
120
|
+
throw new UnsupportedBrowserFeatureError('DecompressionStream(gzip)', {
|
|
121
|
+
phase: 'asset',
|
|
122
|
+
profileId: profile.profileId,
|
|
123
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
const expectedManifestQuery = `?v=${profile.manifestFingerprint}`;
|
|
127
|
+
if (manifestUrl.search && manifestUrl.search !== expectedManifestQuery) {
|
|
128
|
+
throw new RuntimeConfigurationError('ClojureScript runtime manifest query must be the pinned manifest fingerprint cache-buster', {
|
|
129
|
+
phase: 'asset',
|
|
130
|
+
profileId: profile.profileId,
|
|
131
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
const manifestRequestUrl = new URL(manifestUrl);
|
|
135
|
+
if (!manifestRequestUrl.search) {
|
|
136
|
+
manifestRequestUrl.searchParams.set('v', profile.manifestFingerprint);
|
|
137
|
+
}
|
|
138
|
+
const compilerRequestUrl = new URL(VERIFIED_COMPILER_STORAGE_PATH, baseUrl);
|
|
139
|
+
compilerRequestUrl.searchParams.set('v', compilerReceipt.sha256);
|
|
140
|
+
const registry = {
|
|
141
|
+
schemaVersion: 2,
|
|
142
|
+
manifestId: 'wasm-idle/clojurescript-preflight',
|
|
143
|
+
revision: profile.manifestFingerprint,
|
|
144
|
+
runtimes: [
|
|
145
|
+
{
|
|
146
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID,
|
|
147
|
+
identity: {
|
|
148
|
+
languageId: 'CLOJURESCRIPT',
|
|
149
|
+
implementationId: 'cljs.js',
|
|
150
|
+
implementationVersion: profile.sourceRevision,
|
|
151
|
+
profile: {
|
|
152
|
+
profileId: profile.profileId,
|
|
153
|
+
manifestSchemaVersion: 2,
|
|
154
|
+
manifestSha256: manifestReceipt.sha256,
|
|
155
|
+
protocolVersion: CLOJURESCRIPT_PREFLIGHT_PROTOCOL_VERSION,
|
|
156
|
+
trustProfileId: 'wasm-idle-static-worker-v1',
|
|
157
|
+
trustProfileSchemaVersion: 1
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
capabilities: {
|
|
161
|
+
stdin: 'streaming',
|
|
162
|
+
workspace: true,
|
|
163
|
+
abort: true,
|
|
164
|
+
artifacts: false,
|
|
165
|
+
streamingOutput: true
|
|
166
|
+
},
|
|
167
|
+
workerLifetime: { mode: 'per-run' },
|
|
168
|
+
requiredBrowserFeatures: ['decompression-stream'],
|
|
169
|
+
assetRoot: '.',
|
|
170
|
+
assets: [
|
|
171
|
+
{
|
|
172
|
+
key: 'manifest',
|
|
173
|
+
path: manifestPath,
|
|
174
|
+
compressedSha256: manifestReceipt.sha256,
|
|
175
|
+
uncompressedSha256: manifestReceipt.sha256,
|
|
176
|
+
compressedBytes: manifestReceipt.bytes,
|
|
177
|
+
uncompressedBytes: manifestReceipt.bytes,
|
|
178
|
+
mediaType: 'application/json',
|
|
179
|
+
encoding: 'identity'
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
key: 'compiler',
|
|
183
|
+
path: VERIFIED_COMPILER_STORAGE_PATH,
|
|
184
|
+
compressedSha256: compilerReceipt.sha256,
|
|
185
|
+
uncompressedSha256: compilerReceipt.uncompressedSha256,
|
|
186
|
+
compressedBytes: compilerReceipt.bytes,
|
|
187
|
+
uncompressedBytes: compilerReceipt.uncompressedBytes,
|
|
188
|
+
mediaType: 'text/javascript',
|
|
189
|
+
encoding: 'gzip'
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
contracts: {
|
|
193
|
+
routeId: 'clojurescript',
|
|
194
|
+
runtimeAssetKey: 'clojurescript',
|
|
195
|
+
documentationId: 'CLOJURESCRIPT',
|
|
196
|
+
syncTarget: 'sync:wasm-clojurescript',
|
|
197
|
+
browserTestId: 'browser:clojurescript'
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
};
|
|
202
|
+
const controller = new AbortController();
|
|
203
|
+
let timedOut = false;
|
|
204
|
+
const abortFromCaller = () => controller.abort(request.signal?.reason);
|
|
205
|
+
request.signal?.addEventListener('abort', abortFromCaller, { once: true });
|
|
206
|
+
if (request.signal?.aborted)
|
|
207
|
+
abortFromCaller();
|
|
208
|
+
const timeout = setTimeout(() => {
|
|
209
|
+
timedOut = true;
|
|
210
|
+
controller.abort(new DOMException('ClojureScript runtime preflight timed out', 'TimeoutError'));
|
|
211
|
+
}, limits.assetTimeoutMs);
|
|
212
|
+
try {
|
|
213
|
+
const preflight = await preflightRuntimeAssets({
|
|
214
|
+
manifest: registry,
|
|
215
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID,
|
|
216
|
+
rootUrl: baseUrl,
|
|
217
|
+
assetUrls: {
|
|
218
|
+
manifest: manifestRequestUrl,
|
|
219
|
+
compiler: compilerRequestUrl
|
|
220
|
+
},
|
|
221
|
+
fetch: request.fetch,
|
|
222
|
+
signal: controller.signal,
|
|
223
|
+
limits: { ...limits, maxAssetBytes },
|
|
224
|
+
maxConcurrentDownloads: 2,
|
|
225
|
+
reportProgress: request.reportProgress
|
|
226
|
+
});
|
|
227
|
+
const manifestAsset = preflight.assets.manifest;
|
|
228
|
+
const compilerAsset = preflight.assets.compiler;
|
|
229
|
+
if (!manifestAsset || !compilerAsset) {
|
|
230
|
+
throw new RuntimeConfigurationError('ClojureScript runtime preflight returned an incomplete asset set', {
|
|
231
|
+
phase: 'asset',
|
|
232
|
+
profileId: profile.profileId,
|
|
233
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
if (compilerAsset.bytes[0] !== 0x1f || compilerAsset.bytes[1] !== 0x8b) {
|
|
237
|
+
throw new AssetIntegrityError('ClojureScript runtime compiler storage asset is not gzip data', {
|
|
238
|
+
profileId: profile.profileId,
|
|
239
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
const compressedBody = new Response(Uint8Array.from(compilerAsset.bytes)).body;
|
|
243
|
+
if (!compressedBody) {
|
|
244
|
+
throw new UnsupportedBrowserFeatureError('ReadableStream response bodies', {
|
|
245
|
+
phase: 'asset',
|
|
246
|
+
profileId: profile.profileId,
|
|
247
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
const stream = compressedBody.pipeThrough(new DecompressionStream('gzip'));
|
|
251
|
+
const reader = stream.getReader();
|
|
252
|
+
const compilerBytes = new Uint8Array(compilerReceipt.uncompressedBytes);
|
|
253
|
+
let offset = 0;
|
|
254
|
+
const cancelDecompression = () => {
|
|
255
|
+
try {
|
|
256
|
+
void reader.cancel(controller.signal.reason).catch(() => undefined);
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
// Preserve the cancellation or integrity failure that stopped decompression.
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
controller.signal.addEventListener('abort', cancelDecompression, { once: true });
|
|
263
|
+
try {
|
|
264
|
+
for (;;) {
|
|
265
|
+
if (controller.signal.aborted)
|
|
266
|
+
throw controller.signal.reason;
|
|
267
|
+
const { done, value } = await reader.read();
|
|
268
|
+
if (done)
|
|
269
|
+
break;
|
|
270
|
+
if (offset + value.byteLength > compilerBytes.byteLength) {
|
|
271
|
+
const error = new AssetIntegrityError('ClojureScript compiler gzip output exceeds its logical receipt', {
|
|
272
|
+
profileId: profile.profileId,
|
|
273
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
274
|
+
});
|
|
275
|
+
try {
|
|
276
|
+
await reader.cancel(error);
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
// Preserve the expansion-limit failure.
|
|
280
|
+
}
|
|
281
|
+
throw error;
|
|
282
|
+
}
|
|
283
|
+
compilerBytes.set(value, offset);
|
|
284
|
+
offset += value.byteLength;
|
|
285
|
+
request.reportDecompressionProgress?.(offset, compilerBytes.byteLength);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
if (controller.signal.aborted || isWasmIdleError(error))
|
|
290
|
+
throw error;
|
|
291
|
+
throw new AssetIntegrityError('ClojureScript runtime compiler gzip decompression failed', {
|
|
292
|
+
cause: error,
|
|
293
|
+
profileId: profile.profileId,
|
|
294
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
finally {
|
|
298
|
+
controller.signal.removeEventListener('abort', cancelDecompression);
|
|
299
|
+
try {
|
|
300
|
+
reader.releaseLock();
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
// Cancellation may already have detached the stream reader.
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
if (offset !== compilerBytes.byteLength) {
|
|
307
|
+
throw new AssetIntegrityError('ClojureScript compiler gzip output is shorter than its logical receipt', {
|
|
308
|
+
profileId: profile.profileId,
|
|
309
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
const logicalIntegrity = verifyRuntimeAssetIntegrity({
|
|
313
|
+
asset: 'compiler.js',
|
|
314
|
+
bytes: compilerBytes,
|
|
315
|
+
expected: compilerReceipt,
|
|
316
|
+
stage: 'uncompressed',
|
|
317
|
+
mimeType: 'text/javascript',
|
|
318
|
+
profileId: profile.profileId,
|
|
319
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
320
|
+
});
|
|
321
|
+
await new Promise((resolve, reject) => {
|
|
322
|
+
let settled = false;
|
|
323
|
+
const rejectOnAbort = () => {
|
|
324
|
+
if (settled)
|
|
325
|
+
return;
|
|
326
|
+
settled = true;
|
|
327
|
+
controller.signal.removeEventListener('abort', rejectOnAbort);
|
|
328
|
+
reject(controller.signal.reason ??
|
|
329
|
+
new DOMException('ClojureScript runtime integrity verification aborted', 'AbortError'));
|
|
330
|
+
};
|
|
331
|
+
controller.signal.addEventListener('abort', rejectOnAbort, { once: true });
|
|
332
|
+
void logicalIntegrity.then(() => {
|
|
333
|
+
if (settled)
|
|
334
|
+
return;
|
|
335
|
+
settled = true;
|
|
336
|
+
controller.signal.removeEventListener('abort', rejectOnAbort);
|
|
337
|
+
resolve();
|
|
338
|
+
}, (error) => {
|
|
339
|
+
if (settled)
|
|
340
|
+
return;
|
|
341
|
+
settled = true;
|
|
342
|
+
controller.signal.removeEventListener('abort', rejectOnAbort);
|
|
343
|
+
reject(error);
|
|
344
|
+
});
|
|
345
|
+
if (controller.signal.aborted)
|
|
346
|
+
rejectOnAbort();
|
|
347
|
+
});
|
|
348
|
+
return Object.freeze({
|
|
349
|
+
protocol: CLOJURESCRIPT_PREFLIGHT_PROTOCOL,
|
|
350
|
+
protocolVersion: CLOJURESCRIPT_PREFLIGHT_PROTOCOL_VERSION,
|
|
351
|
+
profileId: profile.profileId,
|
|
352
|
+
sourceRevision: profile.sourceRevision,
|
|
353
|
+
integrationRevision: profile.integrationRevision,
|
|
354
|
+
manifestFingerprint: profile.manifestFingerprint,
|
|
355
|
+
manifestBytes: Uint8Array.from(manifestAsset.bytes),
|
|
356
|
+
compilerBytes
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
catch (error) {
|
|
360
|
+
if (timedOut) {
|
|
361
|
+
throw new TimeoutError(`ClojureScript runtime preflight timed out after ${limits.assetTimeoutMs} ms`, {
|
|
362
|
+
cause: error,
|
|
363
|
+
phase: 'asset',
|
|
364
|
+
profileId: profile.profileId,
|
|
365
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID,
|
|
366
|
+
timeoutMs: limits.assetTimeoutMs
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
if (request.signal?.aborted) {
|
|
370
|
+
throw new CancelledError('ClojureScript runtime preflight cancelled', {
|
|
371
|
+
cause: request.signal.reason,
|
|
372
|
+
phase: 'asset',
|
|
373
|
+
profileId: profile.profileId,
|
|
374
|
+
runtimeId: CLOJURESCRIPT_PREFLIGHT_RUNTIME_ID
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
throw error;
|
|
378
|
+
}
|
|
379
|
+
finally {
|
|
380
|
+
clearTimeout(timeout);
|
|
381
|
+
request.signal?.removeEventListener('abort', abortFromCaller);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { WorkerAssetBridge } from './assetBridge';
|
|
2
|
+
import { type PlaygroundRuntimeAssets } from './assets';
|
|
3
|
+
import type { SandboxExecutionOptions } from './options';
|
|
4
|
+
import type { Sandbox, SandboxProgress } from './sandbox';
|
|
5
|
+
declare class Cobol implements Sandbox {
|
|
6
|
+
language: string;
|
|
7
|
+
output?: (data: string) => void;
|
|
8
|
+
worker?: Worker;
|
|
9
|
+
buffer: import("./sharedBuffer").WasmIdleSharedBuffer;
|
|
10
|
+
pendingInput: string[];
|
|
11
|
+
begin: number;
|
|
12
|
+
elapse: number;
|
|
13
|
+
uid: number;
|
|
14
|
+
log: boolean;
|
|
15
|
+
waitingForInput: boolean;
|
|
16
|
+
pendingEof: boolean;
|
|
17
|
+
exit: boolean;
|
|
18
|
+
assetBridge: WorkerAssetBridge | null;
|
|
19
|
+
activeCobolBaseUrl: string;
|
|
20
|
+
private activeOperation;
|
|
21
|
+
private disposed;
|
|
22
|
+
private disposePromise;
|
|
23
|
+
private readonly disposeCancellation;
|
|
24
|
+
private readonly workerSession;
|
|
25
|
+
private beginOperation;
|
|
26
|
+
private isOperationActive;
|
|
27
|
+
private releaseOperation;
|
|
28
|
+
private cleanupOperation;
|
|
29
|
+
private releaseBeforeSession;
|
|
30
|
+
private bindPreSessionAbort;
|
|
31
|
+
private bindAbortSignal;
|
|
32
|
+
private bindOperationTimeout;
|
|
33
|
+
private resetExplicitStdinState;
|
|
34
|
+
private finishExplicitStdin;
|
|
35
|
+
load(runtimeAssets?: string | PlaygroundRuntimeAssets, code?: string, log?: boolean, args?: string[], options?: SandboxExecutionOptions, progress?: SandboxProgress): Promise<void>;
|
|
36
|
+
write(input: string): void;
|
|
37
|
+
eof(): void;
|
|
38
|
+
private flushPendingInput;
|
|
39
|
+
run(code: string, prepare: boolean, log?: boolean, prog?: SandboxProgress, args?: string[], options?: SandboxExecutionOptions): Promise<boolean | string>;
|
|
40
|
+
private cancelOperation;
|
|
41
|
+
kill(): void;
|
|
42
|
+
terminate(reason?: unknown): void;
|
|
43
|
+
clear(): Promise<void>;
|
|
44
|
+
dispose(): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
export default Cobol;
|