replace hardcoded download job with download-media script capability
move video/audio downloads off the dedicated ReClip download lane onto the generic script-job path: - delete execute-download.ts, reclip-client.ts and the POST /jobs/download endpoint; drop the 'download' mode from the pipeline_jobs enum (legacy rows tolerated) - execute-script.ts: strip the @@officer:progress@@ sentinel from the log, emit progress events, and isolate viewer/log writes (safeEmit/safeLog) so a broadcast or log throw can't wedge the stdout pump - pipeline-job-manager.ts: persist latest progress; guard sendToViewer sends - ScriptJobDetail: render the two progress bars; DownloadJobDetail kept for legacy history rows - TaskRunnerModal: ScriptRunner descends into the triggered directory - VideoDownloadPanel: rewire startJob to the script-job path Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -10,9 +10,9 @@ export const pipelineJobs = pgTable(
|
||||
.references(() => users.id, { onDelete: 'cascade' }),
|
||||
taskDirName: text('task_dir_name').notNull(),
|
||||
taskName: text('task_name').notNull(),
|
||||
// Job kind — pipeline (multi-step agentic), script (single bash/py/ts task), download (video/audio via
|
||||
// ReClip — its own lane so a long download doesn't block agentic jobs), later agentic.
|
||||
mode: text('mode', { enum: ['pipeline', 'script', 'agentic', 'download'] })
|
||||
// Job kind — pipeline (multi-step agentic), script (single bash/py/ts task), later agentic. (Legacy
|
||||
// rows may still carry mode 'download' from before video/audio downloads moved to a script capability.)
|
||||
mode: text('mode', { enum: ['pipeline', 'script', 'agentic'] })
|
||||
.notNull()
|
||||
.default('pipeline'),
|
||||
status: text('status', { enum: ['pending', 'running', 'completed', 'failed', 'stopped', 'interrupted'] })
|
||||
|
||||
Reference in New Issue
Block a user