Referencia de @styx/source-sdk generada de su TSDoc.
packages/source-sdk/package.jsonPágina generada desde
el TSDoc de @styx/source-sdk. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere.
Source para una URL HTTP con soporte de Range requests (RFC 7233). Útil para assets remotos sin FUSE (r03). Usa fetch nativo de Bun/Node.
const src = new HttpRangeSource('https://cdn.example.com/asset.mkv', 12345678);
const result = await src.readAt({ offset: 0, length: 2048, purpose: 'playback' });new HttpRangeSource(
url,sizeBytes,fetchImpl?):HttpRangeSource
string
URL HTTP/HTTPS del recurso (debe soportar Range).
number
Tamaño total (de HEAD/Content-Length). 0 si desconocido.
typeof fetch = fetch
Implementación de fetch (para inyección en tests).
HttpRangeSource
readonlykind:"http"='http'
Tipo de source (local, http, s3, webdav, torrent, etc.).
readonlysizeBytes:number
Tamaño total en bytes (0 si desconocido, ej: streams live).
ISeekableMediaSource.sizeBytes
readonlyuri:string
URI canónica del source (file://, https://, s3://, etc.).
availability():
SourceAvailability
Consulta la disponibilidad actual del source.
Estado de disponibilidad.
ISeekableMediaSource.availability
cancel(
requestId):Promise<void>
Cancela una read individual por su requestId (r20 §3.6).
No afecta a otros requests en curso.
string
ID del request a cancelar.
Promise<void>
cancelOutside(
_window):Promise<void>
Cancela todos los requests fuera de la ventana dada (r20 §3.6). Útil tras un seek: cancela reads del offset antiguo. Impl real deferida a F3; este SDK declara la firma.
Promise<void>
ISeekableMediaSource.cancelOutside
metrics():
ISourceMetrics|null
Métricas observadas del source (para SourceMetrics aggregate). NO scoring — eso va en playback-policy o source-selection-policy.
ISourceMetrics | null
Métricas actuales o null si no hay datos todavía.
prefetch(
_ranges):Promise<void>
Hint de prefetch: el source debería precargar estos rangos en cache. No bloquea; el source puede ignorar si su cache está lleno.
readonly IPrefetchRange[]
Promise<void>
readAt(
request):Promise<Result<IReadResult,ResultError<SourceErrorCode>>>
Lee length bytes desde offset.
Request de lectura con purpose + deadline + requestId.
Promise<Result<IReadResult, ResultError<SourceErrorCode>>>
Result con el resultado (puede ser parcial) o ResultError<SourceErrorCode>.
El código viaja dentro de ResultError (ver error-handling.md).