import {Job} from '@fuzdev/zzz/job.svelte.js'; A job on the backend: long-running work on a file — a transcription — that
outlives the request that started it. Mirrors the backend's state: every
job_changed notification replaces these fields (Jobs.receive_changed).
inheritance
Cell<typeof JobJson>job_id
type string & $brand<"Uuid">
kind
type "transcription"
status
type JobStatus
progress
type number | null
input_path
type DiskfilePath
output_path
type DiskfilePath | null
commands
type string[]
queued_at
type number
started_at
type number | null
ended_at
type number | null
error
type string | null
stderr
type string
live_segments
The segments a running transcription has decoded so far — a preview, in the order they arrived. Not part of the job's state on the backend: a reload starts it empty, and the transcript file is the result.
type TranscriptSegment[]
finished
type boolean
cancellable
Whether the job can still be cancelled.
type boolean
run_duration
How long the job ran, in milliseconds — null until it has ended.
type number | null
constructor
type new (options: JobOptions): Job