feat: adopt typed yt-dlp broker and handle adaptive audio
Merged
MP
4mo ago+3345+3345+0123456789012345678901234567890123456789-554-554-012345678901234567890123456789
Summary
- migrate download operations to the typed yt-dlp host contract
- route adaptive audio-only streams through host-managed extraction instead of returning raw HLS
- add complete WASM ABI smoke coverage and pinned reproducible CI
- use upstream Extism 1.30.0
Validation
- 103 unit tests and 4 WASM smokes pass
- native and WASM Clippy pass with warnings denied
- release WASM build and cargo audit pass
Linear: MAT-129, MAT-131
Summary by cubic
Moves Vimeo downloads to the typed run_ytdlp broker and ensures resolve_stream_url never returns HLS, routing adaptive audio/video through the host for safer, more reliable downloads. Adds release-WASM ABI smokes with extism 1.30.0, pins/repins reusable CI/release workflows, and restricts releases to the repository owner.
-
New Features
- Migrated
download_to_filefromrun_subprocessto the typedrun_ytdlpcontract; no argv building in WASM. (Linear: MAT-129) - Audio-only: return a dedicated audio URL when available; otherwise signal
AdaptiveStreamOnlyso the host callsdownload_to_file. Addedresolve_audio_only_urland tests. (Linear: MAT-131) - Added release-WASM ABI smoke tests; split Plugin CI into verification and release jobs; repinned canonical workflows and
rust-toolchain.
- Migrated
-
Migration
- Requires Vortex host ≥ 0.2.0 with
http_request,get_config, and the typedrun_ytdlpbroker enabled;plugin.tomlcontinues to declaresubprocess = ["yt-dlp"]. - Hosts must call
download_to_filewhenresolve_stream_urlreturnsAdaptiveStreamOnly; HLS manifests are no longer returned.
- Requires Vortex host ≥ 0.2.0 with
Summary by CodeRabbit
-
New Features
- Added support for Vortex 0.2’s typed media-download integration.
- Improved audio-only stream resolution and adaptive-stream handling.
- Updated plugin compatibility to Vortex 0.2.0 and released version 1.4.0.
-
Bug Fixes
- Improved validation of audio-only media variants and download requests.
-
Tests
- Added end-to-end WebAssembly smoke tests covering routing, metadata, media, downloads, and playlist behavior.
-
Documentation
- Updated requirements, testing instructions, and changelog details.