Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
05486c3
update gitignore config to exclude new build files
Adi-gitX May 7, 2026
24ee72b
add client side gitignore configuration
Adi-gitX May 7, 2026
b9005bb
install development packages for client workspace
Adi-gitX May 7, 2026
fa3f63e
add server side packages and update lockfile
Adi-gitX May 9, 2026
22c07a0
update vite compiler configuration for custom worker bundling
Adi-gitX May 9, 2026
c4ff91f
add tracecode harness package configuration and metadata
Adi-gitX May 10, 2026
4311092
add tracecode harness distribution module chunk 1
Adi-gitX May 10, 2026
c82ea15
add tracecode harness distribution module chunk 2
Adi-gitX May 10, 2026
f34a531
add tracecode harness distribution module chunk 3
Adi-gitX May 10, 2026
334d967
add tracecode harness distribution module chunk 4
Adi-gitX May 11, 2026
793ab68
add tracecode harness distribution module chunk 5
Adi-gitX May 11, 2026
06db612
add tracecode harness distribution module chunk 6
Adi-gitX May 11, 2026
9e692d2
add tracecode harness distribution module chunk 7
Adi-gitX May 11, 2026
c37bdf9
add tracecode harness distribution module chunk 8
Adi-gitX May 11, 2026
99933db
add tracecode harness distribution module chunk 9
Adi-gitX May 12, 2026
833abfa
add tracecode harness distribution module chunk 10
Adi-gitX May 13, 2026
56581c6
add tracecode harness support library for cpp
Adi-gitX May 13, 2026
325eff5
add tracecode harness support library for cpp
Adi-gitX May 13, 2026
c5afcab
add tracecode harness support library for cpp
Adi-gitX May 13, 2026
69d4ec6
add tracecode harness support library for cpp
Adi-gitX May 13, 2026
1726c52
add tracecode harness support library for csharp
Adi-gitX May 13, 2026
e9269d7
add tracecode harness support library for csharp
Adi-gitX May 14, 2026
d12b543
add tracecode harness support library for csharp
Adi-gitX May 14, 2026
3b1d141
add tracecode harness support library for csharp
Adi-gitX May 14, 2026
0e1df7a
add tracecode harness distribution module chunk 19
Adi-gitX May 15, 2026
f4e95df
add tracecode harness distribution module chunk 20
Adi-gitX May 17, 2026
5b74fd1
add tracecode harness distribution module chunk 21
Adi-gitX May 17, 2026
9bf23a8
add tracecode harness distribution module chunk 22
Adi-gitX May 17, 2026
cfe4d26
add tracecode harness distribution module chunk 23
Adi-gitX May 17, 2026
4e35731
add tracecode harness distribution module chunk 24
Adi-gitX May 18, 2026
e44abd9
add tracecode harness support library for java
Adi-gitX May 18, 2026
cb9e609
add tracecode harness support library for java
Adi-gitX May 18, 2026
0d30414
add tracecode harness support library for java
Adi-gitX May 18, 2026
b3f348c
add tracecode harness support library for java
Adi-gitX May 18, 2026
2f25fb4
add tracecode harness support library for java, javascript
Adi-gitX May 19, 2026
1c9ff7b
add tracecode harness support library for java, javascript
Adi-gitX May 19, 2026
a307fa3
add tracecode harness support library for java, javascript
Adi-gitX May 19, 2026
bccaaf6
add tracecode harness support library for java, javascript
Adi-gitX May 20, 2026
f40d1f2
add tracecode harness distribution module chunk 33
Adi-gitX May 20, 2026
2af31b6
add tracecode harness support library for python
Adi-gitX May 21, 2026
8a2fec5
add tracecode harness support library for python
Adi-gitX May 21, 2026
b1c088f
add tracecode harness support library for python
Adi-gitX May 21, 2026
d018408
add tracecode harness distribution module chunk 37
Adi-gitX May 21, 2026
b73d424
add tracecode harness distribution module chunk 38
Adi-gitX May 21, 2026
cc28c16
configure sqlite database context and helper connection
Adi-gitX May 21, 2026
4b2274c
create socket connection helper for database
Adi-gitX May 21, 2026
4fdec03
add third party notices for public workers
Adi-gitX May 22, 2026
3e6850d
add javascript compiler worker script
Adi-gitX May 22, 2026
3931ab4
add pyodide execution worker script
Adi-gitX May 22, 2026
3c5adcb
add pyodide python harness snippets
Adi-gitX May 22, 2026
54f98c7
add pyodide runtime core module
Adi-gitX May 24, 2026
5812290
add typescript vendor compiler script
Adi-gitX May 24, 2026
9923968
add vendor javascript helper libraries
Adi-gitX May 24, 2026
6235fc2
add values representation helpers for execution
Adi-gitX May 24, 2026
1be6464
add core entrypoint for local execution
Adi-gitX May 24, 2026
9558f84
define supported programming languages in execution engine
Adi-gitX May 25, 2026
7a663e2
add execution judge configuration helpers
Adi-gitX May 25, 2026
ccedcf7
add local execution engine layout and runner
Adi-gitX May 25, 2026
b2fba98
implement execution result formatting and hooks
Adi-gitX May 26, 2026
586ea04
setup list of standard DSA problems
Adi-gitX May 26, 2026
3eecf7c
add problem description and testcases data
Adi-gitX May 26, 2026
319a9d3
add server side peer socket relay handler
Adi-gitX May 26, 2026
d35bba4
add peer controller base structure
Adi-gitX May 27, 2026
e857f1f
implement peer rooms and sessions allocation logic
Adi-gitX May 27, 2026
d8e4538
add peer socket lifecycle state change management
Adi-gitX May 27, 2026
023005c
define api routes for peer sessions
Adi-gitX May 27, 2026
4daa0f5
add peer lobby user interface layout
Adi-gitX May 27, 2026
be3a4c2
implement lobby joining form and session fetch
Adi-gitX May 27, 2026
80deeaa
add jitsi audio video communication frame
Adi-gitX May 28, 2026
46f7923
add collaborative editor skeleton using monaco
Adi-gitX May 28, 2026
6c677c7
implement peer changes synchronization using yjs
Adi-gitX May 28, 2026
bb4a267
add workspace container for peer room
Adi-gitX May 28, 2026
3cb9df7
implement split layout for collab editor and video call
Adi-gitX May 28, 2026
2c3402c
integrate room chat channel and settings sync
Adi-gitX May 29, 2026
40f23f2
add base axios functions for room sessions
Adi-gitX May 29, 2026
9ecb4d7
add problem submissions client api endpoints
Adi-gitX May 30, 2026
a637dc0
add sidebar items for codelab and peer interviews
Adi-gitX May 31, 2026
dccf7e9
register routing endpoints for peer programming
Adi-gitX May 31, 2026
432240c
add current active room indicator to header topbar
Adi-gitX May 31, 2026
5e2a677
add active session icon to navigation topbar
Adi-gitX May 31, 2026
87df029
add docker compose for local judge0 sandbox
Adi-gitX May 31, 2026
114ed58
add documentation on judge0 sandbox setup
Adi-gitX Jun 1, 2026
7fec377
create judge0 compiler service API wrapper
Adi-gitX Jun 1, 2026
f6cb386
implement submission execution routing in judge0 service
Adi-gitX Jun 1, 2026
998c403
add submissions persistence controller
Adi-gitX Jun 1, 2026
a91ffb0
add routes mapping for judge compilation
Adi-gitX Jun 2, 2026
eba23bb
add routes mapping for problem submissions
Adi-gitX Jun 2, 2026
e8c8514
add editor themes list configuration
Adi-gitX Jun 2, 2026
14edf10
define code execution visual trace database model
Adi-gitX Jun 2, 2026
9b159cb
add helper text markdown rendering parser
Adi-gitX Jun 2, 2026
4fcb470
add simple code editor layout component
Adi-gitX Jun 2, 2026
40760e2
add stdout console panel component
Adi-gitX Jun 3, 2026
3167acc
add results feedback pane component
Adi-gitX Jun 3, 2026
d7beffd
add execution trace viewer UI wrapper
Adi-gitX Jun 3, 2026
ae63d94
implement state frame visual debugger slider
Adi-gitX Jun 4, 2026
3a9edb2
add local variables block inspection table
Adi-gitX Jun 4, 2026
174ce7d
implement interactive callstack trace view
Adi-gitX Jun 4, 2026
6070656
add programming mentor panel layout
Adi-gitX Jun 4, 2026
4f68269
integrate code query stream feedback panel
Adi-gitX Jun 4, 2026
cd23274
add list page wrapper for practice problems
Adi-gitX Jun 4, 2026
c126703
implement problem categories and difficulty filtering
Adi-gitX Jun 5, 2026
5a48fe5
add individual coding problem layout page
Adi-gitX Jun 5, 2026
564a05c
implement dual panel workspace structure for problem solving
Adi-gitX Jun 6, 2026
d6a9d68
integrate code editor and terminal console panels
Adi-gitX Jun 6, 2026
f0945d5
integrate variables visualizer debugger in solve page
Adi-gitX Jun 6, 2026
4c54d6b
add compiler dispatch buttons and testing loops
Adi-gitX Jun 6, 2026
cb758ca
finalize results feedback and submission handler logic
Adi-gitX Jun 6, 2026
01480b4
add workspace layout for local code lab playground
Adi-gitX Jun 6, 2026
a4938bf
implement directory files tree navigation layout
Adi-gitX Jun 6, 2026
86a9f9c
integrate multi file tabs state handling
Adi-gitX Jun 7, 2026
87f3375
integrate debugging control toolbar on editor header
Adi-gitX Jun 7, 2026
ffb289a
finalize compiler bindings for the playground workspace
Adi-gitX Jun 7, 2026
97cc7ff
add AI tutor assistant controller routes
Adi-gitX Jun 7, 2026
39f1e33
implement AI system coaching prompt and schema
Adi-gitX Jun 7, 2026
e1a55ea
add code context reference to AI requests
Adi-gitX Jun 7, 2026
2059b38
register router endpoints for peer sessions on app start
Adi-gitX Jun 7, 2026
37c7921
register routes for compiler services and submissions
Adi-gitX Jun 7, 2026
af1e45f
update landing page sections with custom layouts
Adi-gitX Jun 7, 2026
20a56e5
add promotional cards for peer programming and playground
Adi-gitX Jun 7, 2026
cf87bce
update database data file for initial tables
Adi-gitX Jun 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,21 @@ Pods/

# AXIOM runtime database (generated locally)
server/data/axiom.db
-e
# Environment and credential files
.env
.env.*
*.env
credentials.json
*.pem
*.key
.credentials
-e
# Environment and credential files
.env
.env.*
*.env
credentials.json
*.pem
*.key
.credentials
6 changes: 6 additions & 0 deletions client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# The repo-wide `dist` ignore (root .gitignore) would also drop the vendored
# execution engine's built bundles β€” but those are a `file:` dependency that MUST
# be committed so fresh clones / CI / deploys can resolve @tracecode/harness.
# Re-include the directory, then its contents.
!vendor/tracecode-harness/dist/
!vendor/tracecode-harness/dist/**
800 changes: 799 additions & 1 deletion client/package-lock.json

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,15 @@
"preview": "vite preview"
},
"dependencies": {
"@codemirror/lang-javascript": "^6.2.2",
"@codemirror/lang-python": "^6.1.6",
"@codemirror/state": "^6.5.2",
"@codemirror/view": "^6.36.2",
"@radix-ui/react-slot": "^1.2.4",
"@sentry/react": "^10.50.0",
"@studio-freight/react-lenis": "^0.0.47",
"@tracecode/harness": "file:./vendor/tracecode-harness",
"@uiw/react-codemirror": "^4.23.7",
"class-variance-authority": "^0.7.1",
"cloudinary": "^2.8.0",
"clsx": "^2.1.1",
Expand All @@ -27,6 +33,9 @@
"react-router-dom": "^6.20.1",
"tailwind-merge": "^3.4.0",
"tailwindcss-animate": "^1.0.7",
"y-codemirror.next": "^0.3.5",
"y-websocket": "^2.1.0",
"yjs": "^13.6.31",
"zustand": "^5.0.9"
},
"devDependencies": {
Expand Down
170 changes: 170 additions & 0 deletions client/public/workers/THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
# Third Party Notices

This project is licensed under AGPL-3.0-only. The browser runtimes also use
third-party runtime, compiler, parser, and standard-library components. This
file is an attribution and redistribution inventory for those components.

It is not legal advice. Before a commercial release, verify the current upstream
license text and any use-case-specific terms against the linked upstream
sources.

## Python Runtime

### Pyodide

- Use: Python runtime loaded by `workers/python/pyodide-worker.js`.
- Version: the worker currently loads Pyodide `0.29.0` from public CDNs; the
workspace package resolves `pyodide` `0.29.3`.
- License: MPL-2.0.
- Source: https://github.com/pyodide/pyodide
- Deployment docs: https://pyodide.org/en/stable/usage/downloading-and-deploying.html

### CPython and Python Standard Library

- Use: Python interpreter and standard library distributed as part of Pyodide.
- License: Python Software Foundation License Agreement and historical Python
license stack.
- Source: https://github.com/python/cpython
- License summary: https://www.python.org/psf/summary/

## JavaScript and TypeScript Runtime

### TypeScript

- Use: TypeScript transpilation and diagnostics for the JavaScript/TypeScript
worker lane.
- Vendored asset: `workers/vendor/typescript.js`.
- Version: `5.9.3` in the local workspace asset; the worker keeps CDN fallbacks
for `5.9.2`.
- License: Apache-2.0.
- Source: https://github.com/microsoft/TypeScript
- Upstream notice: TypeScript distributes `ThirdPartyNoticeText.txt`; preserve
that upstream notice when updating the vendored compiler asset.

### Lodash

- Use: JavaScript/TypeScript helper exposed as `_`, `lodash`, and through the
worker-local `require("lodash")` shim.
- Vendored asset: `workers/vendor/javascript-libraries.js`.
- Version: `lodash` `4.17.21`.
- License: MIT.
- Source: https://github.com/lodash/lodash

### datastructures-js

- Use: JavaScript/TypeScript helper packages exposed through the worker-local
`require("@datastructures-js/...")` shim.
- Vendored asset: `workers/vendor/javascript-libraries.js`.
- Versions: `@datastructures-js/binary-search-tree` `5.4.0`,
`@datastructures-js/deque` `1.0.8`, `@datastructures-js/graph` `5.3.1`,
`@datastructures-js/heap` `4.3.7`, `@datastructures-js/linked-list`
`6.1.4`, `@datastructures-js/priority-queue` `6.3.5`,
`@datastructures-js/queue` `4.3.0`, `@datastructures-js/set` `4.2.2`,
`@datastructures-js/stack` `3.1.6`, and `@datastructures-js/trie` `4.2.3`.
- License: MIT.
- Source: https://github.com/datastructures-js

## Java Runtime

### CheerpJ Core

- Use: browser-hosted JVM runtime loaded by the Java worker.
- Runtime URL: `https://cjrtnc.leaningtech.com/4.2/loader.js`.
- Provider: Leaning Technologies.
- Terms: CheerpJ Community License or CheerpJ Commercial License depending on
the user's use case.
- Licensing docs: https://cheerpj.com/docs/licensing
- Version/changelog docs: https://cheerpj.com/docs/changelog

CheerpJ is not vendored in this package; it is loaded from Leaning Technologies'
`cjrtnc.leaningtech.com` runtime domain. The Community License currently covers
individuals, one-person companies, FOSS projects, and technical evaluations.
Uses outside that scope can require a commercial license.

### JavaParser

- Use: Java source parsing and rewriting support.
- Vendored asset: `workers/vendor/javaparser-core-3.25.10.jar`.
- Version: `3.25.10`.
- License: dual licensed LGPL-3.0 or Apache-2.0. This project uses it under
Apache-2.0.
- Source: https://github.com/javaparser/javaparser

### OpenJDK / JetBrains Runtime Compiler Module

- Use: Java compiler module consumed by the browser Java lane.
- Vendored asset: `workers/vendor/jdk.compiler-17.jar`.
- Local manifest: `Created-By: 17.0.14 (JetBrains s.r.o.)`.
- License: GPL-2.0-only WITH Classpath-exception-2.0.
- OpenJDK GPLv2 + Classpath Exception text: https://openjdk.org/legal/gplv2+ce.html
- JetBrains Runtime source: https://github.com/JetBrains/JetBrainsRuntime

Redistributing this asset should preserve the GPLv2 + Classpath Exception text
and provide the corresponding source location or source offer required by the
license.

## C# Runtime

### .NET Runtime for WebAssembly

- Use: browser WebAssembly runtime and base class libraries for the C# lane.
- Vendored assets: `workers/vendor/csharp/**`.
- Target: `net10.0`, `browser-wasm`.
- License: MIT, plus .NET third-party notices for bundled components.
- Source: https://github.com/dotnet/runtime
- Upstream notices: https://github.com/dotnet/runtime/tree/main/src/installer/pkg/sfx/Microsoft.NETCore.App/THIRD-PARTY-NOTICES.TXT

### Roslyn / Microsoft.CodeAnalysis.CSharp

- Use: C# parsing, compilation, and diagnostics in the C# worker.
- Version: `Microsoft.CodeAnalysis.CSharp` `5.3.0`.
- License: MIT.
- NuGet package: https://www.nuget.org/packages/Microsoft.CodeAnalysis.CSharp/5.3.0
- Source: https://github.com/dotnet/roslyn

## C++ Runtime

### YoWASP Clang

- Use: browser C++ compiler bundle and LLVM resource bundle.
- Vendored/copied assets: `vendor/cpp/yowasp/bundle.js`,
`vendor/cpp/yowasp/llvm-resources.tar`, and `vendor/cpp/yowasp/*.wasm`.
- Version: `@yowasp/clang` `22.0.0-git20542-10`.
- Local package metadata license: ISC.
- Upstream README license statement: Apache-2.0, matching the base LLVM license.
- Source: https://github.com/YoWASP/clang

The local package metadata and README identify different license labels. Until
that is clarified upstream, preserve both the package metadata notice and the
README/source license reference when redistributing these assets.

### LLVM / Clang / LLD

- Use: underlying compiler and linker components inside the YoWASP bundle.
- License: Apache-2.0 WITH LLVM-exception.
- Source: https://github.com/llvm/llvm-project
- License policy: https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents

### WASI libc and Sysroot Materials

- Use: libc/sysroot inputs included in the C++ compiler resources.
- License: mixed permissive licenses, including Apache-2.0 WITH LLVM-exception,
Apache-2.0, MIT, BSD-2-Clause, and CC0-1.0.
- Source: https://github.com/WebAssembly/wasi-libc

## Project-Authored Runtime Helpers

The following runtime helpers are authored for this project and are covered by
the project AGPL-3.0-only license unless otherwise noted by their embedded
third-party dependencies:

- `workers/python/runtime-core.js`
- `workers/python/generated-python-harness-snippets.js`
- `workers/javascript/javascript-worker.js`
- `workers/java/java-worker.js`
- `workers/java/java-source-augmentations.js`
- `workers/vendor/java-browser-helper.jar`
- `workers/vendor/java-rewriter.jar`
- `workers/csharp/csharp-worker.js`
- `workers/cpp/cpp-worker.js`
- `workers/cpp/tracecode_runtime.hpp`
Loading
Loading