SDK y paquetes@styx/source-sdkclasses

Class: LocalFileSource

Referencia de @styx/source-sdk generada de su TSDoc.

ImplementadoSin versión del tren todavía· generada desde packages/source-sdk/package.json

Página generada desde el TSDoc de @styx/source-sdk. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere.

Class: LocalFileSource

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).

Example

const src = await LocalFileSource.create('/movies/blade.mkv');
const result = await src.readAt({ offset: 0, length: 1024, purpose: 'probe' });

Implements

Properties

kind

readonly kind: "local" = 'local'

Tipo de source (local, http, s3, webdav, torrent, etc.).

Implementation of

ISeekableMediaSource.kind


sizeBytes

readonly sizeBytes: number

Tamaño total en bytes (0 si desconocido, ej: streams live).

Implementation of

ISeekableMediaSource.sizeBytes


uri

readonly uri: string

URI canónica del source (file://, https://, s3://, etc.).

Implementation of

ISeekableMediaSource.uri

Methods

availability()

availability(): SourceAvailability

Consulta la disponibilidad actual del source.

Returns

SourceAvailability

Estado de disponibilidad.

Implementation of

ISeekableMediaSource.availability


cancel()

cancel(requestId): Promise<void>

Cancela una read individual por su requestId (r20 §3.6). No afecta a otros requests en curso.

Parameters

requestId

string

ID del request a cancelar.

Returns

Promise<void>

Implementation of

ISeekableMediaSource.cancel


cancelOutside()

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.

Parameters

_window

IReadWindow

Returns

Promise<void>

Implementation of

ISeekableMediaSource.cancelOutside


metrics()

metrics(): ISourceMetrics | null

Métricas observadas del source (para SourceMetrics aggregate). NO scoring — eso va en playback-policy o source-selection-policy.

Returns

ISourceMetrics | null

Métricas actuales o null si no hay datos todavía.

Implementation of

ISeekableMediaSource.metrics


prefetch()

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.

Parameters

_ranges

readonly IPrefetchRange[]

Returns

Promise<void>

Implementation of

ISeekableMediaSource.prefetch


readAt()

readAt(request): Promise<Result<IReadResult, ResultError<SourceErrorCode>>>

Lee length bytes desde offset.

Parameters

request

IReadRequest

Request de lectura con purpose + deadline + requestId.

Returns

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).

Implementation of

ISeekableMediaSource.readAt


create()

static create(path): Promise<Result<LocalFileSource, ResultError<SourceErrorCode>>>

Crea un LocalFileSource validando que el fichero existe y es legible.

Parameters

path

string

Path absoluto del fichero.

Returns

Promise<Result<LocalFileSource, ResultError<SourceErrorCode>>>

Result con el source listo para leer o un error.