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,6 @@
1
+ import type { RuntimeAssetIntegrityEntry } from '@wasm-idle/core';
2
+ export declare const ELIXIR_RUNTIME_ASSET_NAMES: readonly ["bundle.avm", "AtomVM.mjs", "AtomVM.wasm"];
3
+ export type ElixirRuntimeAssetName = (typeof ELIXIR_RUNTIME_ASSET_NAMES)[number];
4
+ export type ElixirRuntimeAssetReceipt = Readonly<Required<Pick<RuntimeAssetIntegrityEntry, 'bytes' | 'sha256' | 'uncompressedBytes' | 'uncompressedSha256'>>>;
5
+ export type ElixirRuntimeAssetReceipts = Readonly<Record<ElixirRuntimeAssetName, ElixirRuntimeAssetReceipt>>;
6
+ export declare function snapshotElixirRuntimeAssetReceipts(value: ElixirRuntimeAssetReceipts | undefined): ElixirRuntimeAssetReceipts;
@@ -0,0 +1,33 @@
1
+ export const ELIXIR_RUNTIME_ASSET_NAMES = ['bundle.avm', 'AtomVM.mjs', 'AtomVM.wasm'];
2
+ export function snapshotElixirRuntimeAssetReceipts(value) {
3
+ const receivedAssets = Object.keys(value || {}).sort();
4
+ const expectedAssets = [...ELIXIR_RUNTIME_ASSET_NAMES].sort();
5
+ if (receivedAssets.length !== expectedAssets.length ||
6
+ receivedAssets.some((asset, index) => asset !== expectedAssets[index])) {
7
+ throw new TypeError('Elixir runtime requires exactly three asset receipts');
8
+ }
9
+ const receipts = Object.fromEntries(ELIXIR_RUNTIME_ASSET_NAMES.map((asset) => {
10
+ const receipt = value?.[asset];
11
+ if (!receipt ||
12
+ !Number.isSafeInteger(receipt.bytes) ||
13
+ receipt.bytes <= 0 ||
14
+ typeof receipt.sha256 !== 'string' ||
15
+ !/^[a-f0-9]{64}$/u.test(receipt.sha256) ||
16
+ !Number.isSafeInteger(receipt.uncompressedBytes) ||
17
+ receipt.uncompressedBytes <= 0 ||
18
+ typeof receipt.uncompressedSha256 !== 'string' ||
19
+ !/^[a-f0-9]{64}$/u.test(receipt.uncompressedSha256)) {
20
+ throw new TypeError(`Elixir runtime asset receipt is invalid for ${asset}`);
21
+ }
22
+ return [
23
+ asset,
24
+ Object.freeze({
25
+ bytes: receipt.bytes,
26
+ sha256: receipt.sha256,
27
+ uncompressedBytes: receipt.uncompressedBytes,
28
+ uncompressedSha256: receipt.uncompressedSha256
29
+ })
30
+ ];
31
+ }));
32
+ return Object.freeze(receipts);
33
+ }
@@ -0,0 +1,22 @@
1
+ import type { ProgressLike } from '@wasm-idle/core';
2
+ export interface ExecutionObservation {
3
+ id: number;
4
+ language: string;
5
+ status: 'idle' | 'preparing' | 'running' | 'waiting-input' | 'paused' | 'completed' | 'failed' | 'cancelled' | 'timed-out';
6
+ /** The legacy runner only confirms zero on success; failed/unfinished runs have no known exit code. */
7
+ exitCode: number | null;
8
+ startedAt: number | null;
9
+ endedAt: number | null;
10
+ stage: string;
11
+ error?: string;
12
+ events: Array<{
13
+ at: number;
14
+ kind: string;
15
+ stage: string;
16
+ }>;
17
+ }
18
+ export declare function createExecutionObserver(): {
19
+ snapshot: () => ExecutionObservation;
20
+ start(id: number, language: string, progress: ProgressLike): ProgressLike;
21
+ finish(id: number, status: "completed" | "failed" | "cancelled" | "timed-out", error?: unknown): void;
22
+ };
@@ -0,0 +1,65 @@
1
+ export function createExecutionObserver() {
2
+ let current = {
3
+ id: 0,
4
+ language: '',
5
+ status: 'idle',
6
+ exitCode: null,
7
+ startedAt: null,
8
+ endedAt: null,
9
+ stage: '',
10
+ events: []
11
+ };
12
+ return {
13
+ snapshot: () => ({
14
+ ...current,
15
+ events: current.events.map((event) => ({ ...event }))
16
+ }),
17
+ start(id, language, progress) {
18
+ current = {
19
+ id,
20
+ language,
21
+ status: 'preparing',
22
+ exitCode: null,
23
+ startedAt: Date.now(),
24
+ endedAt: null,
25
+ stage: 'Preparing execution',
26
+ events: []
27
+ };
28
+ const record = (kind, stage) => {
29
+ if (current.id !== id || current.endedAt !== null)
30
+ return;
31
+ current.stage = stage;
32
+ current.events.push({ at: Date.now(), kind, stage });
33
+ if (current.events.length > 128)
34
+ current.events.shift();
35
+ };
36
+ return {
37
+ set(value, stage) {
38
+ if (stage)
39
+ record('legacy', stage);
40
+ progress.set?.(value, stage);
41
+ },
42
+ report(event) {
43
+ if (current.id === id && current.endedAt === null) {
44
+ if (event.kind === 'activity')
45
+ record(event.phase, event.label);
46
+ if (event.kind === 'ready') {
47
+ current.status = event.state;
48
+ record(event.reason, event.label ?? event.state);
49
+ }
50
+ }
51
+ progress.report?.(event);
52
+ }
53
+ };
54
+ },
55
+ finish(id, status, error) {
56
+ if (current.id !== id || current.endedAt !== null)
57
+ return;
58
+ current.status = status;
59
+ current.exitCode = status === 'completed' ? 0 : null;
60
+ current.endedAt = Date.now();
61
+ if (error !== undefined)
62
+ current.error = String(error).slice(0, 2048);
63
+ }
64
+ };
65
+ }
@@ -0,0 +1,5 @@
1
+ import { StaticWorkerRuntimeSandbox } from './staticWorkerRuntime';
2
+ declare class Forth extends StaticWorkerRuntimeSandbox {
3
+ constructor();
4
+ }
5
+ export default Forth;
@@ -0,0 +1,53 @@
1
+ import { resolveForthRuntimeAssetConfig } from './assets';
2
+ import { preflightStaticRuntimeAssetsInWorker } from './staticRuntimePreflight';
3
+ import { StaticWorkerRuntimeSandbox } from './staticWorkerRuntime';
4
+ import { RuntimeConfigurationError } from '@wasm-idle/core';
5
+ class Forth extends StaticWorkerRuntimeSandbox {
6
+ constructor() {
7
+ super({
8
+ languageId: 'FORTH',
9
+ displayName: 'Forth',
10
+ defaultActivePath: 'main.fth',
11
+ stdin: {
12
+ mode: 'streaming',
13
+ sourceHintPattern: /\b(?:KEY|ACCEPT|REFILL)\b/i
14
+ },
15
+ inlineVerifiedWorker: true,
16
+ runtimePreflightDelivery: 'transfer-owned',
17
+ resolveRuntimeAssets(runtimeAssets, currentUrl) {
18
+ const resolved = resolveForthRuntimeAssetConfig(runtimeAssets, currentUrl);
19
+ const profile = resolved.preflightProfile;
20
+ if (!/^[a-f0-9]{64}$/u.test(resolved.manifestFingerprint || '') ||
21
+ profile.manifestFingerprint !== resolved.manifestFingerprint ||
22
+ !resolved.workerReceipt) {
23
+ throw new RuntimeConfigurationError('Forth runtime requires one coherent preflight profile, manifest fingerprint, and worker receipt.', { runtimeId: 'FORTH' });
24
+ }
25
+ return resolved;
26
+ },
27
+ async preflightRuntimeAssets(urls, context) {
28
+ const profile = urls.preflightProfile;
29
+ const loadedByAsset = new Map();
30
+ const totalBytes = (profile.manifestReceipt?.bytes ?? 0) + (profile.runtimeReceipt?.bytes ?? 0);
31
+ const payload = await preflightStaticRuntimeAssetsInWorker({
32
+ runtimeId: 'FORTH',
33
+ displayName: 'Forth',
34
+ baseUrl: urls.baseUrl,
35
+ manifestUrl: urls.manifestUrl || '',
36
+ profile,
37
+ limits: context.limits,
38
+ signal: context.signal,
39
+ reportProgress(progress) {
40
+ if (progress.kind !== 'asset')
41
+ return;
42
+ loadedByAsset.set(progress.progress.assetKey, progress.progress.loadedBytes);
43
+ const loadedBytes = [...loadedByAsset.values()].reduce((total, loaded) => total + loaded, 0);
44
+ const fraction = totalBytes > 0 ? loadedBytes / totalBytes : 0;
45
+ context.reportProgress(0.04 + Math.min(1, fraction) * 0.13, `Preflighting Forth asset ${progress.progress.assetKey}`);
46
+ }
47
+ });
48
+ return context.createOwnedDelivery(payload);
49
+ }
50
+ });
51
+ }
52
+ }
53
+ export default Forth;
@@ -0,0 +1,24 @@
1
+ import type { ForthRuntimePreflightProfile } from './assets';
2
+ import { type ExecutionLimits, type RuntimeAssetPreflightProgress } from '@wasm-idle/core';
3
+ export declare const FORTH_PREFLIGHT_PROTOCOL: "wasm-idle-forth-preflight";
4
+ export declare const FORTH_PREFLIGHT_PROTOCOL_VERSION: 1;
5
+ export declare const FORTH_PREFLIGHT_RUNTIME_ID: "FORTH";
6
+ export interface ForthRuntimePreflightRequest {
7
+ readonly baseUrl: string;
8
+ readonly manifestUrl: string;
9
+ readonly profile: ForthRuntimePreflightProfile;
10
+ readonly limits?: Partial<ExecutionLimits>;
11
+ readonly signal?: AbortSignal;
12
+ readonly fetch?: typeof globalThis.fetch;
13
+ readonly reportProgress?: (progress: RuntimeAssetPreflightProgress) => void;
14
+ }
15
+ export interface ForthRuntimePreflightPayload {
16
+ readonly protocol: typeof FORTH_PREFLIGHT_PROTOCOL;
17
+ readonly protocolVersion: typeof FORTH_PREFLIGHT_PROTOCOL_VERSION;
18
+ readonly profileId: string;
19
+ readonly implementationVersion: string;
20
+ readonly manifestFingerprint: string;
21
+ readonly manifestBytes: Uint8Array;
22
+ readonly runtimeBytes: Uint8Array;
23
+ }
24
+ export declare function preflightForthRuntimeAssets(request: ForthRuntimePreflightRequest): Promise<ForthRuntimePreflightPayload>;
@@ -0,0 +1,198 @@
1
+ import { RuntimeConfigurationError, preflightRuntimeAssets } from '@wasm-idle/core';
2
+ export const FORTH_PREFLIGHT_PROTOCOL = 'wasm-idle-forth-preflight';
3
+ export const FORTH_PREFLIGHT_PROTOCOL_VERSION = 1;
4
+ export const FORTH_PREFLIGHT_RUNTIME_ID = 'FORTH';
5
+ export async function preflightForthRuntimeAssets(request) {
6
+ if (!request || typeof request !== 'object') {
7
+ throw new RuntimeConfigurationError('Forth runtime preflight request is required', {
8
+ phase: 'asset',
9
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID
10
+ });
11
+ }
12
+ let baseUrl;
13
+ let manifestUrl;
14
+ try {
15
+ baseUrl = new URL(request.baseUrl);
16
+ if (!baseUrl.pathname.endsWith('/'))
17
+ baseUrl.pathname += '/';
18
+ manifestUrl = new URL(request.manifestUrl, baseUrl);
19
+ }
20
+ catch (error) {
21
+ throw new RuntimeConfigurationError('Forth runtime asset URLs are invalid', {
22
+ cause: error,
23
+ phase: 'asset',
24
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID
25
+ });
26
+ }
27
+ if ((baseUrl.protocol !== 'https:' && baseUrl.protocol !== 'http:') ||
28
+ baseUrl.username ||
29
+ baseUrl.password ||
30
+ baseUrl.search ||
31
+ baseUrl.hash) {
32
+ throw new RuntimeConfigurationError('Forth runtime base must be a credential-free HTTP(S) directory URL without a query or fragment', { phase: 'asset', runtimeId: FORTH_PREFLIGHT_RUNTIME_ID });
33
+ }
34
+ if ((manifestUrl.protocol !== 'https:' && manifestUrl.protocol !== 'http:') ||
35
+ manifestUrl.username ||
36
+ manifestUrl.password ||
37
+ manifestUrl.hash ||
38
+ manifestUrl.origin !== baseUrl.origin ||
39
+ !manifestUrl.pathname.startsWith(baseUrl.pathname)) {
40
+ throw new RuntimeConfigurationError('Forth runtime manifest must be an HTTP(S) asset beneath the configured runtime base', { phase: 'asset', runtimeId: FORTH_PREFLIGHT_RUNTIME_ID });
41
+ }
42
+ const manifestPath = manifestUrl.pathname.slice(baseUrl.pathname.length);
43
+ if (!manifestPath ||
44
+ manifestPath.includes('\\') ||
45
+ manifestPath.includes('\0') ||
46
+ manifestPath.split('/').some((segment) => !segment || segment === '.' || segment === '..')) {
47
+ throw new RuntimeConfigurationError('Forth runtime manifest path must be a normalized file beneath the runtime base', { phase: 'asset', runtimeId: FORTH_PREFLIGHT_RUNTIME_ID });
48
+ }
49
+ const profile = request.profile;
50
+ if (!profile ||
51
+ typeof profile !== 'object' ||
52
+ typeof profile.profileId !== 'string' ||
53
+ !/^waforth-[A-Za-z0-9._-]+$/u.test(profile.profileId) ||
54
+ typeof profile.implementationVersion !== 'string' ||
55
+ !/^[A-Za-z0-9._-]+$/u.test(profile.implementationVersion) ||
56
+ profile.profileId !== `waforth-${profile.implementationVersion}` ||
57
+ typeof profile.manifestFingerprint !== 'string' ||
58
+ !/^[a-f0-9]{64}$/u.test(profile.manifestFingerprint)) {
59
+ throw new RuntimeConfigurationError('Forth runtime preflight profile is invalid', {
60
+ phase: 'asset',
61
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID
62
+ });
63
+ }
64
+ for (const [label, receipt] of [
65
+ ['manifest', profile.manifestReceipt],
66
+ ['runtime', profile.runtimeReceipt]
67
+ ]) {
68
+ if (!receipt ||
69
+ typeof receipt !== 'object' ||
70
+ !Number.isSafeInteger(receipt.bytes) ||
71
+ (receipt.bytes ?? 0) <= 0 ||
72
+ typeof receipt.sha256 !== 'string' ||
73
+ !/^[a-f0-9]{64}$/u.test(receipt.sha256)) {
74
+ throw new RuntimeConfigurationError(`Forth runtime ${label} preflight receipt is invalid`, {
75
+ phase: 'asset',
76
+ profileId: profile.profileId,
77
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID
78
+ });
79
+ }
80
+ }
81
+ if (manifestPath === 'waforth.js') {
82
+ throw new RuntimeConfigurationError('Forth runtime manifest and executable asset paths must be distinct', {
83
+ phase: 'asset',
84
+ profileId: profile.profileId,
85
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID
86
+ });
87
+ }
88
+ const manifestReceipt = profile.manifestReceipt;
89
+ const runtimeReceipt = profile.runtimeReceipt;
90
+ const expectedManifestQuery = `?v=${profile.manifestFingerprint}`;
91
+ if (manifestUrl.search && manifestUrl.search !== expectedManifestQuery) {
92
+ throw new RuntimeConfigurationError('Forth runtime manifest query must be the pinned manifest fingerprint cache-buster', {
93
+ phase: 'asset',
94
+ profileId: profile.profileId,
95
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID
96
+ });
97
+ }
98
+ const manifestRequestUrl = new URL(manifestUrl);
99
+ if (!manifestRequestUrl.search) {
100
+ manifestRequestUrl.searchParams.set('v', profile.manifestFingerprint);
101
+ }
102
+ const runtimeRequestUrl = new URL('waforth.js', baseUrl);
103
+ runtimeRequestUrl.searchParams.set('v', runtimeReceipt.sha256);
104
+ const registry = {
105
+ schemaVersion: 2,
106
+ manifestId: 'wasm-idle/forth-preflight',
107
+ revision: profile.manifestFingerprint,
108
+ runtimes: [
109
+ {
110
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID,
111
+ identity: {
112
+ languageId: 'FORTH',
113
+ implementationId: 'waforth',
114
+ implementationVersion: profile.implementationVersion,
115
+ profile: {
116
+ profileId: profile.profileId,
117
+ manifestSchemaVersion: 2,
118
+ manifestSha256: manifestReceipt.sha256,
119
+ protocolVersion: FORTH_PREFLIGHT_PROTOCOL_VERSION,
120
+ trustProfileId: 'wasm-idle-static-worker-v1',
121
+ trustProfileSchemaVersion: 1
122
+ }
123
+ },
124
+ capabilities: {
125
+ stdin: 'streaming',
126
+ workspace: false,
127
+ abort: true,
128
+ artifacts: false,
129
+ streamingOutput: true
130
+ },
131
+ workerLifetime: { mode: 'per-run' },
132
+ requiredBrowserFeatures: ['wasm'],
133
+ assetRoot: '.',
134
+ assets: [
135
+ {
136
+ key: 'manifest',
137
+ path: manifestPath,
138
+ compressedSha256: manifestReceipt.sha256,
139
+ uncompressedSha256: manifestReceipt.sha256,
140
+ compressedBytes: manifestReceipt.bytes,
141
+ uncompressedBytes: manifestReceipt.bytes,
142
+ mediaType: 'application/json',
143
+ encoding: 'identity'
144
+ },
145
+ {
146
+ key: 'runtime',
147
+ path: 'waforth.js',
148
+ compressedSha256: runtimeReceipt.sha256,
149
+ uncompressedSha256: runtimeReceipt.sha256,
150
+ compressedBytes: runtimeReceipt.bytes,
151
+ uncompressedBytes: runtimeReceipt.bytes,
152
+ mediaType: 'application/javascript',
153
+ encoding: 'identity'
154
+ }
155
+ ],
156
+ contracts: {
157
+ routeId: 'forth',
158
+ runtimeAssetKey: 'forth',
159
+ documentationId: 'FORTH',
160
+ syncTarget: 'sync:wasm-forth',
161
+ browserTestId: 'browser:forth'
162
+ }
163
+ }
164
+ ]
165
+ };
166
+ const preflight = await preflightRuntimeAssets({
167
+ manifest: registry,
168
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID,
169
+ rootUrl: baseUrl,
170
+ assetUrls: {
171
+ manifest: manifestRequestUrl,
172
+ runtime: runtimeRequestUrl
173
+ },
174
+ fetch: request.fetch,
175
+ signal: request.signal,
176
+ limits: request.limits,
177
+ maxConcurrentDownloads: 2,
178
+ reportProgress: request.reportProgress
179
+ });
180
+ const manifestAsset = preflight.assets.manifest;
181
+ const runtimeAsset = preflight.assets.runtime;
182
+ if (!manifestAsset || !runtimeAsset) {
183
+ throw new RuntimeConfigurationError('Forth runtime preflight returned an incomplete asset set', {
184
+ phase: 'asset',
185
+ profileId: profile.profileId,
186
+ runtimeId: FORTH_PREFLIGHT_RUNTIME_ID
187
+ });
188
+ }
189
+ return Object.freeze({
190
+ protocol: FORTH_PREFLIGHT_PROTOCOL,
191
+ protocolVersion: FORTH_PREFLIGHT_PROTOCOL_VERSION,
192
+ profileId: profile.profileId,
193
+ implementationVersion: profile.implementationVersion,
194
+ manifestFingerprint: profile.manifestFingerprint,
195
+ manifestBytes: Uint8Array.from(manifestAsset.bytes),
196
+ runtimeBytes: Uint8Array.from(runtimeAsset.bytes)
197
+ });
198
+ }
@@ -0,0 +1,47 @@
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 Fortran 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
+ activeFortranAssetsKey: string;
20
+ private activeOperation;
21
+ private preserveOperationOnWorkerDispose;
22
+ private disposed;
23
+ private disposePromise;
24
+ private readonly disposeCancellation;
25
+ private readonly workerSession;
26
+ private disposedConfigurationError;
27
+ private requireOperationIdle;
28
+ private beginOperation;
29
+ private isOperationActive;
30
+ private releaseOperation;
31
+ private cleanupOperation;
32
+ private bindAbortSignal;
33
+ private bindOperationTimeout;
34
+ private resetExplicitStdinState;
35
+ private finishExplicitStdin;
36
+ load(runtimeAssets?: string | PlaygroundRuntimeAssets, code?: string, log?: boolean, args?: string[], options?: SandboxExecutionOptions, progress?: SandboxProgress): Promise<void>;
37
+ write(input: string): void;
38
+ eof(): void;
39
+ private flushPendingInput;
40
+ run(code: string, prepare: boolean, log?: boolean, prog?: SandboxProgress, args?: string[], options?: SandboxExecutionOptions): Promise<boolean | string>;
41
+ private cancelOperation;
42
+ kill(): void;
43
+ terminate(reason?: unknown): void;
44
+ clear(): Promise<void>;
45
+ dispose(): Promise<void>;
46
+ }
47
+ export default Fortran;