@lingjingai/scriptctl 0.55.0 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/changes/0.56.0.md +13 -0
  2. package/changes/0.57.0.md +14 -0
  3. package/dist/cli/register-workflows.js +8 -0
  4. package/dist/cli/register-workflows.js.map +1 -1
  5. package/dist/domain/ingest/video-context.d.ts +2 -0
  6. package/dist/domain/ingest/video-context.js +8 -1
  7. package/dist/domain/ingest/video-context.js.map +1 -1
  8. package/dist/failures.d.ts +58 -0
  9. package/dist/failures.js +96 -0
  10. package/dist/failures.js.map +1 -0
  11. package/dist/infra/ingest/workspace-lock.d.ts +1 -0
  12. package/dist/infra/ingest/workspace-lock.js +32 -0
  13. package/dist/infra/ingest/workspace-lock.js.map +1 -0
  14. package/dist/infra/llm/doubao-video-model.js +25 -24
  15. package/dist/infra/llm/doubao-video-model.js.map +1 -1
  16. package/dist/infra/llm/failure-mapping.d.ts +6 -0
  17. package/dist/infra/llm/failure-mapping.js +146 -0
  18. package/dist/infra/llm/failure-mapping.js.map +1 -0
  19. package/dist/infra/llm/gemini-upload.js +14 -9
  20. package/dist/infra/llm/gemini-upload.js.map +1 -1
  21. package/dist/infra/llm/gemini-video-model.d.ts +4 -7
  22. package/dist/infra/llm/gemini-video-model.js +130 -38
  23. package/dist/infra/llm/gemini-video-model.js.map +1 -1
  24. package/dist/llm/router.js +37 -9
  25. package/dist/llm/router.js.map +1 -1
  26. package/dist/llm/types.d.ts +14 -7
  27. package/dist/llm/types.js +26 -0
  28. package/dist/llm/types.js.map +1 -1
  29. package/dist/usecases/ingest/command.js +5 -0
  30. package/dist/usecases/ingest/command.js.map +1 -1
  31. package/dist/usecases/ingest/failure.d.ts +26 -0
  32. package/dist/usecases/ingest/failure.js +149 -0
  33. package/dist/usecases/ingest/failure.js.map +1 -0
  34. package/dist/usecases/ingest/skip-video-episode.d.ts +4 -0
  35. package/dist/usecases/ingest/skip-video-episode.js +112 -0
  36. package/dist/usecases/ingest/skip-video-episode.js.map +1 -0
  37. package/dist/usecases/ingest/status.d.ts +21 -5
  38. package/dist/usecases/ingest/status.js +100 -21
  39. package/dist/usecases/ingest/status.js.map +1 -1
  40. package/dist/usecases/ingest/video-pipeline.d.ts +38 -0
  41. package/dist/usecases/ingest/video-pipeline.js +78 -47
  42. package/dist/usecases/ingest/video-pipeline.js.map +1 -1
  43. package/dist/usecases/ingest/video-skip-state.d.ts +29 -0
  44. package/dist/usecases/ingest/video-skip-state.js +148 -0
  45. package/dist/usecases/ingest/video-skip-state.js.map +1 -0
  46. package/package.json +1 -1
  47. package/skills/scriptctl/SKILL.md +2 -2
  48. package/skills/scriptctl/references/ingest-workflow.md +36 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-video-episode.js","sourceRoot":"","sources":["../../../src/usecases/ingest/skip-video-episode.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { type CommandOutput } from "../../common.js";
2
+ import { type FailureType } from "../../failures.js";
3
+ import { type IngestStatusError } from "./failure.js";
2
4
  import { type TimingSummary } from "./timings.js";
3
5
  type Dict = Record<string, unknown>;
4
6
  export type IngestKind = "text" | "video";
@@ -13,10 +15,18 @@ export interface IngestPass {
13
15
  done: boolean;
14
16
  unit?: IngestUnit;
15
17
  }
16
- export interface IngestErrorRef {
17
- pass: string;
18
- unit: string;
19
- message?: string;
18
+ export interface IngestFailureSummary {
19
+ total: number;
20
+ retryable: number;
21
+ terminal: number;
22
+ by_type: Partial<Record<FailureType, number>>;
23
+ }
24
+ export interface IngestSkipSummary {
25
+ episode: number;
26
+ skipped_at: string;
27
+ reason: string;
28
+ failure_type: FailureType;
29
+ failure_code: string;
20
30
  }
21
31
  export interface IngestStatus {
22
32
  workspace: string;
@@ -32,13 +42,19 @@ export interface IngestStatus {
32
42
  errors: number;
33
43
  warnings: number;
34
44
  } | null;
35
- errors: IngestErrorRef[];
45
+ failure_summary: IngestFailureSummary;
46
+ errors: IngestStatusError[];
36
47
  updated: string | null;
37
48
  timings: TimingSummary | null;
38
49
  completed?: number;
39
50
  remaining?: number;
40
51
  complete?: boolean;
41
52
  next_episode?: number | null;
53
+ parsed?: number;
54
+ skipped?: number;
55
+ skipped_episodes?: number[];
56
+ has_skips?: boolean;
57
+ skips?: IngestSkipSummary[];
42
58
  }
43
59
  export declare function deriveIngestStatus(workspacePath: string): IngestStatus;
44
60
  export declare function commandIngestStatus(opts: Dict): [CommandOutput, number];
@@ -7,7 +7,11 @@
7
7
  import * as fs from "node:fs";
8
8
  import * as path from "node:path";
9
9
  import { EXIT_OK } from "../../common.js";
10
+ import { createOperationalFailure, } from "../../failures.js";
11
+ import { WorkspaceStore } from "../../infra/ingest/workspace-store.js";
12
+ import { parseIngestErrorSidecar, } from "./failure.js";
10
13
  import { summarizeTimings } from "./timings.js";
14
+ import { readVideoSkipLedger } from "./video-skip-state.js";
11
15
  const strOf = (v) => (v === null || v === undefined ? "" : String(v));
12
16
  function readTimings(root) {
13
17
  try {
@@ -49,24 +53,55 @@ function readValidation(root) {
49
53
  return null;
50
54
  }
51
55
  }
56
+ function legacyError(pass, unit, message) {
57
+ // Text pass2 sidecars are checkpointed normalization-unit failures whose
58
+ // established recovery contract is to rerun that unit. Old video sidecars do
59
+ // not carry enough information to determine retryability without guessing.
60
+ const retryable = pass === "pass2";
61
+ return {
62
+ pass,
63
+ unit,
64
+ phase: pass,
65
+ attempts: [],
66
+ ...createOperationalFailure({ failure_type: "unknown", failure_code: "legacy_unclassified" }, { retryable, message }),
67
+ };
68
+ }
52
69
  // Collect the error sidecars a failed run leaves behind (cleared on unit success).
53
- function collectErrors(root, pass) {
54
- return listSuffix(root, pass, ".error.json").map((name) => {
55
- let message;
70
+ function collectErrors(root, pass, ignoredUnits = new Set()) {
71
+ return listSuffix(root, pass, ".error.json").filter((name) => {
72
+ const unit = name.replace(/\.error\.json$/, "");
73
+ return !ignoredUnits.has(unit);
74
+ }).map((name) => {
75
+ const unit = name.replace(/\.error\.json$/, "");
56
76
  try {
57
- const j = JSON.parse(fs.readFileSync(path.join(root, pass, name), "utf-8"));
58
- if (j.error)
59
- message = j.error;
77
+ const value = JSON.parse(fs.readFileSync(path.join(root, pass, name), "utf-8"));
78
+ const sidecar = parseIngestErrorSidecar(value);
79
+ if (sidecar) {
80
+ return {
81
+ pass,
82
+ unit,
83
+ phase: sidecar.phase,
84
+ attempts: sidecar.attempts,
85
+ ...sidecar.failure,
86
+ };
87
+ }
88
+ if (typeof value === "object" && value !== null && "error" in value && typeof value.error === "string") {
89
+ return legacyError(pass, unit, value.error);
90
+ }
91
+ return legacyError(pass, unit, "Error sidecar has an unsupported schema.");
60
92
  }
61
93
  catch {
62
- /* ignore unreadable sidecar */
94
+ return legacyError(pass, unit, "Error sidecar is unreadable.");
63
95
  }
64
- const ref = { pass, unit: name.replace(/\.error\.json$/, "") };
65
- if (message !== undefined)
66
- ref.message = message;
67
- return ref;
68
96
  });
69
97
  }
98
+ function summarizeFailures(errors) {
99
+ const by_type = {};
100
+ for (const error of errors)
101
+ by_type[error.failure_type] = (by_type[error.failure_type] ?? 0) + 1;
102
+ const retryable = errors.filter((error) => error.retryable).length;
103
+ return { total: errors.length, retryable, terminal: errors.length - retryable, by_type };
104
+ }
70
105
  // Episode count for the serial pass bar; derived from the assembled body.
71
106
  function readEpisodeCount(root) {
72
107
  try {
@@ -109,16 +144,20 @@ function textPasses(root, manifest) {
109
144
  ];
110
145
  return { passes, units: normalize };
111
146
  }
112
- function videoPasses(root, manifest) {
147
+ function videoPasses(root, manifest, skips) {
113
148
  const total = manifest.episodes?.length ?? 0;
149
+ const skippedEpisodes = new Set(skips.map((record) => record.episode));
114
150
  let acceptedPrefix = 0;
151
+ let parsed = 0;
115
152
  try {
116
153
  const context = JSON.parse(fs.readFileSync(path.join(root, "context.json"), "utf-8"));
117
154
  const lastEpisode = typeof context.lastEpisode === "number" && Number.isInteger(context.lastEpisode)
118
155
  ? Math.min(Math.max(context.lastEpisode, 0), total)
119
156
  : 0;
120
157
  for (let episode = 1; episode <= lastEpisode; episode += 1) {
121
- if (!has(root, `ep/ep_${String(episode).padStart(3, "0")}.json`))
158
+ if (has(root, `ep/ep_${String(episode).padStart(3, "0")}.json`))
159
+ parsed += 1;
160
+ else if (!skippedEpisodes.has(episode))
122
161
  break;
123
162
  acceptedPrefix = episode;
124
163
  }
@@ -131,13 +170,16 @@ function videoPasses(root, manifest) {
131
170
  const serial = {
132
171
  total,
133
172
  done: acceptedPrefix,
134
- failed: countSuffix(root, "ep", ".error.json"),
173
+ failed: listSuffix(root, "ep", ".error.json").filter((name) => {
174
+ const match = name.match(/^ep_(\d+)\.error\.json$/);
175
+ return !match || !skippedEpisodes.has(Number(match[1]));
176
+ }).length,
135
177
  };
136
178
  const passes = [
137
179
  { name: "serial", done: total > 0 && serial.done >= total && serial.failed === 0, unit: serial },
138
180
  { name: "finalize", done: readFinalizedVideoEpisodeCount(root) === acceptedPrefix },
139
181
  ];
140
- return { passes, units: serial };
182
+ return { passes, units: serial, parsed };
141
183
  }
142
184
  export function deriveIngestStatus(workspacePath) {
143
185
  const root = path.resolve(workspacePath);
@@ -145,15 +187,28 @@ export function deriveIngestStatus(workspacePath) {
145
187
  if (!manifest) {
146
188
  return {
147
189
  workspace: root, exists: false, kind: null, state: "empty", phase: "none",
148
- passes: [], units: null, script: false, validation: null, errors: [], updated: null, timings: null,
190
+ passes: [], units: null, script: false, validation: null,
191
+ failure_summary: summarizeFailures([]), errors: [], updated: null, timings: null,
149
192
  };
150
193
  }
151
194
  const kind = manifest.source?.kind === "text" ? "text" : "video";
152
- const { passes, units } = kind === "text" ? textPasses(root, manifest) : videoPasses(root, manifest);
195
+ const skipRecords = kind === "video" ? readVideoSkipLedger(new WorkspaceStore(root)).episodes : [];
196
+ const video = kind === "video" ? videoPasses(root, manifest, skipRecords) : null;
197
+ const { passes, units } = kind === "text" ? textPasses(root, manifest) : video;
153
198
  const errorPasses = kind === "text" ? ["pass2"] : ["ep"];
154
- const errors = errorPasses.flatMap((p) => collectErrors(root, p));
199
+ const skippedUnits = new Set(skipRecords.map((record) => `ep_${String(record.episode).padStart(3, "0")}`));
200
+ const errors = errorPasses.flatMap((pass) => collectErrors(root, pass, skippedUnits));
155
201
  const script = has(root, "script.json");
156
202
  const validation = readValidation(root);
203
+ if (validation && !validation.ok) {
204
+ errors.push({
205
+ pass: "finalize",
206
+ unit: "script",
207
+ phase: "validation",
208
+ attempts: [],
209
+ ...createOperationalFailure({ failure_type: "validation", failure_code: "script_validation_failed" }, { retryable: false, message: `Script validation failed with ${validation.errors} error(s).` }),
210
+ });
211
+ }
157
212
  // State is a pure fold over the files: a final valid script is `ready`; a
158
213
  // hard error (validation failed OR leftover unit error sidecars) is `failed`;
159
214
  // otherwise the run started but didn't finish (`incomplete`). Liveness (is a
@@ -175,11 +230,23 @@ export function deriveIngestStatus(workspacePath) {
175
230
  remaining: Math.max(0, units.total - units.done),
176
231
  complete: units.total > 0 && units.done >= units.total && units.failed === 0,
177
232
  next_episode: units.done >= units.total ? null : units.done + 1,
233
+ parsed: video?.parsed ?? 0,
234
+ skipped: skipRecords.filter((record) => record.episode <= units.done).length,
235
+ skipped_episodes: skipRecords.map((record) => record.episode),
236
+ has_skips: skipRecords.length > 0,
237
+ skips: skipRecords.map((record) => ({
238
+ episode: record.episode,
239
+ skipped_at: record.skipped_at,
240
+ reason: record.reason,
241
+ failure_type: record.failure.failure_type,
242
+ failure_code: record.failure.failure_code,
243
+ })),
178
244
  }
179
245
  : {};
180
246
  return {
181
247
  workspace: root, exists: true, kind, state, phase, passes, units,
182
- script, validation, errors, updated: manifest.updated ?? null, timings: readTimings(root),
248
+ script, validation, failure_summary: summarizeFailures(errors), errors,
249
+ updated: manifest.updated ?? null, timings: readTimings(root),
183
250
  ...videoProgress,
184
251
  };
185
252
  }
@@ -197,8 +264,20 @@ function humanLines(s) {
197
264
  lines.push(timingLine(s.timings));
198
265
  if (s.validation)
199
266
  lines.push(`validation: ${s.validation.ok ? "ok" : `${s.validation.errors} errors`}, ${s.validation.warnings} warnings`);
200
- if (s.state === "failed")
201
- lines.push(`${s.errors.length} failed unit(s); rerun \`scriptctl ingest\` to resume`);
267
+ if (s.has_skips)
268
+ lines.push(`skipped episodes: ${s.skipped_episodes?.join(", ")}`);
269
+ if (s.state === "failed") {
270
+ for (const error of s.errors.slice(0, 3)) {
271
+ lines.push(`${error.unit}: ${error.failure_type}/${error.failure_code} · ${error.retryable ? "retryable" : "terminal"}`);
272
+ }
273
+ if (s.failure_summary.retryable > 0)
274
+ lines.push("rerun `scriptctl ingest` to resume retryable failures");
275
+ if ((s.failure_summary.by_type.policy ?? 0) > 0)
276
+ lines.push("provider policy blocked the source; rerunning the same source is unlikely to help");
277
+ if ((s.failure_summary.by_type.authentication ?? 0) > 0 || (s.failure_summary.by_type.authorization ?? 0) > 0) {
278
+ lines.push("check provider credentials and permissions before rerunning");
279
+ }
280
+ }
202
281
  return lines;
203
282
  }
204
283
  function fmtDur(ms) {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/usecases/ingest/status.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,gFAAgF;AAChF,6EAA6E;AAC7E,4EAA4E;AAE5E,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,OAAO,EAAsB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAA0C,MAAM,cAAc,CAAC;AAGxF,MAAM,KAAK,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AA4CvF,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAkB,CAAC;QACjG,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AASD,0EAA0E;AAC1E,SAAS,UAAU,CAAC,IAAY,EAAE,GAAW,EAAE,MAAc;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,MAAc,EAAU,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;AAChH,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,GAAW,EAAW,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAExF,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAa,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAIhF,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;IACjG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAuB,CAAC;YAClG,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;QACD,MAAM,GAAG,GAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/E,IAAI,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAA6B,CAAC;QACzG,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAY;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAa,CAAC;QAChG,OAAO,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,QAAkB;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAe;QAC5B,KAAK;QACL,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAChG,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC;KAClD,CAAC;IACF,mFAAmF;IACnF,+EAA+E;IAC/E,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QACxE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAM,MAAM,GAAe,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3E,MAAM,MAAM,GAAiB;QAC3B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5G,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;QAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,IAAI,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;QAC5E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;KACnD,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,QAAkB;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;IAC7C,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAA8B,CAAC;QACnH,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;YAClG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;YACnD,CAAC,CAAC,CAAC,CAAC;QACN,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;gBAAE,MAAM;YACxE,cAAc,GAAG,OAAO,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,MAAM,GAAe;QACzB,KAAK;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;KAC/C,CAAC;IACF,MAAM,MAAM,GAAiB;QAC3B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QAChG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,8BAA8B,CAAC,IAAI,CAAC,KAAK,cAAc,EAAE;KACpF,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,aAAqB;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;YACzE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;SACnG,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAe,QAAQ,CAAC,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAErG,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAExC,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,iDAAiD;IACjD,IAAI,KAAkB,CAAC;IACvB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,aAAa,CAAC,IAAI,MAAM,IAAI,UAAU,EAAE,EAAE;QAAE,KAAK,GAAG,OAAO,CAAC;SAC/E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAAE,KAAK,GAAG,QAAQ,CAAC;;QAC1E,KAAK,GAAG,YAAY,CAAC;IAE1B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAErF,MAAM,aAAa,GAAG,IAAI,KAAK,OAAO;QACpC,CAAC,CAAC;YACE,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;YAChD,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAC5E,YAAY,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;SAChE;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;QAChE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;QACzF,GAAG,aAAa;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,CAAa;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,UAAU,CAAC,CAAe;IACjC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK,GAAG,CAAC;IAC/D,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,SAAS,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,WAAW,CAAC,CAAC;IAC3I,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,uDAAuD,CAAC,CAAC;IAChH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,EAAU;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;AACzF,CAAC;AAED,SAAS,UAAU,CAAC,CAAgB;IAClC,MAAM,KAAK,GAAG,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,aAAa,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,aAAa,OAAO,CAAC,CAAC;QACnH,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9E,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,WAAW,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/usecases/ingest/status.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,12 @@
1
+ import { type VideoSourceEpisodeIdentity } from "../../domain/ingest/video-source-evolution.js";
2
+ import { type V4IdentityMap } from "../../domain/script/v4/from-v3.js";
3
+ import { validateScriptV4 } from "../../domain/script/v4/validation.js";
4
+ import { type RunContext } from "../../domain/ingest/video-context.js";
5
+ import type { VideoEpisodeDoc } from "../../domain/ingest/video-records.js";
6
+ import { WorkspaceStore } from "../../infra/ingest/workspace-store.js";
1
7
  import { type LlmTaskExecutor, type VideoUploadMode } from "../../llm/types.js";
8
+ import { type VideoSkipRecord } from "./video-skip-state.js";
9
+ export declare const VIDEO_PIPELINE_VERSION = "13";
2
10
  export interface VideoIngestOptions {
3
11
  sourcePath: string;
4
12
  workspacePath: string;
@@ -14,6 +22,8 @@ export interface VideoIngestReport {
14
22
  episodes: number;
15
23
  processed: number;
16
24
  reused: number;
25
+ skipped: number;
26
+ skippedEpisodes: number[];
17
27
  completed: number;
18
28
  remaining: number;
19
29
  complete: boolean;
@@ -31,5 +41,33 @@ export interface VideoIngestReport {
31
41
  warnings: number;
32
42
  };
33
43
  }
44
+ export type VideoSourceKind = "video-file" | "video-directory";
45
+ export interface VideoIngestManifest {
46
+ version: 2;
47
+ pipeline_version: string;
48
+ updated: string;
49
+ source: {
50
+ kind: VideoSourceKind;
51
+ path: string;
52
+ sha256: string;
53
+ };
54
+ episodes: VideoSourceEpisodeIdentity[];
55
+ fps: number;
56
+ }
34
57
  export declare function assertInlineVideoSize(filePath: string, episode: number): void;
58
+ export declare function readCurrentVideoManifest(store: WorkspaceStore): VideoIngestManifest | null;
59
+ export declare function migrateVideoManifest(store: WorkspaceStore, manifest: VideoIngestManifest): VideoIngestManifest;
60
+ interface FinalizeResult {
61
+ initial: Record<string, unknown>;
62
+ final: Record<string, unknown>;
63
+ idMap: unknown;
64
+ validation: ReturnType<typeof validateScriptV4>;
65
+ identityMap: V4IdentityMap;
66
+ }
67
+ export declare function finalizeVideoScript(docs: VideoEpisodeDoc[], ctx: RunContext, title: string, priorIdentity: V4IdentityMap, skips?: readonly VideoSkipRecord[]): FinalizeResult;
68
+ export declare function publishFinalizedVideoWorkspace(store: WorkspaceStore, episodes: ReadonlyArray<{
69
+ episode: number;
70
+ }>, ctx: RunContext, title: string, identityMap: V4IdentityMap, skips: readonly VideoSkipRecord[]): FinalizeResult;
35
71
  export declare function runVideoIngest(opts: VideoIngestOptions): Promise<VideoIngestReport>;
72
+ export declare function deriveVideoTitle(sourcePath: string): string;
73
+ export {};