90235e91f2
Collapses Amethyst's hand-rolled HLS orchestration onto the library's HlsUploadHelper.run. The library now ships everything the prior session had to reimplement: per-rendition width/height/codec metadata on the onRenditionComplete callback, a public PlaylistRewriter, canonical HlsContentTypes constants, and the transcode -> upload -> rewrite loop itself. - bump libs.versions.toml to 2.1.1-hls-SNAPSHOT - delete HlsUploadPipeline, HlsBundle, HlsTranscoder, HlsTranscodingSession, HlsPlaylistRewriter and their tests; HlsUploadHelper.run + the library rewriter cover everything they did - rewrite HlsVideoEventBuilder to consume HlsRenditionSummary width/height directly; drops the master-playlist streamInfRegex entirely - HlsPublishOrchestrator now wraps HlsUploadHelper.run: a SimpleHlsListener drives Transcoding progress while the uploader lambda captures each MediaUploadResult in a side-channel map keyed by the library's suggestedFilename, so per-rendition sha256/size still flow into the NIP-71 imeta tags - extract HlsBlobUploader into its own file (was inline in the deleted HlsUploadPipeline.kt) Net delta on HLS code: 3194 -> 2182 lines (-1012, ~32%). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>