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,112 @@
1
+ import { importRuntimeModule } from '../runtimeModule';
2
+ let wasmUrl = '';
3
+ let loadedWasmUrl = '';
4
+ let runtimeModuleUrl = '';
5
+ let sqlPromise = null;
6
+ function locateSqliteWasm(url) {
7
+ const maybeProcess = typeof process === 'undefined' ? null : process;
8
+ if (url.startsWith('/') && maybeProcess?.cwd) {
9
+ return `${maybeProcess.cwd()}${url}`;
10
+ }
11
+ return url;
12
+ }
13
+ async function loadSqlite(moduleUrl, url) {
14
+ if (!moduleUrl)
15
+ throw new Error('SQLite runtime module URL is not configured.');
16
+ const runtime = await importRuntimeModule(moduleUrl);
17
+ const nextUrl = url || runtime.sqliteWasmUrl;
18
+ if (runtimeModuleUrl === moduleUrl && loadedWasmUrl === nextUrl && sqlPromise) {
19
+ return await sqlPromise;
20
+ }
21
+ runtimeModuleUrl = moduleUrl;
22
+ loadedWasmUrl = nextUrl;
23
+ sqlPromise = runtime.default({
24
+ locateFile(file) {
25
+ return file.endsWith('.wasm') ? locateSqliteWasm(nextUrl) : file;
26
+ }
27
+ });
28
+ return await sqlPromise;
29
+ }
30
+ function stringifyCell(value) {
31
+ if (value == null)
32
+ return 'NULL';
33
+ if (value instanceof Uint8Array) {
34
+ return `x'${Array.from(value, (byte) => byte.toString(16).padStart(2, '0')).join('')}'`;
35
+ }
36
+ return String(value);
37
+ }
38
+ function formatResult(result) {
39
+ const lines = [result.columns.join('\t')];
40
+ for (const row of result.values) {
41
+ lines.push(row.map(stringifyCell).join('\t'));
42
+ }
43
+ return `${lines.join('\n')}\n`;
44
+ }
45
+ function normalizeWorkspacePath(path) {
46
+ return path
47
+ .replace(/^\/+/, '')
48
+ .split('/')
49
+ .filter((part) => part && part !== '.' && part !== '..' && !part.includes('\0'))
50
+ .join('/');
51
+ }
52
+ function loadWorkspaceFiles(db, workspaceFiles) {
53
+ for (const file of workspaceFiles) {
54
+ const normalizedPath = normalizeWorkspacePath(file.path);
55
+ if (!normalizedPath || !normalizedPath.endsWith('.sql'))
56
+ continue;
57
+ if (normalizedPath === 'main.sql')
58
+ continue;
59
+ db.exec(file.content);
60
+ }
61
+ }
62
+ self.onmessage = async (event) => {
63
+ const { load, moduleUrl: nextModuleUrl, wasmUrl: nextWasmUrl, code, prepare, activePath = 'main.sql', workspaceFiles = [], log } = event.data;
64
+ try {
65
+ if (load) {
66
+ const moduleUrl = nextModuleUrl || runtimeModuleUrl;
67
+ wasmUrl = nextWasmUrl || '';
68
+ if (log) {
69
+ console.log(`[wasm-idle:sqlite-worker] load moduleUrl=${moduleUrl} wasmUrl=${wasmUrl || 'default'}`);
70
+ }
71
+ await loadSqlite(moduleUrl, wasmUrl);
72
+ postMessage({ load: true });
73
+ return;
74
+ }
75
+ const SQL = await loadSqlite(runtimeModuleUrl, wasmUrl);
76
+ if (prepare) {
77
+ postMessage({ results: true });
78
+ return;
79
+ }
80
+ const db = new SQL.Database();
81
+ try {
82
+ loadWorkspaceFiles(db, workspaceFiles);
83
+ postMessage({
84
+ progress: {
85
+ kind: 'ready',
86
+ state: 'running',
87
+ reason: 'started',
88
+ label: 'SQLite query started'
89
+ }
90
+ });
91
+ if (log) {
92
+ console.log(`[wasm-idle:sqlite-worker] exec start bytes=${code.length} activePath=${activePath}`);
93
+ }
94
+ for (const result of db.exec(code)) {
95
+ postMessage({ output: formatResult(result) });
96
+ }
97
+ if (log) {
98
+ console.log('[wasm-idle:sqlite-worker] exec settled');
99
+ }
100
+ }
101
+ finally {
102
+ db.close();
103
+ }
104
+ postMessage({ results: true });
105
+ }
106
+ catch (error) {
107
+ if (log) {
108
+ console.error('[wasm-idle:sqlite-worker] failed', error);
109
+ }
110
+ postMessage({ error: error?.message || String(error) });
111
+ }
112
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,56 @@
1
+ import { executeStaticRuntimePreflight } from '../staticRuntimePreflightExecute';
2
+ import { STATIC_RUNTIME_PREFLIGHT_PROTOCOL_VERSION, collectStaticRuntimePreflightTransferables, serializeStaticRuntimePreflightError } from '../staticRuntimePreflightProtocol';
3
+ const workerSelf = globalThis;
4
+ let handled = false;
5
+ function isRequest(value) {
6
+ if (!value || typeof value !== 'object' || Array.isArray(value))
7
+ return false;
8
+ const request = value;
9
+ return (request.protocolVersion === STATIC_RUNTIME_PREFLIGHT_PROTOCOL_VERSION &&
10
+ request.type === 'preflight' &&
11
+ Number.isSafeInteger(request.requestId) &&
12
+ request.requestId > 0 &&
13
+ (request.runtimeId === 'BQN' ||
14
+ request.runtimeId === 'CLOJURESCRIPT' ||
15
+ request.runtimeId === 'FORTH' ||
16
+ request.runtimeId === 'J' ||
17
+ request.runtimeId === 'JANET' ||
18
+ request.runtimeId === 'PROLOG') &&
19
+ typeof request.baseUrl === 'string' &&
20
+ typeof request.manifestUrl === 'string' &&
21
+ request.profile !== null &&
22
+ typeof request.profile === 'object' &&
23
+ request.limits !== null &&
24
+ typeof request.limits === 'object');
25
+ }
26
+ workerSelf.onmessage = async (event) => {
27
+ const request = event.data;
28
+ if (handled || !isRequest(request))
29
+ return;
30
+ handled = true;
31
+ try {
32
+ const payload = await executeStaticRuntimePreflight(request, (progress) => {
33
+ workerSelf.postMessage({
34
+ protocolVersion: STATIC_RUNTIME_PREFLIGHT_PROTOCOL_VERSION,
35
+ type: 'progress',
36
+ requestId: request.requestId,
37
+ progress
38
+ });
39
+ });
40
+ const transferables = collectStaticRuntimePreflightTransferables(payload);
41
+ workerSelf.postMessage({
42
+ protocolVersion: STATIC_RUNTIME_PREFLIGHT_PROTOCOL_VERSION,
43
+ type: 'result',
44
+ requestId: request.requestId,
45
+ payload
46
+ }, transferables);
47
+ }
48
+ catch (error) {
49
+ workerSelf.postMessage({
50
+ protocolVersion: STATIC_RUNTIME_PREFLIGHT_PROTOCOL_VERSION,
51
+ type: 'error',
52
+ requestId: request.requestId,
53
+ error: serializeStaticRuntimePreflightError(error)
54
+ });
55
+ }
56
+ };
@@ -7,6 +7,14 @@ self.document = {
7
7
  };
8
8
  const encoder = new TextEncoder();
9
9
  const decoder = new TextDecoder();
10
+ const postExecutionReady = () => postMessage({
11
+ progress: {
12
+ kind: 'ready',
13
+ state: 'running',
14
+ reason: 'started',
15
+ label: 'TinyGo program started'
16
+ }
17
+ });
10
18
  let stdinBufferTinyGo = null;
11
19
  let stdinChunkTinyGo = new Uint8Array(0);
12
20
  let stdinChunkOffsetTinyGo = 0;
@@ -24,13 +32,13 @@ class TinyGoStdin extends Fd {
24
32
  };
25
33
  }
26
34
  fd_read(size) {
27
- if (stdinBufferTinyGo === null) {
28
- return {
29
- ret: wasi.ERRNO_SUCCESS,
30
- data: new Uint8Array(0)
31
- };
32
- }
33
35
  if (stdinChunkOffsetTinyGo >= stdinChunkTinyGo.length) {
36
+ if (stdinBufferTinyGo === null) {
37
+ return {
38
+ ret: wasi.ERRNO_SUCCESS,
39
+ data: new Uint8Array(0)
40
+ };
41
+ }
34
42
  const nextChunk = waitForBufferedStdin(stdinBufferTinyGo, () => postMessage({ buffer: true }));
35
43
  if (nextChunk === null) {
36
44
  stdinChunkTinyGo = new Uint8Array(0);
@@ -53,7 +61,7 @@ class TinyGoStdin extends Fd {
53
61
  }
54
62
  }
55
63
  self.onmessage = async (event) => {
56
- const { load, artifact, buffer, args = [], log } = event.data;
64
+ const { load, artifact, buffer, stdin, args = [], log } = event.data;
57
65
  try {
58
66
  if (load) {
59
67
  postMessage({ load: true });
@@ -69,8 +77,11 @@ self.onmessage = async (event) => {
69
77
  if (!bytes) {
70
78
  throw new Error('TinyGo worker expected a wasm artifact');
71
79
  }
72
- stdinBufferTinyGo = new Int32Array(buffer);
73
- stdinChunkTinyGo = new Uint8Array(0);
80
+ if (stdin !== undefined && typeof stdin !== 'string') {
81
+ throw new Error('TinyGo worker expected stdin to be a string');
82
+ }
83
+ stdinBufferTinyGo = stdin === undefined ? new Int32Array(buffer) : null;
84
+ stdinChunkTinyGo = stdin === undefined ? new Uint8Array(0) : encoder.encode(stdin);
74
85
  stdinChunkOffsetTinyGo = 0;
75
86
  const stdout = new ConsoleStdout((chunk) => {
76
87
  const text = decoder.decode(chunk);
@@ -96,6 +107,7 @@ self.onmessage = async (event) => {
96
107
  let exitCode = 0;
97
108
  try {
98
109
  if (typeof exportsObject._start === 'function') {
110
+ postExecutionReady();
99
111
  exitCode = wasiRuntime.start(instance);
100
112
  }
101
113
  else if (typeof exportsObject.memory === 'object' &&
@@ -107,6 +119,7 @@ self.onmessage = async (event) => {
107
119
  exportsObject.__wasm_call_ctors();
108
120
  }
109
121
  if (typeof exportsObject.main === 'function') {
122
+ postExecutionReady();
110
123
  const mainResult = exportsObject.main();
111
124
  exitCode = typeof mainResult === 'number' ? mainResult : 0;
112
125
  }
@@ -137,4 +150,16 @@ self.onmessage = async (event) => {
137
150
  }
138
151
  postMessage({ error: error?.message || String(error) });
139
152
  }
153
+ finally {
154
+ const stdinChunk = stdinChunkTinyGo;
155
+ stdinBufferTinyGo = null;
156
+ stdinChunkTinyGo = new Uint8Array(0);
157
+ stdinChunkOffsetTinyGo = 0;
158
+ try {
159
+ stdinChunk.fill(0);
160
+ }
161
+ catch {
162
+ // Stdin cleanup must not replace the execution result.
163
+ }
164
+ }
140
165
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,251 @@
1
+ import { waitForBufferedStdin } from '../stdinBuffer';
2
+ import { fetchRuntimeAssetBytes } from './runtimeAssetFetch';
3
+ import { verifyRuntimeAssetIntegrity } from '@wasm-idle/core';
4
+ let stdinBufferTypeScript = null;
5
+ let moduleUrl = '';
6
+ let moduleReceipt = null;
7
+ let maxAssetBytes = 0;
8
+ let loadedModuleIdentity = '';
9
+ let runtimePromise = null;
10
+ let compiledArtifact = null;
11
+ let compiledCacheKey = '';
12
+ function snapshotModuleReceipt(value) {
13
+ if (!value || typeof value !== 'object') {
14
+ throw new Error('TypeScript runtime integrity receipt is required');
15
+ }
16
+ const bytes = value.bytes;
17
+ const sha256 = value.sha256;
18
+ if (!Number.isSafeInteger(bytes) || bytes <= 0) {
19
+ throw new Error('TypeScript runtime integrity receipt has an invalid byte size');
20
+ }
21
+ if (typeof sha256 !== 'string' || !/^[a-f0-9]{64}$/u.test(sha256)) {
22
+ throw new Error('TypeScript runtime integrity receipt has an invalid SHA-256 digest');
23
+ }
24
+ return Object.freeze({ bytes: bytes, sha256 });
25
+ }
26
+ function requireMaxAssetBytes(value) {
27
+ if (!Number.isSafeInteger(value) || value <= 0) {
28
+ throw new Error('TypeScript runtime maxAssetBytes must be a positive safe integer');
29
+ }
30
+ return value;
31
+ }
32
+ function requireModuleUrl(value) {
33
+ if (typeof value !== 'string' || !value.trim()) {
34
+ throw new Error('TypeScript runtime is not configured. Set PUBLIC_WASM_TYPESCRIPT_MODULE_URL or runtimeAssets.typescript.moduleUrl.');
35
+ }
36
+ let url;
37
+ try {
38
+ url = new URL(value);
39
+ }
40
+ catch {
41
+ throw new Error(`TypeScript runtime module URL is invalid: ${value}`);
42
+ }
43
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
44
+ throw new Error(`TypeScript runtime module URL must use HTTP(S): ${value}`);
45
+ }
46
+ if (url.username || url.password || url.hash) {
47
+ throw new Error(`TypeScript runtime module URL must not include credentials or a fragment: ${value}`);
48
+ }
49
+ if (/%2f|%5c/iu.test(url.pathname)) {
50
+ throw new Error(`TypeScript runtime module URL must not include encoded path separators: ${value}`);
51
+ }
52
+ return url.href;
53
+ }
54
+ async function loadRuntime(urlValue, receiptValue, maxAssetBytesValue) {
55
+ const url = requireModuleUrl(urlValue);
56
+ const receipt = snapshotModuleReceipt(receiptValue);
57
+ const byteLimit = requireMaxAssetBytes(maxAssetBytesValue);
58
+ if (receipt.bytes > byteLimit) {
59
+ throw new Error(`TypeScript runtime module exceeds the ${byteLimit} byte limit`);
60
+ }
61
+ const identity = JSON.stringify([url, receipt.bytes, receipt.sha256]);
62
+ if (loadedModuleIdentity === identity && runtimePromise) {
63
+ return await runtimePromise;
64
+ }
65
+ loadedModuleIdentity = identity;
66
+ compiledArtifact = null;
67
+ compiledCacheKey = '';
68
+ runtimePromise = (async () => {
69
+ const bytes = await fetchRuntimeAssetBytes({
70
+ url,
71
+ label: 'TypeScript runtime module',
72
+ maxAssetBytes: receipt.bytes
73
+ });
74
+ await verifyRuntimeAssetIntegrity({
75
+ asset: url,
76
+ bytes,
77
+ expected: receipt,
78
+ runtimeId: 'TYPESCRIPT'
79
+ });
80
+ if (typeof URL.createObjectURL !== 'function' ||
81
+ typeof URL.revokeObjectURL !== 'function') {
82
+ throw new Error('TypeScript runtime requires Blob URL support');
83
+ }
84
+ const revokeObjectURL = URL.revokeObjectURL.bind(URL);
85
+ const verifiedModuleUrl = URL.createObjectURL(new Blob([bytes], { type: 'text/javascript' }));
86
+ let module;
87
+ try {
88
+ module = await import(/* @vite-ignore */ verifiedModuleUrl);
89
+ }
90
+ finally {
91
+ try {
92
+ revokeObjectURL(verifiedModuleUrl);
93
+ }
94
+ catch {
95
+ // Blob URL cleanup must not replace the verified module's import outcome.
96
+ }
97
+ }
98
+ const factory = typeof module.createTypeScriptCompiler === 'function'
99
+ ? module.createTypeScriptCompiler
100
+ : typeof module.default === 'function'
101
+ ? module.default
102
+ : null;
103
+ if (!factory) {
104
+ throw new Error('wasm-typescript module must export createTypeScriptCompiler or a default factory');
105
+ }
106
+ if (typeof module.executeBrowserTypeScriptArtifact !== 'function') {
107
+ throw new Error('wasm-typescript module must export executeBrowserTypeScriptArtifact');
108
+ }
109
+ return {
110
+ compiler: await factory(),
111
+ executeBrowserTypeScriptArtifact: module.executeBrowserTypeScriptArtifact
112
+ };
113
+ })();
114
+ return await runtimePromise;
115
+ }
116
+ function normalizeDiagnostic(diagnostic) {
117
+ return {
118
+ fileName: diagnostic?.fileName ?? null,
119
+ lineNumber: Math.max(1, Number(diagnostic?.lineNumber || 1)),
120
+ columnNumber: typeof diagnostic?.columnNumber === 'number'
121
+ ? Math.max(1, diagnostic.columnNumber)
122
+ : undefined,
123
+ endColumnNumber: typeof diagnostic?.endColumnNumber === 'number'
124
+ ? Math.max(1, diagnostic.endColumnNumber)
125
+ : undefined,
126
+ severity: diagnostic?.severity === 'warning' || diagnostic?.severity === 'other'
127
+ ? diagnostic.severity
128
+ : 'error',
129
+ message: String(diagnostic?.message || '')
130
+ };
131
+ }
132
+ self.onmessage = async (event) => {
133
+ const { load, moduleUrl: nextModuleUrl, moduleReceipt: nextModuleReceipt, maxAssetBytes: nextMaxAssetBytes, buffer, code, prepare, args = [], stdin, language = 'typescript', activePath = language === 'typescript' ? 'main.ts' : 'main.js', workspaceFiles = [], log } = event.data;
134
+ try {
135
+ if (load) {
136
+ const configuredModuleUrl = requireModuleUrl(nextModuleUrl);
137
+ const configuredModuleReceipt = snapshotModuleReceipt(nextModuleReceipt);
138
+ const configuredMaxAssetBytes = requireMaxAssetBytes(nextMaxAssetBytes);
139
+ if (log) {
140
+ console.log(`[wasm-idle:typescript-worker] load moduleUrl=${configuredModuleUrl}`);
141
+ }
142
+ await loadRuntime(configuredModuleUrl, configuredModuleReceipt, configuredMaxAssetBytes);
143
+ moduleUrl = configuredModuleUrl;
144
+ moduleReceipt = configuredModuleReceipt;
145
+ maxAssetBytes = configuredMaxAssetBytes;
146
+ postMessage({ load: true });
147
+ return;
148
+ }
149
+ stdinBufferTypeScript = new Int32Array(buffer);
150
+ const runtime = await loadRuntime(moduleUrl, moduleReceipt, maxAssetBytes);
151
+ const compileCacheKey = `${language}\n${activePath}\n${code}`;
152
+ if (!compiledArtifact || compiledCacheKey !== compileCacheKey) {
153
+ if (log) {
154
+ console.log(`[wasm-idle:typescript-worker] compile start language=${language} prepare=${String(prepare)} bytes=${code.length}`);
155
+ }
156
+ const result = await runtime.compiler.compile({
157
+ code,
158
+ language,
159
+ fileName: activePath,
160
+ log
161
+ });
162
+ if (log) {
163
+ console.log(`[wasm-idle:typescript-worker] compile settled success=${String(result.success)} stdout=${String(Boolean(result.stdout))} stderr=${String(Boolean(result.stderr))}`);
164
+ }
165
+ for (const diagnostic of result.diagnostics || []) {
166
+ postMessage({ diagnostic: normalizeDiagnostic(diagnostic) });
167
+ }
168
+ if (result.stdout)
169
+ postMessage({ output: result.stdout });
170
+ if (!result.success) {
171
+ throw new Error(result.stderr ||
172
+ result.diagnostics
173
+ ?.map((diagnostic) => diagnostic.message)
174
+ .join('\n') ||
175
+ 'TypeScript compilation failed');
176
+ }
177
+ if (result.stderr)
178
+ postMessage({ output: result.stderr });
179
+ if (!result.artifact?.javascript) {
180
+ throw new Error('wasm-typescript did not return a JavaScript artifact');
181
+ }
182
+ compiledArtifact = result.artifact;
183
+ compiledCacheKey = compileCacheKey;
184
+ }
185
+ if (prepare) {
186
+ postMessage({ results: true });
187
+ return;
188
+ }
189
+ const hasInitialStdin = typeof stdin === 'string';
190
+ let initialStdin = hasInitialStdin ? stdin : null;
191
+ const execution = await runtime.executeBrowserTypeScriptArtifact(compiledArtifact, {
192
+ args,
193
+ env: {
194
+ USER: 'jungol'
195
+ },
196
+ onReady: () => postMessage({
197
+ progress: {
198
+ kind: 'ready',
199
+ state: 'running',
200
+ reason: 'started',
201
+ label: `${language === 'typescript' ? 'TypeScript' : 'JavaScript'} program started`
202
+ }
203
+ }),
204
+ files: workspaceFiles,
205
+ activePath,
206
+ stdin: () => {
207
+ if (hasInitialStdin) {
208
+ const chunk = initialStdin;
209
+ initialStdin = null;
210
+ if (log) {
211
+ console.log(chunk == null
212
+ ? '[wasm-idle:typescript-stdin] read(bytes=0, eof=true)'
213
+ : `[wasm-idle:typescript-stdin] read(bytes=${new TextEncoder().encode(chunk).byteLength}, text=${JSON.stringify(chunk)})`);
214
+ }
215
+ return chunk;
216
+ }
217
+ const chunk = waitForBufferedStdin(stdinBufferTypeScript, () => postMessage({ buffer: true }));
218
+ if (chunk == null) {
219
+ if (log) {
220
+ console.log('[wasm-idle:typescript-stdin] read(bytes=0, eof=true)');
221
+ }
222
+ return null;
223
+ }
224
+ if (log) {
225
+ console.log(`[wasm-idle:typescript-stdin] read(bytes=${new TextEncoder().encode(chunk).byteLength}, text=${JSON.stringify(chunk)})`);
226
+ }
227
+ return chunk;
228
+ },
229
+ stdout: (output) => {
230
+ if (output)
231
+ postMessage({ output });
232
+ },
233
+ stderr: (output) => {
234
+ if (output)
235
+ postMessage({ output });
236
+ }
237
+ });
238
+ if (execution.exitCode !== 0) {
239
+ throw new Error(execution.stderr
240
+ ? `${language === 'typescript' ? 'TypeScript' : 'JavaScript'} program exited with code ${execution.exitCode}\n${execution.stderr}`
241
+ : `${language === 'typescript' ? 'TypeScript' : 'JavaScript'} program exited with code ${execution.exitCode}`);
242
+ }
243
+ postMessage({ results: true });
244
+ }
245
+ catch (error) {
246
+ if (log) {
247
+ console.error('[wasm-idle:typescript-worker] failed', error);
248
+ }
249
+ postMessage({ error: error?.message || String(error) });
250
+ }
251
+ };
@@ -0,0 +1 @@
1
+ export {};