SDK y paquetes@styx/api-contractsindexvariables

Variable: SessionDescriptorSchema

Referencia de @styx/api-contracts generada de su TSDoc.

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

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

Variable: SessionDescriptorSchema

const SessionDescriptorSchema: TObject<{ actor: TObject<{ roles: TOptional<TUnsafe<readonly string[]>>; service: TString; sessionId: TOptional<TString>; userId: TOptional<TString>; }>; assetId: TString; createdAt: TString; delivery: TObject<{ certHash: TOptional<TString>; endpoint: TString; packaging: TOptional<TObject<{ capability: TString; codecs: TString; engine: TUnion<[TLiteral<"zig">, TLiteral<"libav">]>; packagingId: TString; segments: TInteger; targetDurationS: TInteger; }>>; tcpEndpoint: TOptional<TString>; tokenTtlMs: TOptional<TInteger>; transport: TString; }>; expiresAt: TString; plan: TObject<{ audio: TObject<{ action: TUnsafe<"copy" | "transcode">; channels: TOptional<TUnsafe<"mono" | "stereo" | "5.1" | "7.1" | "5.1.2" | "7.1.4">>; codec: TUnsafe<"aac" | "ac3" | "eac3" | "truehd" | "dts" | "dts-hd" | "opus" | "flac" | "pcm" | "mp3" | "mp2" | "vorbis">; }>; container: TObject<{ action: TUnsafe<"copy" | "remux" | "package">; input: TUnsafe<"flac" | "matroska" | "mp4" | "webm" | "mpegts" | "ogg" | "unknown">; output: TUnsafe<"flac" | "matroska" | "mp4" | "webm" | "mpegts" | "ogg" | "unknown">; }>; delivery: TObject<{ tokenTtlMs: TNumber; transport: TString; url: TString; }>; estimatedCost: TObject<{ score: TNumber; serverSideCompute: TBoolean; tier: TUnsafe<"free" | "cheap" | "moderate" | "expensive">; }>; mode: TUnsafe<"video-transcode" | "direct" | "adapted">; reasons: TUnsafe<readonly object[]>; source: TObject<{ kind: TString; score: TNumber; }>; subtitles: TObject<{ action: TUnsafe<"none" | "passthrough" | "convert" | "burn">; format: TOptional<TUnsafe<"srt" | "vtt" | "ass" | "pgs" | "dvd-sub" | "teletext">>; }>; video: TObject<{ action: TUnsafe<"copy" | "transcode">; codec: TUnsafe<"h264" | "hevc" | "av1" | "vp9" | "vp8" | "vvc">; filters: TUnsafe<readonly object[]>; }>; }>; sessionId: TString; }>

Schema TypeBox de ISessionDescriptor para validación runtime.

El plan se declara entero (PublicPlaybackPlanSchema, sin source.uri): como respuesta HTTP, exact-mirror sólo serializa lo declarado, y un objeto vacío vaciaba el plan.