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.
Files changed (386) hide show
  1. package/README.md +760 -81
  2. package/dist/index.d.ts +4 -9
  3. package/dist/index.js +2 -4
  4. package/dist/playground/applicationAssets.d.ts +4 -0
  5. package/dist/playground/applicationAssets.js +277 -0
  6. package/dist/playground/assemblyscript.d.ts +41 -0
  7. package/dist/playground/assemblyscript.js +630 -0
  8. package/dist/playground/assetBridge.d.ts +18 -7
  9. package/dist/playground/assetBridge.js +824 -100
  10. package/dist/playground/assets.d.ts +813 -19
  11. package/dist/playground/assets.js +2096 -156
  12. package/dist/playground/awk.d.ts +5 -0
  13. package/dist/playground/awk.js +60 -0
  14. package/dist/playground/bash.d.ts +53 -0
  15. package/dist/playground/bash.js +1096 -0
  16. package/dist/playground/bashWorkerProtocol.d.ts +88 -0
  17. package/dist/playground/bashWorkerProtocol.js +135 -0
  18. package/dist/playground/bqn.d.ts +5 -0
  19. package/dist/playground/bqn.js +57 -0
  20. package/dist/playground/bqnPreflight.d.ts +26 -0
  21. package/dist/playground/bqnPreflight.js +399 -0
  22. package/dist/playground/c3.d.ts +15 -0
  23. package/dist/playground/c3.js +154 -0
  24. package/dist/playground/clang.d.ts +35 -19
  25. package/dist/playground/clang.js +241 -52
  26. package/dist/playground/clangAssetIntegrity.d.ts +32 -0
  27. package/dist/playground/clangAssetIntegrity.js +8 -0
  28. package/dist/playground/clojurescript.d.ts +5 -0
  29. package/dist/playground/clojurescript.js +59 -0
  30. package/dist/playground/clojurescriptPreflight.d.ts +26 -0
  31. package/dist/playground/clojurescriptPreflight.js +383 -0
  32. package/dist/playground/cobol.d.ts +46 -0
  33. package/dist/playground/cobol.js +703 -0
  34. package/dist/playground/d.d.ts +47 -0
  35. package/dist/playground/d.js +644 -0
  36. package/dist/playground/dOuterAssets.d.ts +16 -0
  37. package/dist/playground/dOuterAssets.js +163 -0
  38. package/dist/playground/dotnet.d.ts +99 -0
  39. package/dist/playground/dotnet.js +1131 -0
  40. package/dist/playground/duckdb.d.ts +36 -0
  41. package/dist/playground/duckdb.js +542 -0
  42. package/dist/playground/elixir.d.ts +18 -10
  43. package/dist/playground/elixir.js +630 -96
  44. package/dist/playground/elixirAssets.d.ts +6 -0
  45. package/dist/playground/elixirAssets.js +33 -0
  46. package/dist/playground/executionObservation.d.ts +22 -0
  47. package/dist/playground/executionObservation.js +65 -0
  48. package/dist/playground/forth.d.ts +5 -0
  49. package/dist/playground/forth.js +53 -0
  50. package/dist/playground/forthPreflight.d.ts +24 -0
  51. package/dist/playground/forthPreflight.js +198 -0
  52. package/dist/playground/fortran.d.ts +47 -0
  53. package/dist/playground/fortran.js +651 -0
  54. package/dist/playground/fortranAssets.d.ts +6 -0
  55. package/dist/playground/fortranAssets.js +27 -0
  56. package/dist/playground/gleam.d.ts +6 -0
  57. package/dist/playground/gleam.js +33 -0
  58. package/dist/playground/go.d.ts +17 -11
  59. package/dist/playground/go.js +376 -72
  60. package/dist/playground/goDebugInstrumentation.d.ts +1 -0
  61. package/dist/playground/goDebugInstrumentation.js +229 -0
  62. package/dist/playground/haskell.d.ts +44 -0
  63. package/dist/playground/haskell.js +678 -0
  64. package/dist/playground/haskellAssets.d.ts +24 -0
  65. package/dist/playground/haskellAssets.js +93 -0
  66. package/dist/playground/index.d.ts +1 -1
  67. package/dist/playground/index.js +360 -111
  68. package/dist/playground/j.d.ts +5 -0
  69. package/dist/playground/j.js +60 -0
  70. package/dist/playground/jPreflight.d.ts +26 -0
  71. package/dist/playground/jPreflight.js +372 -0
  72. package/dist/playground/janet.d.ts +5 -0
  73. package/dist/playground/janet.js +64 -0
  74. package/dist/playground/java.d.ts +24 -10
  75. package/dist/playground/java.js +706 -84
  76. package/dist/playground/javaSource.d.ts +5 -0
  77. package/dist/playground/javaSource.js +16 -0
  78. package/dist/playground/javaStdin.d.ts +1 -1
  79. package/dist/playground/javaStdin.js +13 -4
  80. package/dist/playground/julia.d.ts +5 -0
  81. package/dist/playground/julia.js +64 -0
  82. package/dist/playground/lfortran.d.ts +8 -0
  83. package/dist/playground/lfortran.js +30 -0
  84. package/dist/playground/lfortranAssets.d.ts +21 -0
  85. package/dist/playground/lfortranAssets.js +118 -0
  86. package/dist/playground/lisp.d.ts +45 -0
  87. package/dist/playground/lisp.js +640 -0
  88. package/dist/playground/lispAssets.d.ts +9 -0
  89. package/dist/playground/lispAssets.js +74 -0
  90. package/dist/playground/lldbManifest.d.ts +3 -0
  91. package/dist/playground/lldbManifest.js +155 -0
  92. package/dist/playground/lldbSession.d.ts +115 -0
  93. package/dist/playground/lldbSession.js +1347 -0
  94. package/dist/playground/loadingProgress.d.ts +16 -0
  95. package/dist/playground/loadingProgress.js +166 -0
  96. package/dist/playground/lua.d.ts +44 -0
  97. package/dist/playground/lua.js +630 -0
  98. package/dist/playground/nim.d.ts +5 -0
  99. package/dist/playground/nim.js +76 -0
  100. package/dist/playground/objectivec.d.ts +39 -0
  101. package/dist/playground/objectivec.js +288 -0
  102. package/dist/playground/ocaml.d.ts +28 -10
  103. package/dist/playground/ocaml.js +815 -253
  104. package/dist/playground/octave.d.ts +43 -0
  105. package/dist/playground/octave.js +783 -0
  106. package/dist/playground/options.d.ts +19 -40
  107. package/dist/playground/options.js +2 -1
  108. package/dist/playground/pascal.d.ts +5 -0
  109. package/dist/playground/pascal.js +60 -0
  110. package/dist/playground/perl.d.ts +5 -0
  111. package/dist/playground/perl.js +61 -0
  112. package/dist/playground/php.d.ts +44 -0
  113. package/dist/playground/php.js +665 -0
  114. package/dist/playground/prolog.d.ts +6 -0
  115. package/dist/playground/prolog.js +75 -0
  116. package/dist/playground/python.d.ts +20 -14
  117. package/dist/playground/python.js +445 -101
  118. package/dist/playground/pythonPackageLock.d.ts +6 -0
  119. package/dist/playground/pythonPackageLock.js +56 -0
  120. package/dist/playground/r.d.ts +44 -0
  121. package/dist/playground/r.js +637 -0
  122. package/dist/playground/ruby.d.ts +46 -0
  123. package/dist/playground/ruby.js +732 -0
  124. package/dist/playground/rubyAssets.d.ts +23 -0
  125. package/dist/playground/rubyAssets.js +68 -0
  126. package/dist/playground/rubyTestPreflight.d.ts +2 -0
  127. package/dist/playground/rubyTestPreflight.js +18 -0
  128. package/dist/playground/runtimeModule.d.ts +1 -0
  129. package/dist/playground/runtimeModule.js +5 -0
  130. package/dist/playground/rust.d.ts +44 -13
  131. package/dist/playground/rust.js +714 -76
  132. package/dist/playground/rustExecutableGraph.d.ts +85 -0
  133. package/dist/playground/rustExecutableGraph.js +946 -0
  134. package/dist/playground/rustWorkerLimits.d.ts +17 -0
  135. package/dist/playground/rustWorkerLimits.js +34 -0
  136. package/dist/playground/sandbox.d.ts +16 -10
  137. package/dist/playground/sharedBuffer.d.ts +6 -0
  138. package/dist/playground/sharedBuffer.js +12 -0
  139. package/dist/playground/sqlite.d.ts +38 -0
  140. package/dist/playground/sqlite.js +550 -0
  141. package/dist/playground/staticRuntimeModuleVersion.d.ts +1 -0
  142. package/dist/playground/staticRuntimeModuleVersion.js +2 -0
  143. package/dist/playground/staticRuntimePreflight.d.ts +13 -0
  144. package/dist/playground/staticRuntimePreflight.js +231 -0
  145. package/dist/playground/staticRuntimePreflightExecute.d.ts +8 -0
  146. package/dist/playground/staticRuntimePreflightExecute.js +66 -0
  147. package/dist/playground/staticRuntimePreflightProtocol.d.ts +68 -0
  148. package/dist/playground/staticRuntimePreflightProtocol.js +339 -0
  149. package/dist/playground/staticStdinRing.d.ts +45 -0
  150. package/dist/playground/staticStdinRing.js +158 -0
  151. package/dist/playground/staticWorkerRuntime.d.ts +154 -0
  152. package/dist/playground/staticWorkerRuntime.js +1917 -0
  153. package/dist/playground/stdinBuffer.d.ts +9 -7
  154. package/dist/playground/stdinBuffer.js +9 -18
  155. package/dist/playground/swift.d.ts +5 -0
  156. package/dist/playground/swift.js +17 -0
  157. package/dist/playground/tcl.d.ts +5 -0
  158. package/dist/playground/tcl.js +62 -0
  159. package/dist/playground/teavmConfig.d.ts +1 -1
  160. package/dist/playground/teavmConfig.js +2 -2
  161. package/dist/playground/tinygo.d.ts +48 -18
  162. package/dist/playground/tinygo.js +1202 -329
  163. package/dist/playground/tinygoExecutableGraph.d.ts +44 -0
  164. package/dist/playground/tinygoExecutableGraph.js +449 -0
  165. package/dist/playground/typescript.d.ts +55 -0
  166. package/dist/playground/typescript.js +924 -0
  167. package/dist/playground/wasm.d.ts +43 -0
  168. package/dist/playground/wasm.js +608 -0
  169. package/dist/playground/wasmAwkVersion.d.ts +59 -0
  170. package/dist/playground/wasmAwkVersion.js +31 -0
  171. package/dist/playground/wasmBashVersion.d.ts +63 -0
  172. package/dist/playground/wasmBashVersion.js +36 -0
  173. package/dist/playground/wasmBqnVersion.d.ts +24 -0
  174. package/dist/playground/wasmBqnVersion.js +24 -0
  175. package/dist/playground/wasmC3Version.d.ts +20 -0
  176. package/dist/playground/wasmC3Version.js +21 -0
  177. package/dist/playground/wasmClojureScriptVersion.d.ts +21 -0
  178. package/dist/playground/wasmClojureScriptVersion.js +21 -0
  179. package/dist/playground/wasmDIntegrity.d.ts +15 -0
  180. package/dist/playground/wasmDIntegrity.js +15 -0
  181. package/dist/playground/wasmDVersion.d.ts +1 -0
  182. package/dist/playground/wasmDVersion.js +1 -0
  183. package/dist/playground/wasmDebugVersion.d.ts +6 -0
  184. package/dist/playground/wasmDebugVersion.js +6 -0
  185. package/dist/playground/wasmDotnetVersion.d.ts +1 -0
  186. package/dist/playground/wasmDotnetVersion.js +1 -0
  187. package/dist/playground/wasmElixirVersion.d.ts +21 -1
  188. package/dist/playground/wasmElixirVersion.js +21 -1
  189. package/dist/playground/wasmForthVersion.d.ts +18 -0
  190. package/dist/playground/wasmForthVersion.js +18 -0
  191. package/dist/playground/wasmFortranExecutionAssets.d.ts +15 -0
  192. package/dist/playground/wasmFortranExecutionAssets.js +15 -0
  193. package/dist/playground/wasmFortranVersion.d.ts +1 -0
  194. package/dist/playground/wasmFortranVersion.js +1 -0
  195. package/dist/playground/wasmGleamVersion.d.ts +5 -0
  196. package/dist/playground/wasmGleamVersion.js +5 -0
  197. package/dist/playground/wasmGoVersion.d.ts +1 -1
  198. package/dist/playground/wasmGoVersion.js +1 -1
  199. package/dist/playground/wasmHaskellVersion.d.ts +1 -0
  200. package/dist/playground/wasmHaskellVersion.js +1 -0
  201. package/dist/playground/wasmJVersion.d.ts +24 -0
  202. package/dist/playground/wasmJVersion.js +24 -0
  203. package/dist/playground/wasmJanetVersion.d.ts +53 -0
  204. package/dist/playground/wasmJanetVersion.js +30 -0
  205. package/dist/playground/wasmJuliaVersion.d.ts +71 -0
  206. package/dist/playground/wasmJuliaVersion.js +39 -0
  207. package/dist/playground/wasmLfortranVersion.d.ts +28 -0
  208. package/dist/playground/wasmLfortranVersion.js +29 -0
  209. package/dist/playground/wasmLispVersion.d.ts +1 -0
  210. package/dist/playground/wasmLispVersion.js +1 -0
  211. package/dist/playground/wasmLuaVersion.d.ts +1 -0
  212. package/dist/playground/wasmLuaVersion.js +1 -0
  213. package/dist/playground/wasmNimVersion.d.ts +125 -0
  214. package/dist/playground/wasmNimVersion.js +66 -0
  215. package/dist/playground/wasmObjectiveCVersion.d.ts +27 -0
  216. package/dist/playground/wasmObjectiveCVersion.js +27 -0
  217. package/dist/playground/wasmOcamlVersion.d.ts +12 -1
  218. package/dist/playground/wasmOcamlVersion.js +12 -1
  219. package/dist/playground/wasmOctaveVersion.d.ts +1 -0
  220. package/dist/playground/wasmOctaveVersion.js +1 -0
  221. package/dist/playground/wasmPascalVersion.d.ts +61 -0
  222. package/dist/playground/wasmPascalVersion.js +34 -0
  223. package/dist/playground/wasmPerlVersion.d.ts +71 -0
  224. package/dist/playground/wasmPerlVersion.js +39 -0
  225. package/dist/playground/wasmPrologVersion.d.ts +31 -0
  226. package/dist/playground/wasmPrologVersion.js +31 -0
  227. package/dist/playground/wasmRVersion.d.ts +1 -0
  228. package/dist/playground/wasmRVersion.js +1 -0
  229. package/dist/playground/wasmRustVersion.d.ts +1306 -1
  230. package/dist/playground/wasmRustVersion.js +1458 -1
  231. package/dist/playground/wasmSwiftVersion.d.ts +1 -0
  232. package/dist/playground/wasmSwiftVersion.js +1 -0
  233. package/dist/playground/wasmTclVersion.d.ts +85 -0
  234. package/dist/playground/wasmTclVersion.js +46 -0
  235. package/dist/playground/wasmTinyGoVersion.d.ts +98 -1
  236. package/dist/playground/wasmTinyGoVersion.js +107 -1
  237. package/dist/playground/wasmTypeScriptVersion.d.ts +5 -0
  238. package/dist/playground/wasmTypeScriptVersion.js +5 -0
  239. package/dist/playground/wasmWatVersion.d.ts +1 -0
  240. package/dist/playground/wasmWatVersion.js +1 -0
  241. package/dist/playground/wasmZigVersion.d.ts +13 -0
  242. package/dist/playground/wasmZigVersion.js +13 -0
  243. package/dist/playground/wat.d.ts +44 -0
  244. package/dist/playground/wat.js +622 -0
  245. package/dist/playground/worker/assemblyscript.js +339 -0
  246. package/dist/playground/worker/assets.d.ts +7 -0
  247. package/dist/playground/worker/assets.js +288 -39
  248. package/dist/playground/worker/bash.js +338 -0
  249. package/dist/playground/worker/bashNestedBootstrap.d.ts +6 -0
  250. package/dist/playground/worker/bashNestedBootstrap.js +59 -0
  251. package/dist/playground/worker/bashRuntime.d.ts +89 -0
  252. package/dist/playground/worker/bashRuntime.js +982 -0
  253. package/dist/playground/worker/clang.js +92 -13
  254. package/dist/playground/worker/cobol.js +107 -0
  255. package/dist/playground/worker/d.js +199 -0
  256. package/dist/playground/worker/dotnet.js +141 -0
  257. package/dist/playground/worker/duckdb.d.ts +1 -0
  258. package/dist/playground/worker/duckdb.js +136 -0
  259. package/dist/playground/worker/elixir.js +307 -41
  260. package/dist/playground/worker/fortran.d.ts +1 -0
  261. package/dist/playground/worker/fortran.js +295 -0
  262. package/dist/playground/worker/go.js +246 -40
  263. package/dist/playground/worker/haskell.d.ts +7 -0
  264. package/dist/playground/worker/haskell.js +465 -0
  265. package/dist/playground/worker/java.js +59 -20
  266. package/dist/playground/worker/lisp.d.ts +1 -0
  267. package/dist/playground/worker/lisp.js +195 -0
  268. package/dist/playground/worker/lua.d.ts +1 -0
  269. package/dist/playground/worker/lua.js +163 -0
  270. package/dist/playground/worker/objectivec.d.ts +1 -0
  271. package/dist/playground/worker/objectivec.js +10 -0
  272. package/dist/playground/worker/ocaml.js +206 -58
  273. package/dist/playground/worker/php.d.ts +1 -0
  274. package/dist/playground/worker/php.js +261 -0
  275. package/dist/playground/worker/python.js +201 -44
  276. package/dist/playground/worker/r.d.ts +1 -0
  277. package/dist/playground/worker/r.js +192 -0
  278. package/dist/playground/worker/ruby.d.ts +1 -0
  279. package/dist/playground/worker/ruby.js +248 -0
  280. package/dist/playground/worker/runtimeAssetFetch.d.ts +15 -0
  281. package/dist/playground/worker/runtimeAssetFetch.js +375 -0
  282. package/dist/playground/worker/rust.js +546 -20
  283. package/dist/playground/worker/sqlite.d.ts +1 -0
  284. package/dist/playground/worker/sqlite.js +112 -0
  285. package/dist/playground/worker/staticRuntimePreflight.d.ts +1 -0
  286. package/dist/playground/worker/staticRuntimePreflight.js +56 -0
  287. package/dist/playground/worker/tinygo.js +34 -9
  288. package/dist/playground/worker/typescript.d.ts +1 -0
  289. package/dist/playground/worker/typescript.js +251 -0
  290. package/dist/playground/worker/wasm.d.ts +1 -0
  291. package/dist/playground/worker/wasm.js +273 -0
  292. package/dist/playground/worker/wat.d.ts +1 -0
  293. package/dist/playground/worker/wat.js +188 -0
  294. package/dist/playground/worker/zig.d.ts +8 -0
  295. package/dist/playground/worker/zig.js +578 -0
  296. package/dist/playground/workerProgress.d.ts +15 -0
  297. package/dist/playground/workerProgress.js +72 -0
  298. package/dist/playground/workerSession.d.ts +28 -0
  299. package/dist/playground/workerSession.js +164 -0
  300. package/dist/playground/zig.d.ts +46 -0
  301. package/dist/playground/zig.js +690 -0
  302. package/dist/playground/zigAssets.d.ts +6 -0
  303. package/dist/playground/zigAssets.js +49 -0
  304. package/package.json +234 -105
  305. package/dist/clang/app.d.ts +0 -75
  306. package/dist/clang/app.js +0 -744
  307. package/dist/clang/apply.d.ts +0 -2
  308. package/dist/clang/apply.js +0 -11
  309. package/dist/clang/color.d.ts +0 -3
  310. package/dist/clang/color.js +0 -3
  311. package/dist/clang/encode.d.ts +0 -4
  312. package/dist/clang/encode.js +0 -20
  313. package/dist/clang/error.d.ts +0 -14
  314. package/dist/clang/error.js +0 -27
  315. package/dist/clang/gccCompat.d.ts +0 -15
  316. package/dist/clang/gccCompat.js +0 -767
  317. package/dist/clang/index.d.ts +0 -85
  318. package/dist/clang/index.js +0 -1077
  319. package/dist/clang/memory/index.d.ts +0 -4
  320. package/dist/clang/memory/index.js +0 -4
  321. package/dist/clang/memory/memFs.d.ts +0 -35
  322. package/dist/clang/memory/memFs.js +0 -132
  323. package/dist/clang/memory/memory.d.ts +0 -22
  324. package/dist/clang/memory/memory.js +0 -73
  325. package/dist/clang/memory/tar.d.ts +0 -2
  326. package/dist/clang/memory/tar.js +0 -59
  327. package/dist/clang/url.d.ts +0 -4
  328. package/dist/clang/url.js +0 -5
  329. package/dist/clang/wasm.d.ts +0 -4
  330. package/dist/clang/wasm.js +0 -50
  331. package/dist/clangd/config.d.ts +0 -18
  332. package/dist/clangd/config.js +0 -14
  333. package/dist/clangd/jsonStream.d.ts +0 -9
  334. package/dist/clangd/jsonStream.js +0 -48
  335. package/dist/clangd/session.d.ts +0 -18
  336. package/dist/clangd/session.js +0 -112
  337. package/dist/clangd/worker.js +0 -131
  338. package/dist/debug/controller.svelte.d.ts +0 -43
  339. package/dist/debug/controller.svelte.js +0 -268
  340. package/dist/debug/editor/index.d.ts +0 -2
  341. package/dist/debug/editor/index.js +0 -1
  342. package/dist/debug/editor/monaco.d.ts +0 -26
  343. package/dist/debug/editor/monaco.js +0 -128
  344. package/dist/debug/expression.d.ts +0 -26
  345. package/dist/debug/expression.js +0 -547
  346. package/dist/debug/index.d.ts +0 -8
  347. package/dist/debug/index.js +0 -5
  348. package/dist/debug/language/cpp.d.ts +0 -2
  349. package/dist/debug/language/cpp.js +0 -7
  350. package/dist/debug/language/index.d.ts +0 -3
  351. package/dist/debug/language/index.js +0 -2
  352. package/dist/debug/language/python.d.ts +0 -2
  353. package/dist/debug/language/python.js +0 -14
  354. package/dist/debug/language/types.d.ts +0 -6
  355. package/dist/debug/locals.d.ts +0 -2
  356. package/dist/debug/locals.js +0 -8
  357. package/dist/lsp/cpp/server.d.ts +0 -2
  358. package/dist/lsp/cpp/server.js +0 -68
  359. package/dist/lsp/index.d.ts +0 -5
  360. package/dist/lsp/index.js +0 -4
  361. package/dist/lsp/python/main.worker.js +0 -92
  362. package/dist/lsp/python/package/arcturus_python_lsp/__init__.py +0 -3
  363. package/dist/lsp/python/package/arcturus_python_lsp/server.py +0 -462
  364. package/dist/lsp/python/server.d.ts +0 -2
  365. package/dist/lsp/python/server.js +0 -54
  366. package/dist/lsp/registry.d.ts +0 -2
  367. package/dist/lsp/registry.js +0 -12
  368. package/dist/lsp/runtime.d.ts +0 -5
  369. package/dist/lsp/runtime.js +0 -31
  370. package/dist/lsp/types.d.ts +0 -17
  371. package/dist/terminal/Terminal.svelte +0 -422
  372. package/dist/terminal/Terminal.svelte.d.ts +0 -26
  373. package/dist/terminal/index.d.ts +0 -7
  374. package/dist/terminal/index.js +0 -5
  375. package/dist/terminal/plugin/index.d.ts +0 -9
  376. package/dist/terminal/plugin/index.js +0 -19
  377. package/dist/terminal/theme.d.ts +0 -49
  378. package/dist/terminal/theme.js +0 -49
  379. package/dist/terminal/types.d.ts +0 -18
  380. package/dist/utils/vscodeJsonrpcBrowser.d.ts +0 -5
  381. package/dist/utils/vscodeJsonrpcBrowser.js +0 -4
  382. /package/dist/{clangd/worker.d.ts → playground/worker/assemblyscript.d.ts} +0 -0
  383. /package/dist/{debug/language/types.js → playground/worker/bash.d.ts} +0 -0
  384. /package/dist/{lsp/python/main.worker.d.ts → playground/worker/cobol.d.ts} +0 -0
  385. /package/dist/{lsp/types.js → playground/worker/d.d.ts} +0 -0
  386. /package/dist/{terminal/types.js → playground/worker/dotnet.d.ts} +0 -0
@@ -0,0 +1,93 @@
1
+ import { HASKELL_RUNTIME_ASSET_NAMES, snapshotHaskellRuntimeAssetReceipts, verifyRuntimeAssetIntegrity } from '@wasm-idle/core';
2
+ import { fetchRuntimeAssetBytes, resolveRuntimeAssetUrl } from './worker/runtimeAssetFetch';
3
+ export function snapshotHaskellRuntimeAssetConfig(config) {
4
+ if (!config || typeof config !== 'object') {
5
+ throw new TypeError('Haskell runtime asset configuration is required');
6
+ }
7
+ const moduleUrl = config.moduleUrl;
8
+ const rootfsUrl = config.rootfsUrl;
9
+ const bsdtarUrl = config.bsdtarUrl;
10
+ const integrityInput = config.integrity;
11
+ const maxAssetBytes = config.maxAssetBytes;
12
+ if (!Number.isSafeInteger(maxAssetBytes) || maxAssetBytes <= 0) {
13
+ throw new TypeError('Haskell runtime maxAssetBytes must be a positive safe integer');
14
+ }
15
+ const integrity = snapshotHaskellRuntimeAssetReceipts(integrityInput);
16
+ for (const asset of HASKELL_RUNTIME_ASSET_NAMES) {
17
+ if (integrity[asset].bytes > maxAssetBytes) {
18
+ throw new TypeError(`Haskell runtime receipt exceeds its limit for ${asset}`);
19
+ }
20
+ }
21
+ return Object.freeze({
22
+ moduleUrl: resolveRuntimeAssetUrl(moduleUrl, 'Haskell runtime module').href,
23
+ rootfsUrl: resolveRuntimeAssetUrl(rootfsUrl, 'Haskell GHC rootfs').href,
24
+ bsdtarUrl: resolveRuntimeAssetUrl(bsdtarUrl, 'Haskell rootfs extractor').href,
25
+ integrity,
26
+ maxAssetBytes
27
+ });
28
+ }
29
+ const decoder = new TextDecoder('utf-8', { fatal: true });
30
+ export async function loadVerifiedHaskellRuntimeAssets(config, options = {}) {
31
+ const snapshot = snapshotHaskellRuntimeAssetConfig(config);
32
+ const controller = new AbortController();
33
+ const forwardAbort = () => controller.abort(options.signal?.reason ??
34
+ new DOMException('Haskell runtime asset loading was aborted', 'AbortError'));
35
+ options.signal?.addEventListener('abort', forwardAbort, { once: true });
36
+ if (options.signal?.aborted)
37
+ forwardAbort();
38
+ try {
39
+ const [moduleBytes, rootfsBytes, bsdtarBytes] = await Promise.all(HASKELL_RUNTIME_ASSET_NAMES.map(async (asset) => {
40
+ const url = asset === 'dyld.mjs'
41
+ ? snapshot.moduleUrl
42
+ : asset === 'rootfs.tar.zst'
43
+ ? snapshot.rootfsUrl
44
+ : snapshot.bsdtarUrl;
45
+ const receipt = snapshot.integrity[asset];
46
+ const bytes = await fetchRuntimeAssetBytes({
47
+ url,
48
+ label: asset === 'dyld.mjs'
49
+ ? 'Haskell runtime module'
50
+ : asset === 'rootfs.tar.zst'
51
+ ? 'Haskell GHC rootfs'
52
+ : 'Haskell rootfs extractor',
53
+ cache: 'no-store',
54
+ maxAssetBytes: Math.min(receipt.bytes, snapshot.maxAssetBytes),
55
+ signal: controller.signal,
56
+ onProgress(progress) {
57
+ options.onProgress?.({ asset, ...progress });
58
+ }
59
+ });
60
+ if (controller.signal.aborted)
61
+ throw controller.signal.reason;
62
+ await verifyRuntimeAssetIntegrity({
63
+ asset,
64
+ bytes,
65
+ expected: receipt,
66
+ runtimeId: 'HASKELL'
67
+ });
68
+ if (controller.signal.aborted)
69
+ throw controller.signal.reason;
70
+ return bytes;
71
+ }));
72
+ let moduleSource;
73
+ try {
74
+ moduleSource = decoder.decode(moduleBytes);
75
+ }
76
+ catch (error) {
77
+ throw new TypeError('Haskell runtime module is not valid UTF-8', { cause: error });
78
+ }
79
+ return Object.freeze({
80
+ config: snapshot,
81
+ moduleSource,
82
+ rootfsBytes: rootfsBytes,
83
+ bsdtarBytes: bsdtarBytes
84
+ });
85
+ }
86
+ catch (error) {
87
+ controller.abort(error);
88
+ throw error;
89
+ }
90
+ finally {
91
+ options.signal?.removeEventListener('abort', forwardAbort);
92
+ }
93
+ }
@@ -1,5 +1,5 @@
1
1
  import type { BoundSandbox, PlaygroundBinding, Sandbox, SandboxRuntimeAssets } from './sandbox';
2
- export declare const supportedLanguages: string[];
2
+ export declare const supportedLanguages: ("C" | "CPP" | "OBJC" | "D" | "TINYGO" | "RUBY" | "PERL" | "TCL" | "AWK" | "PASCAL" | "JANET" | "JULIA" | "NIM" | "BASH" | "BQN" | "CLOJURESCRIPT" | "FORTH" | "J" | "PROLOG" | "C3" | "PYTHON3" | "JAVA" | "RUST" | "GO" | "CSHARP" | "FSHARP" | "VBNET" | "ELIXIR" | "ERLANG" | "GLEAM" | "FORTRAN" | "LFORTRAN" | "COBOL" | "OCAML" | "JAVASCRIPT" | "TYPESCRIPT" | "ASSEMBLYSCRIPT" | "WAT" | "WASM" | "LUA" | "ZIG" | "LISP" | "HASKELL" | "R" | "OCTAVE" | "DUCKDB" | "SQLITE" | "PHP")[];
3
3
  export declare function createPlaygroundBinding(runtimeAssets: SandboxRuntimeAssets): PlaygroundBinding;
4
4
  declare function playground(language: string): Promise<Sandbox>;
5
5
  declare function playground(language: string, runtimeAssets: SandboxRuntimeAssets): Promise<BoundSandbox>;
@@ -1,119 +1,368 @@
1
- import Clang from './clang';
2
- import Elixir from './elixir';
3
- import Go from './go';
4
- import Java from './java';
5
- import Ocaml from './ocaml';
6
- import Python from './python';
7
- import Rust from './rust';
8
- import TinyGo from './tinygo';
9
- const sandboxCache = {};
10
- export const supportedLanguages = [
11
- 'PYTHON3',
12
- 'PYPY3',
13
- 'C',
14
- 'CPP',
15
- 'JAVA',
16
- 'RUST',
17
- 'GO',
18
- 'ELIXIR',
19
- 'TINYGO',
20
- 'OCAML'
1
+ import { createPlaygroundBinding as createCorePlaygroundBinding, isSupportedLanguageId, normalizeLanguageId, supportedLanguageIds } from '@wasm-idle/core';
2
+ const sandboxRoutes = [
3
+ {
4
+ languageId: 'C3',
5
+ load: async () => {
6
+ const { default: C3 } = await import('./c3');
7
+ return new C3();
8
+ }
9
+ },
10
+ {
11
+ languageId: 'PYTHON3',
12
+ load: async () => {
13
+ const { default: Python } = await import('./python');
14
+ return new Python();
15
+ }
16
+ },
17
+ {
18
+ languageId: 'C',
19
+ load: async () => {
20
+ const { default: Clang } = await import('./clang');
21
+ return new Clang('C');
22
+ }
23
+ },
24
+ {
25
+ languageId: 'CPP',
26
+ load: async () => {
27
+ const { default: Clang } = await import('./clang');
28
+ return new Clang('CPP');
29
+ }
30
+ },
31
+ {
32
+ languageId: 'OBJC',
33
+ load: async () => {
34
+ const { default: ObjectiveC } = await import('./objectivec');
35
+ return new ObjectiveC();
36
+ }
37
+ },
38
+ {
39
+ languageId: 'JAVA',
40
+ load: async () => {
41
+ const { default: Java } = await import('./java');
42
+ return new Java();
43
+ }
44
+ },
45
+ {
46
+ languageId: 'RUST',
47
+ load: async () => {
48
+ const { default: Rust } = await import('./rust');
49
+ return new Rust();
50
+ }
51
+ },
52
+ {
53
+ languageId: 'GO',
54
+ load: async () => {
55
+ const { default: Go } = await import('./go');
56
+ return new Go();
57
+ }
58
+ },
59
+ {
60
+ languageId: 'D',
61
+ load: async () => {
62
+ const { default: D } = await import('./d');
63
+ return new D();
64
+ }
65
+ },
66
+ {
67
+ languageId: 'CSHARP',
68
+ load: async () => {
69
+ const { default: Dotnet } = await import('./dotnet');
70
+ return new Dotnet('CSHARP');
71
+ }
72
+ },
73
+ {
74
+ languageId: 'FSHARP',
75
+ load: async () => {
76
+ const { default: Dotnet } = await import('./dotnet');
77
+ return new Dotnet('FSHARP');
78
+ }
79
+ },
80
+ {
81
+ languageId: 'VBNET',
82
+ load: async () => {
83
+ const { default: Dotnet } = await import('./dotnet');
84
+ return new Dotnet('VBNET');
85
+ }
86
+ },
87
+ {
88
+ languageId: 'ELIXIR',
89
+ load: async () => {
90
+ const { default: Elixir } = await import('./elixir');
91
+ return new Elixir();
92
+ }
93
+ },
94
+ {
95
+ languageId: 'ERLANG',
96
+ load: async () => {
97
+ const { default: Elixir } = await import('./elixir');
98
+ return new Elixir('ERLANG');
99
+ }
100
+ },
101
+ {
102
+ languageId: 'PROLOG',
103
+ load: async () => {
104
+ const { default: Prolog } = await import('./prolog');
105
+ return new Prolog();
106
+ }
107
+ },
108
+ {
109
+ languageId: 'GLEAM',
110
+ load: async () => {
111
+ const { default: Gleam } = await import('./gleam');
112
+ return new Gleam();
113
+ }
114
+ },
115
+ {
116
+ languageId: 'PERL',
117
+ load: async () => {
118
+ const { default: Perl } = await import('./perl');
119
+ return new Perl();
120
+ }
121
+ },
122
+ {
123
+ languageId: 'TCL',
124
+ load: async () => {
125
+ const { default: Tcl } = await import('./tcl');
126
+ return new Tcl();
127
+ }
128
+ },
129
+ {
130
+ languageId: 'AWK',
131
+ load: async () => {
132
+ const { default: Awk } = await import('./awk');
133
+ return new Awk();
134
+ }
135
+ },
136
+ {
137
+ languageId: 'PASCAL',
138
+ load: async () => {
139
+ const { default: Pascal } = await import('./pascal');
140
+ return new Pascal();
141
+ }
142
+ },
143
+ {
144
+ languageId: 'CLOJURESCRIPT',
145
+ load: async () => {
146
+ const { default: ClojureScript } = await import('./clojurescript');
147
+ return new ClojureScript();
148
+ }
149
+ },
150
+ {
151
+ languageId: 'FORTH',
152
+ load: async () => {
153
+ const { default: Forth } = await import('./forth');
154
+ return new Forth();
155
+ }
156
+ },
157
+ {
158
+ languageId: 'J',
159
+ load: async () => {
160
+ const { default: J } = await import('./j');
161
+ return new J();
162
+ }
163
+ },
164
+ {
165
+ languageId: 'BQN',
166
+ load: async () => {
167
+ const { default: Bqn } = await import('./bqn');
168
+ return new Bqn();
169
+ }
170
+ },
171
+ {
172
+ languageId: 'JANET',
173
+ load: async () => {
174
+ const { default: Janet } = await import('./janet');
175
+ return new Janet();
176
+ }
177
+ },
178
+ {
179
+ languageId: 'JULIA',
180
+ load: async () => {
181
+ const { default: Julia } = await import('./julia');
182
+ return new Julia();
183
+ }
184
+ },
185
+ {
186
+ languageId: 'NIM',
187
+ load: async () => {
188
+ const { default: Nim } = await import('./nim');
189
+ return new Nim();
190
+ }
191
+ },
192
+ {
193
+ languageId: 'BASH',
194
+ load: async () => {
195
+ const { default: Bash } = await import('./bash');
196
+ return new Bash();
197
+ }
198
+ },
199
+ {
200
+ languageId: 'LFORTRAN',
201
+ load: async () => {
202
+ const { default: LFortran } = await import('./lfortran');
203
+ return new LFortran();
204
+ }
205
+ },
206
+ {
207
+ languageId: 'FORTRAN',
208
+ load: async () => {
209
+ const { default: Fortran } = await import('./fortran');
210
+ return new Fortran();
211
+ }
212
+ },
213
+ {
214
+ languageId: 'COBOL',
215
+ load: async () => {
216
+ const { default: Cobol } = await import('./cobol');
217
+ return new Cobol();
218
+ }
219
+ },
220
+ {
221
+ languageId: 'TINYGO',
222
+ load: async () => {
223
+ const { default: TinyGo } = await import('./tinygo');
224
+ return new TinyGo();
225
+ }
226
+ },
227
+ {
228
+ languageId: 'OCAML',
229
+ load: async () => {
230
+ const { default: Ocaml } = await import('./ocaml');
231
+ return new Ocaml();
232
+ }
233
+ },
234
+ {
235
+ languageId: 'JAVASCRIPT',
236
+ load: async () => {
237
+ const { default: TypeScriptSandbox } = await import('./typescript');
238
+ return new TypeScriptSandbox('JAVASCRIPT');
239
+ }
240
+ },
241
+ {
242
+ languageId: 'TYPESCRIPT',
243
+ load: async () => {
244
+ const { default: TypeScriptSandbox } = await import('./typescript');
245
+ return new TypeScriptSandbox('TYPESCRIPT');
246
+ }
247
+ },
248
+ {
249
+ languageId: 'ASSEMBLYSCRIPT',
250
+ load: async () => {
251
+ const { default: AssemblyScript } = await import('./assemblyscript');
252
+ return new AssemblyScript();
253
+ }
254
+ },
255
+ {
256
+ languageId: 'WAT',
257
+ load: async () => {
258
+ const { default: Wat } = await import('./wat');
259
+ return new Wat();
260
+ }
261
+ },
262
+ {
263
+ languageId: 'WASM',
264
+ load: async () => {
265
+ const { default: Wasm } = await import('./wasm');
266
+ return new Wasm();
267
+ }
268
+ },
269
+ {
270
+ languageId: 'LUA',
271
+ load: async () => {
272
+ const { default: Lua } = await import('./lua');
273
+ return new Lua();
274
+ }
275
+ },
276
+ {
277
+ languageId: 'ZIG',
278
+ load: async () => {
279
+ const { default: Zig } = await import('./zig');
280
+ return new Zig();
281
+ }
282
+ },
283
+ {
284
+ languageId: 'LISP',
285
+ load: async () => {
286
+ const { default: Lisp } = await import('./lisp');
287
+ return new Lisp();
288
+ }
289
+ },
290
+ {
291
+ languageId: 'RUBY',
292
+ load: async () => {
293
+ const { default: Ruby } = await import('./ruby');
294
+ return new Ruby();
295
+ }
296
+ },
297
+ {
298
+ languageId: 'HASKELL',
299
+ load: async () => {
300
+ const { default: Haskell } = await import('./haskell');
301
+ return new Haskell();
302
+ }
303
+ },
304
+ {
305
+ languageId: 'R',
306
+ load: async () => {
307
+ const { default: R } = await import('./r');
308
+ return new R();
309
+ }
310
+ },
311
+ {
312
+ languageId: 'OCTAVE',
313
+ load: async () => {
314
+ const { default: Octave } = await import('./octave');
315
+ return new Octave();
316
+ }
317
+ },
318
+ {
319
+ languageId: 'DUCKDB',
320
+ load: async () => {
321
+ const { default: DuckDB } = await import('./duckdb');
322
+ return new DuckDB();
323
+ }
324
+ },
325
+ {
326
+ languageId: 'SQLITE',
327
+ load: async () => {
328
+ const { default: Sqlite } = await import('./sqlite');
329
+ return new Sqlite();
330
+ }
331
+ },
332
+ {
333
+ languageId: 'PHP',
334
+ load: async () => {
335
+ const { default: Php } = await import('./php');
336
+ return new Php();
337
+ }
338
+ }
21
339
  ];
22
- function bindRuntimeAssets(sandbox, runtimeAssets) {
23
- return new Proxy(sandbox, {
24
- get(target, prop, receiver) {
25
- if (prop === 'runtimeAssets')
26
- return runtimeAssets;
27
- if (prop === 'load') {
28
- return (code = '', log = true, args = [], options = {}, progress) => target.load(runtimeAssets, code, log, args, options, progress);
29
- }
30
- const value = Reflect.get(target, prop, receiver);
31
- return typeof value === 'function' ? value.bind(target) : value;
32
- },
33
- set(target, prop, value, receiver) {
34
- return Reflect.set(target, prop, value, receiver);
35
- }
36
- });
340
+ const sandboxRouteByLanguage = new Map();
341
+ for (const route of sandboxRoutes) {
342
+ if (sandboxRouteByLanguage.has(route.languageId)) {
343
+ throw new Error(`Duplicate sandbox route: ${route.languageId}`);
344
+ }
345
+ sandboxRouteByLanguage.set(route.languageId, route);
346
+ }
347
+ for (const languageId of supportedLanguageIds) {
348
+ if (!sandboxRouteByLanguage.has(languageId)) {
349
+ throw new Error(`Missing sandbox route: ${languageId}`);
350
+ }
37
351
  }
352
+ export const supportedLanguages = [...supportedLanguageIds];
38
353
  export function createPlaygroundBinding(runtimeAssets) {
39
- const binding = {
40
- runtimeAssets,
41
- terminalProps: {},
42
- async load(language) {
43
- return bindRuntimeAssets(await playground(language), runtimeAssets);
44
- }
45
- };
46
- binding.terminalProps = {
47
- playground: binding,
48
- runtimeAssets
49
- };
50
- return binding;
354
+ return createCorePlaygroundBinding(runtimeAssets, playground);
51
355
  }
52
356
  async function playground(language, runtimeAssets) {
53
- if (sandboxCache[language]) {
54
- return runtimeAssets
55
- ? bindRuntimeAssets(sandboxCache[language], runtimeAssets)
56
- : sandboxCache[language];
57
- }
58
- let sandbox;
59
- switch (language) {
60
- case 'PYTHON3':
61
- case 'PYTHON':
62
- case 'PYPY3':
63
- sandbox = new Python();
64
- break;
65
- case 'C':
66
- sandbox = new Clang('C');
67
- break;
68
- case 'CPP':
69
- sandbox = new Clang('CPP');
70
- break;
71
- case 'JAVA':
72
- sandbox = new Java();
73
- break;
74
- case 'RUST':
75
- sandbox = new Rust();
76
- break;
77
- case 'GO':
78
- sandbox = new Go();
79
- break;
80
- case 'ELIXIR':
81
- sandbox = new Elixir();
82
- break;
83
- case 'TINYGO':
84
- sandbox = new TinyGo();
85
- break;
86
- case 'OCAML':
87
- sandbox = new Ocaml();
88
- break;
89
- default:
90
- throw new Error(`Unsupported language: ${language}`);
91
- }
92
- sandboxCache[language] = sandbox;
93
- if (sandbox) {
94
- if (language === 'PYTHON3')
95
- sandboxCache['PYPY3'] = sandboxCache['PYTHON'] = sandbox;
96
- if (language === 'PYTHON')
97
- sandboxCache['PYTHON3'] = sandboxCache['PYPY3'] = sandbox;
98
- if (language === 'PYPY3')
99
- sandboxCache['PYTHON3'] = sandboxCache['PYTHON'] = sandbox;
100
- if (language === 'C')
101
- sandboxCache['C'] = sandbox;
102
- if (language === 'CPP')
103
- sandboxCache['CPP'] = sandbox;
104
- if (language === 'JAVA')
105
- sandboxCache['JAVA'] = sandbox;
106
- if (language === 'RUST')
107
- sandboxCache['RUST'] = sandbox;
108
- if (language === 'GO')
109
- sandboxCache['GO'] = sandbox;
110
- if (language === 'ELIXIR')
111
- sandboxCache['ELIXIR'] = sandbox;
112
- if (language === 'TINYGO')
113
- sandboxCache['TINYGO'] = sandbox;
114
- if (language === 'OCAML')
115
- sandboxCache['OCAML'] = sandbox;
357
+ const normalizedLanguage = normalizeLanguageId(language);
358
+ if (!isSupportedLanguageId(normalizedLanguage)) {
359
+ throw new Error(`Unsupported language: ${language}`);
116
360
  }
117
- return runtimeAssets ? bindRuntimeAssets(sandbox, runtimeAssets) : sandbox;
361
+ const route = sandboxRouteByLanguage.get(normalizedLanguage);
362
+ if (!route)
363
+ throw new Error(`Missing sandbox route: ${normalizedLanguage}`);
364
+ return runtimeAssets
365
+ ? createPlaygroundBinding(runtimeAssets).load(normalizedLanguage)
366
+ : route.load();
118
367
  }
119
368
  export default playground;
@@ -0,0 +1,5 @@
1
+ import { StaticWorkerRuntimeSandbox } from './staticWorkerRuntime';
2
+ declare class J extends StaticWorkerRuntimeSandbox {
3
+ constructor();
4
+ }
5
+ export default J;
@@ -0,0 +1,60 @@
1
+ import { resolveJRuntimeAssetConfig } from './assets';
2
+ import { preflightStaticRuntimeAssetsInWorker } from './staticRuntimePreflight';
3
+ import { StaticWorkerRuntimeSandbox } from './staticWorkerRuntime';
4
+ import { RuntimeConfigurationError } from '@wasm-idle/core';
5
+ class J extends StaticWorkerRuntimeSandbox {
6
+ constructor() {
7
+ super({
8
+ languageId: 'J',
9
+ displayName: 'J',
10
+ defaultActivePath: 'main.ijs',
11
+ moduleWorker: true,
12
+ inlineVerifiedWorker: true,
13
+ runtimePreflightDelivery: 'transfer-owned',
14
+ stdin: {
15
+ mode: 'streaming',
16
+ sourceHintPattern: /1!:\s*1|\/dev\/stdin|\bstdin\b/iu
17
+ },
18
+ resolveRuntimeAssets(runtimeAssets, currentUrl) {
19
+ const resolved = resolveJRuntimeAssetConfig(runtimeAssets, currentUrl);
20
+ const profile = resolved.preflightProfile;
21
+ if (!/^[a-f0-9]{64}$/u.test(resolved.manifestFingerprint || '') ||
22
+ profile.manifestFingerprint !== resolved.manifestFingerprint ||
23
+ !resolved.workerReceipt) {
24
+ throw new RuntimeConfigurationError('J runtime requires one coherent preflight profile, manifest fingerprint, and worker receipt.', { runtimeId: 'J' });
25
+ }
26
+ return resolved;
27
+ },
28
+ async preflightRuntimeAssets(urls, context) {
29
+ const profile = urls.preflightProfile;
30
+ const loadedByAsset = new Map();
31
+ const totalDownloadBytes = (profile.manifestReceipt?.bytes ?? 0) +
32
+ (profile.moduleReceipt?.bytes ?? 0) +
33
+ (profile.wasmReceipt?.bytes ?? 0);
34
+ const payload = await preflightStaticRuntimeAssetsInWorker({
35
+ runtimeId: 'J',
36
+ displayName: 'J',
37
+ baseUrl: urls.baseUrl,
38
+ manifestUrl: urls.manifestUrl || '',
39
+ profile,
40
+ limits: context.limits,
41
+ signal: context.signal,
42
+ reportProgress(progress) {
43
+ if (progress.kind === 'asset') {
44
+ loadedByAsset.set(progress.progress.assetKey, progress.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.11, `Preflighting J asset ${progress.progress.assetKey}`);
48
+ return;
49
+ }
50
+ const { loadedBytes, totalBytes } = progress;
51
+ const fraction = totalBytes > 0 ? loadedBytes / totalBytes : 0;
52
+ context.reportProgress(0.15 + Math.min(1, fraction) * 0.02, 'Decompressing verified J Wasm');
53
+ }
54
+ });
55
+ return context.createOwnedDelivery(payload);
56
+ }
57
+ });
58
+ }
59
+ }
60
+ export default J;
@@ -0,0 +1,26 @@
1
+ import type { JRuntimePreflightProfile } from './assets';
2
+ import { type ExecutionLimits, type RuntimeAssetPreflightProgress } from '@wasm-idle/core';
3
+ export declare const J_PREFLIGHT_PROTOCOL: "wasm-idle-j-preflight";
4
+ export declare const J_PREFLIGHT_PROTOCOL_VERSION: 1;
5
+ export declare const J_PREFLIGHT_RUNTIME_ID: "J";
6
+ export interface JRuntimePreflightRequest {
7
+ readonly baseUrl: string;
8
+ readonly manifestUrl: string;
9
+ readonly profile: JRuntimePreflightProfile;
10
+ readonly limits?: Partial<ExecutionLimits>;
11
+ readonly signal?: AbortSignal;
12
+ readonly fetch?: typeof globalThis.fetch;
13
+ readonly reportProgress?: (progress: RuntimeAssetPreflightProgress) => void;
14
+ readonly reportDecompressionProgress?: (loadedBytes: number, totalBytes: number) => void;
15
+ }
16
+ export interface JRuntimePreflightPayload {
17
+ readonly protocol: typeof J_PREFLIGHT_PROTOCOL;
18
+ readonly protocolVersion: typeof J_PREFLIGHT_PROTOCOL_VERSION;
19
+ readonly profileId: string;
20
+ readonly sourceRevision: string;
21
+ readonly manifestFingerprint: string;
22
+ readonly manifestBytes: Uint8Array;
23
+ readonly moduleBytes: Uint8Array;
24
+ readonly wasmBytes: Uint8Array;
25
+ }
26
+ export declare function preflightJRuntimeAssets(request: JRuntimePreflightRequest): Promise<JRuntimePreflightPayload>;