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 un fichero local. En Bun runtime usa Bun.file() (handle
persistente) para evitar abrir/cerrar el FD por llamada. En Node/vitest
cae a node:fs/promises.open().
Sin cache propio (el SO page cache basta para F0.A.1). prefetch es no-op
(el SO lo hace al leer).
const src = await LocalFileSource.create('/movies/blade.mkv');
const result = await src.readAt({ offset: 0, length: 1024, purpose: 'probe' });
readonlykind:"local"='local'
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).
staticcreate(path):Promise<Result<LocalFileSource,ResultError<SourceErrorCode>>>
Crea un LocalFileSource validando que el fichero existe y es legible.
string
Path absoluto del fichero.
Promise<Result<LocalFileSource, ResultError<SourceErrorCode>>>
Result con el source listo para leer o un error.