Skip to content
File

Blob: THIRD_PARTY.md

Markdown53 lines

Third-party components

External checkouts are downloaded by setup into ignored .tools/vendor/ and the configured SDK directory. Their original licenses continue to apply; they are not relicensed by the application.

Component Pinned version / revision License and upstream
ESP-IDF 5.5.3, 2c211b236707889e8400c4dc5644dd5c4ee071e0 Primarily Apache-2.0; component notices in Espressif's repository
esp-idf-hal 0.46.2 MIT OR Apache-2.0; HAL
esp-idf-sys 0.37.2 MIT OR Apache-2.0; SDK bindings
embuild 0.33.5 MIT OR Apache-2.0; ESP Rust build support
str0m 0.23.1 MIT option; local source and patch
sctp-proto 0.10.4 MIT OR Apache-2.0; local source and patch
str0m-rust-crypto 0.6.0 MIT option; local source and patch
dimpl 0.7.3 MIT OR Apache-2.0; algesten/dimpl
ESP-DSP 3c8ac0fdfec83740b783e200862c8d0c056de0ad Apache-2.0; Espressif DSP library
esp_audio_codec 2.6.2, da256e5f462a8e010667d35314a5ba5cdc4a8d9a Espressif Modified MIT; audio codec component
led_strip 3.0.3 Apache-2.0, resolved by the ESP-IDF component manager
esp-rs Rust compiler 1.97.0.0 Rust/LLVM licenses; esp-rs/rust-build
espup 0.17.1 MIT OR Apache-2.0; esp-rs/espup
clang-format 23.1.1 Apache-2.0; Python distribution of the LLVM formatter
serde / serde_json Cargo.lock MIT OR Apache-2.0; serde-rs
crc32fast 1.5.2 MIT OR Apache-2.0; srijs/rust-crc32fast

The web application uses React, Hono, Zod, Floating UI, Tailwind CSS, Vite, Prettier, and Cloudflare's Vite plugin (MIT), TypeScript (Apache-2.0), and Wrangler (MIT OR Apache-2.0). Their package metadata contains the original licenses. The self-hosted IBM Plex fonts come from Fontsource's Sans and Mono packages (SIL Open Font License 1.1). Vite bundles the font assets; copyright and license notices are distributed in worker/public/fonts/LICENSE.txt.

scripts/project.py pins external native sources and toolchains. firmware/dependencies.lock, firmware/Cargo.lock, and worker/package-lock.json record the managed component, Rust, and web dependency versions. The Cloudflare examples at cloudflare/realtime-examples informed the signaling/data-channel flows; the local reference checkout under .tools/references/ is not required for building this application.

Versioned experiments record their historical dependency set separately in archive/dependencies.json, archive/requirements.txt, and their firmware lockfiles. The Python host probes use aiortc (BSD-3-Clause), PyAV (BSD-3-Clause), NumPy (BSD-3-Clause), pyserial (BSD), and esptool (GPL-2.0-or-later); these tools are installed locally rather than copied into the source archive. The archived hardware experiments also use esp_peer 1.5.5 (Espressif Modified MIT, including a native transport binary) and esp_libsrtp 1.0.0 with its bundled license notices. The str0m probe preserves its own copy of the patched RustCrypto provider.

Music inputs and generated packs stay private. Test fixtures contain Opus silence, synthetic metadata, and spectrum bytes.