@tracecode/harness 0.6.5 → 0.7.0-beta7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/README.md +134 -15
- package/THIRD_PARTY_NOTICES.md +170 -0
- package/dist/browser.cjs +2361 -1033
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +33 -3
- package/dist/browser.d.ts +33 -3
- package/dist/browser.js +2357 -1033
- package/dist/browser.js.map +1 -1
- package/dist/cli.cjs +160 -23
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +161 -24
- package/dist/cli.js.map +1 -1
- package/dist/core.cjs +748 -867
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +21 -85
- package/dist/core.d.ts +21 -85
- package/dist/core.js +734 -855
- package/dist/core.js.map +1 -1
- package/dist/cpp-worker-client-Bn7kC0_L.d.ts +84 -0
- package/dist/cpp-worker-client-BzdJLuZa.d.cts +84 -0
- package/dist/cpp.cjs +1063 -0
- package/dist/cpp.cjs.map +1 -0
- package/dist/cpp.d.cts +7 -0
- package/dist/cpp.d.ts +7 -0
- package/dist/cpp.js +1035 -0
- package/dist/cpp.js.map +1 -0
- package/dist/csharp-worker-client-DMHIa2YG.d.cts +69 -0
- package/dist/csharp-worker-client-JwqS6LiX.d.ts +69 -0
- package/dist/csharp.cjs +1012 -0
- package/dist/csharp.cjs.map +1 -0
- package/dist/csharp.d.cts +7 -0
- package/dist/csharp.d.ts +7 -0
- package/dist/csharp.js +984 -0
- package/dist/csharp.js.map +1 -0
- package/dist/index.cjs +3142 -1160
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -5
- package/dist/index.d.ts +13 -5
- package/dist/index.js +3117 -1148
- package/dist/index.js.map +1 -1
- package/dist/internal/browser.cjs +1639 -30
- package/dist/internal/browser.cjs.map +1 -1
- package/dist/internal/browser.d.cts +6 -199
- package/dist/internal/browser.d.ts +6 -199
- package/dist/internal/browser.js +1636 -30
- package/dist/internal/browser.js.map +1 -1
- package/dist/java-worker-client-BOwKW-11.d.cts +72 -0
- package/dist/java-worker-client-C97DDnCp.d.ts +72 -0
- package/dist/java.cjs +1225 -0
- package/dist/java.cjs.map +1 -0
- package/dist/java.d.cts +7 -0
- package/dist/java.d.ts +7 -0
- package/dist/java.js +1197 -0
- package/dist/java.js.map +1 -0
- package/dist/javascript-worker-client-CYBGEEvc.d.cts +51 -0
- package/dist/javascript-worker-client-DIX1Mp21.d.ts +51 -0
- package/dist/javascript.cjs +1063 -19
- package/dist/javascript.cjs.map +1 -1
- package/dist/javascript.d.cts +7 -4
- package/dist/javascript.d.ts +7 -4
- package/dist/javascript.js +1061 -19
- package/dist/javascript.js.map +1 -1
- package/dist/pyodide-worker-client-C-2rfHj9.d.ts +111 -0
- package/dist/pyodide-worker-client-Cn0a8Uv3.d.cts +111 -0
- package/dist/python.cjs +1282 -74
- package/dist/python.cjs.map +1 -1
- package/dist/python.d.cts +20 -14
- package/dist/python.d.ts +20 -14
- package/dist/python.js +1279 -74
- package/dist/python.js.map +1 -1
- package/dist/runtime-language-info-BFUSti3-.d.ts +43 -0
- package/dist/runtime-language-info-Bxza1cI2.d.cts +43 -0
- package/dist/runtime-types-2qM0MukN.d.cts +244 -0
- package/dist/runtime-types-2qM0MukN.d.ts +244 -0
- package/package.json +73 -8
- package/workers/cpp/cpp-compiler-frame.html +82 -0
- package/workers/cpp/cpp-compiler-worker.js +131 -0
- package/workers/cpp/cpp-worker.js +5790 -0
- package/workers/cpp/tracecode_runtime.hpp +6147 -0
- package/workers/csharp/csharp-worker.js +301 -0
- package/workers/java/.build/classes/harness/browser/JavaRewriteLibrary.class +0 -0
- package/workers/java/java-source-augmentations.js +880 -0
- package/workers/java/java-worker.js +2256 -170
- package/workers/java/src/harness/browser/JavaRewriteLibrary.java +1645 -32
- package/workers/java/src/javafx/util/Pair.java +42 -0
- package/workers/java/src/tracecode/browser/BrowserCompileAndTraceLibrary.java +714 -0
- package/workers/java/src/tracecode/browser/BrowserCompileAndTraceMain.java +76 -0
- package/workers/java/src/tracecode/browser/RuntimeProbeMain.java +14 -0
- package/workers/java/src/tracecode/user/TraceHooks.java +1406 -0
- package/workers/javascript/javascript-libraries-entry.js +71 -0
- package/workers/javascript/javascript-worker.js +2054 -424
- package/workers/python/generated-python-harness-snippets.js +4 -4
- package/workers/python/pyodide-worker.js +222 -61
- package/workers/python/runtime-core.js +1387 -301
- package/workers/vendor/csharp/.stamp +0 -0
- package/workers/vendor/csharp/TraceCode.CSharpHost.runtimeconfig.json +32 -0
- package/workers/vendor/csharp/_framework/Microsoft.CSharp.wasm +0 -0
- package/workers/vendor/csharp/_framework/Microsoft.CodeAnalysis.CSharp.wasm +0 -0
- package/workers/vendor/csharp/_framework/Microsoft.CodeAnalysis.wasm +0 -0
- package/workers/vendor/csharp/_framework/Microsoft.VisualBasic.Core.wasm +0 -0
- package/workers/vendor/csharp/_framework/Microsoft.VisualBasic.wasm +0 -0
- package/workers/vendor/csharp/_framework/Microsoft.Win32.Primitives.wasm +0 -0
- package/workers/vendor/csharp/_framework/Microsoft.Win32.Registry.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.AppContext.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Buffers.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Collections.Concurrent.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Collections.Immutable.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Collections.NonGeneric.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Collections.Specialized.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Collections.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ComponentModel.Annotations.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ComponentModel.DataAnnotations.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ComponentModel.EventBasedAsync.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ComponentModel.Primitives.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ComponentModel.TypeConverter.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ComponentModel.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Configuration.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Console.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Core.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Data.Common.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Data.DataSetExtensions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Data.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.Contracts.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.Debug.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.DiagnosticSource.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.FileVersionInfo.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.Process.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.StackTrace.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.TextWriterTraceListener.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.Tools.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.TraceSource.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Diagnostics.Tracing.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Drawing.Primitives.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Drawing.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Dynamic.Runtime.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Formats.Asn1.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Formats.Tar.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Globalization.Calendars.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Globalization.Extensions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Globalization.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.Compression.Brotli.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.Compression.FileSystem.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.Compression.ZipFile.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.Compression.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.FileSystem.AccessControl.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.FileSystem.DriveInfo.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.FileSystem.Primitives.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.FileSystem.Watcher.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.FileSystem.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.IsolatedStorage.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.MemoryMappedFiles.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.Pipelines.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.Pipes.AccessControl.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.Pipes.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.UnmanagedMemoryStream.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.IO.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Linq.AsyncEnumerable.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Linq.Expressions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Linq.Parallel.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Linq.Queryable.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Linq.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Memory.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Http.Json.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Http.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.HttpListener.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Mail.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.NameResolution.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.NetworkInformation.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Ping.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Primitives.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Quic.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Requests.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Security.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.ServerSentEvents.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.ServicePoint.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.Sockets.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.WebClient.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.WebHeaderCollection.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.WebProxy.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.WebSockets.Client.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.WebSockets.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Net.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Numerics.Vectors.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Numerics.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ObjectModel.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Private.CoreLib.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Private.DataContractSerialization.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Private.Uri.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Private.Xml.Linq.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Private.Xml.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.DispatchProxy.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.Emit.ILGeneration.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.Emit.Lightweight.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.Emit.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.Extensions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.Metadata.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.Primitives.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.TypeExtensions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Reflection.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Resources.Reader.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Resources.ResourceManager.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Resources.Writer.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.CompilerServices.Unsafe.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.CompilerServices.VisualC.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Extensions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Handles.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.InteropServices.JavaScript.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.InteropServices.RuntimeInformation.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.InteropServices.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Intrinsics.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Loader.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Numerics.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Serialization.Formatters.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Serialization.Json.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Serialization.Primitives.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Serialization.Xml.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.Serialization.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Runtime.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.AccessControl.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Claims.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Cryptography.Algorithms.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Cryptography.Cng.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Cryptography.Csp.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Cryptography.Encoding.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Cryptography.OpenSsl.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Cryptography.Primitives.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Cryptography.X509Certificates.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Cryptography.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Principal.Windows.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.Principal.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.SecureString.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Security.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ServiceModel.Web.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ServiceProcess.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Text.Encoding.CodePages.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Text.Encoding.Extensions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Text.Encoding.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Text.Encodings.Web.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Text.Json.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Text.RegularExpressions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.AccessControl.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.Channels.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.Overlapped.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.Tasks.Dataflow.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.Tasks.Extensions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.Tasks.Parallel.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.Tasks.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.Thread.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.ThreadPool.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.Timer.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Threading.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Transactions.Local.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Transactions.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.ValueTuple.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Web.HttpUtility.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Web.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Windows.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.Linq.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.ReaderWriter.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.Serialization.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.XDocument.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.XPath.XDocument.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.XPath.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.XmlDocument.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.XmlSerializer.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.Xml.wasm +0 -0
- package/workers/vendor/csharp/_framework/System.wasm +0 -0
- package/workers/vendor/csharp/_framework/TraceCode.CSharpHost.wasm +0 -0
- package/workers/vendor/csharp/_framework/WindowsBase.wasm +0 -0
- package/workers/vendor/csharp/_framework/cs/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/cs/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/de/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/de/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/dotnet.boot.js +1958 -0
- package/workers/vendor/csharp/_framework/dotnet.js +4 -0
- package/workers/vendor/csharp/_framework/dotnet.js.map +1 -0
- package/workers/vendor/csharp/_framework/dotnet.native.js +6687 -0
- package/workers/vendor/csharp/_framework/dotnet.native.wasm +0 -0
- package/workers/vendor/csharp/_framework/dotnet.runtime.js +4 -0
- package/workers/vendor/csharp/_framework/dotnet.runtime.js.map +1 -0
- package/workers/vendor/csharp/_framework/es/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/es/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/fr/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/fr/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/it/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/it/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/ja/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/ja/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/ko/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/ko/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/mscorlib.wasm +0 -0
- package/workers/vendor/csharp/_framework/netstandard.wasm +0 -0
- package/workers/vendor/csharp/_framework/pl/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/pl/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/pt-BR/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/ru/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/ru/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/0_Microsoft.CodeAnalysis.CSharp.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/100_System.Reflection.Emit.ILGeneration.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/101_System.Reflection.Emit.Lightweight.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/102_System.Reflection.Extensions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/103_System.Reflection.Metadata.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/104_System.Reflection.Primitives.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/105_System.Reflection.TypeExtensions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/106_System.Resources.Reader.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/107_System.Resources.ResourceManager.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/108_System.Resources.Writer.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/109_System.Runtime.CompilerServices.Unsafe.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/10_System.Buffers.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/110_System.Runtime.CompilerServices.VisualC.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/111_System.Runtime.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/112_System.Runtime.Extensions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/113_System.Runtime.Handles.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/114_System.Runtime.InteropServices.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/115_System.Runtime.InteropServices.JavaScript.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/116_System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/117_System.Runtime.Intrinsics.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/118_System.Runtime.Loader.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/119_System.Runtime.Numerics.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/11_System.Collections.Concurrent.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/120_System.Runtime.Serialization.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/121_System.Runtime.Serialization.Formatters.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/122_System.Runtime.Serialization.Json.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/123_System.Runtime.Serialization.Primitives.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/124_System.Runtime.Serialization.Xml.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/125_System.Security.AccessControl.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/126_System.Security.Claims.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/127_System.Security.Cryptography.Algorithms.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/128_System.Security.Cryptography.Cng.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/129_System.Security.Cryptography.Csp.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/12_System.Collections.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/130_System.Security.Cryptography.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/131_System.Security.Cryptography.Encoding.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/132_System.Security.Cryptography.OpenSsl.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/133_System.Security.Cryptography.Primitives.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/134_System.Security.Cryptography.X509Certificates.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/135_System.Security.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/136_System.Security.Principal.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/137_System.Security.Principal.Windows.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/138_System.Security.SecureString.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/139_System.ServiceModel.Web.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/13_System.Collections.Immutable.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/140_System.ServiceProcess.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/141_System.Text.Encoding.CodePages.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/142_System.Text.Encoding.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/143_System.Text.Encoding.Extensions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/144_System.Text.Encodings.Web.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/145_System.Text.Json.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/146_System.Text.RegularExpressions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/147_System.Threading.AccessControl.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/148_System.Threading.Channels.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/149_System.Threading.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/14_System.Collections.NonGeneric.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/150_System.Threading.Overlapped.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/151_System.Threading.Tasks.Dataflow.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/152_System.Threading.Tasks.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/153_System.Threading.Tasks.Extensions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/154_System.Threading.Tasks.Parallel.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/155_System.Threading.Thread.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/156_System.Threading.ThreadPool.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/157_System.Threading.Timer.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/158_System.Transactions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/159_System.Transactions.Local.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/15_System.Collections.Specialized.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/160_System.ValueTuple.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/161_System.Web.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/162_System.Web.HttpUtility.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/163_System.Windows.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/164_System.Xml.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/165_System.Xml.Linq.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/166_System.Xml.ReaderWriter.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/167_System.Xml.Serialization.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/168_System.Xml.XDocument.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/169_System.Xml.XmlDocument.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/16_System.ComponentModel.Annotations.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/170_System.Xml.XmlSerializer.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/171_System.Xml.XPath.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/172_System.Xml.XPath.XDocument.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/173_TraceCode.CSharpHost.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/174_WindowsBase.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/17_System.ComponentModel.DataAnnotations.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/18_System.ComponentModel.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/19_System.ComponentModel.EventBasedAsync.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/1_Microsoft.CodeAnalysis.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/20_System.ComponentModel.Primitives.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/21_System.ComponentModel.TypeConverter.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/22_System.Configuration.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/23_System.Console.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/24_System.Core.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/25_System.Data.Common.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/26_System.Data.DataSetExtensions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/27_System.Data.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/28_System.Diagnostics.Contracts.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/29_System.Diagnostics.Debug.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/2_Microsoft.CSharp.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/30_System.Diagnostics.DiagnosticSource.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/31_System.Diagnostics.FileVersionInfo.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/32_System.Diagnostics.Process.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/33_System.Diagnostics.StackTrace.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/34_System.Diagnostics.TextWriterTraceListener.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/35_System.Diagnostics.Tools.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/36_System.Diagnostics.TraceSource.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/37_System.Diagnostics.Tracing.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/38_System.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/39_System.Drawing.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/3_Microsoft.VisualBasic.Core.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/40_System.Drawing.Primitives.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/41_System.Dynamic.Runtime.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/42_System.Formats.Asn1.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/43_System.Formats.Tar.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/44_System.Globalization.Calendars.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/45_System.Globalization.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/46_System.Globalization.Extensions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/47_System.IO.Compression.Brotli.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/48_System.IO.Compression.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/49_System.IO.Compression.FileSystem.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/4_Microsoft.VisualBasic.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/50_System.IO.Compression.ZipFile.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/51_System.IO.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/52_System.IO.FileSystem.AccessControl.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/53_System.IO.FileSystem.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/54_System.IO.FileSystem.DriveInfo.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/55_System.IO.FileSystem.Primitives.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/56_System.IO.FileSystem.Watcher.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/57_System.IO.IsolatedStorage.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/58_System.IO.MemoryMappedFiles.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/59_System.IO.Pipelines.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/5_Microsoft.Win32.Primitives.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/60_System.IO.Pipes.AccessControl.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/61_System.IO.Pipes.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/62_System.IO.UnmanagedMemoryStream.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/63_System.Linq.AsyncEnumerable.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/64_System.Linq.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/65_System.Linq.Expressions.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/66_System.Linq.Parallel.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/67_System.Linq.Queryable.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/68_System.Memory.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/69_System.Net.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/6_Microsoft.Win32.Registry.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/70_System.Net.Http.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/71_System.Net.Http.Json.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/72_System.Net.HttpListener.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/73_System.Net.Mail.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/74_System.Net.NameResolution.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/75_System.Net.NetworkInformation.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/76_System.Net.Ping.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/77_System.Net.Primitives.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/78_System.Net.Quic.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/79_System.Net.Requests.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/7_mscorlib.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/80_System.Net.Security.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/81_System.Net.ServerSentEvents.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/82_System.Net.ServicePoint.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/83_System.Net.Sockets.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/84_System.Net.WebClient.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/85_System.Net.WebHeaderCollection.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/86_System.Net.WebProxy.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/87_System.Net.WebSockets.Client.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/88_System.Net.WebSockets.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/89_System.Numerics.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/8_netstandard.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/90_System.Numerics.Vectors.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/91_System.ObjectModel.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/92_System.Private.CoreLib.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/93_System.Private.DataContractSerialization.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/94_System.Private.Uri.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/95_System.Private.Xml.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/96_System.Private.Xml.Linq.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/97_System.Reflection.DispatchProxy.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/98_System.Reflection.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/99_System.Reflection.Emit.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/9_System.AppContext.dll +0 -0
- package/workers/vendor/csharp/_framework/tr/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/tr/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/zh-Hans/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.wasm +0 -0
- package/workers/vendor/csharp/_framework/zh-Hant/Microsoft.CodeAnalysis.resources.wasm +0 -0
- package/workers/vendor/csharp/main.mjs +5 -0
- package/workers/vendor/csharp/package.json +1 -0
- package/workers/vendor/java-browser-helper.jar +0 -0
- package/workers/vendor/java-rewriter.jar +0 -0
- package/workers/vendor/javascript-libraries.js +10106 -0
- package/dist/runtime-types-89nchXlY.d.cts +0 -89
- package/dist/runtime-types-CCQ-ZLc9.d.ts +0 -89
- package/dist/types-zyvpJKCi.d.cts +0 -100
- package/dist/types-zyvpJKCi.d.ts +0 -100
- package/workers/java/java-source-augmentations.cjs +0 -242
- package/workers/java/src/spike/user/TraceHooks.java +0 -619
- package/workers/vendor/java-browser-spike-helper.jar +0 -0
- package/workers/vendor/java-practice-rewriter.jar +0 -0
- package/workers/vendor/java-rewrite-bridge.jar +0 -0
package/dist/javascript.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../packages/harness-javascript/src/index.ts","../packages/harness-javascript/src/typescript-runtime-declarations.ts","../packages/harness-javascript/src/javascript-executor.ts"],"sourcesContent":["export * from './javascript-executor';\nexport * from './typescript-runtime-declarations';\n","export const TYPESCRIPT_RUNTIME_DECLARATIONS = `\ndeclare class ListNode {\n val: any;\n next: ListNode | SerializedListNode | SerializedRef | null;\n prev?: ListNode | SerializedListNode | SerializedRef | null;\n constructor(val?: any, next?: ListNode | null);\n}\n\ndeclare class TreeNode {\n val: any;\n left: TreeNode | SerializedTreeNode | SerializedRef | null;\n right: TreeNode | SerializedTreeNode | SerializedRef | null;\n constructor(val?: any, left?: TreeNode | null, right?: TreeNode | null);\n}\n\ntype SerializedRef = { __ref__: string };\n\ntype SerializedListNode = {\n __id__?: string;\n __type__?: 'ListNode';\n val?: any;\n next?: SerializedListNode | SerializedRef | ListNode | null;\n prev?: SerializedListNode | SerializedRef | ListNode | null;\n};\n\ntype SerializedTreeNode = {\n __id__?: string;\n __type__?: 'TreeNode';\n val?: any;\n left?: SerializedTreeNode | SerializedRef | TreeNode | null;\n right?: SerializedTreeNode | SerializedRef | TreeNode | null;\n};\n`;\n\nexport function withTypeScriptRuntimeDeclarations(sourceCode: string): string {\n return `${sourceCode}\\n\\n${TYPESCRIPT_RUNTIME_DECLARATIONS}\\n`;\n}\n\n","import type { RuntimeExecutionStyle } from '../../harness-core/src/runtime-types';\nimport type { CodeExecutionResult, ExecutionResult } from '../../harness-core/src/types';\nimport { withTypeScriptRuntimeDeclarations } from './typescript-runtime-declarations';\n\ntype TypeScriptModule = typeof import('typescript');\n\nlet typeScriptModulePromise: Promise<TypeScriptModule> | null = null;\n\ntype DynamicRunner = (...args: unknown[]) => unknown;\n\nasync function getTypeScriptModule(): Promise<TypeScriptModule> {\n if (!typeScriptModulePromise) {\n const specifier = 'typescript';\n typeScriptModulePromise = import(/* webpackIgnore: true */ specifier);\n }\n return typeScriptModulePromise;\n}\n\nfunction performanceNow(): number {\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n return performance.now();\n }\n return Date.now();\n}\n\nfunction formatConsoleArg(value: unknown): string {\n if (typeof value === 'string') return value;\n if (typeof value === 'number' || typeof value === 'boolean' || value === null || value === undefined) {\n return String(value);\n }\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}\n\nfunction createConsoleProxy(output: string[]): Console {\n const capture = (...args: unknown[]) => {\n output.push(args.map(formatConsoleArg).join(' '));\n };\n\n return {\n ...console,\n log: capture,\n info: capture,\n warn: capture,\n error: capture,\n debug: capture,\n };\n}\n\nfunction isLikelyTreeNodeValue(value: unknown): value is Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return false;\n const record = value as Record<string, unknown>;\n if (record.__type__ === 'TreeNode') return true;\n const ctor = (value as { constructor?: { name?: unknown } }).constructor;\n return ctor?.name === 'TreeNode';\n}\n\nfunction isLikelyListNodeValue(value: unknown): value is Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return false;\n const record = value as Record<string, unknown>;\n if (record.__type__ === 'ListNode') return true;\n const ctor = (value as { constructor?: { name?: unknown } }).constructor;\n return ctor?.name === 'ListNode';\n}\n\nfunction getCustomClassName(value: unknown): string | null {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return null;\n if (value instanceof Map || value instanceof Set) return null;\n if (isLikelyTreeNodeValue(value) || isLikelyListNodeValue(value)) return null;\n const ctor = (value as { constructor?: { name?: unknown } }).constructor;\n const name = typeof ctor?.name === 'string' ? ctor.name : '';\n if (!name || name === 'Object' || name === 'Array' || name === 'Map' || name === 'Set') {\n return null;\n }\n return name;\n}\n\nfunction serializeValue(\n value: unknown,\n depth = 0,\n seen = new WeakSet<object>(),\n nodeRefState: { ids: Map<object, string>; nextId: number } = { ids: new Map<object, string>(), nextId: 1 }\n): unknown {\n if (depth > 48) return '<max depth>';\n if (value === null || value === undefined) return value;\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'bigint') {\n return Number.isSafeInteger(Number(value)) ? Number(value) : String(value);\n }\n if (typeof value === 'function') {\n return '<function>';\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => serializeValue(item, depth + 1, seen));\n }\n\n if (value instanceof Set) {\n return {\n __type__: 'set',\n values: [...value].map((item) => serializeValue(item, depth + 1, seen, nodeRefState)),\n };\n }\n\n if (value instanceof Map) {\n return {\n __type__: 'map',\n entries: [...value.entries()].map(([k, v]) => [\n serializeValue(k, depth + 1, seen, nodeRefState),\n serializeValue(v, depth + 1, seen, nodeRefState),\n ]),\n };\n }\n\n if (typeof value === 'object') {\n if (isLikelyTreeNodeValue(value) || isLikelyListNodeValue(value)) {\n const objectValue = value as object;\n const nodeValue = value as Record<string, unknown>;\n const existingId = nodeRefState.ids.get(objectValue);\n if (existingId) {\n return { __ref__: existingId };\n }\n\n const isTree = isLikelyTreeNodeValue(value);\n const nodePrefix = isTree ? 'tree' : 'list';\n const nodeId = `${nodePrefix}-${nodeRefState.nextId++}`;\n nodeRefState.ids.set(objectValue, nodeId);\n\n const out: Record<string, unknown> = isTree\n ? {\n __type__: 'TreeNode',\n __id__: nodeId,\n val: serializeValue(nodeValue.val ?? nodeValue.value ?? null, depth + 1, seen, nodeRefState),\n left: serializeValue(nodeValue.left ?? null, depth + 1, seen, nodeRefState),\n right: serializeValue(nodeValue.right ?? null, depth + 1, seen, nodeRefState),\n }\n : {\n __type__: 'ListNode',\n __id__: nodeId,\n val: serializeValue(nodeValue.val ?? nodeValue.value ?? null, depth + 1, seen, nodeRefState),\n next: serializeValue(nodeValue.next ?? null, depth + 1, seen, nodeRefState),\n ...('prev' in nodeValue\n ? { prev: serializeValue(nodeValue.prev ?? null, depth + 1, seen, nodeRefState) }\n : {}),\n };\n\n const skipped = isTree\n ? new Set(['__id__', '__type__', '__class__', 'val', 'value', 'left', 'right'])\n : new Set(['__id__', '__type__', '__class__', 'val', 'value', 'next', 'prev']);\n for (const [k, v] of Object.entries(nodeValue)) {\n if (skipped.has(k)) continue;\n out[k] = serializeValue(v, depth + 1, seen, nodeRefState);\n }\n return out;\n }\n\n const customClassName = getCustomClassName(value);\n if (customClassName) {\n const objectValue = value as object;\n const existingId = nodeRefState.ids.get(objectValue);\n if (existingId) {\n return { __ref__: existingId };\n }\n\n const objectId = `object-${nodeRefState.nextId++}`;\n nodeRefState.ids.set(objectValue, objectId);\n\n if (seen.has(objectValue)) return { __ref__: objectId };\n seen.add(objectValue);\n const out: Record<string, unknown> = {\n __type__: 'object',\n __class__: customClassName,\n __id__: objectId,\n };\n for (const [k, v] of Object.entries(value as Record<string, unknown>)) {\n out[k] = serializeValue(v, depth + 1, seen, nodeRefState);\n }\n seen.delete(objectValue);\n return out;\n }\n\n if (seen.has(value as object)) return '<cycle>';\n seen.add(value as object);\n const out: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(value as Record<string, unknown>)) {\n out[k] = serializeValue(v, depth + 1, seen, nodeRefState);\n }\n seen.delete(value as object);\n return out;\n }\n\n return String(value);\n}\n\nfunction extractUserErrorLine(error: unknown): number | undefined {\n if (typeof error === 'object' && error && '__tracecodeLine' in error) {\n const line = Number((error as { __tracecodeLine?: unknown }).__tracecodeLine);\n if (Number.isFinite(line)) return line;\n }\n\n const stack =\n typeof error === 'object' && error && 'stack' in error\n ? String((error as { stack?: unknown }).stack ?? '')\n : '';\n if (!stack) return undefined;\n const match = stack.match(/<anonymous>:(\\d+):\\d+/);\n if (!match) return undefined;\n const line = Number.parseInt(match[1], 10);\n return Number.isFinite(line) ? line : undefined;\n}\n\nfunction isPlainObjectRecord(value: unknown): value is Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return false;\n return Object.prototype.toString.call(value) === '[object Object]';\n}\n\nfunction collectReferenceTargets(\n value: unknown,\n byId: Map<string, Record<string, unknown>>,\n seen: WeakSet<object>\n): void {\n if (value === null || value === undefined) return;\n if (typeof value !== 'object') return;\n if (seen.has(value)) return;\n seen.add(value);\n\n if (Array.isArray(value)) {\n for (const item of value) {\n collectReferenceTargets(item, byId, seen);\n }\n return;\n }\n\n if (!isPlainObjectRecord(value)) return;\n if (typeof value.__id__ === 'string' && value.__id__.length > 0 && !byId.has(value.__id__)) {\n byId.set(value.__id__, value);\n }\n\n for (const nested of Object.values(value)) {\n collectReferenceTargets(nested, byId, seen);\n }\n}\n\nfunction resolveReferenceGraph(\n value: unknown,\n byId: Map<string, Record<string, unknown>>,\n resolved: WeakMap<object, unknown>\n): unknown {\n if (value === null || value === undefined) return value;\n if (typeof value !== 'object') return value;\n\n if (resolved.has(value)) {\n return resolved.get(value);\n }\n\n if (Array.isArray(value)) {\n const out: unknown[] = [];\n resolved.set(value, out);\n for (const item of value) {\n out.push(resolveReferenceGraph(item, byId, resolved));\n }\n return out;\n }\n\n if (!isPlainObjectRecord(value)) {\n return value;\n }\n\n const keys = Object.keys(value);\n if (keys.length === 1 && typeof value.__ref__ === 'string') {\n const target = byId.get(value.__ref__);\n if (!target) return null;\n return resolveReferenceGraph(target, byId, resolved);\n }\n\n const out: Record<string, unknown> = {};\n resolved.set(value, out);\n for (const [key, nested] of Object.entries(value)) {\n out[key] = resolveReferenceGraph(nested, byId, resolved);\n }\n return out;\n}\n\nfunction normalizeInputs(inputs: Record<string, unknown>): Record<string, unknown> {\n if (!inputs || typeof inputs !== 'object' || Array.isArray(inputs)) return {};\n const byId = new Map<string, Record<string, unknown>>();\n collectReferenceTargets(inputs, byId, new WeakSet<object>());\n if (byId.size === 0) {\n return inputs;\n }\n const hydrated = resolveReferenceGraph(inputs, byId, new WeakMap<object, unknown>());\n if (!hydrated || typeof hydrated !== 'object' || Array.isArray(hydrated)) {\n return inputs;\n }\n return hydrated as Record<string, unknown>;\n}\n\ntype InputMaterializerKind = 'tree' | 'list';\n\nfunction buildTreeNodeFromLevelOrder(values: unknown[]): Record<string, unknown> | null {\n if (!Array.isArray(values) || values.length === 0) return null;\n const firstValue = values[0];\n if (firstValue === null || firstValue === undefined) return null;\n const root: Record<string, unknown> = {\n val: firstValue,\n value: firstValue,\n left: null,\n right: null,\n };\n const queue: Record<string, unknown>[] = [root];\n let index = 1;\n\n while (queue.length > 0 && index < values.length) {\n const node = queue.shift();\n if (!node) break;\n\n const leftValue = values[index++];\n if (leftValue !== null && leftValue !== undefined) {\n const leftNode: Record<string, unknown> = {\n val: leftValue,\n value: leftValue,\n left: null,\n right: null,\n };\n node.left = leftNode;\n queue.push(leftNode);\n }\n\n if (index >= values.length) break;\n\n const rightValue = values[index++];\n if (rightValue !== null && rightValue !== undefined) {\n const rightNode: Record<string, unknown> = {\n val: rightValue,\n value: rightValue,\n left: null,\n right: null,\n };\n node.right = rightNode;\n queue.push(rightNode);\n }\n }\n return root;\n}\n\nfunction materializeTreeInput(value: unknown): unknown {\n if (value === null || value === undefined) return value;\n if (Array.isArray(value)) {\n return buildTreeNodeFromLevelOrder(value);\n }\n if (!isPlainObjectRecord(value)) {\n return value;\n }\n const record = value as Record<string, unknown>;\n if (isLikelyTreeNodeValue(record)) {\n const node: Record<string, unknown> = {\n val: record.val ?? record.value ?? null,\n value: record.val ?? record.value ?? null,\n left: materializeTreeInput(record.left ?? null),\n right: materializeTreeInput(record.right ?? null),\n };\n for (const [key, nested] of Object.entries(record)) {\n if (key === '__id__' || key === '__type__' || key === 'val' || key === 'value' || key === 'left' || key === 'right') continue;\n node[key] = materializeTreeInput(nested);\n }\n return node;\n }\n const taggedRecord = value as Record<string, unknown> & { __type__?: unknown };\n if (taggedRecord.__type__ === 'TreeNode') {\n const node: Record<string, unknown> = {\n val: taggedRecord.val ?? taggedRecord.value ?? null,\n value: taggedRecord.val ?? taggedRecord.value ?? null,\n left: materializeTreeInput(taggedRecord.left ?? null),\n right: materializeTreeInput(taggedRecord.right ?? null),\n };\n for (const [key, nested] of Object.entries(taggedRecord)) {\n if (key === '__id__' || key === '__type__' || key === 'val' || key === 'value' || key === 'left' || key === 'right') continue;\n node[key] = materializeTreeInput(nested);\n }\n return node;\n }\n return value;\n}\n\nfunction materializeListInput(\n value: unknown,\n refs: Map<string, Record<string, unknown>> = new Map(),\n materialized: WeakMap<object, Record<string, unknown>> = new WeakMap()\n): unknown {\n if (value === null || value === undefined) return value;\n if (Array.isArray(value)) {\n if (value.length === 0) return null;\n const head: Record<string, unknown> = {\n val: value[0],\n value: value[0],\n next: null,\n };\n let current: Record<string, unknown> = head;\n for (let i = 1; i < value.length; i++) {\n const nextNode: Record<string, unknown> = { val: value[i], value: value[i], next: null };\n current.next = nextNode;\n current = nextNode;\n }\n return head;\n }\n if (!isPlainObjectRecord(value)) {\n return value;\n }\n const record = value as Record<string, unknown>;\n if (typeof record.__ref__ === 'string') {\n return refs.get(record.__ref__) ?? null;\n }\n const taggedRecord = value as Record<string, unknown> & { __type__?: unknown };\n if (isLikelyListNodeValue(record) || taggedRecord.__type__ === 'ListNode') {\n const existingMaterialized = materialized.get(record as object);\n if (existingMaterialized) {\n return existingMaterialized;\n }\n const node: Record<string, unknown> = {\n val: taggedRecord.val ?? taggedRecord.value ?? null,\n value: taggedRecord.val ?? taggedRecord.value ?? null,\n next: null,\n };\n materialized.set(record as object, node);\n if (typeof taggedRecord.__id__ === 'string' && taggedRecord.__id__.length > 0) {\n refs.set(taggedRecord.__id__, node);\n }\n node.next = materializeListInput(taggedRecord.next ?? null, refs, materialized);\n for (const [key, nested] of Object.entries(taggedRecord)) {\n if (key === '__id__' || key === '__type__' || key === '__class__' || key === 'val' || key === 'value' || key === 'next') continue;\n node[key] = materializeListInput(nested, refs, materialized);\n }\n return node;\n }\n return value;\n}\n\nfunction detectMaterializerKind(\n ts: TypeScriptModule,\n typeNode: import('typescript').TypeNode | undefined\n): InputMaterializerKind | null {\n if (!typeNode) return null;\n if (ts.isParenthesizedTypeNode(typeNode)) {\n return detectMaterializerKind(ts, typeNode.type);\n }\n if (ts.isUnionTypeNode(typeNode)) {\n for (const child of typeNode.types) {\n const resolved = detectMaterializerKind(ts, child);\n if (resolved) return resolved;\n }\n return null;\n }\n if (ts.isTypeReferenceNode(typeNode)) {\n const typeNameText = typeNode.typeName.getText();\n if (typeNameText === 'TreeNode') return 'tree';\n if (typeNameText === 'ListNode') return 'list';\n return null;\n }\n return null;\n}\n\nfunction collectInputMaterializers(\n ts: TypeScriptModule,\n functionLikeNode: FunctionLikeNode\n): Record<string, InputMaterializerKind> {\n const out: Record<string, InputMaterializerKind> = {};\n for (const parameter of functionLikeNode.parameters ?? []) {\n if (!ts.isIdentifier(parameter.name)) continue;\n if (parameter.name.text === 'this') continue;\n const kind = detectMaterializerKind(ts, parameter.type);\n if (kind) {\n out[parameter.name.text] = kind;\n }\n }\n return out;\n}\n\nasync function resolveInputMaterializers(\n code: string,\n functionName: string,\n executionStyle: RuntimeExecutionStyle,\n language: 'javascript' | 'typescript'\n): Promise<Record<string, InputMaterializerKind>> {\n if (!functionName || executionStyle === 'ops-class' || language !== 'typescript') {\n return {};\n }\n\n try {\n const ts = await getTypeScriptModule();\n const sourceFile = ts.createSourceFile(\n 'runtime-input.ts',\n code,\n ts.ScriptTarget.ES2020,\n true,\n ts.ScriptKind.TS\n );\n const target = findFunctionLikeNode(ts, sourceFile, functionName, executionStyle);\n if (!target) return {};\n return collectInputMaterializers(ts, target);\n } catch {\n return {};\n }\n}\n\nfunction applyInputMaterializers(\n inputs: Record<string, unknown>,\n materializers: Record<string, InputMaterializerKind>\n): Record<string, unknown> {\n if (Object.keys(materializers).length === 0) return inputs;\n const next: Record<string, unknown> = { ...inputs };\n for (const [name, kind] of Object.entries(materializers)) {\n if (!Object.prototype.hasOwnProperty.call(next, name)) continue;\n next[name] = kind === 'tree' ? materializeTreeInput(next[name]) : materializeListInput(next[name]);\n }\n return next;\n}\n\ntype FunctionLikeNode =\n | import('typescript').FunctionDeclaration\n | import('typescript').FunctionExpression\n | import('typescript').ArrowFunction\n | import('typescript').MethodDeclaration;\n\nfunction collectSimpleParameterNames(\n ts: TypeScriptModule,\n functionLikeNode: FunctionLikeNode\n): string[] | null {\n const names: string[] = [];\n\n for (const parameter of functionLikeNode.parameters ?? []) {\n if (!ts.isIdentifier(parameter.name)) {\n return null;\n }\n if (parameter.name.text === 'this') {\n continue;\n }\n names.push(parameter.name.text);\n }\n\n return names;\n}\n\nfunction getPropertyNameText(ts: TypeScriptModule, name: import('typescript').PropertyName | undefined): string | null {\n if (!name) return null;\n if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {\n return name.text;\n }\n return null;\n}\n\nfunction findFunctionLikeNode(\n ts: TypeScriptModule,\n sourceFile: import('typescript').SourceFile,\n functionName: string,\n executionStyle: RuntimeExecutionStyle\n): FunctionLikeNode | null {\n let found: FunctionLikeNode | null = null;\n\n const visit = (node: import('typescript').Node): void => {\n if (found) return;\n\n if (executionStyle === 'solution-method' && ts.isClassDeclaration(node) && node.name?.text === 'Solution') {\n for (const member of node.members) {\n if (found) break;\n\n if (ts.isMethodDeclaration(member) && getPropertyNameText(ts, member.name) === functionName) {\n found = member;\n break;\n }\n\n if (\n ts.isPropertyDeclaration(member) &&\n getPropertyNameText(ts, member.name) === functionName &&\n member.initializer &&\n (ts.isArrowFunction(member.initializer) || ts.isFunctionExpression(member.initializer))\n ) {\n found = member.initializer;\n break;\n }\n }\n return;\n }\n\n if (executionStyle === 'function') {\n if (ts.isFunctionDeclaration(node) && node.name?.text === functionName) {\n found = node;\n return;\n }\n\n if (\n ts.isVariableDeclaration(node) &&\n ts.isIdentifier(node.name) &&\n node.name.text === functionName &&\n node.initializer &&\n (ts.isArrowFunction(node.initializer) || ts.isFunctionExpression(node.initializer))\n ) {\n found = node.initializer;\n return;\n }\n }\n\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n return found;\n}\n\nasync function resolveOrderedInputKeys(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle,\n language: 'javascript' | 'typescript' = 'javascript'\n): Promise<string[]> {\n const fallbackKeys = Object.keys(inputs);\n if (!functionName || executionStyle === 'ops-class' || fallbackKeys.length <= 1) {\n return fallbackKeys;\n }\n\n try {\n const ts = await getTypeScriptModule();\n const sourceFile = ts.createSourceFile(\n `runtime-input.${language === 'typescript' ? 'ts' : 'js'}`,\n code,\n ts.ScriptTarget.ES2020,\n true,\n language === 'typescript' ? ts.ScriptKind.TS : ts.ScriptKind.JS\n );\n const target = findFunctionLikeNode(ts, sourceFile, functionName, executionStyle);\n if (!target) {\n return fallbackKeys;\n }\n\n const parameterNames = collectSimpleParameterNames(ts, target);\n if (!parameterNames || parameterNames.length === 0) {\n return fallbackKeys;\n }\n\n const matchedKeys = parameterNames.filter((name) => Object.prototype.hasOwnProperty.call(inputs, name));\n if (matchedKeys.length === 0) {\n return fallbackKeys;\n }\n\n const extras = fallbackKeys.filter((key) => !matchedKeys.includes(key));\n return [...matchedKeys, ...extras];\n } catch {\n return fallbackKeys;\n }\n}\n\nfunction buildRunner(code: string, executionStyle: RuntimeExecutionStyle, argNames: string[]): DynamicRunner {\n if (executionStyle === 'function') {\n return new Function(\n 'console',\n '__functionName',\n ...argNames,\n `\"use strict\";\n${code}\nlet __target;\ntry {\n __target = eval(__functionName);\n} catch (_err) {\n __target = undefined;\n}\nif (typeof __target !== 'function') {\n throw new Error('Function \"' + __functionName + '\" not found');\n}\nreturn __target(${argNames.join(', ')});`\n ) as DynamicRunner;\n }\n\n if (executionStyle === 'solution-method') {\n return new Function(\n 'console',\n '__functionName',\n ...argNames,\n `\"use strict\";\n${code}\nif (typeof Solution !== 'function') {\n throw new Error('Class \"Solution\" not found');\n}\nconst __solver = new Solution();\nconst __method = __solver[__functionName];\nif (typeof __method !== 'function') {\n throw new Error('Method \"Solution.' + __functionName + '\" not found');\n}\nreturn __method.call(__solver, ${argNames.join(', ')});`\n ) as DynamicRunner;\n }\n\n if (executionStyle === 'ops-class') {\n return new Function(\n 'console',\n '__className',\n '__operations',\n '__arguments',\n `\"use strict\";\n${code}\nif (!Array.isArray(__operations) || !Array.isArray(__arguments)) {\n throw new Error('ops-class execution requires inputs.operations and inputs.arguments (or ops/args)');\n}\nif (__operations.length !== __arguments.length) {\n throw new Error('operations and arguments must have the same length');\n}\nlet __targetClass;\ntry {\n __targetClass = eval(__className);\n} catch (_err) {\n __targetClass = undefined;\n}\nif (typeof __targetClass !== 'function') {\n throw new Error('Class \"' + __className + '\" not found');\n}\nlet __instance = null;\nconst __out = [];\nfor (let __i = 0; __i < __operations.length; __i++) {\n const __op = __operations[__i];\n let __callArgs = __arguments[__i];\n if (__callArgs === null || __callArgs === undefined) {\n __callArgs = [];\n }\n if (!Array.isArray(__callArgs)) {\n __callArgs = [__callArgs];\n }\n if (__i === 0) {\n __instance = new __targetClass(...__callArgs);\n __out.push(null);\n continue;\n }\n if (!__instance || typeof __instance[__op] !== 'function') {\n throw new Error('Required method \"' + __op + '\" is not implemented on ' + (__className || 'target class'));\n }\n __out.push(__instance[__op](...__callArgs));\n}\nreturn __out;`\n ) as DynamicRunner;\n }\n\n throw new Error(`Execution style \"${executionStyle}\" is not supported for JavaScript runtime yet.`);\n}\n\nfunction getOpsClassInputs(inputs: Record<string, unknown>): {\n operations: unknown[] | null;\n argumentsList: unknown[] | null;\n} {\n const operations = Array.isArray(inputs.operations)\n ? inputs.operations\n : (Array.isArray(inputs.ops) ? inputs.ops : null);\n const argumentsList = Array.isArray(inputs.arguments)\n ? inputs.arguments\n : (Array.isArray(inputs.args) ? inputs.args : null);\n return { operations, argumentsList };\n}\n\nasync function transpileTypeScript(code: string): Promise<string> {\n const ts = await getTypeScriptModule();\n const transpileInput = withTypeScriptRuntimeDeclarations(code);\n const transpiled = ts.transpileModule(transpileInput, {\n compilerOptions: {\n target: ts.ScriptTarget.ES2020,\n module: ts.ModuleKind.None,\n strict: false,\n esModuleInterop: true,\n },\n reportDiagnostics: true,\n fileName: 'solution.ts',\n });\n\n const diagnostics = Array.isArray(transpiled.diagnostics) ? transpiled.diagnostics : [];\n const errors = diagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error);\n if (errors.length > 0) {\n const first = errors[0];\n const messageText = ts.flattenDiagnosticMessageText(first.messageText, '\\n');\n let lineNumber: number | undefined;\n if (first.file && typeof first.start === 'number') {\n const position = first.file.getLineAndCharacterOfPosition(first.start);\n lineNumber = position.line + 1;\n }\n const error = new Error(\n lineNumber\n ? `TypeScript transpilation failed (line ${lineNumber}): ${messageText}`\n : `TypeScript transpilation failed: ${messageText}`\n );\n if (lineNumber) {\n (error as Error & { __tracecodeLine?: number }).__tracecodeLine = lineNumber;\n }\n throw error;\n }\n\n return transpiled.outputText;\n}\n\nexport async function executeJavaScriptCode(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle = 'function',\n language: 'javascript' | 'typescript' = 'javascript'\n): Promise<CodeExecutionResult> {\n const consoleOutput: string[] = [];\n const consoleProxy = createConsoleProxy(consoleOutput);\n const normalizedInputs = normalizeInputs(inputs);\n const materializers = await resolveInputMaterializers(code, functionName, executionStyle, language);\n const materializedInputs = applyInputMaterializers(normalizedInputs, materializers);\n\n try {\n let output: unknown;\n\n if (executionStyle === 'ops-class') {\n const { operations, argumentsList } = getOpsClassInputs(materializedInputs);\n const runner = buildRunner(code, executionStyle, []);\n output = await Promise.resolve(runner(consoleProxy, functionName, operations, argumentsList));\n } else {\n const inputKeys = await resolveOrderedInputKeys(code, functionName, materializedInputs, executionStyle, language);\n const argNames = inputKeys.map((_, index) => `__arg${index}`);\n const argValues = inputKeys.map((key) => materializedInputs[key]);\n const runner = buildRunner(code, executionStyle, argNames);\n output = await Promise.resolve(runner(consoleProxy, functionName, ...argValues));\n }\n\n return {\n success: true,\n output: serializeValue(output),\n consoleOutput,\n };\n } catch (error) {\n return {\n success: false,\n output: null,\n error: error instanceof Error ? error.message : String(error),\n errorLine: extractUserErrorLine(error),\n consoleOutput,\n };\n }\n}\n\nexport async function executeJavaScriptWithTracing(\n code: string,\n functionName: string | null,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle = 'function',\n language: 'javascript' | 'typescript' = 'javascript'\n): Promise<ExecutionResult> {\n const startedAt = performanceNow();\n const codeResult = await executeJavaScriptCode(code, functionName ?? '', inputs, executionStyle, language);\n const executionTimeMs = performanceNow() - startedAt;\n\n if (!codeResult.success) {\n return {\n success: false,\n error: codeResult.error,\n errorLine: codeResult.errorLine,\n trace: [],\n executionTimeMs,\n consoleOutput: codeResult.consoleOutput ?? [],\n lineEventCount: 0,\n traceStepCount: 0,\n };\n }\n\n return {\n success: true,\n output: codeResult.output,\n trace: [],\n executionTimeMs,\n consoleOutput: codeResult.consoleOutput ?? [],\n lineEventCount: 0,\n traceStepCount: 0,\n };\n}\n\nexport async function executeTypeScriptCode(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle = 'function'\n): Promise<CodeExecutionResult> {\n const normalizedInputs = normalizeInputs(inputs);\n const materializers = await resolveInputMaterializers(code, functionName, executionStyle, 'typescript');\n const materializedInputs = applyInputMaterializers(normalizedInputs, materializers);\n const transpiledCode = await transpileTypeScript(code);\n return executeJavaScriptCode(transpiledCode, functionName, materializedInputs, executionStyle, 'typescript');\n}\n"],"mappings":"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","names":["out","line"]}
|
|
1
|
+
{"version":3,"sources":["../packages/harness-javascript/src/index.ts","../packages/harness-core/src/runtime-trace.ts","../packages/harness-javascript/src/typescript-runtime-declarations.ts","../packages/harness-javascript/src/javascript-executor.ts","../packages/harness-browser/src/runtime-capability-guards.ts","../packages/harness-browser/src/runtime-profiles.ts","../packages/harness-browser/src/javascript-runtime-client.ts","../packages/harness-browser/src/runtime-diagnostics.ts","../packages/harness-browser/src/javascript-worker-client.ts"],"sourcesContent":["export * from './javascript-executor';\nexport * from './typescript-runtime-declarations';\nexport { createJavaScriptRuntimeClient } from '../../harness-browser/src/javascript-runtime-client';\nexport {\n JavaScriptWorkerClient,\n type JavaScriptExecutionStyle,\n type JavaScriptWorkerClientOptions,\n type JavaScriptWorkerLanguage,\n} from '../../harness-browser/src/javascript-worker-client';\n","import type { Language } from './runtime-types';\n\nexport const RUNTIME_TRACE_SCHEMA_VERSION = 'runtime-trace-2026-04-28';\n\nexport type RuntimeTraceEventKind =\n | 'line'\n | 'call'\n | 'return'\n | 'read'\n | 'write'\n | 'mutate'\n | 'snapshot'\n | 'stdout'\n | 'exception'\n | 'timeout';\n\nexport type RuntimeTraceTarget =\n | { variable: string; scope?: 'local' | 'global' | 'builtin' | 'receiver' }\n | {\n variable: string;\n path: Array<string | number>;\n indexSources?: Array<string | null>;\n scope?: 'local' | 'global' | 'builtin' | 'receiver';\n }\n | { objectId: string; path?: Array<string | number>; indexSources?: Array<string | null> };\n\nexport interface RuntimeTraceCallFrame {\n function: string;\n line?: number;\n args?: Record<string, unknown> | unknown[];\n}\n\ninterface RuntimeTraceBaseEvent {\n kind: RuntimeTraceEventKind;\n runId: string;\n file?: string;\n line?: number;\n column?: number;\n frameId?: string;\n callStack?: RuntimeTraceCallFrame[];\n}\n\nexport type RuntimeTraceEvent =\n | (RuntimeTraceBaseEvent & { kind: 'line'; line: number; function?: string })\n | (RuntimeTraceBaseEvent & { kind: 'call'; line: number; function: string; args?: Record<string, unknown> | unknown[] })\n | (RuntimeTraceBaseEvent & { kind: 'return'; line: number; function?: string; value?: unknown })\n | (RuntimeTraceBaseEvent & {\n kind: 'read' | 'write';\n line: number;\n target: RuntimeTraceTarget;\n value?: unknown;\n binding?: RuntimeTraceIterationBinding;\n })\n | (RuntimeTraceBaseEvent & { kind: 'mutate'; line: number; target: RuntimeTraceTarget; method?: string; args?: unknown[] })\n | (RuntimeTraceBaseEvent & { kind: 'snapshot'; line: number; target: RuntimeTraceTarget; value: unknown })\n | (RuntimeTraceBaseEvent & { kind: 'stdout'; text: string })\n | (RuntimeTraceBaseEvent & { kind: 'exception'; message: string })\n | (RuntimeTraceBaseEvent & {\n kind: 'timeout';\n message: string;\n reason?: 'trace-limit' | 'line-limit' | 'single-line-limit' | 'client-timeout';\n });\n\nexport interface RuntimeTrace {\n schemaVersion: typeof RUNTIME_TRACE_SCHEMA_VERSION;\n language: Language;\n runId: string;\n events: RuntimeTraceEvent[];\n lineEventCount: number;\n traceStepCount: number;\n}\n\nexport interface RuntimeTraceIterationBinding {\n kind?: 'iteration';\n variable: string;\n}\n\nexport interface RuntimeTraceOptions {\n runId?: string;\n file?: string;\n}\n\nexport function createEmptyRuntimeTrace(\n language: Language,\n options: RuntimeTraceOptions = {}\n): RuntimeTrace {\n return {\n schemaVersion: RUNTIME_TRACE_SCHEMA_VERSION,\n language,\n runId: options.runId ?? `${language}:run`,\n events: [],\n lineEventCount: 0,\n traceStepCount: 0,\n };\n}\n\nexport interface RuntimeTraceParityAccessTarget {\n kind: 'read' | 'write' | 'mutate';\n variable?: string;\n pathDepth?: number;\n}\n\nexport interface RuntimeTraceParitySignature {\n lineSequence: number[];\n eventKindsByLine: Record<number, RuntimeTraceEventKind[]>;\n variableSnapshotsByLine: Record<number, string[]>;\n accessTargetsByLine: Record<number, RuntimeTraceParityAccessTarget[]>;\n callReturnShape: Array<'call' | 'return'>;\n}\n\nfunction sortedUnique(values: string[]): string[] {\n return [...new Set(values)].sort((left, right) => left.localeCompare(right));\n}\n\nfunction sortedUniqueEventKinds(values: RuntimeTraceEventKind[]): RuntimeTraceEventKind[] {\n return [...new Set(values)].sort((left, right) => left.localeCompare(right));\n}\n\nexport function withRuntimeTraceOptions(\n trace: RuntimeTrace,\n options: RuntimeTraceOptions = {}\n): RuntimeTrace {\n const runId = options.runId ?? trace.runId;\n return {\n ...trace,\n runId,\n events: trace.events.map((event) => ({\n ...event,\n runId,\n ...(options.file ? { file: options.file } : {}),\n })),\n };\n}\n\nexport function buildRuntimeTraceParitySignature(trace: RuntimeTrace): RuntimeTraceParitySignature {\n const lineSequence: number[] = [];\n const eventKindsByLine = new Map<number, RuntimeTraceEventKind[]>();\n const variableSnapshotsByLine = new Map<number, string[]>();\n const accessTargetsByLine = new Map<number, RuntimeTraceParityAccessTarget[]>();\n const callReturnShape: Array<'call' | 'return'> = [];\n\n for (const event of trace.events) {\n if (event.kind === 'line' && typeof event.line === 'number') {\n lineSequence.push(event.line);\n }\n\n if (event.kind === 'call' || event.kind === 'return') {\n callReturnShape.push(event.kind);\n }\n\n if (typeof event.line === 'number') {\n const kinds = eventKindsByLine.get(event.line) ?? [];\n kinds.push(event.kind);\n eventKindsByLine.set(event.line, kinds);\n }\n\n if (event.kind === 'snapshot' && 'variable' in event.target && typeof event.line === 'number') {\n const variables = variableSnapshotsByLine.get(event.line) ?? [];\n variables.push(event.target.variable);\n variableSnapshotsByLine.set(event.line, variables);\n }\n\n if (\n (event.kind === 'read' || event.kind === 'write' || event.kind === 'mutate') &&\n 'variable' in event.target &&\n typeof event.line === 'number'\n ) {\n const accesses = accessTargetsByLine.get(event.line) ?? [];\n accesses.push({\n kind: event.kind,\n variable: event.target.variable,\n pathDepth: 'path' in event.target && Array.isArray(event.target.path)\n ? event.target.path.length\n : undefined,\n });\n accessTargetsByLine.set(event.line, accesses);\n }\n }\n\n return {\n lineSequence,\n eventKindsByLine: Object.fromEntries(\n [...eventKindsByLine.entries()].map(([line, kinds]) => [\n line,\n sortedUniqueEventKinds(kinds),\n ])\n ),\n variableSnapshotsByLine: Object.fromEntries(\n [...variableSnapshotsByLine.entries()].map(([line, variables]) => [\n line,\n sortedUnique(variables),\n ])\n ),\n accessTargetsByLine: Object.fromEntries(\n [...accessTargetsByLine.entries()].map(([line, accesses]) => [\n line,\n accesses.sort((left, right) => {\n const leftKey = `${left.kind}:${left.variable ?? ''}:${left.pathDepth ?? 0}`;\n const rightKey = `${right.kind}:${right.variable ?? ''}:${right.pathDepth ?? 0}`;\n return leftKey.localeCompare(rightKey);\n }),\n ])\n ),\n callReturnShape,\n };\n}\n","export const TYPESCRIPT_RUNTIME_DECLARATIONS = `\ndeclare class ListNode {\n val: any;\n value: any;\n next: ListNode | SerializedListNode | SerializedRef | null;\n prev?: ListNode | SerializedListNode | SerializedRef | null;\n constructor(val?: any, next?: ListNode | null);\n}\n\ndeclare class TreeNode {\n val: any;\n value: any;\n left: TreeNode | SerializedTreeNode | SerializedRef | null;\n right: TreeNode | SerializedTreeNode | SerializedRef | null;\n constructor(val?: any, left?: TreeNode | null, right?: TreeNode | null);\n}\n\ntype SerializedRef = { __ref__: string };\n\ntype SerializedListNode = {\n __id__?: string;\n __type__?: 'ListNode';\n val?: any;\n value?: any;\n next?: SerializedListNode | SerializedRef | ListNode | null;\n prev?: SerializedListNode | SerializedRef | ListNode | null;\n};\n\ntype SerializedTreeNode = {\n __id__?: string;\n __type__?: 'TreeNode';\n val?: any;\n value?: any;\n left?: SerializedTreeNode | SerializedRef | TreeNode | null;\n right?: SerializedTreeNode | SerializedRef | TreeNode | null;\n};\n`;\n\nexport function withTypeScriptRuntimeDeclarations(sourceCode: string): string {\n return `${sourceCode}\\n\\n${TYPESCRIPT_RUNTIME_DECLARATIONS}\\n`;\n}\n","import type { RuntimeExecutionStyle } from '../../harness-core/src/runtime-types';\nimport type { CodeExecutionResult, ExecutionResult } from '../../harness-core/src/types';\nimport { createEmptyRuntimeTrace } from '../../harness-core/src/runtime-trace';\nimport { withTypeScriptRuntimeDeclarations } from './typescript-runtime-declarations';\n\ntype TypeScriptModule = typeof import('typescript');\n\nlet typeScriptModulePromise: Promise<TypeScriptModule> | null = null;\nlet javascriptLibraryPromise: Promise<JavaScriptLibraryEnvironment> | null = null;\n\ntype DynamicRunner = (...args: unknown[]) => unknown;\ntype JavaScriptLibraryEnvironment = {\n modules: Record<string, unknown>;\n globals: Record<string, unknown>;\n};\n\nasync function getTypeScriptModule(): Promise<TypeScriptModule> {\n if (!typeScriptModulePromise) {\n const specifier = 'typescript';\n typeScriptModulePromise = import(/* webpackIgnore: true */ specifier);\n }\n return typeScriptModulePromise;\n}\n\nasync function tryImportJavaScriptLibraryModule(specifier: string): Promise<unknown | undefined> {\n try {\n return await import(/* webpackIgnore: true */ specifier);\n } catch {\n return undefined;\n }\n}\n\nfunction normalizeCommonJsLikeModule(moduleValue: unknown): unknown {\n if (!moduleValue || typeof moduleValue !== 'object') return moduleValue;\n const record = moduleValue as Record<string, unknown>;\n const namedKeys = Object.keys(record).filter((key) => key !== 'default');\n if (namedKeys.length === 0 && 'default' in record) {\n return record.default;\n }\n if (record.default && typeof record.default === 'object') {\n return { ...(record.default as Record<string, unknown>), ...record };\n }\n return record;\n}\n\nfunction moduleMember(moduleValue: unknown, name: string): unknown {\n if (!moduleValue || typeof moduleValue !== 'object') return undefined;\n const record = moduleValue as Record<string, unknown>;\n return record[name];\n}\n\nasync function getJavaScriptLibraryEnvironment(): Promise<JavaScriptLibraryEnvironment> {\n if (!javascriptLibraryPromise) {\n javascriptLibraryPromise = (async () => {\n const [\n lodashModule,\n binarySearchTreeModule,\n dequeModule,\n graphModule,\n heapModule,\n linkedListModule,\n priorityQueueModule,\n queueModule,\n enhancedSetModule,\n stackModule,\n trieModule,\n ] = await Promise.all([\n tryImportJavaScriptLibraryModule('lodash'),\n tryImportJavaScriptLibraryModule('@datastructures-js/binary-search-tree'),\n tryImportJavaScriptLibraryModule('@datastructures-js/deque'),\n tryImportJavaScriptLibraryModule('@datastructures-js/graph'),\n tryImportJavaScriptLibraryModule('@datastructures-js/heap'),\n tryImportJavaScriptLibraryModule('@datastructures-js/linked-list'),\n tryImportJavaScriptLibraryModule('@datastructures-js/priority-queue'),\n tryImportJavaScriptLibraryModule('@datastructures-js/queue'),\n tryImportJavaScriptLibraryModule('@datastructures-js/set'),\n tryImportJavaScriptLibraryModule('@datastructures-js/stack'),\n tryImportJavaScriptLibraryModule('@datastructures-js/trie'),\n ]);\n const lodash = normalizeCommonJsLikeModule(lodashModule);\n const binarySearchTree = normalizeCommonJsLikeModule(binarySearchTreeModule);\n const deque = normalizeCommonJsLikeModule(dequeModule);\n const graph = normalizeCommonJsLikeModule(graphModule);\n const heap = normalizeCommonJsLikeModule(heapModule);\n const linkedList = normalizeCommonJsLikeModule(linkedListModule);\n const priorityQueue = normalizeCommonJsLikeModule(priorityQueueModule);\n const queue = normalizeCommonJsLikeModule(queueModule);\n const enhancedSet = normalizeCommonJsLikeModule(enhancedSetModule);\n const stack = normalizeCommonJsLikeModule(stackModule);\n const trie = normalizeCommonJsLikeModule(trieModule);\n\n const moduleEntries: Array<[string, unknown]> = [\n ['lodash', lodash],\n ['lodash.js', lodash],\n ['@datastructures-js/binary-search-tree', binarySearchTree],\n ['@datastructures-js/deque', deque],\n ['@datastructures-js/graph', graph],\n ['@datastructures-js/heap', heap],\n ['@datastructures-js/linked-list', linkedList],\n ['@datastructures-js/priority-queue', priorityQueue],\n ['@datastructures-js/queue', queue],\n ['@datastructures-js/set', enhancedSet],\n ['@datastructures-js/stack', stack],\n ['@datastructures-js/trie', trie],\n ].filter((entry): entry is [string, unknown] => entry[1] !== undefined);\n\n const globals: Record<string, unknown> = {\n _: lodash,\n lodash,\n Deque: moduleMember(deque, 'Deque'),\n DoublyLinkedList: moduleMember(linkedList, 'DoublyLinkedList'),\n DoublyLinkedListNode: moduleMember(linkedList, 'DoublyLinkedListNode'),\n EnhancedSet: moduleMember(enhancedSet, 'EnhancedSet'),\n Heap: moduleMember(heap, 'Heap'),\n LinkedList: moduleMember(linkedList, 'LinkedList'),\n LinkedListNode: moduleMember(linkedList, 'LinkedListNode'),\n MaxHeap: moduleMember(heap, 'MaxHeap'),\n MaxPriorityQueue: moduleMember(priorityQueue, 'MaxPriorityQueue'),\n MinHeap: moduleMember(heap, 'MinHeap'),\n MinPriorityQueue: moduleMember(priorityQueue, 'MinPriorityQueue'),\n PriorityQueue: moduleMember(priorityQueue, 'PriorityQueue'),\n Queue: moduleMember(queue, 'Queue'),\n Stack: moduleMember(stack, 'Stack'),\n };\n\n for (const [key, value] of Object.entries(globals)) {\n if (value === undefined) delete globals[key];\n }\n\n return {\n modules: Object.fromEntries(moduleEntries),\n globals,\n };\n })();\n }\n return javascriptLibraryPromise;\n}\n\nfunction installJavaScriptLibraryGlobals(environment: JavaScriptLibraryEnvironment): () => void {\n const scope = globalThis as Record<string, unknown>;\n const descriptors = new Map<string, PropertyDescriptor | undefined>();\n const previousRequire = typeof scope.require === 'function' ? scope.require as (specifier: string) => unknown : null;\n const moduleObject = { exports: {} as Record<string, unknown> };\n const requireFunction = (specifier: string): unknown => {\n if (Object.prototype.hasOwnProperty.call(environment.modules, specifier)) {\n return environment.modules[specifier];\n }\n if (previousRequire && previousRequire !== requireFunction) {\n return previousRequire(specifier);\n }\n throw new Error(`Cannot find module '${specifier}'`);\n };\n const values: Record<string, unknown> = {\n ...environment.globals,\n __TRACECODE_JAVASCRIPT_LIBRARIES__: environment.modules,\n require: requireFunction,\n module: moduleObject,\n exports: moduleObject.exports,\n };\n\n for (const [key, value] of Object.entries(values)) {\n descriptors.set(key, Object.getOwnPropertyDescriptor(globalThis, key));\n Object.defineProperty(scope, key, {\n value,\n configurable: true,\n writable: true,\n });\n }\n\n return () => {\n for (const [key, descriptor] of descriptors) {\n if (descriptor) {\n Object.defineProperty(scope, key, descriptor);\n } else {\n delete scope[key];\n }\n }\n };\n}\n\nfunction performanceNow(): number {\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n return performance.now();\n }\n return Date.now();\n}\n\nfunction formatConsoleArg(value: unknown): string {\n if (typeof value === 'string') return value;\n if (typeof value === 'number' || typeof value === 'boolean' || value === null || value === undefined) {\n return String(value);\n }\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}\n\nfunction createConsoleProxy(output: string[]): Console {\n const capture = (...args: unknown[]) => {\n output.push(args.map(formatConsoleArg).join(' '));\n };\n\n return {\n ...console,\n log: capture,\n info: capture,\n warn: capture,\n error: capture,\n debug: capture,\n };\n}\n\nfunction isLikelyTreeNodeValue(value: unknown): value is Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return false;\n const record = value as Record<string, unknown>;\n if (record.__type__ === 'TreeNode') return true;\n const ctor = (value as { constructor?: { name?: unknown } }).constructor;\n return ctor?.name === 'TreeNode';\n}\n\nfunction isLikelyListNodeValue(value: unknown): value is Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return false;\n const record = value as Record<string, unknown>;\n if (record.__type__ === 'ListNode') return true;\n const ctor = (value as { constructor?: { name?: unknown } }).constructor;\n return ctor?.name === 'ListNode';\n}\n\nfunction getCustomClassName(value: unknown): string | null {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return null;\n if (value instanceof Map || value instanceof Set) return null;\n if (isLikelyTreeNodeValue(value) || isLikelyListNodeValue(value)) return null;\n const ctor = (value as { constructor?: { name?: unknown } }).constructor;\n const name = typeof ctor?.name === 'string' ? ctor.name : '';\n if (!name || name === 'Object' || name === 'Array' || name === 'Map' || name === 'Set') {\n return null;\n }\n return name;\n}\n\nconst RUNTIME_VALUE_MAX_DEPTH = 48;\nconst RUNTIME_VALUE_MAX_ITEMS = 64;\nconst RUNTIME_VALUE_MAX_OBJECT_FIELDS = 32;\nconst TRACE_SERIALIZATION_LIMITS = { maxItems: RUNTIME_VALUE_MAX_ITEMS, maxFields: RUNTIME_VALUE_MAX_OBJECT_FIELDS };\nconst OUTPUT_SERIALIZATION_LIMITS = { maxItems: Number.POSITIVE_INFINITY, maxFields: Number.POSITIVE_INFINITY };\nlet activeSerializationLimits = TRACE_SERIALIZATION_LIMITS;\n\ntype SerializationLimits = typeof TRACE_SERIALIZATION_LIMITS;\n\nfunction truncationMarker(total: number, emitted: number): { __truncated__: true; remaining: number } {\n return { __truncated__: true, remaining: Math.max(0, total - emitted) };\n}\n\nfunction limitedEntries<T>(items: T[], maxItems: number): { values: T[]; remaining: number } {\n return {\n values: items.slice(0, maxItems),\n remaining: Math.max(0, items.length - maxItems),\n };\n}\n\nfunction serializeValue(\n value: unknown,\n depth = 0,\n seen = new WeakSet<object>(),\n nodeRefState: { ids: Map<object, string>; nextId: number } = { ids: new Map<object, string>(), nextId: 1 }\n): unknown {\n if (depth > RUNTIME_VALUE_MAX_DEPTH) return '<max depth>';\n if (value === null || value === undefined) return value;\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'bigint') {\n return Number.isSafeInteger(Number(value)) ? Number(value) : String(value);\n }\n if (typeof value === 'function') {\n return '<function>';\n }\n\n if (Array.isArray(value)) {\n const limited = limitedEntries(value, activeSerializationLimits.maxItems);\n const result = limited.values.map((item) => serializeValue(item, depth + 1, seen, nodeRefState));\n if (limited.remaining > 0) result.push(truncationMarker(value.length, limited.values.length));\n return result;\n }\n\n if (value instanceof Set) {\n const items = [...value];\n const limited = limitedEntries(items, activeSerializationLimits.maxItems);\n const result: Record<string, unknown> = {\n __type__: 'set',\n values: limited.values.map((item) => serializeValue(item, depth + 1, seen, nodeRefState)),\n };\n if (limited.remaining > 0) {\n result.__truncated__ = true;\n result.remaining = limited.remaining;\n }\n return result;\n }\n\n if (value instanceof Map) {\n const entries = [...value.entries()];\n const limited = limitedEntries(entries, activeSerializationLimits.maxItems);\n const result: Record<string, unknown> = {\n __type__: 'map',\n entries: limited.values.map(([k, v]) => [\n serializeValue(k, depth + 1, seen, nodeRefState),\n serializeValue(v, depth + 1, seen, nodeRefState),\n ]),\n };\n if (limited.remaining > 0) {\n result.__truncated__ = true;\n result.remaining = limited.remaining;\n }\n return result;\n }\n\n if (typeof value === 'object') {\n if (isLikelyTreeNodeValue(value) || isLikelyListNodeValue(value)) {\n const objectValue = value as object;\n const nodeValue = value as Record<string, unknown>;\n const existingId = nodeRefState.ids.get(objectValue);\n if (existingId) {\n return { __ref__: existingId };\n }\n\n const isTree = isLikelyTreeNodeValue(value);\n const nodeId = `ref-${nodeRefState.nextId++}`;\n nodeRefState.ids.set(objectValue, nodeId);\n\n const out: Record<string, unknown> = isTree\n ? {\n __type__: 'TreeNode',\n __id__: nodeId,\n val: serializeValue(nodeValue.val ?? nodeValue.value ?? null, depth + 1, seen, nodeRefState),\n left: serializeValue(nodeValue.left ?? null, depth + 1, seen, nodeRefState),\n right: serializeValue(nodeValue.right ?? null, depth + 1, seen, nodeRefState),\n }\n : {\n __type__: 'ListNode',\n __id__: nodeId,\n val: serializeValue(nodeValue.val ?? nodeValue.value ?? null, depth + 1, seen, nodeRefState),\n next: serializeValue(nodeValue.next ?? null, depth + 1, seen, nodeRefState),\n ...('prev' in nodeValue\n ? { prev: serializeValue(nodeValue.prev ?? null, depth + 1, seen, nodeRefState) }\n : {}),\n };\n\n const skipped = isTree\n ? new Set(['__id__', '__type__', '__class__', 'val', 'value', 'left', 'right'])\n : new Set(['__id__', '__type__', '__class__', 'val', 'value', 'next', 'prev']);\n const fields = Object.entries(nodeValue).filter(([k]) => !skipped.has(k));\n for (const [k, v] of fields.slice(0, activeSerializationLimits.maxFields)) {\n out[k] = serializeValue(v, depth + 1, seen, nodeRefState);\n }\n if (fields.length > activeSerializationLimits.maxFields) {\n out.__truncated__ = true;\n out.remaining = fields.length - activeSerializationLimits.maxFields;\n }\n return out;\n }\n\n const customClassName = getCustomClassName(value);\n if (customClassName) {\n const objectValue = value as object;\n const existingId = nodeRefState.ids.get(objectValue);\n if (existingId) {\n return { __ref__: existingId };\n }\n\n const objectId = `ref-${nodeRefState.nextId++}`;\n nodeRefState.ids.set(objectValue, objectId);\n\n if (seen.has(objectValue)) return { __ref__: objectId };\n seen.add(objectValue);\n const out: Record<string, unknown> = {\n __type__: customClassName,\n __class__: customClassName,\n __id__: objectId,\n };\n const fields = Object.entries(value as Record<string, unknown>);\n for (const [k, v] of fields.slice(0, activeSerializationLimits.maxFields)) {\n out[k] = serializeValue(v, depth + 1, seen, nodeRefState);\n }\n if (fields.length > activeSerializationLimits.maxFields) {\n out.__truncated__ = true;\n out.remaining = fields.length - activeSerializationLimits.maxFields;\n }\n seen.delete(objectValue);\n return out;\n }\n\n if (seen.has(value as object)) return '<cycle>';\n seen.add(value as object);\n const out: Record<string, unknown> = {};\n const fields = Object.entries(value as Record<string, unknown>);\n for (const [k, v] of fields.slice(0, activeSerializationLimits.maxFields)) {\n out[k] = serializeValue(v, depth + 1, seen, nodeRefState);\n }\n if (fields.length > activeSerializationLimits.maxFields) {\n out.__truncated__ = true;\n out.remaining = fields.length - activeSerializationLimits.maxFields;\n }\n seen.delete(value as object);\n return out;\n }\n\n return String(value);\n}\n\nfunction withSerializationLimits<T>(limits: SerializationLimits, serialize: () => T): T {\n const previous = activeSerializationLimits;\n activeSerializationLimits = limits;\n try {\n return serialize();\n } finally {\n activeSerializationLimits = previous;\n }\n}\n\nfunction serializeOutputValue(value: unknown): unknown {\n return withSerializationLimits(OUTPUT_SERIALIZATION_LIMITS, () => serializeValue(value));\n}\n\nfunction extractUserErrorLine(error: unknown): number | undefined {\n if (typeof error === 'object' && error && '__tracecodeLine' in error) {\n const line = Number((error as { __tracecodeLine?: unknown }).__tracecodeLine);\n if (Number.isFinite(line)) return line;\n }\n\n const stack =\n typeof error === 'object' && error && 'stack' in error\n ? String((error as { stack?: unknown }).stack ?? '')\n : '';\n if (!stack) return undefined;\n const match = stack.match(/<anonymous>:(\\d+):\\d+/);\n if (!match) return undefined;\n const line = Number.parseInt(match[1], 10);\n return Number.isFinite(line) ? line : undefined;\n}\n\nfunction isPlainObjectRecord(value: unknown): value is Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return false;\n return Object.prototype.toString.call(value) === '[object Object]';\n}\n\nfunction collectReferenceTargets(\n value: unknown,\n byId: Map<string, Record<string, unknown>>,\n seen: WeakSet<object>\n): void {\n if (value === null || value === undefined) return;\n if (typeof value !== 'object') return;\n if (seen.has(value)) return;\n seen.add(value);\n\n if (Array.isArray(value)) {\n for (const item of value) {\n collectReferenceTargets(item, byId, seen);\n }\n return;\n }\n\n if (!isPlainObjectRecord(value)) return;\n if (typeof value.__id__ === 'string' && value.__id__.length > 0 && !byId.has(value.__id__)) {\n byId.set(value.__id__, value);\n }\n\n for (const nested of Object.values(value)) {\n collectReferenceTargets(nested, byId, seen);\n }\n}\n\nfunction resolveReferenceGraph(\n value: unknown,\n byId: Map<string, Record<string, unknown>>,\n resolved: WeakMap<object, unknown>\n): unknown {\n if (value === null || value === undefined) return value;\n if (typeof value !== 'object') return value;\n\n if (resolved.has(value)) {\n return resolved.get(value);\n }\n\n if (Array.isArray(value)) {\n const out: unknown[] = [];\n resolved.set(value, out);\n for (const item of value) {\n out.push(resolveReferenceGraph(item, byId, resolved));\n }\n return out;\n }\n\n if (!isPlainObjectRecord(value)) {\n return value;\n }\n\n const keys = Object.keys(value);\n if (keys.length === 1 && typeof value.__ref__ === 'string') {\n const target = byId.get(value.__ref__);\n if (!target) return null;\n return resolveReferenceGraph(target, byId, resolved);\n }\n\n const out: Record<string, unknown> = {};\n resolved.set(value, out);\n for (const [key, nested] of Object.entries(value)) {\n out[key] = resolveReferenceGraph(nested, byId, resolved);\n }\n return out;\n}\n\nfunction cloneInputGraph(value: unknown, cloned: WeakMap<object, unknown> = new WeakMap()): unknown {\n if (value === null || value === undefined) return value;\n if (typeof value !== 'object') return value;\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n if (Array.isArray(value)) {\n const out: unknown[] = [];\n cloned.set(value, out);\n for (const item of value) {\n out.push(cloneInputGraph(item, cloned));\n }\n return out;\n }\n\n if (!isPlainObjectRecord(value)) {\n return value;\n }\n\n const out: Record<string, unknown> = {};\n cloned.set(value, out);\n for (const [key, nested] of Object.entries(value)) {\n out[key] = cloneInputGraph(nested, cloned);\n }\n return out;\n}\n\nfunction normalizeInputs(inputs: Record<string, unknown>): Record<string, unknown> {\n if (!inputs || typeof inputs !== 'object' || Array.isArray(inputs)) return {};\n const byId = new Map<string, Record<string, unknown>>();\n collectReferenceTargets(inputs, byId, new WeakSet<object>());\n if (byId.size === 0) {\n return cloneInputGraph(inputs) as Record<string, unknown>;\n }\n const hydrated = resolveReferenceGraph(inputs, byId, new WeakMap<object, unknown>());\n if (!hydrated || typeof hydrated !== 'object' || Array.isArray(hydrated)) {\n return cloneInputGraph(inputs) as Record<string, unknown>;\n }\n return hydrated as Record<string, unknown>;\n}\n\ntype InputMaterializerKind = 'tree' | 'list';\n\nfunction buildTreeNodeFromLevelOrder(values: unknown[]): Record<string, unknown> | null {\n if (!Array.isArray(values) || values.length === 0) return null;\n const firstValue = values[0];\n if (firstValue === null || firstValue === undefined) return null;\n const root: Record<string, unknown> = {\n val: firstValue,\n value: firstValue,\n left: null,\n right: null,\n };\n const queue: Record<string, unknown>[] = [root];\n let index = 1;\n\n while (queue.length > 0 && index < values.length) {\n const node = queue.shift();\n if (!node) break;\n\n const leftValue = values[index++];\n if (leftValue !== null && leftValue !== undefined) {\n const leftNode: Record<string, unknown> = {\n val: leftValue,\n value: leftValue,\n left: null,\n right: null,\n };\n node.left = leftNode;\n queue.push(leftNode);\n }\n\n if (index >= values.length) break;\n\n const rightValue = values[index++];\n if (rightValue !== null && rightValue !== undefined) {\n const rightNode: Record<string, unknown> = {\n val: rightValue,\n value: rightValue,\n left: null,\n right: null,\n };\n node.right = rightNode;\n queue.push(rightNode);\n }\n }\n return root;\n}\n\nfunction materializeTreeInput(value: unknown): unknown {\n if (value === null || value === undefined) return value;\n if (Array.isArray(value)) {\n return buildTreeNodeFromLevelOrder(value);\n }\n if (!isPlainObjectRecord(value)) {\n return value;\n }\n const record = value as Record<string, unknown>;\n if (isLikelyTreeNodeValue(record)) {\n const node: Record<string, unknown> = {\n val: record.val ?? record.value ?? null,\n value: record.val ?? record.value ?? null,\n left: materializeTreeInput(record.left ?? null),\n right: materializeTreeInput(record.right ?? null),\n };\n for (const [key, nested] of Object.entries(record)) {\n if (key === '__id__' || key === '__type__' || key === 'val' || key === 'value' || key === 'left' || key === 'right') continue;\n node[key] = materializeTreeInput(nested);\n }\n return node;\n }\n const taggedRecord = value as Record<string, unknown> & { __type__?: unknown };\n if (taggedRecord.__type__ === 'TreeNode') {\n const node: Record<string, unknown> = {\n val: taggedRecord.val ?? taggedRecord.value ?? null,\n value: taggedRecord.val ?? taggedRecord.value ?? null,\n left: materializeTreeInput(taggedRecord.left ?? null),\n right: materializeTreeInput(taggedRecord.right ?? null),\n };\n for (const [key, nested] of Object.entries(taggedRecord)) {\n if (key === '__id__' || key === '__type__' || key === 'val' || key === 'value' || key === 'left' || key === 'right') continue;\n node[key] = materializeTreeInput(nested);\n }\n return node;\n }\n return value;\n}\n\nfunction materializeListInput(\n value: unknown,\n refs: Map<string, Record<string, unknown>> = new Map(),\n materialized: WeakMap<object, Record<string, unknown>> = new WeakMap()\n): unknown {\n if (value === null || value === undefined) return value;\n if (Array.isArray(value)) {\n if (value.length === 0) return null;\n const head: Record<string, unknown> = {\n val: value[0],\n value: value[0],\n next: null,\n };\n let current: Record<string, unknown> = head;\n for (let i = 1; i < value.length; i++) {\n const nextNode: Record<string, unknown> = { val: value[i], value: value[i], next: null };\n current.next = nextNode;\n current = nextNode;\n }\n return head;\n }\n if (!isPlainObjectRecord(value)) {\n return value;\n }\n const record = value as Record<string, unknown>;\n if (typeof record.__ref__ === 'string') {\n return refs.get(record.__ref__) ?? null;\n }\n const taggedRecord = value as Record<string, unknown> & { __type__?: unknown };\n if (isLikelyListNodeValue(record) || taggedRecord.__type__ === 'ListNode') {\n const existingMaterialized = materialized.get(record as object);\n if (existingMaterialized) {\n return existingMaterialized;\n }\n const node: Record<string, unknown> = {\n val: taggedRecord.val ?? taggedRecord.value ?? null,\n value: taggedRecord.val ?? taggedRecord.value ?? null,\n next: null,\n };\n materialized.set(record as object, node);\n if (typeof taggedRecord.__id__ === 'string' && taggedRecord.__id__.length > 0) {\n refs.set(taggedRecord.__id__, node);\n }\n node.next = materializeListInput(taggedRecord.next ?? null, refs, materialized);\n for (const [key, nested] of Object.entries(taggedRecord)) {\n if (key === '__id__' || key === '__type__' || key === '__class__' || key === 'val' || key === 'value' || key === 'next') continue;\n node[key] = materializeListInput(nested, refs, materialized);\n }\n return node;\n }\n return value;\n}\n\nfunction detectMaterializerKind(\n ts: TypeScriptModule,\n typeNode: import('typescript').TypeNode | undefined\n): InputMaterializerKind | null {\n if (!typeNode) return null;\n if (ts.isParenthesizedTypeNode(typeNode)) {\n return detectMaterializerKind(ts, typeNode.type);\n }\n if (ts.isUnionTypeNode(typeNode)) {\n for (const child of typeNode.types) {\n const resolved = detectMaterializerKind(ts, child);\n if (resolved) return resolved;\n }\n return null;\n }\n if (ts.isTypeReferenceNode(typeNode)) {\n const typeNameText = typeNode.typeName.getText();\n if (typeNameText === 'TreeNode') return 'tree';\n if (typeNameText === 'ListNode') return 'list';\n return null;\n }\n return null;\n}\n\nfunction collectInputMaterializers(\n ts: TypeScriptModule,\n functionLikeNode: FunctionLikeNode\n): Record<string, InputMaterializerKind> {\n const out: Record<string, InputMaterializerKind> = {};\n for (const parameter of functionLikeNode.parameters ?? []) {\n if (!ts.isIdentifier(parameter.name)) continue;\n if (parameter.name.text === 'this') continue;\n const kind = detectMaterializerKind(ts, parameter.type);\n if (kind) {\n out[parameter.name.text] = kind;\n }\n }\n return out;\n}\n\nasync function resolveInputMaterializers(\n code: string,\n functionName: string,\n executionStyle: RuntimeExecutionStyle,\n language: 'javascript' | 'typescript'\n): Promise<Record<string, InputMaterializerKind>> {\n if (!functionName || executionStyle === 'ops-class' || language !== 'typescript') {\n return {};\n }\n\n try {\n const ts = await getTypeScriptModule();\n const sourceFile = ts.createSourceFile(\n 'runtime-input.ts',\n code,\n ts.ScriptTarget.ES2020,\n true,\n ts.ScriptKind.TS\n );\n const target = findFunctionLikeNode(ts, sourceFile, functionName, executionStyle);\n if (!target) return {};\n return collectInputMaterializers(ts, target);\n } catch {\n return {};\n }\n}\n\nfunction applyInputMaterializers(\n inputs: Record<string, unknown>,\n materializers: Record<string, InputMaterializerKind>\n): Record<string, unknown> {\n if (Object.keys(materializers).length === 0) return inputs;\n const next: Record<string, unknown> = { ...inputs };\n for (const [name, kind] of Object.entries(materializers)) {\n if (!Object.prototype.hasOwnProperty.call(next, name)) continue;\n next[name] = kind === 'tree' ? materializeTreeInput(next[name]) : materializeListInput(next[name]);\n }\n return next;\n}\n\ntype FunctionLikeNode =\n | import('typescript').FunctionDeclaration\n | import('typescript').FunctionExpression\n | import('typescript').ArrowFunction\n | import('typescript').MethodDeclaration;\n\nfunction collectSimpleParameterNames(\n ts: TypeScriptModule,\n functionLikeNode: FunctionLikeNode\n): string[] | null {\n const names: string[] = [];\n\n for (const parameter of functionLikeNode.parameters ?? []) {\n if (!ts.isIdentifier(parameter.name)) {\n return null;\n }\n if (parameter.name.text === 'this') {\n continue;\n }\n names.push(parameter.name.text);\n }\n\n return names;\n}\n\nfunction getPropertyNameText(ts: TypeScriptModule, name: import('typescript').PropertyName | undefined): string | null {\n if (!name) return null;\n if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {\n return name.text;\n }\n return null;\n}\n\nfunction findFunctionLikeNode(\n ts: TypeScriptModule,\n sourceFile: import('typescript').SourceFile,\n functionName: string,\n executionStyle: RuntimeExecutionStyle\n): FunctionLikeNode | null {\n let found: FunctionLikeNode | null = null;\n\n const visit = (node: import('typescript').Node): void => {\n if (found) return;\n\n if (executionStyle === 'solution-method' && ts.isClassDeclaration(node) && node.name?.text === 'Solution') {\n for (const member of node.members) {\n if (found) break;\n\n if (ts.isMethodDeclaration(member) && getPropertyNameText(ts, member.name) === functionName) {\n found = member;\n break;\n }\n\n if (\n ts.isPropertyDeclaration(member) &&\n getPropertyNameText(ts, member.name) === functionName &&\n member.initializer &&\n (ts.isArrowFunction(member.initializer) || ts.isFunctionExpression(member.initializer))\n ) {\n found = member.initializer;\n break;\n }\n }\n return;\n }\n\n if (executionStyle === 'function') {\n if (ts.isFunctionDeclaration(node) && node.name?.text === functionName) {\n found = node;\n return;\n }\n\n if (\n ts.isVariableDeclaration(node) &&\n ts.isIdentifier(node.name) &&\n node.name.text === functionName &&\n node.initializer &&\n (ts.isArrowFunction(node.initializer) || ts.isFunctionExpression(node.initializer))\n ) {\n found = node.initializer;\n return;\n }\n }\n\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n return found;\n}\n\nasync function resolveOrderedInputKeys(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle,\n language: 'javascript' | 'typescript' = 'javascript'\n): Promise<string[]> {\n const fallbackKeys = Object.keys(inputs);\n if (!functionName || executionStyle === 'ops-class' || fallbackKeys.length <= 1) {\n return fallbackKeys;\n }\n\n try {\n const ts = await getTypeScriptModule();\n const sourceFile = ts.createSourceFile(\n `runtime-input.${language === 'typescript' ? 'ts' : 'js'}`,\n code,\n ts.ScriptTarget.ES2020,\n true,\n language === 'typescript' ? ts.ScriptKind.TS : ts.ScriptKind.JS\n );\n const target = findFunctionLikeNode(ts, sourceFile, functionName, executionStyle);\n if (!target) {\n return fallbackKeys;\n }\n\n const parameterNames = collectSimpleParameterNames(ts, target);\n if (!parameterNames || parameterNames.length === 0) {\n return fallbackKeys;\n }\n\n const matchedKeys = parameterNames.filter((name) => Object.prototype.hasOwnProperty.call(inputs, name));\n if (matchedKeys.length === 0) {\n return fallbackKeys;\n }\n\n const extras = fallbackKeys.filter((key) => !matchedKeys.includes(key));\n return [...matchedKeys, ...extras];\n } catch {\n return fallbackKeys;\n }\n}\n\nfunction buildRunner(code: string, executionStyle: RuntimeExecutionStyle, argNames: string[]): DynamicRunner {\n if (executionStyle === 'function') {\n return new Function(\n 'console',\n '__functionName',\n ...argNames,\n `\"use strict\";\n${code}\nlet __target;\ntry {\n __target = eval(__functionName);\n} catch (_err) {\n __target = undefined;\n}\nif (typeof __target !== 'function') {\n throw new Error('Function \"' + __functionName + '\" not found');\n}\nreturn __target(${argNames.join(', ')});`\n ) as DynamicRunner;\n }\n\n if (executionStyle === 'solution-method') {\n return new Function(\n 'console',\n '__functionName',\n ...argNames,\n `\"use strict\";\n${code}\nif (typeof Solution !== 'function') {\n throw new Error('Class \"Solution\" not found');\n}\nconst __solver = new Solution();\nconst __method = __solver[__functionName];\nif (typeof __method !== 'function') {\n throw new Error('Method \"Solution.' + __functionName + '\" not found');\n}\nreturn __method.call(__solver, ${argNames.join(', ')});`\n ) as DynamicRunner;\n }\n\n if (executionStyle === 'ops-class') {\n return new Function(\n 'console',\n '__className',\n '__operations',\n '__arguments',\n `\"use strict\";\n${code}\nif (!Array.isArray(__operations) || !Array.isArray(__arguments)) {\n throw new Error('ops-class execution requires inputs.operations and inputs.arguments (or ops/args)');\n}\nif (__operations.length !== __arguments.length) {\n throw new Error('operations and arguments must have the same length');\n}\nlet __targetClass;\ntry {\n __targetClass = eval(__className);\n} catch (_err) {\n __targetClass = undefined;\n}\nif (typeof __targetClass !== 'function') {\n throw new Error('Class \"' + __className + '\" not found');\n}\nlet __instance = null;\nconst __out = [];\nfor (let __i = 0; __i < __operations.length; __i++) {\n const __op = __operations[__i];\n let __callArgs = __arguments[__i];\n if (__callArgs === null || __callArgs === undefined) {\n __callArgs = [];\n }\n if (!Array.isArray(__callArgs)) {\n __callArgs = [__callArgs];\n }\n if (__i === 0) {\n __instance = new __targetClass(...__callArgs);\n __out.push(null);\n continue;\n }\n if (!__instance || typeof __instance[__op] !== 'function') {\n throw new Error('Required method \"' + __op + '\" is not implemented on ' + (__className || 'target class'));\n }\n __out.push(__instance[__op](...__callArgs));\n}\nreturn __out;`\n ) as DynamicRunner;\n }\n\n throw new Error(`Execution style \"${executionStyle}\" is not supported for JavaScript runtime yet.`);\n}\n\nfunction getOpsClassInputs(inputs: Record<string, unknown>): {\n operations: unknown[] | null;\n argumentsList: unknown[] | null;\n} {\n const operations = Array.isArray(inputs.operations)\n ? inputs.operations\n : (Array.isArray(inputs.ops) ? inputs.ops : null);\n const argumentsList = Array.isArray(inputs.arguments)\n ? inputs.arguments\n : (Array.isArray(inputs.args) ? inputs.args : null);\n return { operations, argumentsList };\n}\n\nasync function transpileTypeScript(code: string): Promise<string> {\n const ts = await getTypeScriptModule();\n const transpileInput = withTypeScriptRuntimeDeclarations(code);\n const transpiled = ts.transpileModule(transpileInput, {\n compilerOptions: {\n target: ts.ScriptTarget.ES2020,\n module: ts.ModuleKind.None,\n strict: false,\n esModuleInterop: true,\n },\n reportDiagnostics: true,\n fileName: 'solution.ts',\n });\n\n const diagnostics = Array.isArray(transpiled.diagnostics) ? transpiled.diagnostics : [];\n const errors = diagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error);\n if (errors.length > 0) {\n const first = errors[0];\n const messageText = ts.flattenDiagnosticMessageText(first.messageText, '\\n');\n let lineNumber: number | undefined;\n if (first.file && typeof first.start === 'number') {\n const position = first.file.getLineAndCharacterOfPosition(first.start);\n lineNumber = position.line + 1;\n }\n const error = new Error(\n lineNumber\n ? `TypeScript transpilation failed (line ${lineNumber}): ${messageText}`\n : `TypeScript transpilation failed: ${messageText}`\n );\n if (lineNumber) {\n (error as Error & { __tracecodeLine?: number }).__tracecodeLine = lineNumber;\n }\n throw error;\n }\n\n return transpiled.outputText;\n}\n\nexport async function executeJavaScriptCode(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle = 'function',\n language: 'javascript' | 'typescript' = 'javascript'\n): Promise<CodeExecutionResult> {\n const consoleOutput: string[] = [];\n const consoleProxy = createConsoleProxy(consoleOutput);\n const normalizedInputs = normalizeInputs(inputs);\n const materializers = await resolveInputMaterializers(code, functionName, executionStyle, language);\n const materializedInputs = applyInputMaterializers(normalizedInputs, materializers);\n const javascriptLibraryEnvironment = await getJavaScriptLibraryEnvironment();\n const restoreJavaScriptLibraryGlobals = installJavaScriptLibraryGlobals(javascriptLibraryEnvironment);\n\n try {\n let output: unknown;\n\n if (executionStyle === 'ops-class') {\n const { operations, argumentsList } = getOpsClassInputs(materializedInputs);\n const runner = buildRunner(code, executionStyle, []);\n output = await Promise.resolve(runner(consoleProxy, functionName, operations, argumentsList));\n } else {\n const inputKeys = await resolveOrderedInputKeys(code, functionName, materializedInputs, executionStyle, language);\n const argNames = inputKeys.map((_, index) => `__arg${index}`);\n const argValues = inputKeys.map((key) => materializedInputs[key]);\n const runner = buildRunner(code, executionStyle, argNames);\n output = await Promise.resolve(runner(consoleProxy, functionName, ...argValues));\n }\n\n return {\n success: true,\n output: serializeOutputValue(output),\n consoleOutput,\n };\n } catch (error) {\n return {\n success: false,\n output: null,\n error: error instanceof Error ? error.message : String(error),\n errorLine: extractUserErrorLine(error),\n consoleOutput,\n };\n } finally {\n restoreJavaScriptLibraryGlobals();\n }\n}\n\nexport async function executeJavaScriptWithTracing(\n code: string,\n functionName: string | null,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle = 'function',\n language: 'javascript' | 'typescript' = 'javascript'\n): Promise<ExecutionResult> {\n const startedAt = performanceNow();\n const codeResult = await executeJavaScriptCode(code, functionName ?? '', inputs, executionStyle, language);\n const executionTimeMs = performanceNow() - startedAt;\n\n if (!codeResult.success) {\n return {\n success: false,\n error: codeResult.error,\n errorLine: codeResult.errorLine,\n trace: createEmptyRuntimeTrace(language),\n executionTimeMs,\n consoleOutput: codeResult.consoleOutput ?? [],\n lineEventCount: 0,\n traceStepCount: 0,\n };\n }\n\n return {\n success: true,\n output: codeResult.output,\n trace: createEmptyRuntimeTrace(language),\n executionTimeMs,\n consoleOutput: codeResult.consoleOutput ?? [],\n lineEventCount: 0,\n traceStepCount: 0,\n };\n}\n\nexport async function executeTypeScriptCode(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle = 'function'\n): Promise<CodeExecutionResult> {\n const normalizedInputs = normalizeInputs(inputs);\n const materializers = await resolveInputMaterializers(code, functionName, executionStyle, 'typescript');\n const materializedInputs = applyInputMaterializers(normalizedInputs, materializers);\n const transpiledCode = await transpileTypeScript(code);\n return executeJavaScriptCode(transpiledCode, functionName, materializedInputs, executionStyle, 'typescript');\n}\n","import type {\n LanguageRuntimeProfile,\n RuntimeExecutionStyle,\n} from '../../harness-core/src/runtime-types';\n\ntype RuntimeRequestKind = 'execute' | 'trace' | 'interview';\n\ninterface RuntimeRequestSupportOptions {\n request: RuntimeRequestKind;\n executionStyle: RuntimeExecutionStyle;\n functionName?: string | null;\n}\n\nfunction isScriptRequest(functionName: string | null | undefined): boolean {\n if (functionName == null) return true;\n return functionName.trim().length === 0;\n}\n\nfunction executionStyleLabel(executionStyle: RuntimeExecutionStyle): string {\n if (executionStyle === 'solution-method') return 'solution-method';\n if (executionStyle === 'ops-class') return 'ops-class';\n return 'function';\n}\n\nfunction isExecutionStyleSupported(\n profile: LanguageRuntimeProfile,\n executionStyle: RuntimeExecutionStyle\n): boolean {\n const styles = profile.capabilities.execution.styles;\n if (executionStyle === 'solution-method') return styles.solutionMethod;\n if (executionStyle === 'ops-class') return styles.opsClass;\n return styles.function;\n}\n\nfunction describeRequest(request: RuntimeRequestKind): string {\n if (request === 'trace') return 'tracing';\n if (request === 'interview') return 'interview execution';\n return 'execution';\n}\n\nexport function assertRuntimeRequestSupported(\n profile: LanguageRuntimeProfile,\n options: RuntimeRequestSupportOptions\n): void {\n if (options.request === 'trace' && !profile.capabilities.tracing.supported) {\n throw new Error(`Runtime \"${profile.language}\" does not support tracing.`);\n }\n\n if (options.request === 'interview' && !profile.capabilities.execution.styles.interviewMode) {\n throw new Error(`Runtime \"${profile.language}\" does not support interview execution.`);\n }\n\n if (!isExecutionStyleSupported(profile, options.executionStyle)) {\n throw new Error(\n `Runtime \"${profile.language}\" does not support execution style \"${executionStyleLabel(options.executionStyle)}\".`\n );\n }\n\n if (isScriptRequest(options.functionName) && !profile.capabilities.execution.styles.script) {\n throw new Error(`Runtime \"${profile.language}\" does not support script mode ${describeRequest(options.request)}.`);\n }\n}\n","import type { Language, LanguageRuntimeProfile } from '../../harness-core/src/runtime-types';\n\nconst PYTHON_RUNTIME_PROFILE: LanguageRuntimeProfile = {\n language: 'python',\n maturity: 'stable',\n capabilities: {\n execution: {\n styles: {\n function: true,\n solutionMethod: true,\n opsClass: true,\n script: true,\n interviewMode: true,\n },\n timeouts: {\n clientTimeouts: true,\n runtimeTimeouts: true,\n },\n },\n tracing: {\n supported: true,\n events: {\n line: true,\n call: true,\n return: true,\n exception: true,\n stdout: true,\n timeout: true,\n },\n controls: {\n maxTraceSteps: true,\n maxLineEvents: true,\n maxSingleLineHits: true,\n maxStoredEvents: true,\n minimalTrace: true,\n },\n fidelity: {\n preciseLineMapping: true,\n stableFunctionNames: true,\n callStack: true,\n },\n },\n diagnostics: {\n compileErrors: false,\n runtimeErrors: true,\n mappedErrorLines: true,\n stackTraces: false,\n },\n structures: {\n treeNodeRefs: true,\n listNodeRefs: true,\n mapSerialization: true,\n setSerialization: true,\n graphSerialization: true,\n cycleReferences: true,\n },\n },\n};\n\nconst JAVASCRIPT_RUNTIME_PROFILE: LanguageRuntimeProfile = {\n language: 'javascript',\n maturity: 'stable',\n capabilities: {\n execution: {\n styles: {\n function: true,\n solutionMethod: true,\n opsClass: true,\n script: true,\n interviewMode: true,\n },\n timeouts: {\n clientTimeouts: true,\n runtimeTimeouts: false,\n },\n },\n tracing: {\n supported: true,\n events: {\n line: true,\n call: true,\n return: true,\n exception: true,\n stdout: false,\n timeout: true,\n },\n controls: {\n maxTraceSteps: true,\n maxLineEvents: true,\n maxSingleLineHits: true,\n maxStoredEvents: true,\n minimalTrace: true,\n },\n fidelity: {\n preciseLineMapping: true,\n stableFunctionNames: true,\n callStack: true,\n },\n },\n diagnostics: {\n compileErrors: false,\n runtimeErrors: true,\n mappedErrorLines: false,\n stackTraces: false,\n },\n structures: {\n treeNodeRefs: true,\n listNodeRefs: true,\n mapSerialization: true,\n setSerialization: true,\n graphSerialization: true,\n cycleReferences: true,\n },\n },\n};\n\nconst TYPESCRIPT_RUNTIME_PROFILE: LanguageRuntimeProfile = {\n language: 'typescript',\n maturity: 'stable',\n capabilities: {\n execution: {\n styles: {\n function: true,\n solutionMethod: true,\n opsClass: true,\n script: true,\n interviewMode: true,\n },\n timeouts: {\n clientTimeouts: true,\n runtimeTimeouts: false,\n },\n },\n tracing: {\n supported: true,\n events: {\n line: true,\n call: true,\n return: true,\n exception: true,\n stdout: false,\n timeout: true,\n },\n controls: {\n maxTraceSteps: true,\n maxLineEvents: true,\n maxSingleLineHits: true,\n maxStoredEvents: true,\n minimalTrace: true,\n },\n fidelity: {\n preciseLineMapping: true,\n stableFunctionNames: true,\n callStack: true,\n },\n },\n diagnostics: {\n compileErrors: true,\n runtimeErrors: true,\n mappedErrorLines: true,\n stackTraces: false,\n },\n structures: {\n treeNodeRefs: true,\n listNodeRefs: true,\n mapSerialization: true,\n setSerialization: true,\n graphSerialization: true,\n cycleReferences: true,\n },\n },\n};\n\nconst JAVA_RUNTIME_PROFILE: LanguageRuntimeProfile = {\n language: 'java',\n maturity: 'experimental',\n capabilities: {\n execution: {\n styles: {\n function: true,\n solutionMethod: true,\n opsClass: true,\n script: true,\n interviewMode: true,\n },\n timeouts: {\n clientTimeouts: true,\n runtimeTimeouts: true,\n },\n },\n tracing: {\n supported: true,\n events: {\n line: true,\n call: true,\n return: true,\n exception: true,\n stdout: false,\n timeout: true,\n },\n controls: {\n maxTraceSteps: true,\n maxLineEvents: false,\n maxSingleLineHits: false,\n maxStoredEvents: true,\n minimalTrace: false,\n },\n fidelity: {\n preciseLineMapping: true,\n stableFunctionNames: true,\n callStack: true,\n },\n },\n diagnostics: {\n compileErrors: true,\n runtimeErrors: true,\n mappedErrorLines: false,\n stackTraces: true,\n },\n structures: {\n treeNodeRefs: true,\n listNodeRefs: true,\n mapSerialization: true,\n setSerialization: true,\n graphSerialization: false,\n cycleReferences: true,\n },\n },\n notes: [\n 'Java currently supports the browser-local Java 17 lane for function, solution-method, ops-class, and script-style execution.',\n 'Interview-mode Java reuses the same browser-local execution path and remains experimental.',\n 'Script-style Java uses an empty function name with executionStyle=\"function\" and reads the top-level result variable.',\n ],\n};\n\nconst CSHARP_RUNTIME_PROFILE: LanguageRuntimeProfile = {\n language: 'csharp',\n maturity: 'experimental',\n capabilities: {\n execution: {\n styles: {\n function: true,\n solutionMethod: true,\n opsClass: true,\n script: true,\n interviewMode: true,\n },\n timeouts: {\n clientTimeouts: true,\n runtimeTimeouts: true,\n },\n },\n tracing: {\n supported: true,\n events: {\n line: true,\n call: true,\n return: true,\n exception: true,\n stdout: true,\n timeout: true,\n },\n controls: {\n maxTraceSteps: true,\n maxLineEvents: true,\n maxSingleLineHits: true,\n maxStoredEvents: true,\n minimalTrace: true,\n },\n fidelity: {\n preciseLineMapping: true,\n stableFunctionNames: true,\n callStack: true,\n },\n },\n diagnostics: {\n compileErrors: true,\n runtimeErrors: true,\n mappedErrorLines: true,\n stackTraces: false,\n },\n structures: {\n treeNodeRefs: true,\n listNodeRefs: true,\n mapSerialization: true,\n setSerialization: true,\n graphSerialization: true,\n cycleReferences: true,\n },\n },\n notes: [\n 'C# support is browser-local and experimental.',\n 'C# supports named function-style requests where the browser-local host can bind the named method.',\n 'Script-style C# uses an empty function name with executionStyle=\"function\" and reads the top-level result variable.',\n 'Interview-mode C# uses the same browser-local worker execution path with interview timeout normalization.',\n 'The first C# slice supports public class Solution methods.',\n 'ListNode and TreeNode inputs are hydrated from level-order arrays or object-shaped JSON.',\n 'Dictionary, HashSet, List, and array return values serialize through the browser-local worker.',\n 'Tracing currently supports line, call, return, stdout, and simple local variable write events.',\n 'Structural visualization is added after execution and diagnostics are proven.',\n ],\n};\n\nconst CPP_RUNTIME_PROFILE: LanguageRuntimeProfile = {\n language: 'cpp',\n maturity: 'experimental',\n capabilities: {\n execution: {\n styles: {\n function: true,\n solutionMethod: true,\n opsClass: true,\n script: true,\n interviewMode: true,\n },\n timeouts: {\n clientTimeouts: true,\n runtimeTimeouts: true,\n },\n },\n tracing: {\n supported: true,\n events: {\n line: true,\n call: true,\n return: true,\n exception: true,\n stdout: true,\n timeout: true,\n },\n controls: {\n maxTraceSteps: true,\n maxLineEvents: true,\n maxSingleLineHits: true,\n maxStoredEvents: true,\n minimalTrace: true,\n },\n fidelity: {\n preciseLineMapping: true,\n stableFunctionNames: true,\n callStack: true,\n },\n },\n diagnostics: {\n compileErrors: true,\n runtimeErrors: true,\n mappedErrorLines: true,\n stackTraces: false,\n },\n structures: {\n treeNodeRefs: true,\n listNodeRefs: true,\n mapSerialization: true,\n setSerialization: true,\n graphSerialization: true,\n cycleReferences: true,\n },\n },\n notes: [\n 'C++ uses a focused browser-local Clang/LLD/WASI compiler lane with TraceCode-owned execution glue.',\n 'The runtime intentionally does not depend on a generic multi-language container/runtime SDK.',\n 'Script-style C++ uses an empty function name with executionStyle=\"function\"; the snippet must assign a serializable result variable.',\n 'Interview-mode C++ reuses the tracing compiler path with a trace budget and returns a non-trace execution result.',\n ],\n};\n\nexport const LANGUAGE_RUNTIME_PROFILES: Record<Language, LanguageRuntimeProfile> = {\n python: PYTHON_RUNTIME_PROFILE,\n javascript: JAVASCRIPT_RUNTIME_PROFILE,\n typescript: TYPESCRIPT_RUNTIME_PROFILE,\n java: JAVA_RUNTIME_PROFILE,\n csharp: CSHARP_RUNTIME_PROFILE,\n cpp: CPP_RUNTIME_PROFILE,\n};\n\nexport const SUPPORTED_LANGUAGES: readonly Language[] = Object.freeze(\n Object.keys(LANGUAGE_RUNTIME_PROFILES) as Language[]\n);\n\nexport function getLanguageRuntimeProfile(language: Language): LanguageRuntimeProfile {\n const profile = LANGUAGE_RUNTIME_PROFILES[language];\n if (!profile) {\n throw new Error(`Runtime profile for language \"${language}\" is not implemented yet.`);\n }\n return profile;\n}\n\nexport function getSupportedLanguageProfiles(): readonly LanguageRuntimeProfile[] {\n return SUPPORTED_LANGUAGES.map((language) => LANGUAGE_RUNTIME_PROFILES[language]);\n}\n\nexport function isLanguageSupported(language: Language): boolean {\n return SUPPORTED_LANGUAGES.includes(language);\n}\n","import {\n type JavaScriptExecutionStyle,\n type JavaScriptWorkerLanguage,\n type JavaScriptWorkerClient,\n} from './javascript-worker-client';\nimport type {\n RuntimeClient,\n RuntimeExecutionStyle,\n TraceExecutionOptions,\n} from '../../harness-core/src/runtime-types';\nimport type { CodeExecutionResult, ExecutionResult } from '../../harness-core/src/types';\nimport { assertRuntimeRequestSupported } from './runtime-capability-guards';\nimport { getLanguageRuntimeProfile } from './runtime-profiles';\n\nclass JavaScriptRuntimeClient implements RuntimeClient {\n constructor(\n private readonly runtimeLanguage: JavaScriptWorkerLanguage,\n private readonly workerClient: JavaScriptWorkerClient\n ) {}\n\n async init(): Promise<{ success: boolean; loadTimeMs: number }> {\n return this.workerClient.init();\n }\n\n async executeWithTracing(\n code: string,\n functionName: string | null,\n inputs: Record<string, unknown>,\n options?: TraceExecutionOptions,\n executionStyle: RuntimeExecutionStyle = 'function'\n ): Promise<ExecutionResult> {\n assertRuntimeRequestSupported(getLanguageRuntimeProfile(this.runtimeLanguage), {\n request: 'trace',\n executionStyle,\n functionName,\n });\n return this.workerClient.executeWithTracing(\n code,\n functionName,\n inputs,\n options,\n executionStyle as JavaScriptExecutionStyle,\n this.runtimeLanguage\n );\n }\n\n async executeCode(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle = 'function'\n ): Promise<CodeExecutionResult> {\n assertRuntimeRequestSupported(getLanguageRuntimeProfile(this.runtimeLanguage), {\n request: 'execute',\n executionStyle,\n functionName,\n });\n return this.workerClient.executeCode(\n code,\n functionName,\n inputs,\n executionStyle as JavaScriptExecutionStyle,\n this.runtimeLanguage\n );\n }\n\n async executeCodeInterviewMode(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: RuntimeExecutionStyle = 'function'\n ): Promise<CodeExecutionResult> {\n assertRuntimeRequestSupported(getLanguageRuntimeProfile(this.runtimeLanguage), {\n request: 'interview',\n executionStyle,\n functionName,\n });\n return this.workerClient.executeCodeInterviewMode(\n code,\n functionName,\n inputs,\n executionStyle as JavaScriptExecutionStyle,\n this.runtimeLanguage\n );\n }\n}\n\nexport function createJavaScriptRuntimeClient(\n runtimeLanguage: JavaScriptWorkerLanguage,\n workerClient: JavaScriptWorkerClient\n): RuntimeClient {\n return new JavaScriptRuntimeClient(runtimeLanguage, workerClient);\n}\n","export type RuntimeDiagnosticLevel = 'debug' | 'info' | 'warn' | 'error';\n\nexport interface RuntimeDiagnosticEvent {\n schema: 'tracecode.runtime-diagnostic.v1';\n source: 'harness';\n component: string;\n runtime?: string;\n phase: string;\n message: string;\n detail?: unknown;\n}\n\nconst CONSOLE_METHOD_BY_LEVEL: Record<RuntimeDiagnosticLevel, 'debug' | 'info' | 'warn' | 'error'> = {\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n};\n\nexport function runtimeDiagnosticEvent(params: Omit<RuntimeDiagnosticEvent, 'schema' | 'source'>): RuntimeDiagnosticEvent {\n return {\n schema: 'tracecode.runtime-diagnostic.v1',\n source: 'harness',\n ...params,\n };\n}\n\nexport function logRuntimeDiagnostic(\n level: RuntimeDiagnosticLevel,\n params: Omit<RuntimeDiagnosticEvent, 'schema' | 'source'>,\n options: { enabled?: boolean } = {}\n): void {\n if (options.enabled === false && level !== 'error') {\n return;\n }\n\n const method = CONSOLE_METHOD_BY_LEVEL[level] ?? 'info';\n console[method]('[TraceRuntime]', runtimeDiagnosticEvent(params));\n}\n","import type { CodeExecutionResult, ExecutionResult } from '../../harness-core/src/types';\nimport { logRuntimeDiagnostic } from './runtime-diagnostics';\n\ntype MessageId = string;\nexport type JavaScriptExecutionStyle = 'function' | 'solution-method' | 'ops-class';\nexport type JavaScriptWorkerLanguage = 'javascript' | 'typescript';\n\nexport interface JavaScriptWorkerClientOptions {\n workerUrl: string;\n debug?: boolean;\n}\n\ninterface PendingMessage {\n resolve: (value: unknown) => void;\n reject: (error: Error) => void;\n timeoutId?: ReturnType<typeof setTimeout>;\n}\n\ninterface WorkerMessage {\n id?: MessageId;\n type: string;\n payload?: unknown;\n}\n\ninterface InitResult {\n success: boolean;\n loadTimeMs: number;\n}\n\ninterface WarmupResult {\n success: boolean;\n loadTimeMs: number;\n}\n\nconst EXECUTION_TIMEOUT_MS = 20000;\nconst INTERVIEW_MODE_TIMEOUT_MS = 5000;\nconst TRACING_TIMEOUT_MS = 20000;\nconst INIT_TIMEOUT_MS = 10000;\nconst TYPESCRIPT_WARMUP_TIMEOUT_MS = 30000;\nconst MESSAGE_TIMEOUT_MS = 12000;\nconst WORKER_READY_TIMEOUT_MS = 10000;\n\nexport class JavaScriptWorkerClient {\n private worker: Worker | null = null;\n private pendingMessages = new Map<MessageId, PendingMessage>();\n private messageId = 0;\n private isInitializing = false;\n private initPromise: Promise<InitResult> | null = null;\n private warmupPromises = new Map<JavaScriptWorkerLanguage, Promise<WarmupResult>>();\n private workerReadyPromise: Promise<void> | null = null;\n private workerReadyResolve: (() => void) | null = null;\n private workerReadyReject: ((error: Error) => void) | null = null;\n private readonly debug: boolean;\n\n constructor(private readonly options: JavaScriptWorkerClientOptions) {\n this.debug = options.debug ?? process.env.NODE_ENV === 'development';\n }\n\n isSupported(): boolean {\n return typeof Worker !== 'undefined';\n }\n\n private getWorker(): Worker {\n if (this.worker) return this.worker;\n\n if (!this.isSupported()) {\n throw new Error('Web Workers are not supported in this environment');\n }\n\n this.workerReadyPromise = new Promise((resolve, reject) => {\n this.workerReadyResolve = resolve;\n this.workerReadyReject = (error: Error) => reject(error);\n });\n\n const workerUrl =\n this.debug && !this.options.workerUrl.includes('?')\n ? `${this.options.workerUrl}?dev=${Date.now()}`\n : this.options.workerUrl;\n this.worker = new Worker(workerUrl);\n\n this.worker.onmessage = (event: MessageEvent<WorkerMessage>) => {\n const { id, type, payload } = event.data;\n\n if (type === 'worker-ready') {\n this.workerReadyResolve?.();\n this.workerReadyResolve = null;\n this.workerReadyReject = null;\n logRuntimeDiagnostic('info', {\n component: 'JavaScriptWorkerClient',\n runtime: 'javascript',\n phase: 'worker-ready',\n message: 'JavaScript worker is ready.',\n }, { enabled: this.debug });\n return;\n }\n\n if (id) {\n const pending = this.pendingMessages.get(id);\n if (!pending) return;\n\n this.pendingMessages.delete(id);\n if (pending.timeoutId) globalThis.clearTimeout(pending.timeoutId);\n\n if (type === 'error') {\n pending.reject(new Error((payload as { error: string }).error));\n return;\n }\n\n pending.resolve(payload);\n }\n };\n\n this.worker.onerror = (error) => {\n logRuntimeDiagnostic('error', {\n component: 'JavaScriptWorkerClient',\n runtime: 'javascript',\n phase: 'worker-error',\n message: 'JavaScript worker emitted an error event.',\n detail: {\n message: error.message,\n filename: error.filename,\n lineno: error.lineno,\n colno: error.colno,\n },\n });\n const workerError = new Error('Worker error');\n this.workerReadyReject?.(workerError);\n this.workerReadyResolve = null;\n this.workerReadyReject = null;\n\n for (const [id, pending] of this.pendingMessages) {\n if (pending.timeoutId) globalThis.clearTimeout(pending.timeoutId);\n pending.reject(workerError);\n this.pendingMessages.delete(id);\n }\n };\n\n return this.worker;\n }\n\n private async waitForWorkerReady(): Promise<void> {\n const readyPromise = this.workerReadyPromise;\n if (!readyPromise) return;\n\n await new Promise<void>((resolve, reject) => {\n let settled = false;\n\n const timeoutId = globalThis.setTimeout(() => {\n if (settled) return;\n settled = true;\n const timeoutError = new Error(\n `JavaScript worker failed to initialize in time (${Math.round(WORKER_READY_TIMEOUT_MS / 1000)}s)`\n );\n this.terminateAndReset(timeoutError);\n reject(timeoutError);\n }, WORKER_READY_TIMEOUT_MS);\n\n readyPromise\n .then(() => {\n if (settled) return;\n settled = true;\n globalThis.clearTimeout(timeoutId);\n resolve();\n })\n .catch((error) => {\n if (settled) return;\n settled = true;\n globalThis.clearTimeout(timeoutId);\n reject(error instanceof Error ? error : new Error(String(error)));\n });\n });\n }\n\n private async sendMessage<T>(\n type: string,\n payload?: unknown,\n timeoutMs: number = MESSAGE_TIMEOUT_MS\n ): Promise<T> {\n const worker = this.getWorker();\n await this.waitForWorkerReady();\n const id = String(++this.messageId);\n\n return new Promise<T>((resolve, reject) => {\n this.pendingMessages.set(id, {\n resolve: resolve as (value: unknown) => void,\n reject,\n });\n\n const timeoutId = globalThis.setTimeout(() => {\n const pending = this.pendingMessages.get(id);\n if (!pending) return;\n this.pendingMessages.delete(id);\n pending.reject(new Error(`Worker request timed out: ${type}`));\n }, timeoutMs);\n\n const pending = this.pendingMessages.get(id);\n if (pending) pending.timeoutId = timeoutId;\n\n worker.postMessage({ id, type, payload });\n });\n }\n\n private async executeWithTimeout<T>(executor: () => Promise<T>, timeoutMs: number): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n let settled = false;\n\n const timeoutId = globalThis.setTimeout(() => {\n if (settled) return;\n settled = true;\n this.terminateAndReset();\n reject(\n new Error(\n `Execution timed out (possible infinite loop). Code execution was stopped after ${Math.round(timeoutMs / 1000)} seconds.`\n )\n );\n }, timeoutMs);\n\n executor()\n .then((result) => {\n if (settled) return;\n settled = true;\n globalThis.clearTimeout(timeoutId);\n resolve(result);\n })\n .catch((error) => {\n if (settled) return;\n settled = true;\n globalThis.clearTimeout(timeoutId);\n reject(error);\n });\n });\n }\n\n private terminateAndReset(reason: Error = new Error('Worker was terminated')): void {\n this.workerReadyReject?.(reason);\n if (this.worker) {\n this.worker.terminate();\n this.worker = null;\n }\n this.initPromise = null;\n this.warmupPromises.clear();\n this.isInitializing = false;\n this.workerReadyPromise = null;\n this.workerReadyResolve = null;\n this.workerReadyReject = null;\n\n for (const [, pending] of this.pendingMessages) {\n if (pending.timeoutId) globalThis.clearTimeout(pending.timeoutId);\n pending.reject(reason);\n }\n this.pendingMessages.clear();\n }\n\n async init(): Promise<InitResult> {\n if (this.initPromise) return this.initPromise;\n\n if (this.isInitializing) {\n await new Promise((resolve) => globalThis.setTimeout(resolve, 100));\n return this.init();\n }\n\n this.isInitializing = true;\n this.initPromise = this.sendMessage<InitResult>('init', undefined, INIT_TIMEOUT_MS);\n\n try {\n return await this.initPromise;\n } catch (error) {\n this.initPromise = null;\n throw error;\n } finally {\n this.isInitializing = false;\n }\n }\n\n async warmup(language: JavaScriptWorkerLanguage = 'javascript'): Promise<WarmupResult> {\n const existing = this.warmupPromises.get(language);\n if (existing) return existing;\n\n const warmupPromise = (async () => {\n await this.init();\n return this.sendMessage<WarmupResult>(\n 'warmup',\n { language },\n language === 'typescript' ? TYPESCRIPT_WARMUP_TIMEOUT_MS : INIT_TIMEOUT_MS\n );\n })();\n\n this.warmupPromises.set(language, warmupPromise);\n\n try {\n return await warmupPromise;\n } catch (error) {\n this.warmupPromises.delete(language);\n throw error;\n }\n }\n\n async executeWithTracing(\n code: string,\n functionName: string | null,\n inputs: Record<string, unknown>,\n options?: {\n maxTraceSteps?: number;\n maxLineEvents?: number;\n maxSingleLineHits?: number;\n maxStoredEvents?: number;\n minimalTrace?: boolean;\n },\n executionStyle: JavaScriptExecutionStyle = 'function',\n language: JavaScriptWorkerLanguage = 'javascript'\n ): Promise<ExecutionResult> {\n await this.init();\n return this.executeWithTimeout(\n () =>\n this.sendMessage<ExecutionResult>(\n 'execute-with-tracing',\n {\n code,\n functionName,\n inputs,\n options,\n executionStyle,\n language,\n },\n TRACING_TIMEOUT_MS + 2000\n ),\n TRACING_TIMEOUT_MS\n );\n }\n\n async executeCode(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: JavaScriptExecutionStyle = 'function',\n language: JavaScriptWorkerLanguage = 'javascript'\n ): Promise<CodeExecutionResult> {\n await this.init();\n return this.executeWithTimeout(\n () =>\n this.sendMessage<CodeExecutionResult>(\n 'execute-code',\n {\n code,\n functionName,\n inputs,\n executionStyle,\n language,\n },\n EXECUTION_TIMEOUT_MS + 2000\n ),\n EXECUTION_TIMEOUT_MS\n );\n }\n\n async executeCodeInterviewMode(\n code: string,\n functionName: string,\n inputs: Record<string, unknown>,\n executionStyle: JavaScriptExecutionStyle = 'function',\n language: JavaScriptWorkerLanguage = 'javascript'\n ): Promise<CodeExecutionResult> {\n await this.init();\n\n try {\n const result = await this.executeWithTimeout(\n () =>\n this.sendMessage<CodeExecutionResult>(\n 'execute-code-interview',\n {\n code,\n functionName,\n inputs,\n executionStyle,\n language,\n },\n INTERVIEW_MODE_TIMEOUT_MS + 2000\n ),\n INTERVIEW_MODE_TIMEOUT_MS\n );\n\n if (!result.success && result.error) {\n const normalized = result.error.toLowerCase();\n const isTimeoutOrResourceLimit =\n normalized.includes('timed out') ||\n normalized.includes('infinite loop') ||\n normalized.includes('line-limit') ||\n normalized.includes('single-line-limit') ||\n normalized.includes('recursion-limit') ||\n normalized.includes('trace-limit') ||\n normalized.includes('line events') ||\n normalized.includes('trace steps') ||\n normalized.includes('call depth');\n if (isTimeoutOrResourceLimit) {\n return {\n success: false,\n output: null,\n error: 'Time Limit Exceeded',\n consoleOutput: result.consoleOutput ?? [],\n };\n }\n }\n\n return result;\n } catch {\n return {\n success: false,\n output: null,\n error: 'Time Limit Exceeded',\n consoleOutput: [],\n };\n }\n }\n\n terminate(): void {\n this.terminateAndReset();\n }\n}\n\nexport function isJavaScriptWorkerSupported(): boolean {\n return typeof Worker !== 'undefined';\n}\n"],"mappings":"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","names":["out","fields","line","pending"]}
|
package/dist/javascript.d.cts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { e as RuntimeExecutionStyle, C as CodeExecutionResult, E as ExecutionResult, d as RuntimeClient } from './runtime-types-2qM0MukN.cjs';
|
|
2
|
+
import { c as JavaScriptWorkerLanguage, a as JavaScriptWorkerClient } from './javascript-worker-client-CYBGEEvc.cjs';
|
|
3
|
+
export { J as JavaScriptExecutionStyle, b as JavaScriptWorkerClientOptions } from './javascript-worker-client-CYBGEEvc.cjs';
|
|
3
4
|
|
|
4
5
|
declare function executeJavaScriptCode(code: string, functionName: string, inputs: Record<string, unknown>, executionStyle?: RuntimeExecutionStyle, language?: 'javascript' | 'typescript'): Promise<CodeExecutionResult>;
|
|
5
6
|
declare function executeJavaScriptWithTracing(code: string, functionName: string | null, inputs: Record<string, unknown>, executionStyle?: RuntimeExecutionStyle, language?: 'javascript' | 'typescript'): Promise<ExecutionResult>;
|
|
6
7
|
declare function executeTypeScriptCode(code: string, functionName: string, inputs: Record<string, unknown>, executionStyle?: RuntimeExecutionStyle): Promise<CodeExecutionResult>;
|
|
7
8
|
|
|
8
|
-
declare const TYPESCRIPT_RUNTIME_DECLARATIONS = "\ndeclare class ListNode {\n val: any;\n next: ListNode | SerializedListNode | SerializedRef | null;\n prev?: ListNode | SerializedListNode | SerializedRef | null;\n constructor(val?: any, next?: ListNode | null);\n}\n\ndeclare class TreeNode {\n val: any;\n left: TreeNode | SerializedTreeNode | SerializedRef | null;\n right: TreeNode | SerializedTreeNode | SerializedRef | null;\n constructor(val?: any, left?: TreeNode | null, right?: TreeNode | null);\n}\n\ntype SerializedRef = { __ref__: string };\n\ntype SerializedListNode = {\n __id__?: string;\n __type__?: 'ListNode';\n val?: any;\n next?: SerializedListNode | SerializedRef | ListNode | null;\n prev?: SerializedListNode | SerializedRef | ListNode | null;\n};\n\ntype SerializedTreeNode = {\n __id__?: string;\n __type__?: 'TreeNode';\n val?: any;\n left?: SerializedTreeNode | SerializedRef | TreeNode | null;\n right?: SerializedTreeNode | SerializedRef | TreeNode | null;\n};\n";
|
|
9
|
+
declare const TYPESCRIPT_RUNTIME_DECLARATIONS = "\ndeclare class ListNode {\n val: any;\n value: any;\n next: ListNode | SerializedListNode | SerializedRef | null;\n prev?: ListNode | SerializedListNode | SerializedRef | null;\n constructor(val?: any, next?: ListNode | null);\n}\n\ndeclare class TreeNode {\n val: any;\n value: any;\n left: TreeNode | SerializedTreeNode | SerializedRef | null;\n right: TreeNode | SerializedTreeNode | SerializedRef | null;\n constructor(val?: any, left?: TreeNode | null, right?: TreeNode | null);\n}\n\ntype SerializedRef = { __ref__: string };\n\ntype SerializedListNode = {\n __id__?: string;\n __type__?: 'ListNode';\n val?: any;\n value?: any;\n next?: SerializedListNode | SerializedRef | ListNode | null;\n prev?: SerializedListNode | SerializedRef | ListNode | null;\n};\n\ntype SerializedTreeNode = {\n __id__?: string;\n __type__?: 'TreeNode';\n val?: any;\n value?: any;\n left?: SerializedTreeNode | SerializedRef | TreeNode | null;\n right?: SerializedTreeNode | SerializedRef | TreeNode | null;\n};\n";
|
|
9
10
|
declare function withTypeScriptRuntimeDeclarations(sourceCode: string): string;
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
declare function createJavaScriptRuntimeClient(runtimeLanguage: JavaScriptWorkerLanguage, workerClient: JavaScriptWorkerClient): RuntimeClient;
|
|
13
|
+
|
|
14
|
+
export { JavaScriptWorkerClient, JavaScriptWorkerLanguage, TYPESCRIPT_RUNTIME_DECLARATIONS, createJavaScriptRuntimeClient, executeJavaScriptCode, executeJavaScriptWithTracing, executeTypeScriptCode, withTypeScriptRuntimeDeclarations };
|
package/dist/javascript.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { e as RuntimeExecutionStyle, C as CodeExecutionResult, E as ExecutionResult, d as RuntimeClient } from './runtime-types-2qM0MukN.js';
|
|
2
|
+
import { c as JavaScriptWorkerLanguage, a as JavaScriptWorkerClient } from './javascript-worker-client-DIX1Mp21.js';
|
|
3
|
+
export { J as JavaScriptExecutionStyle, b as JavaScriptWorkerClientOptions } from './javascript-worker-client-DIX1Mp21.js';
|
|
3
4
|
|
|
4
5
|
declare function executeJavaScriptCode(code: string, functionName: string, inputs: Record<string, unknown>, executionStyle?: RuntimeExecutionStyle, language?: 'javascript' | 'typescript'): Promise<CodeExecutionResult>;
|
|
5
6
|
declare function executeJavaScriptWithTracing(code: string, functionName: string | null, inputs: Record<string, unknown>, executionStyle?: RuntimeExecutionStyle, language?: 'javascript' | 'typescript'): Promise<ExecutionResult>;
|
|
6
7
|
declare function executeTypeScriptCode(code: string, functionName: string, inputs: Record<string, unknown>, executionStyle?: RuntimeExecutionStyle): Promise<CodeExecutionResult>;
|
|
7
8
|
|
|
8
|
-
declare const TYPESCRIPT_RUNTIME_DECLARATIONS = "\ndeclare class ListNode {\n val: any;\n next: ListNode | SerializedListNode | SerializedRef | null;\n prev?: ListNode | SerializedListNode | SerializedRef | null;\n constructor(val?: any, next?: ListNode | null);\n}\n\ndeclare class TreeNode {\n val: any;\n left: TreeNode | SerializedTreeNode | SerializedRef | null;\n right: TreeNode | SerializedTreeNode | SerializedRef | null;\n constructor(val?: any, left?: TreeNode | null, right?: TreeNode | null);\n}\n\ntype SerializedRef = { __ref__: string };\n\ntype SerializedListNode = {\n __id__?: string;\n __type__?: 'ListNode';\n val?: any;\n next?: SerializedListNode | SerializedRef | ListNode | null;\n prev?: SerializedListNode | SerializedRef | ListNode | null;\n};\n\ntype SerializedTreeNode = {\n __id__?: string;\n __type__?: 'TreeNode';\n val?: any;\n left?: SerializedTreeNode | SerializedRef | TreeNode | null;\n right?: SerializedTreeNode | SerializedRef | TreeNode | null;\n};\n";
|
|
9
|
+
declare const TYPESCRIPT_RUNTIME_DECLARATIONS = "\ndeclare class ListNode {\n val: any;\n value: any;\n next: ListNode | SerializedListNode | SerializedRef | null;\n prev?: ListNode | SerializedListNode | SerializedRef | null;\n constructor(val?: any, next?: ListNode | null);\n}\n\ndeclare class TreeNode {\n val: any;\n value: any;\n left: TreeNode | SerializedTreeNode | SerializedRef | null;\n right: TreeNode | SerializedTreeNode | SerializedRef | null;\n constructor(val?: any, left?: TreeNode | null, right?: TreeNode | null);\n}\n\ntype SerializedRef = { __ref__: string };\n\ntype SerializedListNode = {\n __id__?: string;\n __type__?: 'ListNode';\n val?: any;\n value?: any;\n next?: SerializedListNode | SerializedRef | ListNode | null;\n prev?: SerializedListNode | SerializedRef | ListNode | null;\n};\n\ntype SerializedTreeNode = {\n __id__?: string;\n __type__?: 'TreeNode';\n val?: any;\n value?: any;\n left?: SerializedTreeNode | SerializedRef | TreeNode | null;\n right?: SerializedTreeNode | SerializedRef | TreeNode | null;\n};\n";
|
|
9
10
|
declare function withTypeScriptRuntimeDeclarations(sourceCode: string): string;
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
declare function createJavaScriptRuntimeClient(runtimeLanguage: JavaScriptWorkerLanguage, workerClient: JavaScriptWorkerClient): RuntimeClient;
|
|
13
|
+
|
|
14
|
+
export { JavaScriptWorkerClient, JavaScriptWorkerLanguage, TYPESCRIPT_RUNTIME_DECLARATIONS, createJavaScriptRuntimeClient, executeJavaScriptCode, executeJavaScriptWithTracing, executeTypeScriptCode, withTypeScriptRuntimeDeclarations };
|