@tracecode/harness 0.16.1 → 0.16.3

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 (45) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/{browser-runtime-provider-NQNCL6HE.js → browser-runtime-provider-C53ZJH3D.js} +4 -4
  3. package/dist/{chunk-MMQLUTPP.js → chunk-53ROKKGU.js} +2 -2
  4. package/dist/{chunk-KYTMGAFA.js → chunk-6SWX35P2.js} +2 -2
  5. package/dist/{chunk-4W6MUXZE.js → chunk-BXUGUGWL.js} +9 -9
  6. package/dist/{chunk-AWHLLSEH.js → chunk-DI7WIHES.js} +3 -3
  7. package/dist/chunk-EJE2EJDI.js +193 -0
  8. package/dist/{chunk-DQMPICNS.js → chunk-TXDHVV6B.js} +193 -345
  9. package/dist/{chunk-57WKRSIB.js → chunk-YID2AAYD.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.d.cts +2 -2
  14. package/dist/core.d.ts +2 -2
  15. package/dist/core.js +1 -1
  16. package/dist/{cpp-worker-client-A2ULEW5T.js → cpp-worker-client-FLJ2YLSW.js} +3 -3
  17. package/dist/{csharp-worker-client-RA47P77F.js → csharp-worker-client-S4U6MCVF.js} +3 -3
  18. package/dist/internal/tracekernel-workspace.cjs +171 -31
  19. package/dist/internal/tracekernel-workspace.d.cts +8 -2
  20. package/dist/internal/tracekernel-workspace.d.ts +8 -2
  21. package/dist/internal/tracekernel-workspace.js +164 -24
  22. package/dist/{java-project-BTAANBJH.js → java-project-GK6MHT3I.js} +2 -2
  23. package/dist/{java-project-client-R7CKC72F.js → java-project-client-PEQKFTH6.js} +11 -2
  24. package/dist/judge.cjs +420 -214
  25. package/dist/judge.d.cts +1 -1
  26. package/dist/judge.d.ts +1 -1
  27. package/dist/judge.js +9 -7
  28. package/dist/{project-browser-GBSPIYEW.js → project-browser-3I5FVB5N.js} +2 -2
  29. package/dist/{project-browser-U3YK43H4.js → project-browser-ADXGG5RZ.js} +2 -2
  30. package/dist/{project-browser-J6LVPVDC.js → project-browser-B5T7WJWP.js} +2 -2
  31. package/dist/{project-browser-QMZCUVJA.js → project-browser-JXJ74RDZ.js} +2 -2
  32. package/dist/{project-browser-PC7TRROQ.js → project-browser-TDL4LMJJ.js} +2 -2
  33. package/dist/{python-worker-client-NEBS6V63.js → python-worker-client-2RF6IYIN.js} +3 -3
  34. package/dist/{runtime-environment-D7mZm8SA.d.cts → runtime-environment-BO5I1fAC.d.cts} +5 -0
  35. package/dist/{runtime-environment-Q60S0pUa.d.ts → runtime-environment-Dfg6ZoCj.d.ts} +5 -0
  36. package/dist/{runtime-open-source-info-BQtIRJ9F.d.cts → runtime-open-source-info-CaBpNicy.d.cts} +4 -2
  37. package/dist/{runtime-open-source-info-FkIxlAcm.d.ts → runtime-open-source-info-D0OJc4zH.d.ts} +4 -2
  38. package/dist/tracecc-runtime-assets-G3BFH7LY.js +19 -0
  39. package/dist/tracekernel.cjs +585 -235
  40. package/dist/tracekernel.d.cts +14 -5
  41. package/dist/tracekernel.d.ts +14 -5
  42. package/dist/tracekernel.js +175 -31
  43. package/package.json +44 -32
  44. package/runtime-assets.lock.json +7 -7
  45. package/workers/javascript/javascript-project-worker.js +7 -7
package/CHANGELOG.md CHANGED
@@ -6,6 +6,30 @@ This repo uses Git tags as release boundaries. Version notes below summarize wha
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.16.3] - 2026-08-11
10
+
11
+ ### Fixed
12
+
13
+ - Preserved the Project process engine lease across TraceCC compilation so a
14
+ compiled C or C++ executable can run normally, including programs that exit
15
+ successfully without writing output.
16
+ - Kept TraceJVM's module worker on the consumer's same-origin worker tree when
17
+ runtime payloads are served from an external asset base URL.
18
+ - Made foreground terminal processes expose a fresh editable stdin line as
19
+ soon as they start. Submitted input remains visible and buffered until the
20
+ process reads it, matching an interactive TTY instead of appearing frozen.
21
+
22
+ ## [0.16.2] - 2026-08-10
23
+
24
+ ### Fixed
25
+
26
+ - Gave Project workspaces the same Harness-owned TraceCC runtime defaults as
27
+ Judge execution. C++ Project commands now select the isolated Project worker
28
+ while retaining the pinned, immutable TraceCC compiler tree.
29
+ - Made `sync-assets` publish the isolated C++ Project worker alias from the
30
+ exact pinned C++ worker bytes, so consumers no longer need to construct or
31
+ copy TraceCC runtime assets themselves.
32
+
9
33
  ## [0.16.1] - 2026-08-10
10
34
 
11
35
  ### Fixed
@@ -2,9 +2,9 @@ var define = undefined;
2
2
  import {
3
3
  createCppBrowserRuntimeProvider,
4
4
  createTraceCCBrowserCompilerService
5
- } from "./chunk-57WKRSIB.js";
6
- import "./chunk-AWHLLSEH.js";
7
- import "./chunk-4W6MUXZE.js";
5
+ } from "./chunk-YID2AAYD.js";
6
+ import "./chunk-DI7WIHES.js";
7
+ import "./chunk-BXUGUGWL.js";
8
8
  import "./chunk-DTLDQQHA.js";
9
9
  import "./chunk-C2RUZCIL.js";
10
10
  import "./chunk-756Z7C6D.js";
@@ -12,4 +12,4 @@ export {
12
12
  createCppBrowserRuntimeProvider,
13
13
  createTraceCCBrowserCompilerService
14
14
  };
15
- //# sourceMappingURL=browser-runtime-provider-NQNCL6HE.js.map
15
+ //# sourceMappingURL=browser-runtime-provider-C53ZJH3D.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createEmptyRuntimeTrace,
4
4
  liftCodeBatchOutcome,
5
5
  liftCodeOutcome
6
- } from "./chunk-4W6MUXZE.js";
6
+ } from "./chunk-BXUGUGWL.js";
7
7
  import {
8
8
  WorkerCrashedError,
9
9
  WorkerReadyTimeoutError,
@@ -559,4 +559,4 @@ export {
559
559
  PythonWorkerClient,
560
560
  isWorkerSupported
561
561
  };
562
- //# sourceMappingURL=chunk-MMQLUTPP.js.map
562
+ //# sourceMappingURL=chunk-53ROKKGU.js.map
@@ -4,7 +4,7 @@ import {
4
4
  liftCodeBatchOutcome,
5
5
  liftTraceOutcome,
6
6
  withRuntimeTraceOptions
7
- } from "./chunk-4W6MUXZE.js";
7
+ } from "./chunk-BXUGUGWL.js";
8
8
  import {
9
9
  HostArtifactCache,
10
10
  WorkerCrashedError,
@@ -638,4 +638,4 @@ var CSharpWorkerClient = class {
638
638
  export {
639
639
  CSharpWorkerClient
640
640
  };
641
- //# sourceMappingURL=chunk-KYTMGAFA.js.map
641
+ //# sourceMappingURL=chunk-6SWX35P2.js.map
@@ -3,7 +3,7 @@ var define = undefined;
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "@tracecode/harness",
6
- version: "0.16.1",
6
+ version: "0.16.3",
7
7
  license: "AGPL-3.0-only",
8
8
  homepage: "https://tracecode.app",
9
9
  repository: {
@@ -260,7 +260,7 @@ var LANGUAGE_RUNTIME_INFOS = Object.freeze(
260
260
  "versionLabel": "Python 3.13.2",
261
261
  "executionPlatform": {
262
262
  "name": "TraceKernel",
263
- "version": "0.16.1"
263
+ "version": "0.16.3"
264
264
  },
265
265
  "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.",
266
266
  "runtime": {
@@ -287,7 +287,7 @@ var LANGUAGE_RUNTIME_INFOS = Object.freeze(
287
287
  "versionLabel": "JavaScript (ECMAScript 2023)",
288
288
  "executionPlatform": {
289
289
  "name": "TraceKernel",
290
- "version": "0.16.1"
290
+ "version": "0.16.3"
291
291
  },
292
292
  "runtime": {
293
293
  "name": "TraceKernel JavaScript runtime",
@@ -379,7 +379,7 @@ Binary Search Tree, Trie, and Graph are bundled too, but are not exposed globall
379
379
  "versionLabel": "TypeScript 5.9.3",
380
380
  "executionPlatform": {
381
381
  "name": "TraceKernel",
382
- "version": "0.16.1"
382
+ "version": "0.16.3"
383
383
  },
384
384
  "description": `TypeScript 5.9.3 is compiled with the TypeScript compiler and executed by TraceKernel's JavaScript runtime.
385
385
 
@@ -479,7 +479,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
479
479
  "versionLabel": "Java 23",
480
480
  "executionPlatform": {
481
481
  "name": "TraceKernel",
482
- "version": "0.16.1"
482
+ "version": "0.16.3"
483
483
  },
484
484
  "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.",
485
485
  "runtime": {
@@ -516,7 +516,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
516
516
  "versionLabel": "C# 14",
517
517
  "executionPlatform": {
518
518
  "name": "TraceKernel",
519
- "version": "0.16.1"
519
+ "version": "0.16.3"
520
520
  },
521
521
  "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.",
522
522
  "runtime": {
@@ -545,7 +545,7 @@ The compiled output runs on the same TraceKernel execution lane as JavaScript su
545
545
  "versionLabel": "C++23",
546
546
  "executionPlatform": {
547
547
  "name": "TraceKernel",
548
- "version": "0.16.1"
548
+ "version": "0.16.3"
549
549
  },
550
550
  "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.",
551
551
  "runtime": {
@@ -697,7 +697,7 @@ var LANGUAGE_RUNTIME_OPEN_SOURCE_INFOS = Object.freeze(
697
697
  {
698
698
  "kind": "modifications",
699
699
  "label": "Runtime modifications",
700
- "url": "https://github.com/tracecodeapp/harness/tree/v0.16.1/workers/python/pyodide-0.29.3"
700
+ "url": "https://github.com/tracecodeapp/harness/tree/v0.16.3/workers/python/pyodide-0.29.3"
701
701
  }
702
702
  ]
703
703
  }
@@ -4424,4 +4424,4 @@ export {
4424
4424
  normalizeJavaSerializedResult,
4425
4425
  javaTraceHooksEventsToRuntimeTrace
4426
4426
  };
4427
- //# sourceMappingURL=chunk-4W6MUXZE.js.map
4427
+ //# sourceMappingURL=chunk-BXUGUGWL.js.map
@@ -4,7 +4,7 @@ import {
4
4
  liftCodeBatchOutcome,
5
5
  liftCodeOutcome,
6
6
  liftTraceOutcome
7
- } from "./chunk-4W6MUXZE.js";
7
+ } from "./chunk-BXUGUGWL.js";
8
8
  import {
9
9
  WorkerCrashedError,
10
10
  WorkerReadyTimeoutError,
@@ -1257,7 +1257,6 @@ var CppWorkerClient = class {
1257
1257
  });
1258
1258
  }
1259
1259
  async executeProjectCpp(request, timeoutMs = this.executionTimeoutMs, onEvent, signal = request.signal, engineLease) {
1260
- engineLease?.attach({ release: () => void 0 });
1261
1260
  if (request.source === "compile" && this.options.trustedCompilerService) {
1262
1261
  const {
1263
1262
  signal: _signal,
@@ -1326,6 +1325,7 @@ var CppWorkerClient = class {
1326
1325
  }]
1327
1326
  };
1328
1327
  }
1328
+ engineLease?.attach({ release: () => void 0 });
1329
1329
  return this.runInDisposableExecutionWorker(async (lifecycleGeneration) => {
1330
1330
  const {
1331
1331
  signal: _signal,
@@ -1370,4 +1370,4 @@ var CppWorkerClient = class {
1370
1370
  export {
1371
1371
  CppWorkerClient
1372
1372
  };
1373
- //# sourceMappingURL=chunk-AWHLLSEH.js.map
1373
+ //# sourceMappingURL=chunk-DI7WIHES.js.map
@@ -0,0 +1,193 @@
1
+ var define = undefined;
2
+
3
+ // packages/runtime-cpp/src/tracecc-runtime-assets.generated.ts
4
+ var TRACECC_RUNTIME_CONTENT_HASH = "fb4b6f41f9e9b7db89b6c8425bb2c6218979219a4150f96619b6461b4b78d294";
5
+ var TRACECC_RUNTIME_ASSETS = Object.freeze({
6
+ "runtimeHeader": {
7
+ "fileName": "tracecode_runtime.hpp",
8
+ "integrity": "sha256-WEbB8mLN8cwKIWPf25UL7yoTSM9nCqWs8MkE0B14EtE=",
9
+ "mediaType": "text/plain",
10
+ "size": 263083
11
+ },
12
+ "compilerWasm": {
13
+ "fileName": "tracecc-reactor.wasm",
14
+ "integrity": "sha256-At40hCU4Rmvynp1s8UzQ1eX/UZybo5BWHMsVgQXUTUE=",
15
+ "mediaType": "application/wasm",
16
+ "size": 33478188
17
+ },
18
+ "sysroot": {
19
+ "fileName": "llvm-resources.tar",
20
+ "integrity": "sha256-2V0qK8hAihbAdEmWrEfJG7PGO7cblDFcl5YIm23ahVU=",
21
+ "mediaType": "application/x-tar",
22
+ "size": 29112320
23
+ },
24
+ "narrowPch": {
25
+ "fileName": "narrow.pch",
26
+ "integrity": "sha256-rbuVm7YeO+HwDpSJPAqGGNrrPKeJveazS/juUWXs5/A=",
27
+ "mediaType": "application/octet-stream",
28
+ "size": 21322216
29
+ },
30
+ "narrowPchSource": {
31
+ "fileName": "narrow.source.hpp",
32
+ "integrity": "sha256-SMqxQfcMBSUHUcAz+7Cp4vkWyOtgv7mNB09JE1cOEAU=",
33
+ "mediaType": "text/plain",
34
+ "size": 815
35
+ },
36
+ "narrowRuntimeObject": {
37
+ "fileName": "narrow.o",
38
+ "integrity": "sha256-il/wX66FvAU9SJSiDepMuEZ00CipED4EEEfqcdxEg8c=",
39
+ "mediaType": "application/wasm",
40
+ "size": 1042570
41
+ },
42
+ "broadPch": {
43
+ "fileName": "broad.pch",
44
+ "integrity": "sha256-ktKxBSglo50GPM9GJJwBpqyYDcFHkKGjoyEtsUmLMrI=",
45
+ "mediaType": "application/octet-stream",
46
+ "size": 24543552
47
+ },
48
+ "broadPchSource": {
49
+ "fileName": "broad.source.hpp",
50
+ "integrity": "sha256-MOayycWl5KYaLS8vP2MoJh4kazsDhg0kH9Bi6dvsy0s=",
51
+ "mediaType": "text/plain",
52
+ "size": 7095
53
+ },
54
+ "broadRuntimeObject": {
55
+ "fileName": "broad.o",
56
+ "integrity": "sha256-f69Oe7kRn9JEIUEPgM1cuYbf50oph4IxEnVP7VIZGp4=",
57
+ "mediaType": "application/wasm",
58
+ "size": 1892879
59
+ },
60
+ "mapPch": {
61
+ "fileName": "map.pch",
62
+ "integrity": "sha256-fX7zTmJXnRJ2acbDiJ4Wu7/xf1G510SB2fLzkTgr2Uc=",
63
+ "mediaType": "application/octet-stream",
64
+ "size": 29951380
65
+ },
66
+ "mapPchSource": {
67
+ "fileName": "map.source.hpp",
68
+ "integrity": "sha256-WHaMpx3nG/h1ro6CppBseoDIkgqahbYnFxShHLGT9/c=",
69
+ "mediaType": "text/plain",
70
+ "size": 10708
71
+ },
72
+ "mapRuntimeObject": {
73
+ "fileName": "map.o",
74
+ "integrity": "sha256-02ktvX6uqV05it5kdBEm/ncOszBeO43wX93Yk079E4U=",
75
+ "mediaType": "application/wasm",
76
+ "size": 3372458
77
+ }
78
+ });
79
+
80
+ // packages/runtime-cpp/src/tracecc-runtime-assets.ts
81
+ var TRACECC_RUNTIME_ASSET_RELATIVE_PATH = `cpp/tracecc/${TRACECC_RUNTIME_CONTENT_HASH}`;
82
+ var typedTraceCCRuntimeAssets = TRACECC_RUNTIME_ASSETS;
83
+ function stripTrailingSlash(value) {
84
+ return value.replace(/\/+$/, "");
85
+ }
86
+ function normalizeAssetBaseUrl(value) {
87
+ const normalized = stripTrailingSlash(value.trim());
88
+ if (!normalized) {
89
+ throw new TypeError("TraceCC requires a non-empty asset base URL.");
90
+ }
91
+ if (/[?#]/u.test(normalized)) {
92
+ throw new TypeError(
93
+ "TraceCC asset base URL must be a directory without a query or fragment."
94
+ );
95
+ }
96
+ return normalized;
97
+ }
98
+ function normalizeWorkerUrl(value) {
99
+ const normalized = value.trim();
100
+ if (!normalized) {
101
+ throw new TypeError("TraceCC worker URL must not be empty.");
102
+ }
103
+ return normalized;
104
+ }
105
+ function descriptor(asset) {
106
+ return {
107
+ url: asset.fileName,
108
+ integrity: asset.integrity,
109
+ mediaType: asset.mediaType,
110
+ size: asset.size,
111
+ delivery: {
112
+ mutability: "immutable",
113
+ address: "content"
114
+ }
115
+ };
116
+ }
117
+ function createTraceCCRuntimeManifest(assetBaseUrl, options = {}) {
118
+ const normalizedAssetBaseUrl = normalizeAssetBaseUrl(assetBaseUrl);
119
+ const workerUrl = normalizeWorkerUrl(
120
+ options.workerUrl ?? "/workers/cpp-worker.js"
121
+ );
122
+ const compilerWasm = descriptor(
123
+ typedTraceCCRuntimeAssets.compilerWasm
124
+ );
125
+ return {
126
+ runtime: "cpp",
127
+ runtimeVersion: `tracecc-${TRACECC_RUNTIME_CONTENT_HASH.slice(0, 12)}`,
128
+ protocolVersion: "browser-runtime-assets-v1",
129
+ assetBaseUrl: `${normalizedAssetBaseUrl}/`,
130
+ workerFormat: "module",
131
+ assets: {
132
+ worker: { url: workerUrl },
133
+ runtimeHeader: descriptor(typedTraceCCRuntimeAssets.runtimeHeader),
134
+ compilerWasm,
135
+ linkerWasm: compilerWasm,
136
+ sysroot: descriptor(typedTraceCCRuntimeAssets.sysroot),
137
+ compilerResources: {
138
+ "tracecc-narrow-pch": descriptor(
139
+ typedTraceCCRuntimeAssets.narrowPch
140
+ ),
141
+ "tracecc-narrow-pch-source": descriptor(
142
+ typedTraceCCRuntimeAssets.narrowPchSource
143
+ ),
144
+ "tracecc-narrow-runtime-object": descriptor(
145
+ typedTraceCCRuntimeAssets.narrowRuntimeObject
146
+ ),
147
+ "tracecc-broad-pch": descriptor(
148
+ typedTraceCCRuntimeAssets.broadPch
149
+ ),
150
+ "tracecc-broad-pch-source": descriptor(
151
+ typedTraceCCRuntimeAssets.broadPchSource
152
+ ),
153
+ "tracecc-broad-runtime-object": descriptor(
154
+ typedTraceCCRuntimeAssets.broadRuntimeObject
155
+ ),
156
+ "tracecc-map-pch": descriptor(
157
+ typedTraceCCRuntimeAssets.mapPch
158
+ ),
159
+ "tracecc-map-pch-source": descriptor(
160
+ typedTraceCCRuntimeAssets.mapPchSource
161
+ ),
162
+ "tracecc-map-runtime-object": descriptor(
163
+ typedTraceCCRuntimeAssets.mapRuntimeObject
164
+ )
165
+ }
166
+ }
167
+ };
168
+ }
169
+ function resolveBuiltInTraceCCRuntimeManifest(assetBaseUrl = "/workers") {
170
+ const normalizedAssetBaseUrl = normalizeAssetBaseUrl(assetBaseUrl);
171
+ return createTraceCCRuntimeManifest(
172
+ `${normalizedAssetBaseUrl}/${TRACECC_RUNTIME_ASSET_RELATIVE_PATH}`,
173
+ { workerUrl: `${normalizedAssetBaseUrl}/cpp-worker.js` }
174
+ );
175
+ }
176
+ function resolveBuiltInTraceCCProjectRuntimeManifest(assetBaseUrl = "/workers") {
177
+ const normalizedAssetBaseUrl = normalizeAssetBaseUrl(assetBaseUrl);
178
+ return createTraceCCRuntimeManifest(
179
+ `${normalizedAssetBaseUrl}/${TRACECC_RUNTIME_ASSET_RELATIVE_PATH}`,
180
+ { workerUrl: `${normalizedAssetBaseUrl}/project-cpp-worker.js` }
181
+ );
182
+ }
183
+ var TRACECC_RUNTIME_MANIFEST = resolveBuiltInTraceCCRuntimeManifest();
184
+
185
+ export {
186
+ TRACECC_RUNTIME_CONTENT_HASH,
187
+ TRACECC_RUNTIME_ASSET_RELATIVE_PATH,
188
+ createTraceCCRuntimeManifest,
189
+ resolveBuiltInTraceCCRuntimeManifest,
190
+ resolveBuiltInTraceCCProjectRuntimeManifest,
191
+ TRACECC_RUNTIME_MANIFEST
192
+ };
193
+ //# sourceMappingURL=chunk-EJE2EJDI.js.map