import path from "node:path"; import type { Cue } from "./vtt"; import type { TrackFields } from "./captionTracks"; import { readFile } from "fs-extra"; import { getPaths } from "./paths"; export type { Platform } from "./platform"; import type { Platform } from "./platform"; import type { VideoState } from "./availability"; export type TranscriptSummary = { slug: string; id: string; channelSlug: string; title: string; uploadDate: string; duration: number; channel: string; description: string; // Keyword tags from metadata.info.json (YouTube/Odysee), searchable via the // "tags" scope. Empty when the platform/archive carries none. tags: string[]; isLivestream: boolean; ageRestricted: boolean; platform: Platform; webpageUrl: string; // HLS master-playlist URL for platforms with no iframe embed (Kick VODs). // Undefined for every other platform. Played via react-player/file + hls.js. hlsUrl?: string; // A plain media file URL a native