@tracecode/harness 0.16.3 → 0.16.5
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 +36 -0
- package/README.md +6 -4
- package/dist/{browser-runtime-provider-C53ZJH3D.js → browser-runtime-provider-POTAJULA.js} +5 -5
- package/dist/{chunk-DTLDQQHA.js → chunk-5KH5ABPQ.js} +72 -1
- package/dist/{chunk-YID2AAYD.js → chunk-GX4SGR3L.js} +64 -36
- package/dist/{chunk-DI7WIHES.js → chunk-I2JLGVMT.js} +3 -3
- package/dist/{chunk-53ROKKGU.js → chunk-JPDVJCVS.js} +3 -3
- package/dist/{chunk-BXUGUGWL.js → chunk-NHGF353L.js} +20 -11
- package/dist/{chunk-TXDHVV6B.js → chunk-OXFBZTWZ.js} +15 -31
- package/dist/{chunk-6SWX35P2.js → chunk-P5FQOYM4.js} +489 -3
- package/dist/cli.js +0 -0
- package/dist/core.cjs +19 -10
- package/dist/core.js +1 -1
- package/dist/cpp-worker-client-SKBOLX5Q.js +12 -0
- package/dist/{csharp-worker-client-S4U6MCVF.js → csharp-worker-client-GAUCDYVS.js} +4 -4
- package/dist/internal/browser.cjs +72 -0
- package/dist/internal/browser.d.cts +19 -1
- package/dist/internal/browser.d.ts +19 -1
- package/dist/internal/browser.js +3 -1
- package/dist/internal/tracekernel-workspace.cjs +19 -10
- package/dist/internal/tracekernel-workspace.js +1 -1
- package/dist/{java-project-GK6MHT3I.js → java-project-ASCLR77F.js} +2 -2
- package/dist/judge.cjs +892 -89
- package/dist/judge.d.cts +4 -0
- package/dist/judge.d.ts +4 -0
- package/dist/judge.js +236 -23
- package/dist/{project-browser-B5T7WJWP.js → project-browser-7MVLDAHN.js} +2 -2
- package/dist/{project-browser-3I5FVB5N.js → project-browser-DKMZFGCJ.js} +2 -2
- package/dist/{project-browser-ADXGG5RZ.js → project-browser-VSLHVOH4.js} +2 -2
- package/dist/{project-browser-TDL4LMJJ.js → project-browser-XKQ2MNK3.js} +2 -2
- package/dist/{project-browser-JXJ74RDZ.js → project-browser-YUBOA2Q4.js} +2 -2
- package/dist/{python-worker-client-2RF6IYIN.js → python-worker-client-R7K7HDO7.js} +4 -4
- package/dist/tracekernel.cjs +658 -68
- package/dist/tracekernel.js +4 -4
- package/package.json +43 -46
- package/runtime-assets.lock.json +77 -70
- package/workers/cpp/cpp-worker.js +53 -43
- package/workers/csharp/csharp-worker.js +150 -1
- package/workers/javascript/javascript-project-worker.js +18 -9
- package/workers/python/python-worker.js +121 -1
- package/workers/vendor/csharp/_framework/TraceCode.CSharpHost.wasm +0 -0
- package/workers/vendor/csharp/_framework/TraceCode.CSharpJudgeRuntime.wasm +0 -0
- package/workers/vendor/csharp/_framework/TraceCode.TraceClrWire.wasm +0 -0
- package/workers/vendor/csharp/_framework/dotnet.boot.js +11 -6
- package/workers/vendor/csharp/_framework/dotnet.native.wasm +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/TraceCode.CSharpHost.dll +0 -0
- package/workers/vendor/csharp/_framework/supportFiles/TraceCode.CSharpJudgeRuntime.dll +0 -0
- package/workers/vendor/csharp-runner/_framework/assemblies-02.pack +0 -0
- package/workers/vendor/csharp-runner/_framework/assemblies-03.pack +0 -0
- package/workers/vendor/csharp-runner/_framework/dotnet.boot.js +65 -65
- package/dist/cpp-worker-client-FLJ2YLSW.js +0 -12
package/dist/tracekernel.js
CHANGED
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
makeTraceKernelSharedSyscallChannel,
|
|
62
62
|
resolveBrowserRuntimeAssetManifests,
|
|
63
63
|
resolveBrowserRuntimeAssets
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-OXFBZTWZ.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-
|
|
75
|
+
} from "./chunk-JPDVJCVS.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-
|
|
239
|
+
} from "./chunk-NHGF353L.js";
|
|
240
240
|
import {
|
|
241
241
|
_await,
|
|
242
242
|
bounded,
|
|
@@ -265,7 +265,7 @@ import {
|
|
|
265
265
|
installBrowserExecutionWorkerHost,
|
|
266
266
|
isLanguageSupported,
|
|
267
267
|
isRuntimeSafeForUntrustedReuse
|
|
268
|
-
} from "./chunk-
|
|
268
|
+
} from "./chunk-5KH5ABPQ.js";
|
|
269
269
|
import {
|
|
270
270
|
TaggedError,
|
|
271
271
|
_await as _await2,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tracecode/harness",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.5",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"homepage": "https://tracecode.app",
|
|
6
6
|
"repository": {
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"publishConfig": {
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
|
-
"packageManager": "pnpm@10.4.1",
|
|
14
13
|
"type": "module",
|
|
15
14
|
"files": [
|
|
16
15
|
"dist",
|
|
@@ -57,8 +56,37 @@
|
|
|
57
56
|
},
|
|
58
57
|
"./package.json": "./package.json"
|
|
59
58
|
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@types/node": "^20.0.0",
|
|
61
|
+
"esbuild": "0.27.3",
|
|
62
|
+
"just-bash": "3.1.0",
|
|
63
|
+
"playwright": "^1.53.2",
|
|
64
|
+
"pyodide": "^0.29.0",
|
|
65
|
+
"tsup": "^8.5.0",
|
|
66
|
+
"tsx": "^4.21.0",
|
|
67
|
+
"typescript": "^5.0.0",
|
|
68
|
+
"@tracecode/runtime-contracts": "^0.16.5",
|
|
69
|
+
"@tracecode/tracekernel": "^0.16.5"
|
|
70
|
+
},
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"@datastructures-js/binary-search-tree": "5.4.0",
|
|
73
|
+
"@datastructures-js/deque": "1.0.8",
|
|
74
|
+
"@datastructures-js/graph": "5.3.1",
|
|
75
|
+
"@datastructures-js/heap": "4.3.7",
|
|
76
|
+
"@datastructures-js/linked-list": "6.1.4",
|
|
77
|
+
"@datastructures-js/priority-queue": "6.3.5",
|
|
78
|
+
"@datastructures-js/queue": "4.3.0",
|
|
79
|
+
"@datastructures-js/set": "4.2.2",
|
|
80
|
+
"@datastructures-js/stack": "3.1.6",
|
|
81
|
+
"@datastructures-js/trie": "4.2.3",
|
|
82
|
+
"@tracecode/tracecc": "0.1.0",
|
|
83
|
+
"@tracecode/tracejvm": "0.4.1",
|
|
84
|
+
"effect": "3.22.0",
|
|
85
|
+
"fflate": "0.8.3",
|
|
86
|
+
"lodash": "4.17.21",
|
|
87
|
+
"typescript": "^5.0.0"
|
|
88
|
+
},
|
|
60
89
|
"scripts": {
|
|
61
|
-
"prepublishOnly": "pnpm release:check && pnpm test:runtime-assets-lock && pnpm build && pnpm release:check && pnpm test:runtime-assets-lock",
|
|
62
90
|
"release:check": "node scripts/check-publish-safety.mjs",
|
|
63
91
|
"release:root": "pnpm release:check && pnpm publish . --access public",
|
|
64
92
|
"version:sync": "node scripts/sync-workspace-versions.mjs",
|
|
@@ -68,6 +96,15 @@
|
|
|
68
96
|
"build:browser-host": "pnpm exec tsup --config tsup.browser-host.config.ts",
|
|
69
97
|
"build:tracekernel": "pnpm exec tsup --config tsup.tracekernel.config.ts",
|
|
70
98
|
"generate:runtime-info": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-runtime-language-info.ts",
|
|
99
|
+
"generate:traceclr-profile": "node scripts/generate-traceclr-algorithm-profile.mjs",
|
|
100
|
+
"audit:traceclr-corpus": "node scripts/audit-traceclr-corpus.mjs",
|
|
101
|
+
"build:traceclr-product-corpus": "node scripts/create-traceclr-product-corpus.mjs",
|
|
102
|
+
"check:traceclr-profile": "node --test tests/test-traceclr-algorithm-profile.mjs tests/test-traceclr-profile-policy.mjs && node --import tsx tests/test-traceclr-wire-codec.ts",
|
|
103
|
+
"check:traceclr-product-profile": "node scripts/generate-traceclr-algorithm-profile.mjs --check && pnpm check:traceclr-profile",
|
|
104
|
+
"build:traceclr-wire-probe": "dotnet build tools/TraceCode.TraceClrWireProbe/TraceCode.TraceClrWireProbe.csproj -c Release && dotnet build tools/TraceCode.TraceClrHostileProbe/TraceCode.TraceClrHostileProbe.csproj -c Release && dotnet publish packages/runtime-csharp/dotnet/TraceCode.CSharpAlgorithmRunner/TraceCode.CSharpAlgorithmRunner.csproj -c Release",
|
|
105
|
+
"test:traceclr-wire-browser": "pnpm build:traceclr-wire-probe && TRACECODE_TRACECLR_BROWSER_ENGINE=chromium node --import tsx tests/test-traceclr-wire-runner-browser.ts && TRACECODE_TRACECLR_BROWSER_ENGINE=firefox node --import tsx tests/test-traceclr-wire-runner-browser.ts && TRACECODE_TRACECLR_BROWSER_ENGINE=webkit node --import tsx tests/test-traceclr-wire-runner-browser.ts",
|
|
106
|
+
"bench:traceclr-tiers": "pnpm build:traceclr-wire-probe && pnpm materialize:csharp-role-assets && node --import tsx scripts/benchmark-traceclr-runtime-tiers.ts",
|
|
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",
|
|
71
108
|
"generate:runtime-open-source-info": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-runtime-open-source-info.ts",
|
|
72
109
|
"generate:python-harness": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/generate-python-harness-artifacts.ts",
|
|
73
110
|
"generate:runtime-assets-lock": "node --import tsx scripts/generate-runtime-assets-lock.mjs",
|
|
@@ -131,10 +168,10 @@
|
|
|
131
168
|
"test:java-runtime": "pnpm exec tsx --tsconfig tsconfig.base.json tests/test-java-runtime.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-java-project-filesystem.ts && node --import tsx --test tests/test-java-jar-manifest.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-java-project-provider.ts && TSX_TSCONFIG_PATH=tsconfig.base.json node --import tsx --test tests/test-java-prepared-provider.ts",
|
|
132
169
|
"test:java-prepared-provider": "TSX_TSCONFIG_PATH=tsconfig.base.json node --import tsx --test tests/test-java-prepared-provider.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-java-prepared-provider-browser.ts",
|
|
133
170
|
"test:tracejvm-semantic-trace": "node --import tsx tests/test-tracejvm-semantic-trace-matrix.ts",
|
|
134
|
-
"test:csharp-runtime": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/validate-csharp-runtime-role-assets.ts && TSX_TSCONFIG_PATH=tsconfig.base.json node --import tsx --test tests/test-csharp-role-artifacts.ts tests/test-csharp-managed-assembly-packs.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-csharp-runtime.ts && TSX_TSCONFIG_PATH=tsconfig.base.json node --import tsx --test tests/test-csharp-prepared-provider.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-csharp-project-fs-parity.ts",
|
|
171
|
+
"test:csharp-runtime": "pnpm check:traceclr-profile && pnpm exec tsx --tsconfig tsconfig.base.json scripts/validate-csharp-runtime-role-assets.ts && TSX_TSCONFIG_PATH=tsconfig.base.json node --import tsx --test tests/test-csharp-role-artifacts.ts tests/test-csharp-managed-assembly-packs.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-csharp-runtime.ts && TSX_TSCONFIG_PATH=tsconfig.base.json node --import tsx --test tests/test-csharp-prepared-provider.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-csharp-project-fs-parity.ts",
|
|
135
172
|
"test:csharp-role-assets": "pnpm materialize:csharp-role-assets && TSX_TSCONFIG_PATH=tsconfig.base.json node --import tsx --test tests/test-csharp-role-artifacts.ts tests/test-csharp-managed-assembly-packs.ts && pnpm exec tsx --tsconfig tsconfig.base.json scripts/validate-csharp-runtime-role-assets.ts",
|
|
136
173
|
"test:csharp-worker-browser": "pnpm materialize:csharp-role-assets && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-csharp-worker-client-http.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-csharp-worker-browser.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-csharp-worker-lifecycle-browser.ts && pnpm exec tsx --tsconfig tsconfig.base.json tests/test-csharp-prepared-boundary-browser.ts",
|
|
137
|
-
"test:csharp-worker-browser-matrix": "pnpm materialize:csharp-role-assets &&
|
|
174
|
+
"test:csharp-worker-browser-matrix": "pnpm materialize:csharp-role-assets && for engine in chromium firefox webkit; do TSX_TSCONFIG_PATH=tsconfig.base.json TRACECODE_CSHARP_BROWSER_SMOKE=1 TRACECODE_CSHARP_BROWSER_ENGINE=$engine node --import tsx tests/test-csharp-worker-browser.ts && TSX_TSCONFIG_PATH=tsconfig.base.json TRACECODE_CSHARP_BROWSER_ENGINE=$engine node --import tsx tests/test-csharp-prepared-boundary-browser.ts || exit; done",
|
|
138
175
|
"test:cpp-runtime": "pnpm exec tsx --tsconfig tsconfig.base.json tests/test-cpp-runtime.ts",
|
|
139
176
|
"test:cpp-conformance": "pnpm exec tsx --tsconfig tsconfig.base.json tests/test-cpp-conformance.ts",
|
|
140
177
|
"test:cpp-script-lambda-trace": "pnpm exec tsx --tsconfig tsconfig.base.json tests/test-cpp-script-lambda-trace.ts",
|
|
@@ -202,45 +239,5 @@
|
|
|
202
239
|
"bench:browser-project-runtimes": "pnpm exec tsx --tsconfig tsconfig.base.json scripts/benchmark-browser-project-runtimes.ts",
|
|
203
240
|
"bench:tracekernel-seekable-output": "node --import tsx scripts/benchmark-tracekernel-seekable-output.mts",
|
|
204
241
|
"check:browser-project-performance": "node scripts/check-browser-project-performance.mjs"
|
|
205
|
-
},
|
|
206
|
-
"devDependencies": {
|
|
207
|
-
"@tracecode/runtime-contracts": "workspace:^",
|
|
208
|
-
"@tracecode/tracekernel": "workspace:^",
|
|
209
|
-
"@types/node": "^20.0.0",
|
|
210
|
-
"esbuild": "0.27.3",
|
|
211
|
-
"just-bash": "3.1.0",
|
|
212
|
-
"playwright": "^1.53.2",
|
|
213
|
-
"pyodide": "^0.29.0",
|
|
214
|
-
"tsup": "^8.5.0",
|
|
215
|
-
"tsx": "^4.21.0",
|
|
216
|
-
"typescript": "^5.0.0"
|
|
217
|
-
},
|
|
218
|
-
"pnpm": {
|
|
219
|
-
"overrides": {
|
|
220
|
-
"dompurify": "3.4.1",
|
|
221
|
-
"picomatch": "4.0.4",
|
|
222
|
-
"postcss": "8.5.10"
|
|
223
|
-
},
|
|
224
|
-
"patchedDependencies": {
|
|
225
|
-
"just-bash@3.1.0": "patches/just-bash@3.1.0.patch"
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
|
-
"dependencies": {
|
|
229
|
-
"@datastructures-js/binary-search-tree": "5.4.0",
|
|
230
|
-
"@datastructures-js/deque": "1.0.8",
|
|
231
|
-
"@datastructures-js/graph": "5.3.1",
|
|
232
|
-
"@datastructures-js/heap": "4.3.7",
|
|
233
|
-
"@datastructures-js/linked-list": "6.1.4",
|
|
234
|
-
"@datastructures-js/priority-queue": "6.3.5",
|
|
235
|
-
"@datastructures-js/queue": "4.3.0",
|
|
236
|
-
"@datastructures-js/set": "4.2.2",
|
|
237
|
-
"@datastructures-js/stack": "3.1.6",
|
|
238
|
-
"@datastructures-js/trie": "4.2.3",
|
|
239
|
-
"@tracecode/tracecc": "0.1.0",
|
|
240
|
-
"@tracecode/tracejvm": "0.4.1",
|
|
241
|
-
"effect": "3.22.0",
|
|
242
|
-
"fflate": "0.8.3",
|
|
243
|
-
"lodash": "4.17.21",
|
|
244
|
-
"typescript": "^5.0.0"
|
|
245
242
|
}
|
|
246
|
-
}
|
|
243
|
+
}
|
package/runtime-assets.lock.json
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
"schema": "tracecode.runtime-assets-lock.v1",
|
|
3
3
|
"harness": {
|
|
4
4
|
"name": "@tracecode/harness",
|
|
5
|
-
"version": "0.16.
|
|
6
|
-
"releaseId": "@tracecode/harness@0.16.
|
|
5
|
+
"version": "0.16.5",
|
|
6
|
+
"releaseId": "@tracecode/harness@0.16.5+sha256.c6ee3755a6514784ec821e10964ab96aeee35c35139fe33fedd8eda248721524"
|
|
7
7
|
},
|
|
8
8
|
"treeSha256Algorithm": "sha256-path-nul-bytes-nul-v1",
|
|
9
|
-
"packageTreeSha256": "
|
|
10
|
-
"totalPackagedRuntimeBytes":
|
|
9
|
+
"packageTreeSha256": "c6ee3755a6514784ec821e10964ab96aeee35c35139fe33fedd8eda248721524",
|
|
10
|
+
"totalPackagedRuntimeBytes": 151720964,
|
|
11
11
|
"components": {
|
|
12
12
|
"cpp": {
|
|
13
|
-
"releaseId": "cpp+sha256.
|
|
14
|
-
"treeSha256": "
|
|
15
|
-
"totalBytes":
|
|
13
|
+
"releaseId": "cpp+sha256.9340d58c47a65abceff7fa7a783b57d01550d697013c2b50782aec77e6b19816",
|
|
14
|
+
"treeSha256": "9340d58c47a65abceff7fa7a783b57d01550d697013c2b50782aec77e6b19816",
|
|
15
|
+
"totalBytes": 878379,
|
|
16
16
|
"files": [
|
|
17
17
|
{
|
|
18
18
|
"path": "workers/cpp/cpp-worker.js",
|
|
19
|
-
"size":
|
|
20
|
-
"sha256": "
|
|
21
|
-
"integrity": "sha256-
|
|
19
|
+
"size": 615296,
|
|
20
|
+
"sha256": "7f0cd1e899c357ace33cf18ea2b9026c0964845a661771493e2f76e6ff41052f",
|
|
21
|
+
"integrity": "sha256-fwzR6JnDV6zjPPGOorkCbAlkhFpmF3FJPi925v9BBS8=",
|
|
22
22
|
"mediaType": "text/javascript"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
]
|
|
32
32
|
},
|
|
33
33
|
"csharp": {
|
|
34
|
-
"releaseId": "csharp+sha256.
|
|
35
|
-
"treeSha256": "
|
|
36
|
-
"totalBytes":
|
|
34
|
+
"releaseId": "csharp+sha256.25b83301cc80d13079573f9232daa26689f548d654d84ee974abb8c3e6781ee5",
|
|
35
|
+
"treeSha256": "25b83301cc80d13079573f9232daa26689f548d654d84ee974abb8c3e6781ee5",
|
|
36
|
+
"totalBytes": 63338790,
|
|
37
37
|
"files": [
|
|
38
38
|
{
|
|
39
39
|
"path": "workers/csharp/csharp-worker.js",
|
|
40
|
-
"size":
|
|
41
|
-
"sha256": "
|
|
42
|
-
"integrity": "sha256-
|
|
40
|
+
"size": 155773,
|
|
41
|
+
"sha256": "706e07281beade272d5c5111f4930b46c387a1140b27428d5b843b822a396f1c",
|
|
42
|
+
"integrity": "sha256-cG4HKBvq3ictXFER9JMLRsOHoRQLJ0KNW4Q7gio5bxw=",
|
|
43
43
|
"mediaType": "text/javascript"
|
|
44
44
|
},
|
|
45
45
|
{
|
|
@@ -58,23 +58,23 @@
|
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"path": "workers/vendor/csharp-runner/_framework/assemblies-02.pack",
|
|
61
|
-
"size":
|
|
62
|
-
"sha256": "
|
|
63
|
-
"integrity": "sha256-
|
|
61
|
+
"size": 2394266,
|
|
62
|
+
"sha256": "c3538c279f756dacdcfe7b91ab2a017778e45d37c4625519e7e9d5c716dd3a57",
|
|
63
|
+
"integrity": "sha256-w1OMJ591bazc/nuRqyoBd3jkXTfEYlUZ5+nVxxbdOlc=",
|
|
64
64
|
"mediaType": "application/octet-stream"
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"path": "workers/vendor/csharp-runner/_framework/assemblies-03.pack",
|
|
68
|
-
"size":
|
|
69
|
-
"sha256": "
|
|
70
|
-
"integrity": "sha256-
|
|
68
|
+
"size": 2397213,
|
|
69
|
+
"sha256": "857eebf21f91e987d5ec8f2f21a922eb688f256555d455777b6dfdf169d7fb48",
|
|
70
|
+
"integrity": "sha256-hX7r8h+R6YfV7I8vIaki62iPJWVV1FV3e2398WnX+0g=",
|
|
71
71
|
"mediaType": "application/octet-stream"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
"path": "workers/vendor/csharp-runner/_framework/dotnet.boot.js",
|
|
75
75
|
"size": 23688,
|
|
76
|
-
"sha256": "
|
|
77
|
-
"integrity": "sha256-
|
|
76
|
+
"sha256": "1c6493928c05985df26c87bbe7a42d96922674968f165f7fdee18bfe4538138e",
|
|
77
|
+
"integrity": "sha256-HGSTkowFmF3ybIe756QtlpImdJaPFl9/3uGL/kU4E44=",
|
|
78
78
|
"mediaType": "text/javascript"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
@@ -1185,16 +1185,23 @@
|
|
|
1185
1185
|
},
|
|
1186
1186
|
{
|
|
1187
1187
|
"path": "workers/vendor/csharp/_framework/TraceCode.CSharpHost.wasm",
|
|
1188
|
-
"size":
|
|
1189
|
-
"sha256": "
|
|
1190
|
-
"integrity": "sha256-
|
|
1188
|
+
"size": 609045,
|
|
1189
|
+
"sha256": "26f9d49b079d8eec55a2bf58d3eb79181b9ddcb0939b2e88900e69d95bfe1343",
|
|
1190
|
+
"integrity": "sha256-JvnUmwedjuxVor9Y0+t5GBud3LCTmy6IkA5p2Vv+E0M=",
|
|
1191
1191
|
"mediaType": "application/wasm"
|
|
1192
1192
|
},
|
|
1193
1193
|
{
|
|
1194
1194
|
"path": "workers/vendor/csharp/_framework/TraceCode.CSharpJudgeRuntime.wasm",
|
|
1195
|
-
"size":
|
|
1196
|
-
"sha256": "
|
|
1197
|
-
"integrity": "sha256
|
|
1195
|
+
"size": 93973,
|
|
1196
|
+
"sha256": "fa90eda3aad42debb9d4d73f4463cd47b7dd1477058c4e3f9d392e1e7b1bc227",
|
|
1197
|
+
"integrity": "sha256-+pDto6rULeu51Nc/RGPNR7fdFHcFjE4/nTkuHnsbwic=",
|
|
1198
|
+
"mediaType": "application/wasm"
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"path": "workers/vendor/csharp/_framework/TraceCode.TraceClrWire.wasm",
|
|
1202
|
+
"size": 42261,
|
|
1203
|
+
"sha256": "bc3cdf1f6939098b0733baf6c8cb02d4e39efaf8c0935ddd4657e251147867a1",
|
|
1204
|
+
"integrity": "sha256-vDzfH2k5CYsHM7r2yMsC1OOe+vjAk13dRlfiURR4Z6E=",
|
|
1198
1205
|
"mediaType": "application/wasm"
|
|
1199
1206
|
},
|
|
1200
1207
|
{
|
|
@@ -1234,9 +1241,9 @@
|
|
|
1234
1241
|
},
|
|
1235
1242
|
{
|
|
1236
1243
|
"path": "workers/vendor/csharp/_framework/dotnet.boot.js",
|
|
1237
|
-
"size":
|
|
1238
|
-
"sha256": "
|
|
1239
|
-
"integrity": "sha256-
|
|
1244
|
+
"size": 48588,
|
|
1245
|
+
"sha256": "c5fb7a2dbbbefb240e4c9404ae202aedbd2f73824c71fefb9a69dcca72f2a683",
|
|
1246
|
+
"integrity": "sha256-xft6Lbu++yQOTJQEriAq7b0vc4JMcf77mmncynLypoM=",
|
|
1240
1247
|
"mediaType": "text/javascript"
|
|
1241
1248
|
},
|
|
1242
1249
|
{
|
|
@@ -1263,8 +1270,8 @@
|
|
|
1263
1270
|
{
|
|
1264
1271
|
"path": "workers/vendor/csharp/_framework/dotnet.native.wasm",
|
|
1265
1272
|
"size": 3005101,
|
|
1266
|
-
"sha256": "
|
|
1267
|
-
"integrity": "sha256-
|
|
1273
|
+
"sha256": "c5c8cb73a90392e70fd1c303f85ca70468b7fb940c1f2f80a5d4c6a4a95c8184",
|
|
1274
|
+
"integrity": "sha256-xcjLc6kDkucP0cMD+FynBGi3+5QMHy+ApdTGpKlcgYQ=",
|
|
1268
1275
|
"mediaType": "application/wasm"
|
|
1269
1276
|
},
|
|
1270
1277
|
{
|
|
@@ -1717,16 +1724,16 @@
|
|
|
1717
1724
|
},
|
|
1718
1725
|
{
|
|
1719
1726
|
"path": "workers/vendor/csharp/_framework/supportFiles/TraceCode.CSharpHost.dll",
|
|
1720
|
-
"size":
|
|
1721
|
-
"sha256": "
|
|
1722
|
-
"integrity": "sha256-
|
|
1727
|
+
"size": 609280,
|
|
1728
|
+
"sha256": "0d4e134c0888b852a01951badfa08f507e28b5b64f29d9f16168e188548033fa",
|
|
1729
|
+
"integrity": "sha256-DU4TTAiIuFKgGVG636CPUH4otbZPKdnxYWjhiFSAM/o=",
|
|
1723
1730
|
"mediaType": "application/octet-stream"
|
|
1724
1731
|
},
|
|
1725
1732
|
{
|
|
1726
1733
|
"path": "workers/vendor/csharp/_framework/supportFiles/TraceCode.CSharpJudgeRuntime.dll",
|
|
1727
|
-
"size":
|
|
1728
|
-
"sha256": "
|
|
1729
|
-
"integrity": "sha256-
|
|
1734
|
+
"size": 94208,
|
|
1735
|
+
"sha256": "a659062910ef9f9b2e7a41d16223908aa5ec8f63981597cfa97c4e8f9eda54c4",
|
|
1736
|
+
"integrity": "sha256-plkGKRDvn5suekHRYiOQiqXsj2OYFZfPqXxOj57aVMQ=",
|
|
1730
1737
|
"mediaType": "application/octet-stream"
|
|
1731
1738
|
},
|
|
1732
1739
|
{
|
|
@@ -1837,15 +1844,15 @@
|
|
|
1837
1844
|
]
|
|
1838
1845
|
},
|
|
1839
1846
|
"javascript": {
|
|
1840
|
-
"releaseId": "javascript+sha256.
|
|
1841
|
-
"treeSha256": "
|
|
1842
|
-
"totalBytes":
|
|
1847
|
+
"releaseId": "javascript+sha256.6fb50d48194799a2f66b59a9ec92ba64b210abaf3278765bde5bfd682cdfca0e",
|
|
1848
|
+
"treeSha256": "6fb50d48194799a2f66b59a9ec92ba64b210abaf3278765bde5bfd682cdfca0e",
|
|
1849
|
+
"totalBytes": 1204569,
|
|
1843
1850
|
"files": [
|
|
1844
1851
|
{
|
|
1845
1852
|
"path": "workers/javascript/javascript-project-worker.js",
|
|
1846
|
-
"size":
|
|
1847
|
-
"sha256": "
|
|
1848
|
-
"integrity": "sha256-
|
|
1853
|
+
"size": 562771,
|
|
1854
|
+
"sha256": "e3e1635d322831f1e217b3f095ad437c16c8092c05bb600d4e5295c6da8119fe",
|
|
1855
|
+
"integrity": "sha256-4+FjXTIoMfHiF7Pwla1DfBbICSwFu2ANTlKVxtqBGf4=",
|
|
1849
1856
|
"mediaType": "text/javascript"
|
|
1850
1857
|
},
|
|
1851
1858
|
{
|
|
@@ -1865,9 +1872,9 @@
|
|
|
1865
1872
|
]
|
|
1866
1873
|
},
|
|
1867
1874
|
"python": {
|
|
1868
|
-
"releaseId": "python+sha256.
|
|
1869
|
-
"treeSha256": "
|
|
1870
|
-
"totalBytes":
|
|
1875
|
+
"releaseId": "python+sha256.03ea58bb2847423becc2062888653e6a3175a2903915c95fb0b7b82444a9678f",
|
|
1876
|
+
"treeSha256": "03ea58bb2847423becc2062888653e6a3175a2903915c95fb0b7b82444a9678f",
|
|
1877
|
+
"totalBytes": 75905209,
|
|
1871
1878
|
"files": [
|
|
1872
1879
|
{
|
|
1873
1880
|
"path": "workers/python/generated-python-harness-snippets.js",
|
|
@@ -1948,9 +1955,9 @@
|
|
|
1948
1955
|
},
|
|
1949
1956
|
{
|
|
1950
1957
|
"path": "workers/python/python-worker.js",
|
|
1951
|
-
"size":
|
|
1952
|
-
"sha256": "
|
|
1953
|
-
"integrity": "sha256-
|
|
1958
|
+
"size": 374958,
|
|
1959
|
+
"sha256": "d9249256d4ca31a0ec07f6808eae01e67096e4dd17d12f20b77439860ed4ab3a",
|
|
1960
|
+
"integrity": "sha256-2SSSVtTKMaDsB/aAjq4B5nCW5N0X0S8gt3Q5hg7Uqzo=",
|
|
1954
1961
|
"mediaType": "text/javascript"
|
|
1955
1962
|
},
|
|
1956
1963
|
{
|
|
@@ -2076,28 +2083,28 @@
|
|
|
2076
2083
|
},
|
|
2077
2084
|
"roles": {
|
|
2078
2085
|
"general": {
|
|
2079
|
-
"artifact": "csharp-bundle.
|
|
2080
|
-
"artifactBytes":
|
|
2081
|
-
"artifactSha256": "
|
|
2082
|
-
"fileCount":
|
|
2083
|
-
"treeSha256": "
|
|
2084
|
-
"uncompressedBytes":
|
|
2086
|
+
"artifact": "csharp-bundle.fec59d84ca62d184052542d144d3f2a2104f3508ce5ddff6f6eefa9ea2575b6e.zip",
|
|
2087
|
+
"artifactBytes": 18115878,
|
|
2088
|
+
"artifactSha256": "fec59d84ca62d184052542d144d3f2a2104f3508ce5ddff6f6eefa9ea2575b6e",
|
|
2089
|
+
"fileCount": 242,
|
|
2090
|
+
"treeSha256": "99c0887631de223b8929ec032067004bb4536be746bc687952ef4c6c4f633a42",
|
|
2091
|
+
"uncompressedBytes": 50348430
|
|
2085
2092
|
},
|
|
2086
2093
|
"compiler": {
|
|
2087
|
-
"artifact": "csharp-bundle.
|
|
2088
|
-
"artifactBytes":
|
|
2089
|
-
"artifactSha256": "
|
|
2090
|
-
"fileCount":
|
|
2091
|
-
"treeSha256": "
|
|
2092
|
-
"uncompressedBytes":
|
|
2094
|
+
"artifact": "csharp-bundle.fec59d84ca62d184052542d144d3f2a2104f3508ce5ddff6f6eefa9ea2575b6e.zip",
|
|
2095
|
+
"artifactBytes": 18115878,
|
|
2096
|
+
"artifactSha256": "fec59d84ca62d184052542d144d3f2a2104f3508ce5ddff6f6eefa9ea2575b6e",
|
|
2097
|
+
"fileCount": 242,
|
|
2098
|
+
"treeSha256": "99c0887631de223b8929ec032067004bb4536be746bc687952ef4c6c4f633a42",
|
|
2099
|
+
"uncompressedBytes": 50348430
|
|
2093
2100
|
},
|
|
2094
2101
|
"runner": {
|
|
2095
|
-
"artifact": "csharp-bundle.
|
|
2096
|
-
"artifactBytes":
|
|
2097
|
-
"artifactSha256": "
|
|
2102
|
+
"artifact": "csharp-bundle.ed7edfe55366ff19659e9e67849e4bbe331226f8425898359ada3be0c72dbda9.zip",
|
|
2103
|
+
"artifactBytes": 4678859,
|
|
2104
|
+
"artifactSha256": "ed7edfe55366ff19659e9e67849e4bbe331226f8425898359ada3be0c72dbda9",
|
|
2098
2105
|
"fileCount": 12,
|
|
2099
|
-
"treeSha256": "
|
|
2100
|
-
"uncompressedBytes":
|
|
2106
|
+
"treeSha256": "c1fd0d46132ba3a202e8eb71311a04521ca315a138f261add36fb6e11cfc61a2",
|
|
2107
|
+
"uncompressedBytes": 12834587
|
|
2101
2108
|
}
|
|
2102
2109
|
}
|
|
2103
2110
|
}
|
|
@@ -13927,51 +13927,27 @@ async function loadTraceccCompiler(request) {
|
|
|
13927
13927
|
if (traceccCompilerPromise) return traceccCompilerPromise;
|
|
13928
13928
|
traceccCompilerPromise = (async () => {
|
|
13929
13929
|
const [
|
|
13930
|
-
|
|
13931
|
-
|
|
13930
|
+
compilerAsset,
|
|
13931
|
+
resourceAsset,
|
|
13932
13932
|
] = await Promise.all([
|
|
13933
|
-
|
|
13934
|
-
|
|
13935
|
-
|
|
13933
|
+
loadTraceccCompilerAsset(
|
|
13934
|
+
request?.traceccCompilerUrl,
|
|
13935
|
+
'compiler'
|
|
13936
13936
|
),
|
|
13937
|
-
|
|
13938
|
-
|
|
13939
|
-
|
|
13937
|
+
loadTraceccCompilerAsset(
|
|
13938
|
+
request?.traceccResourcesUrl,
|
|
13939
|
+
'resources'
|
|
13940
13940
|
),
|
|
13941
13941
|
]);
|
|
13942
|
-
if (!
|
|
13943
|
-
throw new Error(
|
|
13944
|
-
`TraceCC compiler fetch failed (${compilerResponse.status} ${compilerResponse.statusText})`
|
|
13945
|
-
);
|
|
13942
|
+
if (!(compilerAsset instanceof Uint8Array)) {
|
|
13943
|
+
throw new Error('TraceCC compiler bytes are unavailable.');
|
|
13946
13944
|
}
|
|
13947
|
-
if (!
|
|
13948
|
-
throw new Error(
|
|
13949
|
-
`TraceCC resource fetch failed (${resourceResponse.status} ${resourceResponse.statusText})`
|
|
13950
|
-
);
|
|
13945
|
+
if (!(resourceAsset instanceof Uint8Array)) {
|
|
13946
|
+
throw new Error('TraceCC resource bytes are unavailable.');
|
|
13951
13947
|
}
|
|
13952
|
-
const compilerBytes =
|
|
13953
|
-
|
|
13954
|
-
const
|
|
13955
|
-
compilerResponse.headers.get('content-type') || ''
|
|
13956
|
-
)
|
|
13957
|
-
.split(';', 1)[0]
|
|
13958
|
-
.trim()
|
|
13959
|
-
.toLowerCase();
|
|
13960
|
-
const modulePromise =
|
|
13961
|
-
request?.compileStreaming !== false &&
|
|
13962
|
-
typeof WebAssembly.compileStreaming === 'function' &&
|
|
13963
|
-
compilerContentType === 'application/wasm'
|
|
13964
|
-
? WebAssembly.compileStreaming(compilerResponse)
|
|
13965
|
-
: compilerResponse
|
|
13966
|
-
.arrayBuffer()
|
|
13967
|
-
.then((buffer) => WebAssembly.compile(buffer));
|
|
13968
|
-
const [
|
|
13969
|
-
module,
|
|
13970
|
-
resourceBuffer,
|
|
13971
|
-
] = await Promise.all([
|
|
13972
|
-
modulePromise,
|
|
13973
|
-
resourceResponse.arrayBuffer(),
|
|
13974
|
-
]);
|
|
13948
|
+
const compilerBytes = compilerAsset.byteLength;
|
|
13949
|
+
const resourceBuffer = arrayBufferFromBytes(resourceAsset);
|
|
13950
|
+
const module = await WebAssembly.compile(compilerAsset);
|
|
13975
13951
|
const memoryImports = WebAssembly.Module.imports(module).filter(
|
|
13976
13952
|
(item) => item.kind === 'memory'
|
|
13977
13953
|
);
|
|
@@ -14004,7 +13980,7 @@ async function loadTraceccCompiler(request) {
|
|
|
14004
13980
|
fsTemplate: fs,
|
|
14005
13981
|
compilerBytes,
|
|
14006
13982
|
linkerBytes: compilerBytes,
|
|
14007
|
-
resourceBytes:
|
|
13983
|
+
resourceBytes: resourceAsset.byteLength,
|
|
14008
13984
|
reactorPromise: null,
|
|
14009
13985
|
};
|
|
14010
13986
|
})();
|
|
@@ -14088,6 +14064,29 @@ async function loadTraceccCompilationAssets(request) {
|
|
|
14088
14064
|
);
|
|
14089
14065
|
}
|
|
14090
14066
|
|
|
14067
|
+
async function prewarmTraceccAssets(request) {
|
|
14068
|
+
const assets = await Promise.all([
|
|
14069
|
+
loadTraceccCompilerAsset(
|
|
14070
|
+
request?.traceccCompilerUrl,
|
|
14071
|
+
'compiler'
|
|
14072
|
+
),
|
|
14073
|
+
loadTraceccCompilerAsset(
|
|
14074
|
+
request?.traceccResourcesUrl,
|
|
14075
|
+
'resources'
|
|
14076
|
+
),
|
|
14077
|
+
loadTraceccCompilationAssets(request),
|
|
14078
|
+
]);
|
|
14079
|
+
const [compiler, resources, compilationAssets] = assets;
|
|
14080
|
+
return {
|
|
14081
|
+
success: true,
|
|
14082
|
+
compilerBytes: compiler?.byteLength || 0,
|
|
14083
|
+
resourceBytes: resources?.byteLength || 0,
|
|
14084
|
+
pchBytes: compilationAssets.pch?.bytes?.byteLength || 0,
|
|
14085
|
+
runtimeObjectBytes:
|
|
14086
|
+
compilationAssets.runtimeObject?.bytes?.byteLength || 0,
|
|
14087
|
+
};
|
|
14088
|
+
}
|
|
14089
|
+
|
|
14091
14090
|
function mountTraceccCompilationAssets(fs, assets) {
|
|
14092
14091
|
const mountedRoots = new Set(fs.readOnlyFiles);
|
|
14093
14092
|
for (const asset of Object.values(assets)) {
|
|
@@ -16145,8 +16144,11 @@ self.onmessage = (event) => {
|
|
|
16145
16144
|
if (
|
|
16146
16145
|
(traceccCompilerWorker &&
|
|
16147
16146
|
type !== 'init' &&
|
|
16148
|
-
type !== 'compile-trusted-tracecc'
|
|
16149
|
-
|
|
16147
|
+
type !== 'compile-trusted-tracecc' &&
|
|
16148
|
+
type !== 'prewarm-trusted-tracecc-assets') ||
|
|
16149
|
+
(!traceccCompilerWorker &&
|
|
16150
|
+
(type === 'compile-trusted-tracecc' ||
|
|
16151
|
+
type === 'prewarm-trusted-tracecc-assets'))
|
|
16150
16152
|
) {
|
|
16151
16153
|
trustedCppWorkerPostMessage({
|
|
16152
16154
|
id,
|
|
@@ -16154,7 +16156,7 @@ self.onmessage = (event) => {
|
|
|
16154
16156
|
type: 'error',
|
|
16155
16157
|
payload: {
|
|
16156
16158
|
error: traceccCompilerWorker
|
|
16157
|
-
? `The TraceCC compiler Worker at ${String(self.location?.href || '')} rejected "${String(type)}"; it accepts only initialization and trusted compile requests.`
|
|
16159
|
+
? `The TraceCC compiler Worker at ${String(self.location?.href || '')} rejected "${String(type)}"; it accepts only initialization, asset prewarm, and trusted compile requests.`
|
|
16158
16160
|
: 'Trusted TraceCC compilation is unavailable in a learner runner.',
|
|
16159
16161
|
},
|
|
16160
16162
|
});
|
|
@@ -16201,6 +16203,14 @@ self.onmessage = (event) => {
|
|
|
16201
16203
|
case 'compile-trusted-tracecc':
|
|
16202
16204
|
result = await handleTrustedTraceccCompile(payload);
|
|
16203
16205
|
break;
|
|
16206
|
+
case 'prewarm-trusted-tracecc-assets':
|
|
16207
|
+
if (payload?.source !== 'tracecc-prewarm-assets-v1') {
|
|
16208
|
+
throw new Error(
|
|
16209
|
+
'The trusted TraceCC prewarm lane only accepts the fixed asset protocol.'
|
|
16210
|
+
);
|
|
16211
|
+
}
|
|
16212
|
+
result = await prewarmTraceccAssets(payload);
|
|
16213
|
+
break;
|
|
16204
16214
|
case 'execute-project-cpp':
|
|
16205
16215
|
result = await withRuntimeUserAuthorityLockdown(
|
|
16206
16216
|
() => handleProjectCpp(
|