@tracecode/harness 0.16.6 → 0.16.8

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 (31) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/{browser-runtime-provider-KPQBQ4EG.js → browser-runtime-provider-X6OLUZSN.js} +4 -4
  3. package/dist/{chunk-46XZQOHV.js → chunk-32OZHBX6.js} +5 -3
  4. package/dist/{chunk-GXTDL2ML.js → chunk-B4XMQTD7.js} +10 -9
  5. package/dist/{chunk-4PN5YD6J.js → chunk-BZNOMJSC.js} +2 -2
  6. package/dist/{chunk-J2KGF5PU.js → chunk-DLRTNTVJ.js} +8 -7
  7. package/dist/{chunk-EPBHRROK.js → chunk-GQSM4APD.js} +2 -2
  8. package/dist/{chunk-B2EM2SZ2.js → chunk-IRI2XDVR.js} +12 -12
  9. package/dist/core.cjs +9 -8
  10. package/dist/core.js +1 -1
  11. package/dist/{cpp-worker-client-UWGDH6HR.js → cpp-worker-client-7NLJ7RKG.js} +3 -3
  12. package/dist/{csharp-worker-client-4QP2ZBSA.js → csharp-worker-client-LAIK4IXZ.js} +3 -3
  13. package/dist/internal/tracekernel-workspace.cjs +9 -8
  14. package/dist/internal/tracekernel-workspace.js +1 -1
  15. package/dist/{java-project-AEQEVBDA.js → java-project-WQNHWOFV.js} +2 -2
  16. package/dist/judge.cjs +27 -16
  17. package/dist/judge.js +15 -8
  18. package/dist/{project-browser-L3A2G2MA.js → project-browser-2OSJRVDB.js} +2 -2
  19. package/dist/{project-browser-P2H222D7.js → project-browser-CWX4AY24.js} +2 -2
  20. package/dist/{project-browser-WCSIJY6I.js → project-browser-JWQZTSDF.js} +2 -2
  21. package/dist/{project-browser-HFNQEALT.js → project-browser-OPSZJVFS.js} +2 -2
  22. package/dist/{project-browser-OVE7V464.js → project-browser-YF7EUUTQ.js} +2 -2
  23. package/dist/{python-worker-client-UCOMTSMU.js → python-worker-client-ON4LFEJD.js} +3 -3
  24. package/dist/tracekernel.cjs +18 -14
  25. package/dist/tracekernel.js +3 -3
  26. package/package.json +4 -3
  27. package/runtime-assets.lock.json +29 -21
  28. package/workers/java/java-worker.js +30 -9
  29. package/workers/javascript/javascript-project-worker.js +8 -7
  30. package/workers/python/pyodide-0.29.3/snapshots/provenance.json +36 -0
  31. package/workers/python/pyodide-0.29.3/snapshots/webkit.bin +0 -0
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.6"
13077
+ "version": "0.16.8"
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.6"
13104
+ "version": "0.16.8"
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.6"
13196
+ "version": "0.16.8"
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.6"
13296
+ "version": "0.16.8"
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.6"
13333
+ "version": "0.16.8"
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.6"
13362
+ "version": "0.16.8"
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.6/workers/python/pyodide-0.29.3"
13527
+ "url": "https://github.com/tracecodeapp/harness/tree/v0.16.8/workers/python/pyodide-0.29.3"
13528
13528
  }
13529
13529
  ]
13530
13530
  }
@@ -15213,7 +15213,7 @@ var init_package = __esm({
15213
15213
  "package.json"() {
15214
15214
  package_default = {
15215
15215
  name: "@tracecode/harness",
15216
- version: "0.16.6",
15216
+ version: "0.16.8",
15217
15217
  license: "AGPL-3.0-only",
15218
15218
  homepage: "https://tracecode.app",
15219
15219
  repository: {
@@ -15292,6 +15292,7 @@ var init_package = __esm({
15292
15292
  "bench:traceclr-tiers:matrix": "pnpm build:traceclr-wire-probe && pnpm materialize:csharp-role-assets && for engine in chromium firefox webkit; do TRACECODE_TRACECLR_BROWSER_ENGINE=$engine node --import tsx scripts/benchmark-traceclr-runtime-tiers.ts || exit; done",
15293
15293
  "generate:runtime-open-source-info": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-runtime-open-source-info.ts",
15294
15294
  "generate:python-harness": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-python-harness-artifacts.ts",
15295
+ "build:python-runtime-snapshot": "node --import tsx scripts/build-python-runtime-snapshot.ts",
15295
15296
  "generate:runtime-assets-lock": "node --import tsx scripts/generate-runtime-assets-lock.mjs",
15296
15297
  "generate:typescript-project-libs": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-typescript-project-libs.ts",
15297
15298
  "generate:javascript-project-worker": "pnpm exec esbuild packages/runtime-javascript/src/project-browser-worker.ts --bundle --format=esm --platform=browser --target=es2022 --outfile=workers/javascript/javascript-project-worker.js && node scripts/normalize-generated-worker-paths.mjs workers/javascript/javascript-project-worker.js",
@@ -31172,7 +31173,9 @@ var init_cpp_worker_client = __esm({
31172
31173
  lldWasmUrl: this.options.linkerWasmUrl,
31173
31174
  sysrootUrl: this.options.sysrootUrl,
31174
31175
  runtimeHeaderUrl: this.options.runtimeHeaderUrl,
31175
- traceccCompilerEnabled: Boolean(this.options.trustedCompilerService),
31176
+ traceccCompilerEnabled: Boolean(
31177
+ this.options.trustedCompilerService || this.externalCompilerUrl
31178
+ ),
31176
31179
  compilerFrameUrl: this.compilerFrameUrl,
31177
31180
  compilerWorkerUrl: this.options.compilerWorkerUrl,
31178
31181
  toolchainIntegrity: this.options.compilerIntegrity
@@ -32682,25 +32685,26 @@ function createCppBrowserRuntimeProvider(options = {}) {
32682
32685
  tracingTimeoutMs: options.tracingTimeoutMs,
32683
32686
  workerIdleTimeoutMs: options.workerIdleTimeoutMs,
32684
32687
  programCacheLimit: options.programCacheLimit,
32685
- usePrecompiledHeader: options.usePrecompiledHeader
32688
+ usePrecompiledHeader: options.usePrecompiledHeader,
32689
+ externalCompilerUrl: options.externalCompilerUrl
32686
32690
  };
32687
- const compilerService = createTraceCCBrowserCompilerService(compiler, {
32691
+ const compilerService = options.externalCompilerUrl ? void 0 : createTraceCCBrowserCompilerService(compiler, {
32688
32692
  assets: context2.assets,
32689
32693
  ...workerFactory ? { workerFactory } : {}
32690
32694
  });
32691
32695
  const createWorkerClient = () => new CppWorkerClient({
32692
32696
  ...workerOptions,
32693
- trustedCompilerService: compilerService
32697
+ ...compilerService ? { trustedCompilerService: compilerService } : {}
32694
32698
  });
32695
32699
  const preparedProvider = createCppPreparedExecutionProvider({
32696
32700
  createWorkerClient,
32697
32701
  warmCompilerOnInit: false,
32698
- prewarmCompiler: () => compilerService.prewarmAssets(),
32702
+ prewarmCompiler: () => compilerService?.prewarmAssets() ?? Promise.resolve(),
32699
32703
  scheduleCompilerPrewarm: createPromotableBrowserBackgroundTask
32700
32704
  });
32701
32705
  const preparedProviders = /* @__PURE__ */ new Map([["cpp", preparedProvider]]);
32702
32706
  const terminateCompiler = () => {
32703
- compilerService.terminate();
32707
+ compilerService?.terminate();
32704
32708
  };
32705
32709
  return {
32706
32710
  preparedProviders,
@@ -127855,11 +127859,18 @@ var PYTHON_RUNTIME_SNAPSHOTS = Object.freeze({
127855
127859
  "size": 20971936
127856
127860
  },
127857
127861
  "webkit": {
127858
- "integrity": "sha256-6/QwvAp6JAivTHNhA/unBxEFjg+eYKiQ1Q7S4dcHbvs=",
127862
+ "integrity": "sha256-X1nEztIYVKa7kt10+5WkTRZeNxFlo34Zs//cIpveIgc=",
127859
127863
  "size": 20971936
127860
127864
  }
127861
127865
  });
127862
127866
 
127867
+ // packages/runtime-python/src/python-runtime-image-contract.ts
127868
+ var PYTHON_RUNTIME_IMAGE_HASH_SEED = "0";
127869
+ var PYTHON_RUNTIME_IMAGE_HASH_PROBE = Object.freeze({
127870
+ source: "tracecode",
127871
+ value: -307991673
127872
+ });
127873
+
127863
127874
  // packages/runtime-python/src/python-runtime-assets.ts
127864
127875
  var IMMUTABLE_VERSIONED_DELIVERY = Object.freeze({
127865
127876
  mutability: "immutable",
@@ -127912,7 +127923,7 @@ function resolveBuiltInPythonRuntimeAssets(assets, engine) {
127912
127923
  // an existing image and would make restored interpreter state invalid.
127913
127924
  // Guest execution limits remain the denial-of-service boundary until a
127914
127925
  // future CPython/Wasm snapshot format can safely re-key after restore.
127915
- pythonHashSeed: "0",
127926
+ pythonHashSeed: PYTHON_RUNTIME_IMAGE_HASH_SEED,
127916
127927
  wasm: Object.freeze({
127917
127928
  url: `${runtimeBase}pyodide.asm.wasm`,
127918
127929
  integrity: PYTHON_RUNTIME_WASM.integrity,
package/dist/judge.js CHANGED
@@ -1,8 +1,8 @@
1
1
  var define = undefined;
2
2
  import {
3
3
  createCppBrowserRuntimeProvider
4
- } from "./chunk-J2KGF5PU.js";
5
- import "./chunk-46XZQOHV.js";
4
+ } from "./chunk-DLRTNTVJ.js";
5
+ import "./chunk-32OZHBX6.js";
6
6
  import {
7
7
  normalizeTraceJVMRuntimeAssetBaseUrl,
8
8
  preflightBuiltInTraceJVMRuntimeAssets,
@@ -10,20 +10,20 @@ import {
10
10
  } from "./chunk-FYDQ4ZKL.js";
11
11
  import {
12
12
  CSharpWorkerClient
13
- } from "./chunk-4PN5YD6J.js";
13
+ } from "./chunk-BZNOMJSC.js";
14
14
  import {
15
15
  PYTHON_RUNTIME_IMAGE_PROTOCOL_VERSION,
16
16
  createBrowserProjectWorkspace,
17
17
  createBrowserRuntimeAssetPreflight,
18
18
  createBrowserRuntimeEnvironment,
19
19
  makeTraceKernelHost
20
- } from "./chunk-B2EM2SZ2.js";
20
+ } from "./chunk-IRI2XDVR.js";
21
21
  import {
22
22
  resolveBuiltInTraceCCRuntimeManifest
23
23
  } from "./chunk-EJE2EJDI.js";
24
24
  import {
25
25
  PythonWorkerClient
26
- } from "./chunk-EPBHRROK.js";
26
+ } from "./chunk-GQSM4APD.js";
27
27
  import {
28
28
  RUNTIME_TRACE_SCHEMA_VERSION,
29
29
  createEmptyRuntimeTrace,
@@ -32,7 +32,7 @@ import {
32
32
  liftCodeOutcome,
33
33
  liftTraceOutcome,
34
34
  runtimeWorkspaceActorPreset
35
- } from "./chunk-GXTDL2ML.js";
35
+ } from "./chunk-B4XMQTD7.js";
36
36
  import {
37
37
  TraceKernelControlledRuntime,
38
38
  TraceKernelSharedSyscallServer,
@@ -2157,11 +2157,18 @@ var PYTHON_RUNTIME_SNAPSHOTS = Object.freeze({
2157
2157
  "size": 20971936
2158
2158
  },
2159
2159
  "webkit": {
2160
- "integrity": "sha256-6/QwvAp6JAivTHNhA/unBxEFjg+eYKiQ1Q7S4dcHbvs=",
2160
+ "integrity": "sha256-X1nEztIYVKa7kt10+5WkTRZeNxFlo34Zs//cIpveIgc=",
2161
2161
  "size": 20971936
2162
2162
  }
2163
2163
  });
2164
2164
 
2165
+ // packages/runtime-python/src/python-runtime-image-contract.ts
2166
+ var PYTHON_RUNTIME_IMAGE_HASH_SEED = "0";
2167
+ var PYTHON_RUNTIME_IMAGE_HASH_PROBE = Object.freeze({
2168
+ source: "tracecode",
2169
+ value: -307991673
2170
+ });
2171
+
2165
2172
  // packages/runtime-python/src/python-runtime-assets.ts
2166
2173
  var IMMUTABLE_VERSIONED_DELIVERY = Object.freeze({
2167
2174
  mutability: "immutable",
@@ -2214,7 +2221,7 @@ function resolveBuiltInPythonRuntimeAssets(assets, engine) {
2214
2221
  // an existing image and would make restored interpreter state invalid.
2215
2222
  // Guest execution limits remain the denial-of-service boundary until a
2216
2223
  // future CPython/Wasm snapshot format can safely re-key after restore.
2217
- pythonHashSeed: "0",
2224
+ pythonHashSeed: PYTHON_RUNTIME_IMAGE_HASH_SEED,
2218
2225
  wasm: Object.freeze({
2219
2226
  url: `${runtimeBase}pyodide.asm.wasm`,
2220
2227
  integrity: PYTHON_RUNTIME_WASM.integrity,
@@ -53,7 +53,7 @@ import {
53
53
  runtimeKernelWriteFsErrorMessage,
54
54
  runtimeKernelWriteTarget,
55
55
  runtimeProjectInfrastructureFailure
56
- } from "./chunk-GXTDL2ML.js";
56
+ } from "./chunk-B4XMQTD7.js";
57
57
  import {
58
58
  decodeTraceKernelWatchEvent
59
59
  } from "./chunk-LTRAP6OY.js";
@@ -10865,4 +10865,4 @@ export {
10865
10865
  createBrowserTypeScriptProjectRunner,
10866
10866
  runBrowserJavaScriptProjectRequest
10867
10867
  };
10868
- //# sourceMappingURL=project-browser-L3A2G2MA.js.map
10868
+ //# sourceMappingURL=project-browser-2OSJRVDB.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createRuntimeProjectIoBridge,
4
4
  runRuntimeProjectWorkerBridge,
5
5
  withRuntimeProjectCommandRunnerCapabilities
6
- } from "./chunk-GXTDL2ML.js";
6
+ } from "./chunk-B4XMQTD7.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-P2H222D7.js.map
80
+ //# sourceMappingURL=project-browser-CWX4AY24.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createRuntimeProjectIoBridge,
4
4
  runRuntimeProjectWorkerBridge,
5
5
  withRuntimeProjectCommandRunnerCapabilities
6
- } from "./chunk-GXTDL2ML.js";
6
+ } from "./chunk-B4XMQTD7.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-WCSIJY6I.js.map
82
+ //# sourceMappingURL=project-browser-JWQZTSDF.js.map
@@ -2,7 +2,7 @@ var define = undefined;
2
2
  import {
3
3
  runRuntimeProjectWorkerBridge,
4
4
  withRuntimeProjectCommandRunnerCapabilities
5
- } from "./chunk-GXTDL2ML.js";
5
+ } from "./chunk-B4XMQTD7.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-HFNQEALT.js.map
35
+ //# sourceMappingURL=project-browser-OPSZJVFS.js.map
@@ -2,7 +2,7 @@ var define = undefined;
2
2
  import {
3
3
  runRuntimeProjectWorkerBridge,
4
4
  withRuntimeProjectCommandRunnerCapabilities
5
- } from "./chunk-GXTDL2ML.js";
5
+ } from "./chunk-B4XMQTD7.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-OVE7V464.js.map
38
+ //# sourceMappingURL=project-browser-YF7EUUTQ.js.map
@@ -2,8 +2,8 @@ var define = undefined;
2
2
  import {
3
3
  PythonWorkerClient,
4
4
  isWorkerSupported
5
- } from "./chunk-EPBHRROK.js";
6
- import "./chunk-GXTDL2ML.js";
5
+ } from "./chunk-GQSM4APD.js";
6
+ import "./chunk-B4XMQTD7.js";
7
7
  import "./chunk-5KH5ABPQ.js";
8
8
  import "./chunk-C2RUZCIL.js";
9
9
  import "./chunk-756Z7C6D.js";
@@ -11,4 +11,4 @@ export {
11
11
  PythonWorkerClient,
12
12
  isWorkerSupported
13
13
  };
14
- //# sourceMappingURL=python-worker-client-UCOMTSMU.js.map
14
+ //# sourceMappingURL=python-worker-client-ON4LFEJD.js.map
@@ -13521,7 +13521,7 @@ var init_package = __esm({
13521
13521
  "package.json"() {
13522
13522
  package_default = {
13523
13523
  name: "@tracecode/harness",
13524
- version: "0.16.6",
13524
+ version: "0.16.8",
13525
13525
  license: "AGPL-3.0-only",
13526
13526
  homepage: "https://tracecode.app",
13527
13527
  repository: {
@@ -13600,6 +13600,7 @@ var init_package = __esm({
13600
13600
  "bench:traceclr-tiers:matrix": "pnpm build:traceclr-wire-probe && pnpm materialize:csharp-role-assets && for engine in chromium firefox webkit; do TRACECODE_TRACECLR_BROWSER_ENGINE=$engine node --import tsx scripts/benchmark-traceclr-runtime-tiers.ts || exit; done",
13601
13601
  "generate:runtime-open-source-info": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-runtime-open-source-info.ts",
13602
13602
  "generate:python-harness": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-python-harness-artifacts.ts",
13603
+ "build:python-runtime-snapshot": "node --import tsx scripts/build-python-runtime-snapshot.ts",
13603
13604
  "generate:runtime-assets-lock": "node --import tsx scripts/generate-runtime-assets-lock.mjs",
13604
13605
  "generate:typescript-project-libs": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-typescript-project-libs.ts",
13605
13606
  "generate:javascript-project-worker": "pnpm exec esbuild packages/runtime-javascript/src/project-browser-worker.ts --bundle --format=esm --platform=browser --target=es2022 --outfile=workers/javascript/javascript-project-worker.js && node scripts/normalize-generated-worker-paths.mjs workers/javascript/javascript-project-worker.js",
@@ -13800,7 +13801,7 @@ var init_runtime_language_info_data = __esm({
13800
13801
  "versionLabel": "Python 3.13.2",
13801
13802
  "executionPlatform": {
13802
13803
  "name": "TraceKernel",
13803
- "version": "0.16.6"
13804
+ "version": "0.16.8"
13804
13805
  },
13805
13806
  "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.",
13806
13807
  "runtime": {
@@ -13827,7 +13828,7 @@ var init_runtime_language_info_data = __esm({
13827
13828
  "versionLabel": "JavaScript (ECMAScript 2023)",
13828
13829
  "executionPlatform": {
13829
13830
  "name": "TraceKernel",
13830
- "version": "0.16.6"
13831
+ "version": "0.16.8"
13831
13832
  },
13832
13833
  "runtime": {
13833
13834
  "name": "TraceKernel JavaScript runtime",
@@ -13919,7 +13920,7 @@ Binary Search Tree, Trie, and Graph are bundled too, but are not exposed globall
13919
13920
  "versionLabel": "TypeScript 5.9.3",
13920
13921
  "executionPlatform": {
13921
13922
  "name": "TraceKernel",
13922
- "version": "0.16.6"
13923
+ "version": "0.16.8"
13923
13924
  },
13924
13925
  "description": `TypeScript 5.9.3 is compiled with the TypeScript compiler and executed by TraceKernel's JavaScript runtime.
13925
13926
 
@@ -14019,7 +14020,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
14019
14020
  "versionLabel": "Java 23",
14020
14021
  "executionPlatform": {
14021
14022
  "name": "TraceKernel",
14022
- "version": "0.16.6"
14023
+ "version": "0.16.8"
14023
14024
  },
14024
14025
  "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.",
14025
14026
  "runtime": {
@@ -14056,7 +14057,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
14056
14057
  "versionLabel": "C# 14",
14057
14058
  "executionPlatform": {
14058
14059
  "name": "TraceKernel",
14059
- "version": "0.16.6"
14060
+ "version": "0.16.8"
14060
14061
  },
14061
14062
  "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.",
14062
14063
  "runtime": {
@@ -14085,7 +14086,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
14085
14086
  "versionLabel": "C++23",
14086
14087
  "executionPlatform": {
14087
14088
  "name": "TraceKernel",
14088
- "version": "0.16.6"
14089
+ "version": "0.16.8"
14089
14090
  },
14090
14091
  "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.",
14091
14092
  "runtime": {
@@ -14250,7 +14251,7 @@ var init_runtime_open_source_info_data = __esm({
14250
14251
  {
14251
14252
  "kind": "modifications",
14252
14253
  "label": "Runtime modifications",
14253
- "url": "https://github.com/tracecodeapp/harness/tree/v0.16.6/workers/python/pyodide-0.29.3"
14254
+ "url": "https://github.com/tracecodeapp/harness/tree/v0.16.8/workers/python/pyodide-0.29.3"
14254
14255
  }
14255
14256
  ]
14256
14257
  }
@@ -122582,7 +122583,9 @@ var init_cpp_worker_client = __esm({
122582
122583
  lldWasmUrl: this.options.linkerWasmUrl,
122583
122584
  sysrootUrl: this.options.sysrootUrl,
122584
122585
  runtimeHeaderUrl: this.options.runtimeHeaderUrl,
122585
- traceccCompilerEnabled: Boolean(this.options.trustedCompilerService),
122586
+ traceccCompilerEnabled: Boolean(
122587
+ this.options.trustedCompilerService || this.externalCompilerUrl
122588
+ ),
122586
122589
  compilerFrameUrl: this.compilerFrameUrl,
122587
122590
  compilerWorkerUrl: this.options.compilerWorkerUrl,
122588
122591
  toolchainIntegrity: this.options.compilerIntegrity
@@ -124331,25 +124334,26 @@ function createCppBrowserRuntimeProvider(options = {}) {
124331
124334
  tracingTimeoutMs: options.tracingTimeoutMs,
124332
124335
  workerIdleTimeoutMs: options.workerIdleTimeoutMs,
124333
124336
  programCacheLimit: options.programCacheLimit,
124334
- usePrecompiledHeader: options.usePrecompiledHeader
124337
+ usePrecompiledHeader: options.usePrecompiledHeader,
124338
+ externalCompilerUrl: options.externalCompilerUrl
124335
124339
  };
124336
- const compilerService = createTraceCCBrowserCompilerService(compiler, {
124340
+ const compilerService = options.externalCompilerUrl ? void 0 : createTraceCCBrowserCompilerService(compiler, {
124337
124341
  assets: context2.assets,
124338
124342
  ...workerFactory ? { workerFactory } : {}
124339
124343
  });
124340
124344
  const createWorkerClient = () => new CppWorkerClient({
124341
124345
  ...workerOptions,
124342
- trustedCompilerService: compilerService
124346
+ ...compilerService ? { trustedCompilerService: compilerService } : {}
124343
124347
  });
124344
124348
  const preparedProvider = createCppPreparedExecutionProvider({
124345
124349
  createWorkerClient,
124346
124350
  warmCompilerOnInit: false,
124347
- prewarmCompiler: () => compilerService.prewarmAssets(),
124351
+ prewarmCompiler: () => compilerService?.prewarmAssets() ?? Promise.resolve(),
124348
124352
  scheduleCompilerPrewarm: createPromotableBrowserBackgroundTask
124349
124353
  });
124350
124354
  const preparedProviders = /* @__PURE__ */ new Map([["cpp", preparedProvider]]);
124351
124355
  const terminateCompiler = () => {
124352
- compilerService.terminate();
124356
+ compilerService?.terminate();
124353
124357
  };
124354
124358
  return {
124355
124359
  preparedProviders,
@@ -61,7 +61,7 @@ import {
61
61
  makeTraceKernelSharedSyscallChannel,
62
62
  resolveBrowserRuntimeAssetManifests,
63
63
  resolveBrowserRuntimeAssets
64
- } from "./chunk-B2EM2SZ2.js";
64
+ } from "./chunk-IRI2XDVR.js";
65
65
  import {
66
66
  TRACECC_RUNTIME_ASSET_RELATIVE_PATH,
67
67
  TRACECC_RUNTIME_CONTENT_HASH,
@@ -72,7 +72,7 @@ import {
72
72
  } from "./chunk-EJE2EJDI.js";
73
73
  import {
74
74
  PythonWorkerClient
75
- } from "./chunk-EPBHRROK.js";
75
+ } from "./chunk-GQSM4APD.js";
76
76
  import {
77
77
  LANGUAGE_RUNTIME_INFOS,
78
78
  LANGUAGE_RUNTIME_OPEN_SOURCE_INFOS,
@@ -236,7 +236,7 @@ import {
236
236
  withRuntimeProjectCommandRunnerCapabilities,
237
237
  withRuntimeTraceOptions,
238
238
  writeRuntimeCommandStdinPipeBytes
239
- } from "./chunk-GXTDL2ML.js";
239
+ } from "./chunk-B4XMQTD7.js";
240
240
  import {
241
241
  _await,
242
242
  bounded,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tracecode/harness",
3
- "version": "0.16.6",
3
+ "version": "0.16.8",
4
4
  "license": "AGPL-3.0-only",
5
5
  "homepage": "https://tracecode.app",
6
6
  "repository": {
@@ -65,8 +65,8 @@
65
65
  "tsup": "^8.5.0",
66
66
  "tsx": "^4.21.0",
67
67
  "typescript": "^5.0.0",
68
- "@tracecode/runtime-contracts": "^0.16.6",
69
- "@tracecode/tracekernel": "^0.16.6"
68
+ "@tracecode/runtime-contracts": "^0.16.8",
69
+ "@tracecode/tracekernel": "^0.16.8"
70
70
  },
71
71
  "dependencies": {
72
72
  "@datastructures-js/binary-search-tree": "5.4.0",
@@ -107,6 +107,7 @@
107
107
  "bench:traceclr-tiers:matrix": "pnpm build:traceclr-wire-probe && pnpm materialize:csharp-role-assets && for engine in chromium firefox webkit; do TRACECODE_TRACECLR_BROWSER_ENGINE=$engine node --import tsx scripts/benchmark-traceclr-runtime-tiers.ts || exit; done",
108
108
  "generate:runtime-open-source-info": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-runtime-open-source-info.ts",
109
109
  "generate:python-harness": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-python-harness-artifacts.ts",
110
+ "build:python-runtime-snapshot": "node --import tsx scripts/build-python-runtime-snapshot.ts",
110
111
  "generate:runtime-assets-lock": "node --import tsx scripts/generate-runtime-assets-lock.mjs",
111
112
  "generate:typescript-project-libs": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-typescript-project-libs.ts",
112
113
  "generate:javascript-project-worker": "pnpm exec esbuild packages/runtime-javascript/src/project-browser-worker.ts --bundle --format=esm --platform=browser --target=es2022 --outfile=workers/javascript/javascript-project-worker.js && node scripts/normalize-generated-worker-paths.mjs workers/javascript/javascript-project-worker.js",
@@ -2,12 +2,12 @@
2
2
  "schema": "tracecode.runtime-assets-lock.v1",
3
3
  "harness": {
4
4
  "name": "@tracecode/harness",
5
- "version": "0.16.6",
6
- "releaseId": "@tracecode/harness@0.16.6+sha256.ef4c9a8eac24498f6a5aa23d39ecaf63efaaaf168d4470fb8de60d8ba0ccbca6"
5
+ "version": "0.16.8",
6
+ "releaseId": "@tracecode/harness@0.16.8+sha256.be3fadf5cfad3876034dea92d63582389e489360c820386d9d593533ab9ad622"
7
7
  },
8
8
  "treeSha256Algorithm": "sha256-path-nul-bytes-nul-v1",
9
- "packageTreeSha256": "ef4c9a8eac24498f6a5aa23d39ecaf63efaaaf168d4470fb8de60d8ba0ccbca6",
10
- "totalPackagedRuntimeBytes": 151720964,
9
+ "packageTreeSha256": "be3fadf5cfad3876034dea92d63582389e489360c820386d9d593533ab9ad622",
10
+ "totalPackagedRuntimeBytes": 151723159,
11
11
  "components": {
12
12
  "cpp": {
13
13
  "releaseId": "cpp+sha256.9340d58c47a65abceff7fa7a783b57d01550d697013c2b50782aec77e6b19816",
@@ -1809,9 +1809,9 @@
1809
1809
  ]
1810
1810
  },
1811
1811
  "java": {
1812
- "releaseId": "java+sha256.1e0f657b97aa9c772e22115fa78f3ef667dc17ff7c62dd9ffacabfdba8bf0d0c",
1813
- "treeSha256": "1e0f657b97aa9c772e22115fa78f3ef667dc17ff7c62dd9ffacabfdba8bf0d0c",
1814
- "totalBytes": 602441,
1812
+ "releaseId": "java+sha256.edb99c14d07da3ac4fb41a52ea6ddc23c060c98311584eb1193e4cbde1d8afd9",
1813
+ "treeSha256": "edb99c14d07da3ac4fb41a52ea6ddc23c060c98311584eb1193e4cbde1d8afd9",
1814
+ "totalBytes": 603326,
1815
1815
  "files": [
1816
1816
  {
1817
1817
  "path": "workers/java/java-runtime-worker.js",
@@ -1829,9 +1829,9 @@
1829
1829
  },
1830
1830
  {
1831
1831
  "path": "workers/java/java-worker.js",
1832
- "size": 317127,
1833
- "sha256": "331c9e9e090def0d026e3efcfc48620d8a1347fa5e6c8956c49bd37947c20dbe",
1834
- "integrity": "sha256-MxyengkN7w0Cbj78/EhiDYoTR/pebIlWxJvTeUfCDb4=",
1832
+ "size": 318012,
1833
+ "sha256": "391f3b6a6aecee419892d05e2123683edb21b042e80f5111678e635a8eb30e0d",
1834
+ "integrity": "sha256-OR87amrs7kGYktBeISNoPtshsELoD1ERZ45jWo6zDg0=",
1835
1835
  "mediaType": "text/javascript"
1836
1836
  },
1837
1837
  {
@@ -1844,15 +1844,15 @@
1844
1844
  ]
1845
1845
  },
1846
1846
  "javascript": {
1847
- "releaseId": "javascript+sha256.2e99bedc70ad8ba39260b07c338afc3cc25ef6eed1d9d7fde598b0497a1a981e",
1848
- "treeSha256": "2e99bedc70ad8ba39260b07c338afc3cc25ef6eed1d9d7fde598b0497a1a981e",
1849
- "totalBytes": 1204569,
1847
+ "releaseId": "javascript+sha256.bbf6072a16c06b76610193c6c51f8235ab0ed9b09ce5db4d8569108f2c11b4a3",
1848
+ "treeSha256": "bbf6072a16c06b76610193c6c51f8235ab0ed9b09ce5db4d8569108f2c11b4a3",
1849
+ "totalBytes": 1204668,
1850
1850
  "files": [
1851
1851
  {
1852
1852
  "path": "workers/javascript/javascript-project-worker.js",
1853
- "size": 562771,
1854
- "sha256": "f2272dbe3ba670cd3518b81c137e500b868d92547f84f4fab326e39647e7cb04",
1855
- "integrity": "sha256-8ictvjumcM01GLgcE35QC4aNklR/hPT6sybjlkfnywQ=",
1853
+ "size": 562870,
1854
+ "sha256": "85581feb6e5728ca33b6d106b7df699b604c79c54825ed54b0d81f67a255e758",
1855
+ "integrity": "sha256-hVgf625XKMozttEGt99pm2BMecVIJe1UsNgfZ6JV51g=",
1856
1856
  "mediaType": "text/javascript"
1857
1857
  },
1858
1858
  {
@@ -1872,9 +1872,9 @@
1872
1872
  ]
1873
1873
  },
1874
1874
  "python": {
1875
- "releaseId": "python+sha256.03ea58bb2847423becc2062888653e6a3175a2903915c95fb0b7b82444a9678f",
1876
- "treeSha256": "03ea58bb2847423becc2062888653e6a3175a2903915c95fb0b7b82444a9678f",
1877
- "totalBytes": 75905209,
1875
+ "releaseId": "python+sha256.328174da2f8bc4de31176c735e064bb334391a2f906caad86b8d56f386ece09b",
1876
+ "treeSha256": "328174da2f8bc4de31176c735e064bb334391a2f906caad86b8d56f386ece09b",
1877
+ "totalBytes": 75906420,
1878
1878
  "files": [
1879
1879
  {
1880
1880
  "path": "workers/python/generated-python-harness-snippets.js",
@@ -1946,11 +1946,18 @@
1946
1946
  "integrity": "sha256-ozSkcg1128ksIGL0HrfKsqHNmBknSK0J9D/RulzOO6k=",
1947
1947
  "mediaType": "application/octet-stream"
1948
1948
  },
1949
+ {
1950
+ "path": "workers/python/pyodide-0.29.3/snapshots/provenance.json",
1951
+ "size": 1211,
1952
+ "sha256": "279f8756280cfb00fba7db7eb16ab1c89b32c5bdb8db96822ea9fc69f978d9db",
1953
+ "integrity": "sha256-J5+HVigM+wD7p9t+sWqxyJsyxb2425aCLqn8afl42ds=",
1954
+ "mediaType": "application/json"
1955
+ },
1949
1956
  {
1950
1957
  "path": "workers/python/pyodide-0.29.3/snapshots/webkit.bin",
1951
1958
  "size": 20971936,
1952
- "sha256": "ebf430bc0a7a2408af4c736103fba70711058e0f9e60a890d50ed2e1d7076efb",
1953
- "integrity": "sha256-6/QwvAp6JAivTHNhA/unBxEFjg+eYKiQ1Q7S4dcHbvs=",
1959
+ "sha256": "5f59c4ced21854a6bb92dd74fb95a44d165e371165a37e19b3ffdc229bde2207",
1960
+ "integrity": "sha256-X1nEztIYVKa7kt10+5WkTRZeNxFlo34Zs//cIpveIgc=",
1954
1961
  "mediaType": "application/octet-stream"
1955
1962
  },
1956
1963
  {
@@ -2029,6 +2036,7 @@
2029
2036
  "compatibility": {
2030
2037
  "python": {
2031
2038
  "runtimeDirectory": "pyodide-0.29.3",
2039
+ "hashSeed": "0",
2032
2040
  "native": {
2033
2041
  "schema": "tracecode-python-native-manifest-v1",
2034
2042
  "module": "_tracecode_native",