@tracecode/harness 0.16.0 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{browser-runtime-provider-FSR4OBBF.js → browser-runtime-provider-45ND6W3K.js} +4 -4
  3. package/dist/{chunk-VON3HMIR.js → chunk-5SU2JQGI.js} +189 -343
  4. package/dist/{chunk-3TX3UB5E.js → chunk-DGXNINFR.js} +9 -9
  5. package/dist/chunk-EJE2EJDI.js +193 -0
  6. package/dist/{chunk-4GXJ7GNA.js → chunk-HK62URW2.js} +2 -2
  7. package/dist/{chunk-IJHMDH3V.js → chunk-J54PE2JS.js} +2 -2
  8. package/dist/{chunk-X2RHXM62.js → chunk-K4424WAS.js} +2 -2
  9. package/dist/{chunk-RYPW7WZT.js → chunk-MJOC6WVB.js} +2 -2
  10. package/dist/cli.cjs +5 -0
  11. package/dist/cli.js +5 -0
  12. package/dist/core.cjs +8 -8
  13. package/dist/core.js +1 -1
  14. package/dist/{cpp-worker-client-XKA3AQC5.js → cpp-worker-client-I6CPM7TA.js} +3 -3
  15. package/dist/{csharp-worker-client-TKXUOI4R.js → csharp-worker-client-X7R4VXF4.js} +3 -3
  16. package/dist/internal/tracekernel-workspace.cjs +8 -8
  17. package/dist/internal/tracekernel-workspace.js +1 -1
  18. package/dist/{java-project-OLRXOA53.js → java-project-MLWER3CQ.js} +2 -2
  19. package/dist/judge.cjs +259 -191
  20. package/dist/judge.js +26 -11
  21. package/dist/{project-browser-4AJPNCFH.js → project-browser-EIQ2FOXP.js} +2 -2
  22. package/dist/{project-browser-TKH7OQ2I.js → project-browser-JR2WG7DG.js} +2 -2
  23. package/dist/{project-browser-3AOBPP4V.js → project-browser-T3EIQCMD.js} +2 -2
  24. package/dist/{project-browser-GL2OZKUK.js → project-browser-UALCR5KR.js} +2 -2
  25. package/dist/{project-browser-C5KLVVTZ.js → project-browser-V3W4CQAQ.js} +2 -2
  26. package/dist/{python-worker-client-HZ7JL6RO.js → python-worker-client-MRWQTXOF.js} +3 -3
  27. package/dist/tracecc-runtime-assets-G3BFH7LY.js +19 -0
  28. package/dist/tracekernel.cjs +244 -185
  29. package/dist/tracekernel.d.cts +10 -1
  30. package/dist/tracekernel.d.ts +10 -1
  31. package/dist/tracekernel.js +12 -8
  32. package/package.json +32 -44
  33. package/runtime-assets.lock.json +7 -7
  34. package/workers/javascript/javascript-project-worker.js +7 -7
package/dist/judge.cjs CHANGED
@@ -13074,7 +13074,7 @@ var init_runtime_language_info_data = __esm({
13074
13074
  "versionLabel": "Python 3.13.2",
13075
13075
  "executionPlatform": {
13076
13076
  "name": "TraceKernel",
13077
- "version": "0.16.0"
13077
+ "version": "0.16.2"
13078
13078
  },
13079
13079
  "description": "Python 3.13.2 runs in TraceKernel's isolated Python runtime.\n\nCommon algorithm helpers are imported automatically, including array, bisect, collections, functools, heapq, itertools. Other standard-library modules can be imported normally.\n\nOptional third-party packages are consumer-owned runtime assets and are available only when declared by the TraceKernel runtime manifest.",
13080
13080
  "runtime": {
@@ -13101,7 +13101,7 @@ var init_runtime_language_info_data = __esm({
13101
13101
  "versionLabel": "JavaScript (ECMAScript 2023)",
13102
13102
  "executionPlatform": {
13103
13103
  "name": "TraceKernel",
13104
- "version": "0.16.0"
13104
+ "version": "0.16.2"
13105
13105
  },
13106
13106
  "runtime": {
13107
13107
  "name": "TraceKernel JavaScript runtime",
@@ -13193,7 +13193,7 @@ Binary Search Tree, Trie, and Graph are bundled too, but are not exposed globall
13193
13193
  "versionLabel": "TypeScript 5.9.3",
13194
13194
  "executionPlatform": {
13195
13195
  "name": "TraceKernel",
13196
- "version": "0.16.0"
13196
+ "version": "0.16.2"
13197
13197
  },
13198
13198
  "description": `TypeScript 5.9.3 is compiled with the TypeScript compiler and executed by TraceKernel's JavaScript runtime.
13199
13199
 
@@ -13293,7 +13293,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
13293
13293
  "versionLabel": "Java 23",
13294
13294
  "executionPlatform": {
13295
13295
  "name": "TraceKernel",
13296
- "version": "0.16.0"
13296
+ "version": "0.16.2"
13297
13297
  },
13298
13298
  "description": "Java 23 is compiled with javac 23 and executed by the Java runtime on TraceKernel.\n\nCommon imports are added automatically: java.util.*, java.io.*, java.math.*, java.util.stream.*, javafx.util.Pair.",
13299
13299
  "runtime": {
@@ -13330,7 +13330,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
13330
13330
  "versionLabel": "C# 14",
13331
13331
  "executionPlatform": {
13332
13332
  "name": "TraceKernel",
13333
- "version": "0.16.0"
13333
+ "version": "0.16.2"
13334
13334
  },
13335
13335
  "description": "C# 14 source is compiled and executed by TraceKernel's isolated C# runtime.\n\nCommon namespaces are imported automatically: System, System.Collections, System.Collections.Generic, System.IO, System.Linq, System.Numerics, System.Text, System.Text.RegularExpressions.",
13336
13336
  "runtime": {
@@ -13359,7 +13359,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
13359
13359
  "versionLabel": "C++23",
13360
13360
  "executionPlatform": {
13361
13361
  "name": "TraceKernel",
13362
- "version": "0.16.0"
13362
+ "version": "0.16.2"
13363
13363
  },
13364
13364
  "description": "C++ source is compiled using the C++23 standard.\n\nSubmissions compile to WebAssembly and run in TraceKernel's WASI execution lane. The compiler currently uses -O0 and -fno-exceptions, with a fixed program stack size.\n\nCommon standard library headers are included automatically, including <algorithm>, <array>, <bitset>, <climits>, <cmath>, <cstdint>, <functional>, <limits>, <numeric>, <sstream>, <tuple>, <vector>, <unordered_map>, <unordered_set> and more.",
13365
13365
  "runtime": {
@@ -13524,7 +13524,7 @@ var init_runtime_open_source_info_data = __esm({
13524
13524
  {
13525
13525
  "kind": "modifications",
13526
13526
  "label": "Runtime modifications",
13527
- "url": "https://github.com/tracecodeapp/harness/tree/v0.16.0/workers/python/pyodide-0.29.3"
13527
+ "url": "https://github.com/tracecodeapp/harness/tree/v0.16.2/workers/python/pyodide-0.29.3"
13528
13528
  }
13529
13529
  ]
13530
13530
  }
@@ -15138,7 +15138,7 @@ var init_package = __esm({
15138
15138
  "package.json"() {
15139
15139
  package_default = {
15140
15140
  name: "@tracecode/harness",
15141
- version: "0.16.0",
15141
+ version: "0.16.2",
15142
15142
  license: "AGPL-3.0-only",
15143
15143
  homepage: "https://tracecode.app",
15144
15144
  repository: {
@@ -32132,6 +32132,211 @@ var init_browser_runtime_provider = __esm({
32132
32132
  }
32133
32133
  });
32134
32134
 
32135
+ // packages/runtime-cpp/src/tracecc-runtime-assets.generated.ts
32136
+ var TRACECC_RUNTIME_CONTENT_HASH, TRACECC_RUNTIME_ASSETS;
32137
+ var init_tracecc_runtime_assets_generated = __esm({
32138
+ "packages/runtime-cpp/src/tracecc-runtime-assets.generated.ts"() {
32139
+ "use strict";
32140
+ TRACECC_RUNTIME_CONTENT_HASH = "fb4b6f41f9e9b7db89b6c8425bb2c6218979219a4150f96619b6461b4b78d294";
32141
+ TRACECC_RUNTIME_ASSETS = Object.freeze({
32142
+ "runtimeHeader": {
32143
+ "fileName": "tracecode_runtime.hpp",
32144
+ "integrity": "sha256-WEbB8mLN8cwKIWPf25UL7yoTSM9nCqWs8MkE0B14EtE=",
32145
+ "mediaType": "text/plain",
32146
+ "size": 263083
32147
+ },
32148
+ "compilerWasm": {
32149
+ "fileName": "tracecc-reactor.wasm",
32150
+ "integrity": "sha256-At40hCU4Rmvynp1s8UzQ1eX/UZybo5BWHMsVgQXUTUE=",
32151
+ "mediaType": "application/wasm",
32152
+ "size": 33478188
32153
+ },
32154
+ "sysroot": {
32155
+ "fileName": "llvm-resources.tar",
32156
+ "integrity": "sha256-2V0qK8hAihbAdEmWrEfJG7PGO7cblDFcl5YIm23ahVU=",
32157
+ "mediaType": "application/x-tar",
32158
+ "size": 29112320
32159
+ },
32160
+ "narrowPch": {
32161
+ "fileName": "narrow.pch",
32162
+ "integrity": "sha256-rbuVm7YeO+HwDpSJPAqGGNrrPKeJveazS/juUWXs5/A=",
32163
+ "mediaType": "application/octet-stream",
32164
+ "size": 21322216
32165
+ },
32166
+ "narrowPchSource": {
32167
+ "fileName": "narrow.source.hpp",
32168
+ "integrity": "sha256-SMqxQfcMBSUHUcAz+7Cp4vkWyOtgv7mNB09JE1cOEAU=",
32169
+ "mediaType": "text/plain",
32170
+ "size": 815
32171
+ },
32172
+ "narrowRuntimeObject": {
32173
+ "fileName": "narrow.o",
32174
+ "integrity": "sha256-il/wX66FvAU9SJSiDepMuEZ00CipED4EEEfqcdxEg8c=",
32175
+ "mediaType": "application/wasm",
32176
+ "size": 1042570
32177
+ },
32178
+ "broadPch": {
32179
+ "fileName": "broad.pch",
32180
+ "integrity": "sha256-ktKxBSglo50GPM9GJJwBpqyYDcFHkKGjoyEtsUmLMrI=",
32181
+ "mediaType": "application/octet-stream",
32182
+ "size": 24543552
32183
+ },
32184
+ "broadPchSource": {
32185
+ "fileName": "broad.source.hpp",
32186
+ "integrity": "sha256-MOayycWl5KYaLS8vP2MoJh4kazsDhg0kH9Bi6dvsy0s=",
32187
+ "mediaType": "text/plain",
32188
+ "size": 7095
32189
+ },
32190
+ "broadRuntimeObject": {
32191
+ "fileName": "broad.o",
32192
+ "integrity": "sha256-f69Oe7kRn9JEIUEPgM1cuYbf50oph4IxEnVP7VIZGp4=",
32193
+ "mediaType": "application/wasm",
32194
+ "size": 1892879
32195
+ },
32196
+ "mapPch": {
32197
+ "fileName": "map.pch",
32198
+ "integrity": "sha256-fX7zTmJXnRJ2acbDiJ4Wu7/xf1G510SB2fLzkTgr2Uc=",
32199
+ "mediaType": "application/octet-stream",
32200
+ "size": 29951380
32201
+ },
32202
+ "mapPchSource": {
32203
+ "fileName": "map.source.hpp",
32204
+ "integrity": "sha256-WHaMpx3nG/h1ro6CppBseoDIkgqahbYnFxShHLGT9/c=",
32205
+ "mediaType": "text/plain",
32206
+ "size": 10708
32207
+ },
32208
+ "mapRuntimeObject": {
32209
+ "fileName": "map.o",
32210
+ "integrity": "sha256-02ktvX6uqV05it5kdBEm/ncOszBeO43wX93Yk079E4U=",
32211
+ "mediaType": "application/wasm",
32212
+ "size": 3372458
32213
+ }
32214
+ });
32215
+ }
32216
+ });
32217
+
32218
+ // packages/runtime-cpp/src/tracecc-runtime-assets.ts
32219
+ var tracecc_runtime_assets_exports = {};
32220
+ __export(tracecc_runtime_assets_exports, {
32221
+ TRACECC_RUNTIME_ASSET_RELATIVE_PATH: () => TRACECC_RUNTIME_ASSET_RELATIVE_PATH,
32222
+ TRACECC_RUNTIME_CONTENT_HASH: () => TRACECC_RUNTIME_CONTENT_HASH,
32223
+ TRACECC_RUNTIME_MANIFEST: () => TRACECC_RUNTIME_MANIFEST,
32224
+ createTraceCCRuntimeManifest: () => createTraceCCRuntimeManifest,
32225
+ resolveBuiltInTraceCCProjectRuntimeManifest: () => resolveBuiltInTraceCCProjectRuntimeManifest,
32226
+ resolveBuiltInTraceCCRuntimeManifest: () => resolveBuiltInTraceCCRuntimeManifest
32227
+ });
32228
+ function stripTrailingSlash3(value) {
32229
+ return value.replace(/\/+$/, "");
32230
+ }
32231
+ function normalizeAssetBaseUrl(value) {
32232
+ const normalized = stripTrailingSlash3(value.trim());
32233
+ if (!normalized) {
32234
+ throw new TypeError("TraceCC requires a non-empty asset base URL.");
32235
+ }
32236
+ if (/[?#]/u.test(normalized)) {
32237
+ throw new TypeError(
32238
+ "TraceCC asset base URL must be a directory without a query or fragment."
32239
+ );
32240
+ }
32241
+ return normalized;
32242
+ }
32243
+ function normalizeWorkerUrl(value) {
32244
+ const normalized = value.trim();
32245
+ if (!normalized) {
32246
+ throw new TypeError("TraceCC worker URL must not be empty.");
32247
+ }
32248
+ return normalized;
32249
+ }
32250
+ function descriptor2(asset) {
32251
+ return {
32252
+ url: asset.fileName,
32253
+ integrity: asset.integrity,
32254
+ mediaType: asset.mediaType,
32255
+ size: asset.size,
32256
+ delivery: {
32257
+ mutability: "immutable",
32258
+ address: "content"
32259
+ }
32260
+ };
32261
+ }
32262
+ function createTraceCCRuntimeManifest(assetBaseUrl, options = {}) {
32263
+ const normalizedAssetBaseUrl = normalizeAssetBaseUrl(assetBaseUrl);
32264
+ const workerUrl = normalizeWorkerUrl(
32265
+ options.workerUrl ?? "/workers/cpp-worker.js"
32266
+ );
32267
+ const compilerWasm = descriptor2(
32268
+ typedTraceCCRuntimeAssets.compilerWasm
32269
+ );
32270
+ return {
32271
+ runtime: "cpp",
32272
+ runtimeVersion: `tracecc-${TRACECC_RUNTIME_CONTENT_HASH.slice(0, 12)}`,
32273
+ protocolVersion: "browser-runtime-assets-v1",
32274
+ assetBaseUrl: `${normalizedAssetBaseUrl}/`,
32275
+ workerFormat: "module",
32276
+ assets: {
32277
+ worker: { url: workerUrl },
32278
+ runtimeHeader: descriptor2(typedTraceCCRuntimeAssets.runtimeHeader),
32279
+ compilerWasm,
32280
+ linkerWasm: compilerWasm,
32281
+ sysroot: descriptor2(typedTraceCCRuntimeAssets.sysroot),
32282
+ compilerResources: {
32283
+ "tracecc-narrow-pch": descriptor2(
32284
+ typedTraceCCRuntimeAssets.narrowPch
32285
+ ),
32286
+ "tracecc-narrow-pch-source": descriptor2(
32287
+ typedTraceCCRuntimeAssets.narrowPchSource
32288
+ ),
32289
+ "tracecc-narrow-runtime-object": descriptor2(
32290
+ typedTraceCCRuntimeAssets.narrowRuntimeObject
32291
+ ),
32292
+ "tracecc-broad-pch": descriptor2(
32293
+ typedTraceCCRuntimeAssets.broadPch
32294
+ ),
32295
+ "tracecc-broad-pch-source": descriptor2(
32296
+ typedTraceCCRuntimeAssets.broadPchSource
32297
+ ),
32298
+ "tracecc-broad-runtime-object": descriptor2(
32299
+ typedTraceCCRuntimeAssets.broadRuntimeObject
32300
+ ),
32301
+ "tracecc-map-pch": descriptor2(
32302
+ typedTraceCCRuntimeAssets.mapPch
32303
+ ),
32304
+ "tracecc-map-pch-source": descriptor2(
32305
+ typedTraceCCRuntimeAssets.mapPchSource
32306
+ ),
32307
+ "tracecc-map-runtime-object": descriptor2(
32308
+ typedTraceCCRuntimeAssets.mapRuntimeObject
32309
+ )
32310
+ }
32311
+ }
32312
+ };
32313
+ }
32314
+ function resolveBuiltInTraceCCRuntimeManifest(assetBaseUrl = "/workers") {
32315
+ const normalizedAssetBaseUrl = normalizeAssetBaseUrl(assetBaseUrl);
32316
+ return createTraceCCRuntimeManifest(
32317
+ `${normalizedAssetBaseUrl}/${TRACECC_RUNTIME_ASSET_RELATIVE_PATH}`,
32318
+ { workerUrl: `${normalizedAssetBaseUrl}/cpp-worker.js` }
32319
+ );
32320
+ }
32321
+ function resolveBuiltInTraceCCProjectRuntimeManifest(assetBaseUrl = "/workers") {
32322
+ const normalizedAssetBaseUrl = normalizeAssetBaseUrl(assetBaseUrl);
32323
+ return createTraceCCRuntimeManifest(
32324
+ `${normalizedAssetBaseUrl}/${TRACECC_RUNTIME_ASSET_RELATIVE_PATH}`,
32325
+ { workerUrl: `${normalizedAssetBaseUrl}/project-cpp-worker.js` }
32326
+ );
32327
+ }
32328
+ var TRACECC_RUNTIME_ASSET_RELATIVE_PATH, typedTraceCCRuntimeAssets, TRACECC_RUNTIME_MANIFEST;
32329
+ var init_tracecc_runtime_assets = __esm({
32330
+ "packages/runtime-cpp/src/tracecc-runtime-assets.ts"() {
32331
+ "use strict";
32332
+ init_tracecc_runtime_assets_generated();
32333
+ init_tracecc_runtime_assets_generated();
32334
+ TRACECC_RUNTIME_ASSET_RELATIVE_PATH = `cpp/tracecc/${TRACECC_RUNTIME_CONTENT_HASH}`;
32335
+ typedTraceCCRuntimeAssets = TRACECC_RUNTIME_ASSETS;
32336
+ TRACECC_RUNTIME_MANIFEST = resolveBuiltInTraceCCRuntimeManifest();
32337
+ }
32338
+ });
32339
+
32135
32340
  // node_modules/.pnpm/sprintf-js@1.1.3/node_modules/sprintf-js/src/sprintf.js
32136
32341
  var require_sprintf = __commonJS({
32137
32342
  "node_modules/.pnpm/sprintf-js@1.1.3/node_modules/sprintf-js/src/sprintf.js"(exports2) {
@@ -126757,10 +126962,23 @@ function assertImageEngine(engine) {
126757
126962
  }
126758
126963
  function resolveBuiltInPythonRuntimeAssets(assets, engine) {
126759
126964
  assertImageEngine(engine);
126760
- const runtimeBase = siblingAssetUrl(
126761
- assets.pythonWorker,
126762
- `${PYTHON_RUNTIME_DIRECTORY}/`
126763
- );
126965
+ const runtimeDirectoryName = PYTHON_RUNTIME_DIRECTORY.split("/").at(-1);
126966
+ if (!runtimeDirectoryName) {
126967
+ throw new Error("TraceCode Python runtime directory is invalid.");
126968
+ }
126969
+ let runtimeBase;
126970
+ try {
126971
+ runtimeBase = siblingAssetUrl(
126972
+ assets.pythonRuntimeCore,
126973
+ `${runtimeDirectoryName}/`
126974
+ );
126975
+ } catch (error) {
126976
+ if (!(error instanceof TypeError)) throw error;
126977
+ runtimeBase = siblingAssetUrl(
126978
+ assets.pythonWorker,
126979
+ `${PYTHON_RUNTIME_DIRECTORY}/`
126980
+ );
126981
+ }
126764
126982
  const snapshot = PYTHON_RUNTIME_SNAPSHOTS[engine];
126765
126983
  return Object.freeze({
126766
126984
  loaderUrl: `${runtimeBase}pyodide.js`,
@@ -129774,183 +129992,7 @@ function createCSharpBrowserRuntimeProvider(options = {}) {
129774
129992
 
129775
129993
  // src/browser.ts
129776
129994
  init_browser_runtime_provider();
129777
-
129778
- // packages/runtime-cpp/src/tracecc-runtime-assets.generated.ts
129779
- var TRACECC_RUNTIME_CONTENT_HASH = "fb4b6f41f9e9b7db89b6c8425bb2c6218979219a4150f96619b6461b4b78d294";
129780
- var TRACECC_RUNTIME_ASSETS = Object.freeze({
129781
- "runtimeHeader": {
129782
- "fileName": "tracecode_runtime.hpp",
129783
- "integrity": "sha256-WEbB8mLN8cwKIWPf25UL7yoTSM9nCqWs8MkE0B14EtE=",
129784
- "mediaType": "text/plain",
129785
- "size": 263083
129786
- },
129787
- "compilerWasm": {
129788
- "fileName": "tracecc-reactor.wasm",
129789
- "integrity": "sha256-At40hCU4Rmvynp1s8UzQ1eX/UZybo5BWHMsVgQXUTUE=",
129790
- "mediaType": "application/wasm",
129791
- "size": 33478188
129792
- },
129793
- "sysroot": {
129794
- "fileName": "llvm-resources.tar",
129795
- "integrity": "sha256-2V0qK8hAihbAdEmWrEfJG7PGO7cblDFcl5YIm23ahVU=",
129796
- "mediaType": "application/x-tar",
129797
- "size": 29112320
129798
- },
129799
- "narrowPch": {
129800
- "fileName": "narrow.pch",
129801
- "integrity": "sha256-rbuVm7YeO+HwDpSJPAqGGNrrPKeJveazS/juUWXs5/A=",
129802
- "mediaType": "application/octet-stream",
129803
- "size": 21322216
129804
- },
129805
- "narrowPchSource": {
129806
- "fileName": "narrow.source.hpp",
129807
- "integrity": "sha256-SMqxQfcMBSUHUcAz+7Cp4vkWyOtgv7mNB09JE1cOEAU=",
129808
- "mediaType": "text/plain",
129809
- "size": 815
129810
- },
129811
- "narrowRuntimeObject": {
129812
- "fileName": "narrow.o",
129813
- "integrity": "sha256-il/wX66FvAU9SJSiDepMuEZ00CipED4EEEfqcdxEg8c=",
129814
- "mediaType": "application/wasm",
129815
- "size": 1042570
129816
- },
129817
- "broadPch": {
129818
- "fileName": "broad.pch",
129819
- "integrity": "sha256-ktKxBSglo50GPM9GJJwBpqyYDcFHkKGjoyEtsUmLMrI=",
129820
- "mediaType": "application/octet-stream",
129821
- "size": 24543552
129822
- },
129823
- "broadPchSource": {
129824
- "fileName": "broad.source.hpp",
129825
- "integrity": "sha256-MOayycWl5KYaLS8vP2MoJh4kazsDhg0kH9Bi6dvsy0s=",
129826
- "mediaType": "text/plain",
129827
- "size": 7095
129828
- },
129829
- "broadRuntimeObject": {
129830
- "fileName": "broad.o",
129831
- "integrity": "sha256-f69Oe7kRn9JEIUEPgM1cuYbf50oph4IxEnVP7VIZGp4=",
129832
- "mediaType": "application/wasm",
129833
- "size": 1892879
129834
- },
129835
- "mapPch": {
129836
- "fileName": "map.pch",
129837
- "integrity": "sha256-fX7zTmJXnRJ2acbDiJ4Wu7/xf1G510SB2fLzkTgr2Uc=",
129838
- "mediaType": "application/octet-stream",
129839
- "size": 29951380
129840
- },
129841
- "mapPchSource": {
129842
- "fileName": "map.source.hpp",
129843
- "integrity": "sha256-WHaMpx3nG/h1ro6CppBseoDIkgqahbYnFxShHLGT9/c=",
129844
- "mediaType": "text/plain",
129845
- "size": 10708
129846
- },
129847
- "mapRuntimeObject": {
129848
- "fileName": "map.o",
129849
- "integrity": "sha256-02ktvX6uqV05it5kdBEm/ncOszBeO43wX93Yk079E4U=",
129850
- "mediaType": "application/wasm",
129851
- "size": 3372458
129852
- }
129853
- });
129854
-
129855
- // packages/runtime-cpp/src/tracecc-runtime-assets.ts
129856
- var TRACECC_RUNTIME_ASSET_RELATIVE_PATH = `cpp/tracecc/${TRACECC_RUNTIME_CONTENT_HASH}`;
129857
- var typedTraceCCRuntimeAssets = TRACECC_RUNTIME_ASSETS;
129858
- function stripTrailingSlash3(value) {
129859
- return value.replace(/\/+$/, "");
129860
- }
129861
- function normalizeAssetBaseUrl(value) {
129862
- const normalized = stripTrailingSlash3(value.trim());
129863
- if (!normalized) {
129864
- throw new TypeError("TraceCC requires a non-empty asset base URL.");
129865
- }
129866
- if (/[?#]/u.test(normalized)) {
129867
- throw new TypeError(
129868
- "TraceCC asset base URL must be a directory without a query or fragment."
129869
- );
129870
- }
129871
- return normalized;
129872
- }
129873
- function normalizeWorkerUrl(value) {
129874
- const normalized = value.trim();
129875
- if (!normalized) {
129876
- throw new TypeError("TraceCC worker URL must not be empty.");
129877
- }
129878
- return normalized;
129879
- }
129880
- function descriptor2(asset) {
129881
- return {
129882
- url: asset.fileName,
129883
- integrity: asset.integrity,
129884
- mediaType: asset.mediaType,
129885
- size: asset.size,
129886
- delivery: {
129887
- mutability: "immutable",
129888
- address: "content"
129889
- }
129890
- };
129891
- }
129892
- function createTraceCCRuntimeManifest(assetBaseUrl, options = {}) {
129893
- const normalizedAssetBaseUrl = normalizeAssetBaseUrl(assetBaseUrl);
129894
- const workerUrl = normalizeWorkerUrl(
129895
- options.workerUrl ?? "/workers/cpp-worker.js"
129896
- );
129897
- const compilerWasm = descriptor2(
129898
- typedTraceCCRuntimeAssets.compilerWasm
129899
- );
129900
- return {
129901
- runtime: "cpp",
129902
- runtimeVersion: `tracecc-${TRACECC_RUNTIME_CONTENT_HASH.slice(0, 12)}`,
129903
- protocolVersion: "browser-runtime-assets-v1",
129904
- assetBaseUrl: `${normalizedAssetBaseUrl}/`,
129905
- workerFormat: "module",
129906
- assets: {
129907
- worker: { url: workerUrl },
129908
- runtimeHeader: descriptor2(typedTraceCCRuntimeAssets.runtimeHeader),
129909
- compilerWasm,
129910
- linkerWasm: compilerWasm,
129911
- sysroot: descriptor2(typedTraceCCRuntimeAssets.sysroot),
129912
- compilerResources: {
129913
- "tracecc-narrow-pch": descriptor2(
129914
- typedTraceCCRuntimeAssets.narrowPch
129915
- ),
129916
- "tracecc-narrow-pch-source": descriptor2(
129917
- typedTraceCCRuntimeAssets.narrowPchSource
129918
- ),
129919
- "tracecc-narrow-runtime-object": descriptor2(
129920
- typedTraceCCRuntimeAssets.narrowRuntimeObject
129921
- ),
129922
- "tracecc-broad-pch": descriptor2(
129923
- typedTraceCCRuntimeAssets.broadPch
129924
- ),
129925
- "tracecc-broad-pch-source": descriptor2(
129926
- typedTraceCCRuntimeAssets.broadPchSource
129927
- ),
129928
- "tracecc-broad-runtime-object": descriptor2(
129929
- typedTraceCCRuntimeAssets.broadRuntimeObject
129930
- ),
129931
- "tracecc-map-pch": descriptor2(
129932
- typedTraceCCRuntimeAssets.mapPch
129933
- ),
129934
- "tracecc-map-pch-source": descriptor2(
129935
- typedTraceCCRuntimeAssets.mapPchSource
129936
- ),
129937
- "tracecc-map-runtime-object": descriptor2(
129938
- typedTraceCCRuntimeAssets.mapRuntimeObject
129939
- )
129940
- }
129941
- }
129942
- };
129943
- }
129944
- function resolveBuiltInTraceCCRuntimeManifest(assetBaseUrl = "/workers") {
129945
- const normalizedAssetBaseUrl = normalizeAssetBaseUrl(assetBaseUrl);
129946
- return createTraceCCRuntimeManifest(
129947
- `${normalizedAssetBaseUrl}/${TRACECC_RUNTIME_ASSET_RELATIVE_PATH}`,
129948
- { workerUrl: `${normalizedAssetBaseUrl}/cpp-worker.js` }
129949
- );
129950
- }
129951
- var TRACECC_RUNTIME_MANIFEST = resolveBuiltInTraceCCRuntimeManifest();
129952
-
129953
- // src/browser.ts
129995
+ init_tracecc_runtime_assets();
129954
129996
  function createDefaultBrowserRuntimeProviderRegistry(options) {
129955
129997
  return createBrowserRuntimeProviderRegistry([
129956
129998
  createPythonBrowserRuntimeProvider(options.python),
@@ -140175,6 +140217,18 @@ var BROWSER_PROJECT_PREWARM_PROVIDERS = Object.freeze([
140175
140217
  "cpp"
140176
140218
  ]);
140177
140219
  var BROWSER_PROJECT_INJECTED_PROVIDERS = Object.freeze(["python", "java", "csharp", "cpp"]);
140220
+ var CPP_LEGACY_ASSET_KEYS2 = Object.freeze([
140221
+ "cppWorker",
140222
+ "cppCompilerWasm",
140223
+ "cppLinkerWasm",
140224
+ "cppSysroot",
140225
+ "cppRuntimeHeader",
140226
+ "cppCompilerIntegrity"
140227
+ ]);
140228
+ function hasConfiguredCppRuntimeAssets(assets) {
140229
+ if (assets?.runtimeManifests?.cpp) return true;
140230
+ return CPP_LEGACY_ASSET_KEYS2.some((key) => assets?.[key] !== void 0);
140231
+ }
140178
140232
  function normalizeBrowserProjectProviders(providers) {
140179
140233
  const normalized = [];
140180
140234
  for (const provider of providers ?? DEFAULT_BROWSER_PROJECT_PROVIDERS) {
@@ -140651,11 +140705,25 @@ async function createBrowserProjectWorkspace(options = {}) {
140651
140705
  hasProvider("cpp") ? Promise.all([
140652
140706
  Promise.resolve().then(() => (init_project_browser5(), project_browser_exports5)),
140653
140707
  Promise.resolve().then(() => (init_cpp_worker_client(), cpp_worker_client_exports)),
140654
- Promise.resolve().then(() => (init_browser_runtime_provider(), browser_runtime_provider_exports))
140708
+ Promise.resolve().then(() => (init_browser_runtime_provider(), browser_runtime_provider_exports)),
140709
+ Promise.resolve().then(() => (init_tracecc_runtime_assets(), tracecc_runtime_assets_exports))
140655
140710
  ]) : void 0
140656
140711
  ]);
140657
140712
  const { createRuntimeWorkspace: createRuntimeWorkspace2 } = await projectRuntimePromise;
140658
- const assets = resolveBrowserRuntimeAssets(options);
140713
+ const configuredAssets = options.assets;
140714
+ const assets = resolveBrowserRuntimeAssets({
140715
+ ...options,
140716
+ ...cppProvider && runtimeProviders.cpp === void 0 && !hasConfiguredCppRuntimeAssets(configuredAssets) ? {
140717
+ assets: {
140718
+ ...configuredAssets,
140719
+ runtimeAssetProvider(runtime3) {
140720
+ return configuredAssets?.runtimeAssetProvider?.(runtime3) ?? (runtime3 === "cpp" ? cppProvider[3].resolveBuiltInTraceCCProjectRuntimeManifest(
140721
+ options.assetBaseUrl ?? "/workers"
140722
+ ) : void 0);
140723
+ }
140724
+ }
140725
+ } : {}
140726
+ });
140659
140727
  const runtimeAssetPreflight = createBrowserRuntimeAssetPreflight(assets.runtimeManifests);
140660
140728
  const pythonManifest = assets.runtimeManifests?.python;
140661
140729
  const pythonAsset = (name) => {
package/dist/judge.js CHANGED
@@ -1,8 +1,8 @@
1
1
  var define = undefined;
2
2
  import {
3
3
  createCppBrowserRuntimeProvider
4
- } from "./chunk-RYPW7WZT.js";
5
- import "./chunk-X2RHXM62.js";
4
+ } from "./chunk-MJOC6WVB.js";
5
+ import "./chunk-K4424WAS.js";
6
6
  import {
7
7
  normalizeTraceJVMRuntimeAssetBaseUrl,
8
8
  preflightBuiltInTraceJVMRuntimeAssets,
@@ -10,18 +10,20 @@ import {
10
10
  } from "./chunk-FYDQ4ZKL.js";
11
11
  import {
12
12
  CSharpWorkerClient
13
- } from "./chunk-IJHMDH3V.js";
13
+ } from "./chunk-J54PE2JS.js";
14
14
  import {
15
15
  PYTHON_RUNTIME_IMAGE_PROTOCOL_VERSION,
16
16
  createBrowserProjectWorkspace,
17
17
  createBrowserRuntimeAssetPreflight,
18
18
  createBrowserRuntimeEnvironment,
19
- makeTraceKernelHost,
19
+ makeTraceKernelHost
20
+ } from "./chunk-5SU2JQGI.js";
21
+ import {
20
22
  resolveBuiltInTraceCCRuntimeManifest
21
- } from "./chunk-VON3HMIR.js";
23
+ } from "./chunk-EJE2EJDI.js";
22
24
  import {
23
25
  PythonWorkerClient
24
- } from "./chunk-4GXJ7GNA.js";
26
+ } from "./chunk-HK62URW2.js";
25
27
  import {
26
28
  RUNTIME_TRACE_SCHEMA_VERSION,
27
29
  createEmptyRuntimeTrace,
@@ -30,7 +32,7 @@ import {
30
32
  liftCodeOutcome,
31
33
  liftTraceOutcome,
32
34
  runtimeWorkspaceActorPreset
33
- } from "./chunk-3TX3UB5E.js";
35
+ } from "./chunk-DGXNINFR.js";
34
36
  import {
35
37
  TraceKernelControlledRuntime,
36
38
  TraceKernelSharedSyscallServer,
@@ -2010,10 +2012,23 @@ function assertImageEngine(engine) {
2010
2012
  }
2011
2013
  function resolveBuiltInPythonRuntimeAssets(assets, engine) {
2012
2014
  assertImageEngine(engine);
2013
- const runtimeBase = siblingAssetUrl(
2014
- assets.pythonWorker,
2015
- `${PYTHON_RUNTIME_DIRECTORY}/`
2016
- );
2015
+ const runtimeDirectoryName = PYTHON_RUNTIME_DIRECTORY.split("/").at(-1);
2016
+ if (!runtimeDirectoryName) {
2017
+ throw new Error("TraceCode Python runtime directory is invalid.");
2018
+ }
2019
+ let runtimeBase;
2020
+ try {
2021
+ runtimeBase = siblingAssetUrl(
2022
+ assets.pythonRuntimeCore,
2023
+ `${runtimeDirectoryName}/`
2024
+ );
2025
+ } catch (error) {
2026
+ if (!(error instanceof TypeError)) throw error;
2027
+ runtimeBase = siblingAssetUrl(
2028
+ assets.pythonWorker,
2029
+ `${PYTHON_RUNTIME_DIRECTORY}/`
2030
+ );
2031
+ }
2017
2032
  const snapshot = PYTHON_RUNTIME_SNAPSHOTS[engine];
2018
2033
  return Object.freeze({
2019
2034
  loaderUrl: `${runtimeBase}pyodide.js`,
@@ -3,7 +3,7 @@ import {
3
3
  createRuntimeProjectIoBridge,
4
4
  runRuntimeProjectWorkerBridge,
5
5
  withRuntimeProjectCommandRunnerCapabilities
6
- } from "./chunk-3TX3UB5E.js";
6
+ } from "./chunk-DGXNINFR.js";
7
7
  import "./chunk-756Z7C6D.js";
8
8
 
9
9
  // packages/runtime-csharp/src/project-browser.ts
@@ -79,4 +79,4 @@ function createBrowserCSharpProjectRunner(workerClient, options = {}) {
79
79
  export {
80
80
  createBrowserCSharpProjectRunner
81
81
  };
82
- //# sourceMappingURL=project-browser-4AJPNCFH.js.map
82
+ //# sourceMappingURL=project-browser-EIQ2FOXP.js.map
@@ -2,7 +2,7 @@ var define = undefined;
2
2
  import {
3
3
  runRuntimeProjectWorkerBridge,
4
4
  withRuntimeProjectCommandRunnerCapabilities
5
- } from "./chunk-3TX3UB5E.js";
5
+ } from "./chunk-DGXNINFR.js";
6
6
  import "./chunk-756Z7C6D.js";
7
7
 
8
8
  // packages/runtime-python/src/project-browser.ts
@@ -35,4 +35,4 @@ function createBrowserPythonProjectRunner(workerClient, options = {}) {
35
35
  export {
36
36
  createBrowserPythonProjectRunner
37
37
  };
38
- //# sourceMappingURL=project-browser-TKH7OQ2I.js.map
38
+ //# sourceMappingURL=project-browser-JR2WG7DG.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createRuntimeProjectIoBridge,
4
4
  runRuntimeProjectWorkerBridge,
5
5
  withRuntimeProjectCommandRunnerCapabilities
6
- } from "./chunk-3TX3UB5E.js";
6
+ } from "./chunk-DGXNINFR.js";
7
7
  import "./chunk-756Z7C6D.js";
8
8
 
9
9
  // packages/runtime-java/src/project-browser.ts
@@ -77,4 +77,4 @@ function createBrowserJavaProjectRunner(workerClient, options = {}) {
77
77
  export {
78
78
  createBrowserJavaProjectRunner
79
79
  };
80
- //# sourceMappingURL=project-browser-3AOBPP4V.js.map
80
+ //# sourceMappingURL=project-browser-T3EIQCMD.js.map
@@ -2,7 +2,7 @@ var define = undefined;
2
2
  import {
3
3
  runRuntimeProjectWorkerBridge,
4
4
  withRuntimeProjectCommandRunnerCapabilities
5
- } from "./chunk-3TX3UB5E.js";
5
+ } from "./chunk-DGXNINFR.js";
6
6
  import "./chunk-756Z7C6D.js";
7
7
 
8
8
  // packages/runtime-cpp/src/project-browser.ts
@@ -32,4 +32,4 @@ function createBrowserCppProjectRunner(workerClient, options = {}) {
32
32
  export {
33
33
  createBrowserCppProjectRunner
34
34
  };
35
- //# sourceMappingURL=project-browser-GL2OZKUK.js.map
35
+ //# sourceMappingURL=project-browser-UALCR5KR.js.map