@lingjingai/scriptctl 0.57.1 → 0.58.1

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 (51) hide show
  1. package/changes/0.58.0.md +14 -0
  2. package/changes/0.58.1.md +17 -0
  3. package/dist/cli/register-workflows.js +17 -0
  4. package/dist/cli/register-workflows.js.map +1 -1
  5. package/dist/domain/creative-draft/compose.d.ts +18 -0
  6. package/dist/domain/creative-draft/compose.js +403 -0
  7. package/dist/domain/creative-draft/compose.js.map +1 -0
  8. package/dist/domain/ingest/video-serial-md.js +3 -3
  9. package/dist/domain/ingest/video-serial-md.js.map +1 -1
  10. package/dist/domain/ingest/video-source-evolution.d.ts +4 -0
  11. package/dist/domain/ingest/video-source-evolution.js +0 -3
  12. package/dist/domain/ingest/video-source-evolution.js.map +1 -1
  13. package/dist/domain/ingest/video-state-evidence.d.ts +66 -0
  14. package/dist/domain/ingest/video-state-evidence.js +385 -0
  15. package/dist/domain/ingest/video-state-evidence.js.map +1 -0
  16. package/dist/domain/script/v4/validation.js +62 -0
  17. package/dist/domain/script/v4/validation.js.map +1 -1
  18. package/dist/infra/ingest/video-discovery.js +10 -4
  19. package/dist/infra/ingest/video-discovery.js.map +1 -1
  20. package/dist/infra/ingest/video-source-snapshot.d.ts +2 -1
  21. package/dist/infra/ingest/video-source-snapshot.js +55 -4
  22. package/dist/infra/ingest/video-source-snapshot.js.map +1 -1
  23. package/dist/infra/ingest/video-state-evidence.d.ts +14 -0
  24. package/dist/infra/ingest/video-state-evidence.js +140 -0
  25. package/dist/infra/ingest/video-state-evidence.js.map +1 -0
  26. package/dist/llm/config.js +1 -1
  27. package/dist/llm/router.js +4 -6
  28. package/dist/llm/router.js.map +1 -1
  29. package/dist/llm/tasks/ingest/video-serial.d.ts +2 -2
  30. package/dist/llm/tasks/ingest/video-serial.js +102 -21
  31. package/dist/llm/tasks/ingest/video-serial.js.map +1 -1
  32. package/dist/llm/tasks/schemas.js +5 -2
  33. package/dist/llm/tasks/schemas.js.map +1 -1
  34. package/dist/usecases/ingest/failure.js +2 -0
  35. package/dist/usecases/ingest/failure.js.map +1 -1
  36. package/dist/usecases/ingest/generate-video-state-evidence.d.ts +23 -0
  37. package/dist/usecases/ingest/generate-video-state-evidence.js +114 -0
  38. package/dist/usecases/ingest/generate-video-state-evidence.js.map +1 -0
  39. package/dist/usecases/ingest/skip-video-episode.js +2 -2
  40. package/dist/usecases/ingest/skip-video-episode.js.map +1 -1
  41. package/dist/usecases/ingest/video-pipeline.d.ts +8 -3
  42. package/dist/usecases/ingest/video-pipeline.js +48 -15
  43. package/dist/usecases/ingest/video-pipeline.js.map +1 -1
  44. package/dist/usecases/script/compose-creative-draft.d.ts +3 -0
  45. package/dist/usecases/script/compose-creative-draft.js +106 -0
  46. package/dist/usecases/script/compose-creative-draft.js.map +1 -0
  47. package/package.json +1 -1
  48. package/skills/scriptctl/SKILL.md +30 -9
  49. package/skills/scriptctl/references/ingest-workflow.md +10 -4
  50. package/skills/scriptctl/references/production-writing-standard.md +6 -3
  51. package/skills/scriptctl/references/video-transcript-repair.md +16 -5
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/domain/script/v4/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/domain/script/v4/validation.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,19 @@ function ext(p) {
12
12
  function mimeFor(p) {
13
13
  return VIDEO_MIME[ext(p)] ?? "application/octet-stream";
14
14
  }
15
- // First run of digits in the basename, or null when the name carries no number.
16
- // ponytail: first-integer heuristic; if real datasets name files with non-episode
17
- // digits (dates, resolutions) switch to an explicit `ep(\d+)` pattern.
15
+ // Prefer an explicit episode marker before falling back to the first run of
16
+ // digits. Real series names commonly carry unrelated numbers (for example
17
+ // `749局-第35集.mp4`); treating the title number as the episode collapses an
18
+ // entire directory into one duplicate episode.
18
19
  function episodeNumber(file) {
19
20
  // Strip the extension first — `.mp4`/`.mpeg` carry digits that are not episode
20
21
  // numbers.
21
- const m = path.basename(file, path.extname(file)).match(/\d+/);
22
+ const stem = path.basename(file, path.extname(file));
23
+ const explicit = stem.match(/第\s*0*(\d+)\s*[集话回]/u)
24
+ ?? stem.match(/(?:^|[._\-\s])(?:ep(?:isode)?|e)\s*[._\-\s]*0*(\d+)(?=$|[._\-\s])/iu);
25
+ if (explicit)
26
+ return Number(explicit[1]);
27
+ const m = stem.match(/\d+/);
22
28
  return m ? Number(m[0]) : null;
23
29
  }
24
30
  function discoveryError(message, received) {
@@ -1 +1 @@
1
- {"version":3,"file":"video-discovery.js","sourceRoot":"","sources":["../../../src/infra/ingest/video-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video-discovery.js","sourceRoot":"","sources":["../../../src/infra/ingest/video-discovery.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { VideoSourceEpisodeIdentity } from "../../domain/ingest/video-source-evolution.js";
2
2
  import type { VideoEpisode } from "./video-discovery.js";
3
- export declare function snapshotVideoSource(episodes: VideoEpisode[]): VideoSourceEpisodeIdentity[];
3
+ export declare function probeVideoDurationMs(filePath: string): number | undefined;
4
+ export declare function snapshotVideoSource(episodes: VideoEpisode[], previous?: readonly VideoSourceEpisodeIdentity[], previousVerifiedAt?: string): VideoSourceEpisodeIdentity[];
4
5
  export declare function videoSourceFingerprint(episodes: VideoSourceEpisodeIdentity[]): string;
@@ -1,21 +1,72 @@
1
+ import * as fs from "node:fs";
1
2
  import * as path from "node:path";
2
- import { sha256File, sha256Text } from "../../common.js";
3
- export function snapshotVideoSource(episodes) {
3
+ import { spawnSync } from "node:child_process";
4
+ import { CliError, EXIT_INPUT, sha256File, sha256Text } from "../../common.js";
5
+ export function probeVideoDurationMs(filePath) {
6
+ const probe = spawnSync("ffprobe", [
7
+ "-v", "error",
8
+ "-show_entries", "format=duration",
9
+ "-of", "default=noprint_wrappers=1:nokey=1",
10
+ filePath,
11
+ ], { encoding: "utf-8" });
12
+ const durationSeconds = typeof probe.stdout === "string"
13
+ ? Number(probe.stdout.trim())
14
+ : Number.NaN;
15
+ return probe.status === 0 && Number.isFinite(durationSeconds) && durationSeconds > 0
16
+ ? Math.round(durationSeconds * 1_000)
17
+ : undefined;
18
+ }
19
+ export function snapshotVideoSource(episodes, previous = [], previousVerifiedAt) {
20
+ const priorByEpisode = new Map(previous.map((item) => [item.episode, item]));
21
+ const verifiedAtMs = previousVerifiedAt ? Date.parse(previousVerifiedAt) : Number.NaN;
4
22
  return episodes.map((episode) => {
5
23
  const absolutePath = path.resolve(episode.path);
24
+ const stat = fs.statSync(absolutePath);
25
+ const sizeBytes = stat.size;
26
+ const mtimeMs = Math.trunc(stat.mtimeMs);
27
+ const prior = priorByEpisode.get(episode.episode);
28
+ const unchangedByMetadata = prior
29
+ && prior.size_bytes === sizeBytes
30
+ && prior.mtime_ms === mtimeMs;
31
+ const unchangedSinceLegacyVerification = prior
32
+ && prior.size_bytes === undefined
33
+ && prior.mtime_ms === undefined
34
+ && prior.path === absolutePath
35
+ && Number.isFinite(verifiedAtMs)
36
+ && stat.mtimeMs <= verifiedAtMs;
37
+ const sha256 = prior
38
+ && prior.ext === episode.ext
39
+ && prior.mime === episode.mime
40
+ && (unchangedByMetadata || unchangedSinceLegacyVerification)
41
+ ? prior.sha256
42
+ : sha256File(absolutePath);
43
+ const durationMs = prior?.duration_ms !== undefined
44
+ && (unchangedByMetadata || unchangedSinceLegacyVerification)
45
+ ? prior.duration_ms
46
+ : probeVideoDurationMs(absolutePath);
47
+ if (durationMs === undefined) {
48
+ throw new CliError(`Could not determine the duration of video episode ${episode.episode}.`, {
49
+ exitCode: EXIT_INPUT,
50
+ errorCode: "INGEST_VIDEO_DURATION_UNAVAILABLE",
51
+ hint: "Install ffprobe and verify that the source video is readable, then rerun video ingest.",
52
+ data: { actual: [absolutePath] },
53
+ });
54
+ }
6
55
  return {
7
56
  episode: episode.episode,
8
57
  path: absolutePath,
9
58
  ext: episode.ext,
10
59
  mime: episode.mime,
11
- sha256: sha256File(absolutePath),
60
+ sha256,
61
+ size_bytes: sizeBytes,
62
+ mtime_ms: mtimeMs,
63
+ duration_ms: durationMs,
12
64
  };
13
65
  });
14
66
  }
15
67
  export function videoSourceFingerprint(episodes) {
16
68
  return sha256Text(JSON.stringify(episodes.map((episode) => ({
17
69
  episode: episode.episode,
18
- path: episode.path,
19
70
  ext: episode.ext,
20
71
  mime: episode.mime,
21
72
  sha256: episode.sha256,
@@ -1 +1 @@
1
- {"version":3,"file":"video-source-snapshot.js","sourceRoot":"","sources":["../../../src/infra/ingest/video-source-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIzD,MAAM,UAAU,mBAAmB,CAAC,QAAwB;IAC1D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC;SACjC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAsC;IAC3E,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"video-source-snapshot.js","sourceRoot":"","sources":["../../../src/infra/ingest/video-source-snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type VideoStateEvidenceManifest, type VideoStateEvidencePlan } from "../../domain/ingest/video-state-evidence.js";
2
+ import type { WorkspaceStore } from "./workspace-store.js";
3
+ export interface FrameExtractionResult {
4
+ ok: boolean;
5
+ error?: string;
6
+ }
7
+ export type VideoFrameExtractor = (sourcePath: string, timestamp: string, outputPath: string, signal?: AbortSignal) => Promise<FrameExtractionResult>;
8
+ export interface VideoStateEvidenceMaterializeOptions {
9
+ /** Reuse a ready frame already present at the deterministic output path. */
10
+ reuseExistingFrames?: boolean;
11
+ }
12
+ export declare const extractVideoEvidenceFrame: VideoFrameExtractor;
13
+ /** Materialize a plan without making frame-tooling failures fatal to ingest. */
14
+ export declare function materializeVideoStateEvidence(store: WorkspaceStore, plan: VideoStateEvidencePlan, signal?: AbortSignal, extractor?: VideoFrameExtractor, options?: VideoStateEvidenceMaterializeOptions): Promise<VideoStateEvidenceManifest>;
@@ -0,0 +1,140 @@
1
+ import { spawn } from "node:child_process";
2
+ import * as fs from "node:fs";
3
+ import * as path from "node:path";
4
+ import { parseVideoEvidenceTimestamp, } from "../../domain/ingest/video-state-evidence.js";
5
+ const FRAME_SCALE = "scale='if(gt(a,1),min(960,iw),-2)':'if(gt(a,1),-2,min(960,ih))'";
6
+ const FRAME_EXTRACTION_CONCURRENCY = 4;
7
+ function ffmpegTimestamp(timestamp) {
8
+ const milliseconds = parseVideoEvidenceTimestamp(timestamp);
9
+ return milliseconds === null ? null : (milliseconds / 1000).toFixed(3);
10
+ }
11
+ export const extractVideoEvidenceFrame = async (sourcePath, timestamp, outputPath, signal) => {
12
+ if (signal?.aborted)
13
+ throw new Error("aborted");
14
+ const seek = ffmpegTimestamp(timestamp);
15
+ if (seek === null)
16
+ return { ok: false, error: "invalid timestamp" };
17
+ try {
18
+ if (!fs.existsSync(sourcePath) || fs.statSync(sourcePath).size === 0) {
19
+ return { ok: false, error: "source video is unavailable or empty" };
20
+ }
21
+ }
22
+ catch {
23
+ return { ok: false, error: "source video is unavailable" };
24
+ }
25
+ fs.mkdirSync(path.dirname(outputPath), { recursive: true });
26
+ const partial = `${outputPath}.part`;
27
+ fs.rmSync(partial, { force: true });
28
+ return new Promise((resolve, reject) => {
29
+ const child = spawn("ffmpeg", [
30
+ "-y", "-loglevel", "error",
31
+ "-ss", seek,
32
+ "-i", sourcePath,
33
+ "-frames:v", "1",
34
+ "-vf", FRAME_SCALE,
35
+ "-q:v", "3",
36
+ "-f", "image2",
37
+ partial,
38
+ ], { stdio: ["ignore", "ignore", "pipe"] });
39
+ child.stderr?.resume();
40
+ const onAbort = () => {
41
+ child.kill("SIGKILL");
42
+ };
43
+ signal?.addEventListener("abort", onAbort, { once: true });
44
+ child.on("error", () => {
45
+ signal?.removeEventListener("abort", onAbort);
46
+ fs.rmSync(partial, { force: true });
47
+ if (signal?.aborted)
48
+ reject(new Error("aborted"));
49
+ else
50
+ resolve({ ok: false, error: "frame extractor unavailable" });
51
+ });
52
+ child.on("close", (code) => {
53
+ signal?.removeEventListener("abort", onAbort);
54
+ if (signal?.aborted) {
55
+ fs.rmSync(partial, { force: true });
56
+ reject(new Error("aborted"));
57
+ return;
58
+ }
59
+ if (code === 0 && fs.existsSync(partial) && fs.statSync(partial).size > 0) {
60
+ fs.renameSync(partial, outputPath);
61
+ resolve({ ok: true });
62
+ return;
63
+ }
64
+ fs.rmSync(partial, { force: true });
65
+ resolve({ ok: false, error: `frame extraction failed (exit ${code ?? "unknown"})` });
66
+ });
67
+ });
68
+ };
69
+ function publicSample(sample) {
70
+ const { source_path: _sourcePath, ...rest } = sample;
71
+ return rest;
72
+ }
73
+ /** Materialize a plan without making frame-tooling failures fatal to ingest. */
74
+ export async function materializeVideoStateEvidence(store, plan, signal, extractor = extractVideoEvidenceFrame, options = {}) {
75
+ const reuseExistingFrames = options.reuseExistingFrames !== false;
76
+ const plannedSamples = [
77
+ ...plan.items.flatMap((item) => item.samples),
78
+ ...(plan.identities ?? []).flatMap((identity) => identity.samples),
79
+ ];
80
+ const materialized = new Map();
81
+ let cursor = 0;
82
+ const worker = async () => {
83
+ while (true) {
84
+ const index = cursor;
85
+ cursor += 1;
86
+ if (index >= plannedSamples.length)
87
+ return;
88
+ if (signal?.aborted)
89
+ throw new Error("aborted");
90
+ const sample = plannedSamples[index];
91
+ const outputPath = store.path(sample.frame_path);
92
+ let result;
93
+ if (reuseExistingFrames && fs.existsSync(outputPath) && fs.statSync(outputPath).size > 0) {
94
+ result = { ok: true };
95
+ }
96
+ else {
97
+ // An explicit refresh must not silently keep a frame produced from an
98
+ // older video at the same episode/timestamp path.
99
+ fs.rmSync(outputPath, { force: true });
100
+ result = await extractor(sample.source_path, sample.timestamp, outputPath, signal);
101
+ }
102
+ materialized.set(sample, publicSample({
103
+ ...sample,
104
+ frame_status: result.ok ? "ready" : "unavailable",
105
+ ...(result.error ? { error: result.error } : {}),
106
+ }));
107
+ }
108
+ };
109
+ await Promise.all(Array.from({ length: Math.min(FRAME_EXTRACTION_CONCURRENCY, plannedSamples.length) }, () => worker()));
110
+ const materializeSamples = (samples) => samples.map((sample) => materialized.get(sample));
111
+ const items = plan.items.map((item) => ({ ...item, samples: materializeSamples(item.samples) }));
112
+ const identities = (plan.identities ?? [])
113
+ .map((identity) => ({ ...identity, samples: materializeSamples(identity.samples) }));
114
+ const manifest = {
115
+ version: 2,
116
+ generated_at: new Date().toISOString(),
117
+ source_sha256: plan.source_sha256,
118
+ items,
119
+ ...(identities.length > 0 ? { identities } : {}),
120
+ };
121
+ if (store.has("evidence/state-evidence.json")) {
122
+ try {
123
+ const existing = store.readJson("evidence/state-evidence.json");
124
+ // identities must take part in the comparison, or a plan that only changed
125
+ // identity frames would keep serving the stale sidecar.
126
+ const comparable = (value) => JSON.stringify({
127
+ version: value.version,
128
+ source_sha256: value.source_sha256,
129
+ items: value.items,
130
+ identities: value.identities ?? [],
131
+ });
132
+ if (comparable(existing) === comparable(manifest))
133
+ return existing;
134
+ }
135
+ catch { /* replace a malformed or obsolete sidecar */ }
136
+ }
137
+ store.writeJson("evidence/state-evidence.json", manifest);
138
+ return manifest;
139
+ }
140
+ //# sourceMappingURL=video-state-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-state-evidence.js","sourceRoot":"","sources":["../../../src/infra/ingest/video-state-evidence.ts"],"names":[],"mappings":"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"}
@@ -164,7 +164,7 @@ export const BUILTIN_LLM_CONFIG = {
164
164
  // reliably than grok did (skeleton leads split correctly, no paren-polluted
165
165
  // names), which markdown/text mode could not hold on this model.
166
166
  "ingest-normalize": { provider: "gw", model: "claude-sonnet-4-6-aihubmix", temperature: 0 },
167
- "ingest-video": { provider: "google-gemini", model: "gemini-3.6-flash" },
167
+ "ingest-video": { provider: "google-gemini", model: "gemini-3.7-flash" },
168
168
  },
169
169
  tasks: {
170
170
  // Ingest: cheap model for chunk normalization + pronoun resolve + recall;
@@ -8,12 +8,10 @@ import { OpenAiCompatibleModel } from "../infra/llm/openai-compatible-model.js";
8
8
  import { loadLlmConfig, normalizeProviderBaseUrl, } from "./config.js";
9
9
  import { LLM_TASK_IDS, LLM_TASK_REGISTRY } from "./registry.js";
10
10
  import { LlmTransportError } from "./types.js";
11
- // Video serial fallback chain: when the routed model fails a whole episode (after
12
- // its own transient retries), fall through these in order before giving up. The
13
- // Gemini Files handle is account-scoped, not model-scoped, so the uploaded video is
14
- // reused across every attempt — only generateContent reruns. Rate limits, capacity,
15
- // and per-model content filters differ between models, so a peer often succeeds.
16
- const VIDEO_FALLBACK_MODELS = ["gemini-3.1-pro-preview", "gemini-3.1-flash-lite", "gemini-3-flash-preview"];
11
+ // Keep every built-in Gemini attempt on the current stable Flash model. A custom
12
+ // routed model may fall back once to this model before the cross-provider Doubao
13
+ // fallback. The Gemini Files handle is reused; only generateContent reruns.
14
+ const VIDEO_FALLBACK_MODELS = ["gemini-3.7-flash"];
17
15
  // Cross-provider last resort after every Gemini model fails: Doubao on Volcengine
18
16
  // Ark. Different protocol (Files API sets fps at upload; Responses API references
19
17
  // the file id), so it re-uploads the local transcode to its own storage. Credential
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import type { SerialOutput } from "../../../domain/ingest/video-serial-md.js";
2
2
  import type { TaskVideoPort, VideoMediaInput } from "../../types.js";
3
3
  export type { SerialOutput, SerialScene, SerialEntity } from "../../../domain/ingest/video-serial-md.js";
4
4
  export declare const VIDEO_SERIAL_SYSTEM: string;
5
- export declare function buildSerialUser(episodeNo: number, contextText: string): string;
5
+ export declare function buildSerialUser(episodeNo: number, contextText: string, durationMs?: number): string;
6
6
  export declare function toSerialOutput(input: unknown): SerialOutput;
7
7
  export declare function runVideoSerial(port: TaskVideoPort, media: VideoMediaInput, episodeNo: number, contextText: string, fps: number, signal?: AbortSignal, local?: {
8
8
  path: string;
9
9
  mime: string;
10
- }): Promise<{
10
+ }, durationMs?: number): Promise<{
11
11
  md: string;
12
12
  output: SerialOutput;
13
13
  }>;