@lingjingai/scriptctl 0.39.0 → 0.41.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.
- package/changes/0.39.1.md +13 -0
- package/changes/0.40.0.md +13 -0
- package/changes/0.41.0.md +13 -0
- package/dist/domain/ingest/serial-context.d.ts +15 -3
- package/dist/domain/ingest/serial-context.js +66 -11
- package/dist/domain/ingest/serial-context.js.map +1 -1
- package/dist/llm/config.js +1 -0
- package/dist/llm/config.js.map +1 -1
- package/dist/llm/registry.d.ts +1 -0
- package/dist/llm/registry.js +14 -6
- package/dist/llm/registry.js.map +1 -1
- package/dist/llm/tasks/ingest/arc-summary.d.ts +8 -0
- package/dist/llm/tasks/ingest/arc-summary.js +26 -0
- package/dist/llm/tasks/ingest/arc-summary.js.map +1 -0
- package/dist/llm/tasks/ingest/episode-assets.js +10 -9
- package/dist/llm/tasks/ingest/episode-assets.js.map +1 -1
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.js.map +1 -1
- package/dist/usecases/ingest/body-start.d.ts +1 -0
- package/dist/usecases/ingest/body-start.js +5 -4
- package/dist/usecases/ingest/body-start.js.map +1 -1
- package/dist/usecases/ingest/pipeline.js +30 -5
- package/dist/usecases/ingest/pipeline.js.map +1 -1
- package/dist/usecases/ingest/serial-govern.d.ts +15 -2
- package/dist/usecases/ingest/serial-govern.js +39 -13
- package/dist/usecases/ingest/serial-govern.js.map +1 -1
- package/dist/usecases/ingest/status.d.ts +2 -0
- package/dist/usecases/ingest/status.js +36 -5
- package/dist/usecases/ingest/status.js.map +1 -1
- package/dist/usecases/ingest/timings.d.ts +51 -0
- package/dist/usecases/ingest/timings.js +68 -0
- package/dist/usecases/ingest/timings.js.map +1 -0
- package/dist/usecases/ingest/view-server.js +28 -6
- package/dist/usecases/ingest/view-server.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ import { runTextNormalize, parseNormalizeOutput } from "../../llm/tasks/ingest/t
|
|
|
20
20
|
import { detectBodyStart } from "./body-start.js";
|
|
21
21
|
import { mapSettled } from "./fanout.js";
|
|
22
22
|
import { runSerialGovern } from "./serial-govern.js";
|
|
23
|
+
import { Timings } from "./timings.js";
|
|
23
24
|
const PIPELINE_VERSION = "1";
|
|
24
25
|
const pad = (n) => String(n).padStart(3, "0");
|
|
25
26
|
const serializeJsonl = (records) => records.map((r) => JSON.stringify(r)).join("\n") + "\n";
|
|
@@ -52,6 +53,8 @@ export async function runTextIngest(opts) {
|
|
|
52
53
|
const store = new WorkspaceStore(opts.workspacePath);
|
|
53
54
|
store.ensure();
|
|
54
55
|
checkLifecycle(store, sourceSha, opts.force ?? false);
|
|
56
|
+
// Accurate per-run timing → workspace/timings.json (view --watch / ingest status).
|
|
57
|
+
const timings = new Timings((t) => store.writeJson("timings.json", t));
|
|
55
58
|
// pass0: locate where the real screenplay body begins and drop the planning
|
|
56
59
|
// front matter (大纲/角色卡/宏观结构/一卡集纲) before it. Cheap tool-mode LLM scan,
|
|
57
60
|
// cached under pass1/ so a rerun skips it; --force wipes pass1 and recomputes.
|
|
@@ -78,6 +81,7 @@ export async function runTextIngest(opts) {
|
|
|
78
81
|
});
|
|
79
82
|
// pass2: normalize fanout with per-chunk markdown checkpoint.
|
|
80
83
|
let reused = 0;
|
|
84
|
+
timings.phaseStart("normalize");
|
|
81
85
|
const settled = await mapSettled(chunks, opts.concurrency ?? 80, async (chunk) => {
|
|
82
86
|
const mdRel = `pass2/chunk_${pad(chunk.index)}.md`;
|
|
83
87
|
if (store.has(mdRel) && !opts.force) {
|
|
@@ -103,6 +107,7 @@ export async function runTextIngest(opts) {
|
|
|
103
107
|
nextSteps: ["Inspect pass2/chunk_NNN.error.json and rerun `scriptctl ingest` to resume."],
|
|
104
108
|
});
|
|
105
109
|
}
|
|
110
|
+
timings.phaseEnd("normalize");
|
|
106
111
|
// pass3 merge → pass4 mention-resolve → assemble = the name-based BODY (正文).
|
|
107
112
|
// NO asset extraction / id assignment here — the serial pass discovers assets,
|
|
108
113
|
// 造型 and per-scene presence itself from the body. Reuse body.json on a rerun so
|
|
@@ -141,17 +146,35 @@ export async function runTextIngest(opts) {
|
|
|
141
146
|
// persists the full context md (= prompt) and the model's `# 更新` md; resume
|
|
142
147
|
// replays cached `# 更新` (no LLM). Cleared by --force (serial dir wiped).
|
|
143
148
|
const pad3 = (n) => String(n).padStart(3, "0");
|
|
149
|
+
// One window (1+ contiguous episodes) per `serial/win_<start>_<end>.md`; the
|
|
150
|
+
// filename range is deterministic (pure packing), so resume replays from cache.
|
|
151
|
+
const winRel = (startEp, endEp) => `serial/win_${pad3(startEp)}_${pad3(endEp)}.md`;
|
|
144
152
|
const serialCheckpoint = {
|
|
145
|
-
readUpdate: (
|
|
146
|
-
writeStep: (
|
|
147
|
-
store.writeText(`serial/context_${pad3(
|
|
148
|
-
store.writeText(
|
|
153
|
+
readUpdate: (startEp, endEp) => (store.has(winRel(startEp, endEp)) ? store.readText(winRel(startEp, endEp)) : undefined),
|
|
154
|
+
writeStep: (startEp, endEp, contextMd, updateMd) => {
|
|
155
|
+
store.writeText(`serial/context_${pad3(startEp)}.md`, contextMd);
|
|
156
|
+
store.writeText(winRel(startEp, endEp), updateMd);
|
|
157
|
+
},
|
|
158
|
+
readArc: (startEp, endEp) => {
|
|
159
|
+
const rel = `serial/arc_${pad3(startEp)}_${pad3(endEp)}.md`;
|
|
160
|
+
return store.has(rel) ? store.readText(rel) : undefined;
|
|
161
|
+
},
|
|
162
|
+
writeArc: (startEp, endEp, summaryMd) => {
|
|
163
|
+
store.writeText(`serial/arc_${pad3(startEp)}_${pad3(endEp)}.md`, summaryMd);
|
|
149
164
|
},
|
|
150
165
|
};
|
|
151
|
-
|
|
166
|
+
timings.phaseStart("serial");
|
|
167
|
+
const serial = await runSerialGovern(body, {
|
|
168
|
+
executor: opts.executor, checkpoint: serialCheckpoint, force: opts.force ?? false,
|
|
169
|
+
onWindow: (t) => { if (t.index === 0)
|
|
170
|
+
timings.serialStart(t.total, t.totalEpisodes); timings.windowDone(t.startEp, t.endEp, t.ms, t.cached); },
|
|
171
|
+
...(opts.signal ? { signal: opts.signal } : {}),
|
|
172
|
+
});
|
|
152
173
|
const governed = serial.doc;
|
|
153
174
|
reused += serial.reused;
|
|
175
|
+
timings.phaseEnd("serial");
|
|
154
176
|
// Final clean numbering: contiguous per-kind asset ids + per-asset state ids.
|
|
177
|
+
timings.phaseStart("govern");
|
|
155
178
|
const { script: renumbered, idMap } = renumberIds(governed);
|
|
156
179
|
store.writeJson("id_map.json", idMap);
|
|
157
180
|
const validation = validateScriptV3(renumbered);
|
|
@@ -166,6 +189,8 @@ export async function runTextIngest(opts) {
|
|
|
166
189
|
});
|
|
167
190
|
}
|
|
168
191
|
store.writeJson("script.json", renumbered);
|
|
192
|
+
timings.phaseEnd("govern");
|
|
193
|
+
timings.finish();
|
|
169
194
|
const g = renumbered;
|
|
170
195
|
return {
|
|
171
196
|
workspacePath: store.root,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/usecases/ingest/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/usecases/ingest/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
import { type NameScript, type NameScene } from "../../domain/ingest/assembler.js";
|
|
2
2
|
import type { LlmTaskExecutor } from "../../llm/types.js";
|
|
3
3
|
export interface SerialCheckpoint {
|
|
4
|
-
readUpdate(
|
|
5
|
-
writeStep(
|
|
4
|
+
readUpdate(startEp: number, endEp: number): string | undefined;
|
|
5
|
+
writeStep(startEp: number, endEp: number, contextMd: string, updateMd: string): void;
|
|
6
|
+
readArc?(startEp: number, endEp: number): string | undefined;
|
|
7
|
+
writeArc?(startEp: number, endEp: number, summaryMd: string): void;
|
|
8
|
+
}
|
|
9
|
+
export interface SerialWindowTiming {
|
|
10
|
+
startEp: number;
|
|
11
|
+
endEp: number;
|
|
12
|
+
ms: number;
|
|
13
|
+
cached: boolean;
|
|
14
|
+
index: number;
|
|
15
|
+
total: number;
|
|
16
|
+
totalEpisodes: number;
|
|
6
17
|
}
|
|
7
18
|
export interface SerialGovernOptions {
|
|
8
19
|
executor: LlmTaskExecutor;
|
|
9
20
|
signal?: AbortSignal;
|
|
10
21
|
checkpoint?: SerialCheckpoint;
|
|
11
22
|
force?: boolean;
|
|
23
|
+
windowTokens?: number;
|
|
24
|
+
onWindow?: (t: SerialWindowTiming) => void;
|
|
12
25
|
}
|
|
13
26
|
export interface SerialGovernResult {
|
|
14
27
|
doc: Record<string, unknown>;
|
|
@@ -13,7 +13,8 @@ import { CliError, EXIT_INPUT } from "../../common.js";
|
|
|
13
13
|
import { assignProvisionalIds } from "../../domain/ingest/assembler.js";
|
|
14
14
|
import { governDeterministic } from "../../domain/ingest/govern.js";
|
|
15
15
|
import { parseUpdateMarkdown } from "../../domain/ingest/asset-state-md-parser.js";
|
|
16
|
-
import { emptyContext, applyDelta, compact, render, resolveCanon, resolveLook, findEntity, baseLook } from "../../domain/ingest/serial-context.js";
|
|
16
|
+
import { emptyContext, applyDelta, compact, pendingArcFold, applyArcFold, synopsisLabel, render, resolveCanon, resolveLook, findEntity, baseLook, estimateTokens, packEpisodes } from "../../domain/ingest/serial-context.js";
|
|
17
|
+
import { runArcSummary } from "../../llm/tasks/ingest/arc-summary.js";
|
|
17
18
|
import { runEpisodeAssets } from "../../llm/tasks/ingest/episode-assets.js";
|
|
18
19
|
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
19
20
|
const isArr = (v) => Array.isArray(v);
|
|
@@ -21,7 +22,8 @@ const norm = (s) => s.normalize("NFC").replace(/\s+/g, " ").trim();
|
|
|
21
22
|
const RETRYABLE = new Set(["timeout", "rate_limited", "request_failed", "endpoint"]);
|
|
22
23
|
const isTransient = (e) => !!e && typeof e === "object" && "code" in e && RETRYABLE.has(String(e.code));
|
|
23
24
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
24
|
-
|
|
25
|
+
const winLabel = (startEp, endEp) => (startEp === endEp ? `episode ${startEp}` : `episodes ${startEp}-${endEp}`);
|
|
26
|
+
async function windowUpdate(executor, startEp, endEp, contextMd, bodyMd, signal) {
|
|
25
27
|
for (let attempt = 1;; attempt++) {
|
|
26
28
|
try {
|
|
27
29
|
return (await runEpisodeAssets(executor, contextMd, bodyMd, signal)).markdown;
|
|
@@ -31,10 +33,10 @@ async function episodeUpdate(executor, epNo, contextMd, bodyMd, signal) {
|
|
|
31
33
|
await sleep(3000 * attempt);
|
|
32
34
|
continue;
|
|
33
35
|
}
|
|
34
|
-
throw new CliError("INGEST SERIAL FAILED", `serial govern failed at
|
|
36
|
+
throw new CliError("INGEST SERIAL FAILED", `serial govern failed at ${winLabel(startEp, endEp)}.`, {
|
|
35
37
|
exitCode: EXIT_INPUT, errorCode: "INGEST_SERIAL_FAILED",
|
|
36
38
|
received: [e instanceof Error ? e.message : String(e)],
|
|
37
|
-
nextSteps: [`Rerun \`scriptctl ingest\` to resume from
|
|
39
|
+
nextSteps: [`Rerun \`scriptctl ingest\` to resume from ${winLabel(startEp, endEp)} (earlier windows are cached).`],
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
42
|
}
|
|
@@ -43,22 +45,46 @@ export async function runSerialGovern(body, opts) {
|
|
|
43
45
|
const ctx = emptyContext();
|
|
44
46
|
const episodes = body.episodes ?? [];
|
|
45
47
|
let reused = 0;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const
|
|
48
|
+
// Pack contiguous episodes into token-bounded windows and parse each window in
|
|
49
|
+
// one call. Bodies + token sizes are precomputed so packing is deterministic.
|
|
50
|
+
const bodies = episodes.map(renderEpisodeBody);
|
|
51
|
+
const windows = packEpisodes(bodies.map(estimateTokens), opts.windowTokens);
|
|
52
|
+
for (let index = 0; index < windows.length; index++) {
|
|
53
|
+
const [startEp, endEp] = windows[index];
|
|
54
|
+
const contextMd = render(ctx, endEp);
|
|
55
|
+
// Each body already opens with `# ep_NNN`, so the model sees the episode splits.
|
|
56
|
+
const bodyMd = bodies.slice(startEp - 1, endEp).join("\n\n");
|
|
57
|
+
const t0 = Date.now();
|
|
58
|
+
const cached = opts.force ? undefined : opts.checkpoint?.readUpdate(startEp, endEp);
|
|
52
59
|
let updateMd;
|
|
53
60
|
if (cached !== undefined) {
|
|
54
61
|
updateMd = cached;
|
|
55
62
|
reused++;
|
|
56
63
|
}
|
|
57
64
|
else
|
|
58
|
-
updateMd = await
|
|
59
|
-
opts.checkpoint?.writeStep(
|
|
60
|
-
|
|
65
|
+
updateMd = await windowUpdate(opts.executor, startEp, endEp, contextMd, bodyMd, opts.signal);
|
|
66
|
+
opts.checkpoint?.writeStep(startEp, endEp, contextMd, updateMd);
|
|
67
|
+
opts.onWindow?.({ startEp, endEp, ms: Date.now() - t0, cached: cached !== undefined, index, total: windows.length, totalEpisodes: episodes.length });
|
|
68
|
+
applyDelta(ctx, parseUpdateMarkdown(updateMd), startEp, endEp);
|
|
61
69
|
compact(ctx);
|
|
70
|
+
// Fold the far synopsis into arc summaries when over budget. Deterministic
|
|
71
|
+
// range → cached by [startEp, endEp] so resume never re-summarizes.
|
|
72
|
+
for (let group = pendingArcFold(ctx); group; group = pendingArcFold(ctx)) {
|
|
73
|
+
const startEp = group[0].startEp;
|
|
74
|
+
const endEp = group[group.length - 1].endEp;
|
|
75
|
+
const cachedArc = opts.force ? undefined : opts.checkpoint?.readArc?.(startEp, endEp);
|
|
76
|
+
let summary;
|
|
77
|
+
if (cachedArc !== undefined) {
|
|
78
|
+
summary = cachedArc;
|
|
79
|
+
reused++;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
const foldedText = group.map((g) => `${synopsisLabel(g)}:${g.line}`).join("\n");
|
|
83
|
+
summary = await runArcSummary(opts.executor, `第${startEp}集–第${endEp}集`, foldedText, opts.signal);
|
|
84
|
+
opts.checkpoint?.writeArc?.(startEp, endEp, summary);
|
|
85
|
+
}
|
|
86
|
+
applyArcFold(ctx, summary);
|
|
87
|
+
}
|
|
62
88
|
}
|
|
63
89
|
return { doc: finalize(body, ctx), episodes: episodes.length, reused };
|
|
64
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serial-govern.js","sourceRoot":"","sources":["../../../src/usecases/ingest/serial-govern.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serial-govern.js","sourceRoot":"","sources":["../../../src/usecases/ingest/serial-govern.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Report } from "../../common.js";
|
|
2
|
+
import { type TimingSummary } from "./timings.js";
|
|
2
3
|
type Dict = Record<string, unknown>;
|
|
3
4
|
export type IngestKind = "text" | "video";
|
|
4
5
|
export type IngestState = "empty" | "incomplete" | "failed" | "ready";
|
|
@@ -33,6 +34,7 @@ export interface IngestStatus {
|
|
|
33
34
|
} | null;
|
|
34
35
|
errors: IngestErrorRef[];
|
|
35
36
|
updated: string | null;
|
|
37
|
+
timings: TimingSummary | null;
|
|
36
38
|
}
|
|
37
39
|
export declare function deriveIngestStatus(workspacePath: string): IngestStatus;
|
|
38
40
|
export declare function commandIngestStatus(opts: Dict): [Report, number];
|
|
@@ -7,7 +7,17 @@
|
|
|
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 { summarizeTimings } from "./timings.js";
|
|
10
11
|
const strOf = (v) => (v === null || v === undefined ? "" : String(v));
|
|
12
|
+
function readTimings(root) {
|
|
13
|
+
try {
|
|
14
|
+
const t = JSON.parse(fs.readFileSync(path.join(root, "timings.json"), "utf-8"));
|
|
15
|
+
return summarizeTimings(t, Date.now());
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
11
21
|
// List files directly under a pass dir matching a suffix (non-recursive).
|
|
12
22
|
function listSuffix(root, dir, suffix) {
|
|
13
23
|
const abs = path.join(root, dir);
|
|
@@ -74,10 +84,13 @@ function textPasses(root, manifest) {
|
|
|
74
84
|
done: countSuffix(root, "pass2", ".md"),
|
|
75
85
|
failed: countSuffix(root, "pass2", ".error.json"),
|
|
76
86
|
};
|
|
77
|
-
// Serial govern: one `serial/
|
|
78
|
-
//
|
|
87
|
+
// Serial govern: one `serial/win_<start>_<end>.md` per finished window (a window
|
|
88
|
+
// covers 1+ contiguous episodes). Progress = episodes covered = sum of ranges.
|
|
79
89
|
const epTotal = readEpisodeCount(root);
|
|
80
|
-
const serialDone = listSuffix(root, "serial", ".md").
|
|
90
|
+
const serialDone = listSuffix(root, "serial", ".md").reduce((n, name) => {
|
|
91
|
+
const m = name.match(/^win_(\d+)_(\d+)\.md$/);
|
|
92
|
+
return m ? n + (Number(m[2]) - Number(m[1]) + 1) : n;
|
|
93
|
+
}, 0);
|
|
81
94
|
const serial = { total: epTotal, done: serialDone, failed: 0 };
|
|
82
95
|
const passes = [
|
|
83
96
|
{ name: "normalize", done: total > 0 && normalize.done >= total && normalize.failed === 0, unit: normalize },
|
|
@@ -119,7 +132,7 @@ export function deriveIngestStatus(workspacePath) {
|
|
|
119
132
|
if (!manifest) {
|
|
120
133
|
return {
|
|
121
134
|
workspace: root, exists: false, kind: null, state: "empty", phase: "none",
|
|
122
|
-
passes: [], units: null, script: false, validation: null, errors: [], updated: null,
|
|
135
|
+
passes: [], units: null, script: false, validation: null, errors: [], updated: null, timings: null,
|
|
123
136
|
};
|
|
124
137
|
}
|
|
125
138
|
const kind = manifest.source?.kind === "text" ? "text" : "video";
|
|
@@ -144,7 +157,7 @@ export function deriveIngestStatus(workspacePath) {
|
|
|
144
157
|
const phase = state === "ready" ? "done" : firstPending ? firstPending.name : "done";
|
|
145
158
|
return {
|
|
146
159
|
workspace: root, exists: true, kind, state, phase, passes, units,
|
|
147
|
-
script, validation, errors, updated: manifest.updated ?? null,
|
|
160
|
+
script, validation, errors, updated: manifest.updated ?? null, timings: readTimings(root),
|
|
148
161
|
};
|
|
149
162
|
}
|
|
150
163
|
function unitStr(u) {
|
|
@@ -157,12 +170,30 @@ function humanLines(s) {
|
|
|
157
170
|
const head = `${s.kind} ingest: ${s.state} (phase=${s.phase})`;
|
|
158
171
|
const passLine = s.passes.map((p) => `${p.name} ${p.unit ? unitStr(p.unit) : p.done ? "✓" : "-"}`).join(" ");
|
|
159
172
|
const lines = [head, passLine];
|
|
173
|
+
if (s.timings)
|
|
174
|
+
lines.push(timingLine(s.timings));
|
|
160
175
|
if (s.validation)
|
|
161
176
|
lines.push(`validation: ${s.validation.ok ? "ok" : `${s.validation.errors} errors`}, ${s.validation.warnings} warnings`);
|
|
162
177
|
if (s.state === "failed")
|
|
163
178
|
lines.push(`${s.errors.length} failed unit(s); rerun \`scriptctl ingest\` to resume`);
|
|
164
179
|
return lines;
|
|
165
180
|
}
|
|
181
|
+
function fmtDur(ms) {
|
|
182
|
+
const s = Math.round(ms / 1000);
|
|
183
|
+
return s >= 60 ? `${Math.floor(s / 60)}m${String(s % 60).padStart(2, "0")}s` : `${s}s`;
|
|
184
|
+
}
|
|
185
|
+
function timingLine(t) {
|
|
186
|
+
const parts = [`elapsed ${fmtDur(t.elapsedMs)}${t.done ? "" : " (running)"}`];
|
|
187
|
+
const ser = t.serial;
|
|
188
|
+
if (ser) {
|
|
189
|
+
parts.push(`serial ${ser.doneWindows}/${ser.totalWindows} windows (${ser.doneEpisodes}/${ser.totalEpisodes} eps)`);
|
|
190
|
+
if (ser.avgWindowMs != null)
|
|
191
|
+
parts.push(`~${fmtDur(ser.avgWindowMs)}/window`);
|
|
192
|
+
if (ser.etaMs != null && !t.done)
|
|
193
|
+
parts.push(`eta ~${fmtDur(ser.etaMs)}`);
|
|
194
|
+
}
|
|
195
|
+
return parts.join(" · ");
|
|
196
|
+
}
|
|
166
197
|
export function commandIngestStatus(opts) {
|
|
167
198
|
const workspacePath = strOf(opts["workspace_path"] || "workspace");
|
|
168
199
|
const status = deriveIngestStatus(workspacePath);
|
|
@@ -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,EAAe,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/usecases/ingest/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface WindowTiming {
|
|
2
|
+
start: number;
|
|
3
|
+
end: number;
|
|
4
|
+
ms: number;
|
|
5
|
+
cached: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface PhaseTiming {
|
|
8
|
+
name: string;
|
|
9
|
+
startedMs: number;
|
|
10
|
+
endedMs: number | null;
|
|
11
|
+
}
|
|
12
|
+
export interface SerialTiming {
|
|
13
|
+
totalWindows: number;
|
|
14
|
+
totalEpisodes: number;
|
|
15
|
+
windows: WindowTiming[];
|
|
16
|
+
}
|
|
17
|
+
export interface IngestTimings {
|
|
18
|
+
startedMs: number;
|
|
19
|
+
endedMs: number | null;
|
|
20
|
+
phases: PhaseTiming[];
|
|
21
|
+
serial: SerialTiming | null;
|
|
22
|
+
}
|
|
23
|
+
export declare class Timings {
|
|
24
|
+
private readonly flush;
|
|
25
|
+
private readonly now;
|
|
26
|
+
private t;
|
|
27
|
+
constructor(flush: (t: IngestTimings) => void, now?: () => number);
|
|
28
|
+
phaseStart(name: string): void;
|
|
29
|
+
phaseEnd(name: string): void;
|
|
30
|
+
serialStart(totalWindows: number, totalEpisodes: number): void;
|
|
31
|
+
windowDone(start: number, end: number, ms: number, cached: boolean): void;
|
|
32
|
+
finish(): void;
|
|
33
|
+
}
|
|
34
|
+
export interface TimingSummary {
|
|
35
|
+
elapsedMs: number;
|
|
36
|
+
done: boolean;
|
|
37
|
+
phases: Array<{
|
|
38
|
+
name: string;
|
|
39
|
+
ms: number;
|
|
40
|
+
running: boolean;
|
|
41
|
+
}>;
|
|
42
|
+
serial: {
|
|
43
|
+
doneWindows: number;
|
|
44
|
+
totalWindows: number;
|
|
45
|
+
doneEpisodes: number;
|
|
46
|
+
totalEpisodes: number;
|
|
47
|
+
avgWindowMs: number | null;
|
|
48
|
+
etaMs: number | null;
|
|
49
|
+
} | null;
|
|
50
|
+
}
|
|
51
|
+
export declare function summarizeTimings(t: IngestTimings, nowMs: number): TimingSummary;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// Accurate in-process timing for `scriptctl ingest`, persisted incrementally to
|
|
2
|
+
// workspace/timings.json so `scriptctl view --watch` and `scriptctl ingest status`
|
|
3
|
+
// show REAL wall-clock durations + a serial ETA (not mtime guesses). Written after
|
|
4
|
+
// each phase boundary and each serial window, so the live monitor ticks as the run
|
|
5
|
+
// progresses. Timing is per THIS run: a new run/resume starts a fresh record.
|
|
6
|
+
// Records timing and flushes the whole record on every mutation. `flush` persists
|
|
7
|
+
// it (the pipeline writes workspace/timings.json); `now` is injectable for tests.
|
|
8
|
+
export class Timings {
|
|
9
|
+
flush;
|
|
10
|
+
now;
|
|
11
|
+
t;
|
|
12
|
+
constructor(flush, now = () => Date.now()) {
|
|
13
|
+
this.flush = flush;
|
|
14
|
+
this.now = now;
|
|
15
|
+
this.t = { startedMs: this.now(), endedMs: null, phases: [], serial: null };
|
|
16
|
+
this.flush(this.t);
|
|
17
|
+
}
|
|
18
|
+
phaseStart(name) {
|
|
19
|
+
this.t.phases.push({ name, startedMs: this.now(), endedMs: null });
|
|
20
|
+
this.flush(this.t);
|
|
21
|
+
}
|
|
22
|
+
phaseEnd(name) {
|
|
23
|
+
for (let i = this.t.phases.length - 1; i >= 0; i--) {
|
|
24
|
+
const p = this.t.phases[i];
|
|
25
|
+
if (p.name === name && p.endedMs === null) {
|
|
26
|
+
p.endedMs = this.now();
|
|
27
|
+
this.flush(this.t);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
serialStart(totalWindows, totalEpisodes) {
|
|
33
|
+
this.t.serial = { totalWindows, totalEpisodes, windows: [] };
|
|
34
|
+
this.flush(this.t);
|
|
35
|
+
}
|
|
36
|
+
windowDone(start, end, ms, cached) {
|
|
37
|
+
if (!this.t.serial)
|
|
38
|
+
this.t.serial = { totalWindows: 0, totalEpisodes: 0, windows: [] };
|
|
39
|
+
this.t.serial.windows.push({ start, end, ms, cached });
|
|
40
|
+
this.flush(this.t);
|
|
41
|
+
}
|
|
42
|
+
finish() { this.t.endedMs = this.now(); this.flush(this.t); }
|
|
43
|
+
}
|
|
44
|
+
// Pure: compute elapsed/phase/eta at a given `nowMs`. ETA extrapolates the average
|
|
45
|
+
// of REAL (non-cached) serial windows over the windows still to run; cached windows
|
|
46
|
+
// (resume replays) are excluded so a resumed run's ETA isn't skewed toward zero.
|
|
47
|
+
export function summarizeTimings(t, nowMs) {
|
|
48
|
+
const elapsedMs = (t.endedMs ?? nowMs) - t.startedMs;
|
|
49
|
+
const phases = t.phases.map((p) => ({ name: p.name, ms: (p.endedMs ?? nowMs) - p.startedMs, running: p.endedMs === null }));
|
|
50
|
+
let serial = null;
|
|
51
|
+
if (t.serial) {
|
|
52
|
+
const w = t.serial.windows;
|
|
53
|
+
const real = w.filter((x) => !x.cached);
|
|
54
|
+
const avg = real.length ? real.reduce((a, x) => a + x.ms, 0) / real.length : null;
|
|
55
|
+
const doneEpisodes = w.reduce((a, x) => a + (x.end - x.start + 1), 0);
|
|
56
|
+
const remainingWindows = Math.max(0, t.serial.totalWindows - w.length);
|
|
57
|
+
serial = {
|
|
58
|
+
doneWindows: w.length,
|
|
59
|
+
totalWindows: t.serial.totalWindows,
|
|
60
|
+
doneEpisodes,
|
|
61
|
+
totalEpisodes: t.serial.totalEpisodes,
|
|
62
|
+
avgWindowMs: avg != null ? Math.round(avg) : null,
|
|
63
|
+
etaMs: avg != null ? Math.round(avg * remainingWindows) : null,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return { elapsedMs, done: t.endedMs !== null, phases, serial };
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=timings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timings.js","sourceRoot":"","sources":["../../../src/usecases/ingest/timings.ts"],"names":[],"mappings":"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"}
|