@lingjingai/scriptctl 0.52.0 → 0.53.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 (33) hide show
  1. package/changes/0.53.0.md +13 -0
  2. package/dist/infra/llm/anthropic-model.js +13 -11
  3. package/dist/infra/llm/anthropic-model.js.map +1 -1
  4. package/dist/infra/llm/doubao-video-model.js +8 -7
  5. package/dist/infra/llm/doubao-video-model.js.map +1 -1
  6. package/dist/infra/llm/gemini-video-model.js +9 -8
  7. package/dist/infra/llm/gemini-video-model.js.map +1 -1
  8. package/dist/infra/llm/openai-compatible-model.js +51 -31
  9. package/dist/infra/llm/openai-compatible-model.js.map +1 -1
  10. package/dist/infra/llm/retry.d.ts +3 -0
  11. package/dist/infra/llm/retry.js +22 -1
  12. package/dist/infra/llm/retry.js.map +1 -1
  13. package/dist/llm/router.d.ts +7 -3
  14. package/dist/llm/router.js +112 -28
  15. package/dist/llm/router.js.map +1 -1
  16. package/dist/llm/types.d.ts +22 -0
  17. package/dist/llm/types.js +4 -0
  18. package/dist/llm/types.js.map +1 -1
  19. package/dist/usecases/ingest/pipeline.js +257 -220
  20. package/dist/usecases/ingest/pipeline.js.map +1 -1
  21. package/dist/usecases/ingest/serial-govern.js +4 -1
  22. package/dist/usecases/ingest/serial-govern.js.map +1 -1
  23. package/dist/usecases/ingest/usage-report.d.ts +112 -4
  24. package/dist/usecases/ingest/usage-report.js +242 -45
  25. package/dist/usecases/ingest/usage-report.js.map +1 -1
  26. package/dist/usecases/ingest/video-pipeline.js +157 -117
  27. package/dist/usecases/ingest/video-pipeline.js.map +1 -1
  28. package/dist/usecases/ingest/view-server.d.ts +2 -22
  29. package/dist/usecases/ingest/view-server.js +14 -8
  30. package/dist/usecases/ingest/view-server.js.map +1 -1
  31. package/package.json +1 -1
  32. package/skills/scriptctl/SKILL.md +2 -2
  33. package/skills/scriptctl/references/ingest-workflow.md +1 -0
@@ -30,9 +30,9 @@ import { transcodeForUpload } from "../../infra/ingest/video-transcode.js";
30
30
  import { WorkspaceStore } from "../../infra/ingest/workspace-store.js";
31
31
  import { runVideoSerial } from "../../llm/tasks/ingest/video-serial.js";
32
32
  import { assetAuditWarnings, auditWorkspaceScriptAssets } from "./final-asset-audit.js";
33
- import { writeUsage } from "./usage-report.js";
33
+ import { UsageLedger } from "./usage-report.js";
34
34
  import { LlmTransportError } from "../../llm/types.js";
35
- const PIPELINE_VERSION = "7"; // source-language speech and voice-over coverage contract
35
+ const PIPELINE_VERSION = "8"; // streaming per-episode/model usage ledger
36
36
  const pad = (n) => String(n).padStart(3, "0");
37
37
  // LlmTransportError.message is a generic banner ("Gemini generateContent failed.");
38
38
  // the real diagnosis (HTTP status, Gemini's own message, finishReason) lives in
@@ -93,6 +93,7 @@ function checkLifecycle(store, sha, force) {
93
93
  "asset-audit.json",
94
94
  "id_map.json",
95
95
  "timing.jsonl",
96
+ "usage.json",
96
97
  "v4_identity_map.json",
97
98
  ])
98
99
  fs.rmSync(store.path(f), { force: true });
@@ -205,134 +206,173 @@ export async function runVideoIngest(opts) {
205
206
  episodes: episodes.map((e) => ({ episode: e.episode, path: path.resolve(e.path), ext: e.ext, mime: e.mime })),
206
207
  fps,
207
208
  });
208
- const port = opts.executor.videoPort("ingest.video-serial");
209
- const title = deriveTitle(opts.sourcePath);
210
- let ctx = !force && store.has("context.json") ? store.readJson("context.json") : emptyContext();
211
- let identityMap = !force && store.has("v4_identity_map.json")
212
- ? store.readJson("v4_identity_map.json")
213
- : emptyV4IdentityMap();
214
- let reused = 0;
215
- // ===== Stage S: serial per-episode parse =====
216
- for (const e of episodes) {
217
- const rel = `ep/ep_${pad(e.episode)}.json`;
218
- // Resume: skip only when the episode's content exists AND the running context
219
- // already accounts for it (a crash between the two writes → rerun this ep).
220
- if (!force && store.has(rel) && e.episode <= ctx.lastEpisode) {
221
- reused++;
222
- continue;
223
- }
224
- // Persist the exact context fed to Gemini for this episode (inspectable: what
225
- // prior-episode knowledge the model saw), before the call so a failed episode
226
- // still shows its input.
227
- const ctxMd = renderContext(ctx);
228
- store.writeText(`ep/ep_${pad(e.episode)}.context.md`, ctxMd);
229
- let md;
230
- let out;
231
- const timing = { episode: e.episode };
232
- try {
233
- // Shrink the source before upload — short-drama clips ship at ~90MB but
234
- // Gemini samples at fps=3, so a 720p/12fps re-encode (~14MB) uploads far
235
- // faster with no recognition loss. Best-effort: falls back to the original.
236
- const tStart = Date.now();
237
- const enc = await transcodeForUpload(e.path, store.path(`cache/ep_${pad(e.episode)}.mp4`), e.mime, sig);
238
- timing.transcodeMs = Date.now() - tStart;
239
- timing.uploadBytes = fileSize(enc.path);
240
- timing.transcoded = enc.transcoded;
241
- if (enc.note)
242
- timing.note = enc.note;
243
- const uStart = Date.now();
244
- const handle = await port.upload(enc.path, enc.mime, sig);
245
- timing.uploadMs = Date.now() - uStart;
209
+ const usage = new UsageLedger(store, opts.executor);
210
+ let runStatus = "failed";
211
+ try {
212
+ const port = opts.executor.videoPort("ingest.video-serial");
213
+ const title = deriveTitle(opts.sourcePath);
214
+ let ctx = !force && store.has("context.json") ? store.readJson("context.json") : emptyContext();
215
+ let identityMap = !force && store.has("v4_identity_map.json")
216
+ ? store.readJson("v4_identity_map.json")
217
+ : emptyV4IdentityMap();
218
+ let reused = 0;
219
+ // ===== Stage S: serial per-episode parse =====
220
+ for (const e of episodes) {
221
+ const rel = `ep/ep_${pad(e.episode)}.json`;
222
+ // Resume: skip only when the episode's content exists AND the running context
223
+ // already accounts for it (a crash between the two writes → rerun this ep).
224
+ if (!force && store.has(rel) && e.episode <= ctx.lastEpisode) {
225
+ reused++;
226
+ opts.executor.recordReuse("ingest.video-serial");
227
+ const at = Date.now();
228
+ usage.flush({
229
+ scope: { kind: "episode", episode: e.episode },
230
+ status: "reused",
231
+ startedAtMs: at,
232
+ endedAtMs: at,
233
+ });
234
+ continue;
235
+ }
236
+ // Persist the exact context fed to Gemini for this episode (inspectable: what
237
+ // prior-episode knowledge the model saw), before the call so a failed episode
238
+ // still shows its input.
239
+ const ctxMd = renderContext(ctx);
240
+ store.writeText(`ep/ep_${pad(e.episode)}.context.md`, ctxMd);
241
+ let md;
242
+ let out;
243
+ const episodeStartedMs = Date.now();
244
+ const timing = { episode: e.episode, status: "succeeded", totalMs: 0 };
246
245
  try {
247
- const gStart = Date.now();
248
- ({ md, output: out } = await runVideoSerial(port, handle, e.episode, ctxMd, fps, sig, { path: enc.path, mime: enc.mime }));
249
- timing.generateMs = Date.now() - gStart;
246
+ // Shrink the source before upload — short-drama clips ship at ~90MB but
247
+ // Gemini samples at fps=3, so a 720p/12fps re-encode (~14MB) uploads far
248
+ // faster with no recognition loss. Best-effort: falls back to the original.
249
+ const tStart = Date.now();
250
+ const enc = await transcodeForUpload(e.path, store.path(`cache/ep_${pad(e.episode)}.mp4`), e.mime, sig);
251
+ timing.transcodeMs = Date.now() - tStart;
252
+ timing.uploadBytes = fileSize(enc.path);
253
+ timing.transcoded = enc.transcoded;
254
+ if (enc.note)
255
+ timing.note = enc.note;
256
+ const uStart = Date.now();
257
+ const handle = await port.upload(enc.path, enc.mime, sig);
258
+ timing.uploadMs = Date.now() - uStart;
259
+ try {
260
+ const gStart = Date.now();
261
+ ({ md, output: out } = await runVideoSerial(port, handle, e.episode, ctxMd, fps, sig, { path: enc.path, mime: enc.mime }));
262
+ timing.generateMs = Date.now() - gStart;
263
+ }
264
+ finally {
265
+ await port.delete(handle, sig).catch(() => { }); // best-effort cleanup; serial never reuses a handle
266
+ // Drop the local transcode once uploaded+parsed — it is a disposable cache.
267
+ if (enc.transcoded)
268
+ fs.rmSync(enc.path, { force: true });
269
+ }
250
270
  }
251
- finally {
252
- await port.delete(handle, sig).catch(() => { }); // best-effort cleanup; serial never reuses a handle
253
- // Drop the local transcode once uploaded+parsed — it is a disposable cache.
254
- if (enc.transcoded)
255
- fs.rmSync(enc.path, { force: true });
271
+ catch (err) {
272
+ const endedAtMs = Date.now();
273
+ timing.status = "failed";
274
+ timing.totalMs = endedAtMs - episodeStartedMs;
275
+ appendTiming(store, timing);
276
+ usage.flush({
277
+ scope: { kind: "episode", episode: e.episode },
278
+ status: "failed",
279
+ startedAtMs: episodeStartedMs,
280
+ endedAtMs,
281
+ stages: timing,
282
+ });
283
+ const detail = errorDetail(err);
284
+ store.writeJson(`ep/ep_${pad(e.episode)}.error.json`, { error: detail });
285
+ throw new CliError(`Episode ${e.episode} failed serial parse; later episodes depend on its context.`, {
286
+ exitCode: EXIT_INPUT,
287
+ errorCode: "INGEST_SERIAL_INCOMPLETE",
288
+ hint: "Inspect the episode error sidecar and rerun `scriptctl ingest` to resume from this episode.",
289
+ data: { actual: [detail] },
290
+ });
256
291
  }
257
- }
258
- catch (err) {
259
- const detail = errorDetail(err);
260
- store.writeJson(`ep/ep_${pad(e.episode)}.error.json`, { error: detail });
261
- throw new CliError(`Episode ${e.episode} failed serial parse; later episodes depend on its context.`, {
262
- exitCode: EXIT_INPUT,
263
- errorCode: "INGEST_SERIAL_INCOMPLETE",
264
- hint: "Inspect the episode error sidecar and rerun `scriptctl ingest` to resume from this episode.",
265
- data: { actual: [detail] },
292
+ const doc = deltaToDoc(out, e.episode);
293
+ applyDelta(ctx, out, e.episode);
294
+ store.writeText(`ep/ep_${pad(e.episode)}.md`, md); // raw transcript for human review
295
+ store.writeJson(rel, doc);
296
+ store.writeJson("context.json", ctx);
297
+ store.clearError(`ep/ep_${pad(e.episode)}.error.json`);
298
+ const episodeEndedMs = Date.now();
299
+ timing.totalMs = episodeEndedMs - episodeStartedMs;
300
+ appendTiming(store, timing); // per-episode transcode/upload/generate durations
301
+ usage.flush({
302
+ scope: { kind: "episode", episode: e.episode },
303
+ status: "succeeded",
304
+ startedAtMs: episodeStartedMs,
305
+ endedAtMs: episodeEndedMs,
306
+ stages: timing,
266
307
  });
308
+ // Streaming: rebuild script.json incrementally so the editor sees it grow.
309
+ // Best-effort — the gated finalize below is authoritative.
310
+ try {
311
+ const streaming = finalizeScript(readDocs(store, episodes), ctx, title, identityMap);
312
+ if (streaming.validation.ok) {
313
+ identityMap = streaming.identityMap;
314
+ // Publish the identity checkpoint first. A crash may leave the map ahead
315
+ // of script.json, but never exposes IDs that cannot be reproduced on resume.
316
+ store.writeJson("v4_identity_map.json", identityMap);
317
+ store.writeJson("script.json", streaming.final);
318
+ }
319
+ }
320
+ catch { /* streaming write is best-effort */ }
267
321
  }
268
- const doc = deltaToDoc(out, e.episode);
269
- applyDelta(ctx, out, e.episode);
270
- store.writeText(`ep/ep_${pad(e.episode)}.md`, md); // raw transcript for human review
271
- store.writeJson(rel, doc);
272
- store.writeJson("context.json", ctx);
273
- store.clearError(`ep/ep_${pad(e.episode)}.error.json`);
274
- appendTiming(store, timing); // per-episode transcode/upload/generate durations
275
- // Streaming: rebuild script.json incrementally so the editor sees it grow.
276
- // Best-effort — the gated finalize below is authoritative.
322
+ // ===== Stage F: deterministic finalize (gated) =====
323
+ const finalized = finalizeScript(readDocs(store, episodes), ctx, title, identityMap);
324
+ const { initial, final, idMap, validation: structuralValidation } = finalized;
325
+ let auditWarnings = [];
326
+ const auditStartedMs = Date.now();
327
+ let auditStatus = "failed";
277
328
  try {
278
- const streaming = finalizeScript(readDocs(store, episodes), ctx, title, identityMap);
279
- if (streaming.validation.ok) {
280
- identityMap = streaming.identityMap;
281
- // Publish the identity checkpoint first. A crash may leave the map ahead
282
- // of script.json, but never exposes IDs that cannot be reproduced on resume.
283
- store.writeJson("v4_identity_map.json", identityMap);
284
- store.writeJson("script.json", streaming.final);
329
+ if (structuralValidation.ok) {
330
+ const audit = await auditWorkspaceScriptAssets(store, final, opts.executor, {
331
+ force: opts.force ?? false,
332
+ ...(opts.signal ? { signal: opts.signal } : {}),
333
+ });
334
+ auditWarnings = assetAuditWarnings(audit.report);
285
335
  }
336
+ auditStatus = "succeeded";
286
337
  }
287
- catch { /* streaming write is best-effort */ }
288
- }
289
- // Persist serial-video spend before deterministic conversion. A structural
290
- // failure must not erase spend that a resumed run cannot reconstruct.
291
- writeUsage(store, opts.executor);
292
- // ===== Stage F: deterministic finalize (gated) =====
293
- const finalized = finalizeScript(readDocs(store, episodes), ctx, title, identityMap);
294
- const { initial, final, idMap, validation: structuralValidation } = finalized;
295
- let auditWarnings = [];
296
- try {
297
- if (structuralValidation.ok) {
298
- const audit = await auditWorkspaceScriptAssets(store, final, opts.executor, {
299
- force: opts.force ?? false,
300
- ...(opts.signal ? { signal: opts.signal } : {}),
338
+ finally {
339
+ usage.flush({
340
+ scope: { kind: "phase", phase: "asset-audit" },
341
+ status: auditStatus,
342
+ startedAtMs: auditStartedMs,
343
+ });
344
+ }
345
+ const validation = {
346
+ ...structuralValidation,
347
+ warnings: [...structuralValidation.warnings, ...auditWarnings],
348
+ };
349
+ store.writeJson("script.initial.json", initial);
350
+ store.writeJson("id_map.json", idMap);
351
+ store.writeJson("validation.json", validation);
352
+ store.writeJson("v4_identity_map.json", finalized.identityMap);
353
+ if (!validation.ok) {
354
+ throw new CliError("Final script.json failed validation.", {
355
+ exitCode: EXIT_INPUT,
356
+ errorCode: "INGEST_VALIDATION_FAILED",
357
+ hint: "Inspect validation.json.",
358
+ data: { actual: validation.errors.slice(0, 5).map((e) => `${e.path}: ${e.message}`) },
301
359
  });
302
- auditWarnings = assetAuditWarnings(audit.report);
303
360
  }
361
+ store.writeJson("script.json", final);
362
+ const g = final;
363
+ runStatus = "succeeded";
364
+ return {
365
+ workspacePath: store.root,
366
+ episodes: episodes.length,
367
+ reused,
368
+ assets: { actors: g.actors?.length ?? 0, locations: g.locations?.length ?? 0, props: g.props?.length ?? 0 },
369
+ scriptPath: store.path("script.json"),
370
+ validation: { ok: validation.ok, errors: validation.errors.length, warnings: validation.warnings.length },
371
+ };
304
372
  }
305
373
  finally {
306
- // Includes both serial-video and final asset-audit usage, including failed
307
- // audit attempts whose episode checkpoints will be reused on retry.
308
- writeUsage(store, opts.executor);
374
+ usage.finish(runStatus);
309
375
  }
310
- const validation = {
311
- ...structuralValidation,
312
- warnings: [...structuralValidation.warnings, ...auditWarnings],
313
- };
314
- store.writeJson("script.initial.json", initial);
315
- store.writeJson("id_map.json", idMap);
316
- store.writeJson("validation.json", validation);
317
- store.writeJson("v4_identity_map.json", finalized.identityMap);
318
- if (!validation.ok) {
319
- throw new CliError("Final script.json failed validation.", {
320
- exitCode: EXIT_INPUT,
321
- errorCode: "INGEST_VALIDATION_FAILED",
322
- hint: "Inspect validation.json.",
323
- data: { actual: validation.errors.slice(0, 5).map((e) => `${e.path}: ${e.message}`) },
324
- });
325
- }
326
- store.writeJson("script.json", final);
327
- const g = final;
328
- return {
329
- workspacePath: store.root,
330
- episodes: episodes.length,
331
- reused,
332
- assets: { actors: g.actors?.length ?? 0, locations: g.locations?.length ?? 0, props: g.props?.length ?? 0 },
333
- scriptPath: store.path("script.json"),
334
- validation: { ok: validation.ok, errors: validation.errors.length, warnings: validation.warnings.length },
335
- };
336
376
  }
337
377
  function deriveTitle(sourcePath) {
338
378
  const base = path.basename(sourcePath, path.extname(sourcePath));
@@ -1 +1 @@
1
- {"version":3,"file":"video-pipeline.js","sourceRoot":"","sources":["../../../src/usecases/ingest/video-pipeline.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,iFAAiF;AACjF,wCAAwC;AACxC,kFAAkF;AAClF,mFAAmF;AACnF,gFAAgF;AAChF,+DAA+D;AAE/D,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAG9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,aAAa,EACb,eAAe,GAEhB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAqB,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,0DAA0D;AACxF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAE9D,oFAAoF;AACpF,gFAAgF;AAChF,2FAA2F;AAC3F,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAoBD,SAAS,iBAAiB,CAAC,GAAmB;IAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC;AAcD,SAAS,QAAQ,CAAC,CAAS;IACzB,IAAI,CAAC;QAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,KAAqB,EAAE,CAAgB;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;QACzF,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC,CAAC,mDAAmD,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,KAAqB,EAAE,GAAW,EAAE,KAAc;IACxE,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAA8D,eAAe,CAAC,CAAC;QAC9G,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC9D,MAAM,IAAI,QAAQ,CAAC,kFAAkF,EAAE;gBAC/F,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,wBAAwB;gBACnC,IAAI,EAAE,qDAAqD;gBAC3D,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,6CAA6C,CAAC,EAAE;aAClE,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;YAC1F,MAAM,IAAI,QAAQ,CAAC,+DAA+D,EAAE;gBAC5E,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,0BAA0B;gBACrC,IAAI,EAAE,mFAAmF;gBACzF,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,sBAAsB,QAAQ,CAAC,gBAAgB,aAAa,gBAAgB,EAAE,CAAC,EAAE;aACnG,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,KAAK,MAAM,CAAC,IAAI;YACd,cAAc;YACd,qBAAqB;YACrB,aAAa;YACb,iBAAiB;YACjB,kBAAkB;YAClB,aAAa;YACb,cAAc;YACd,sBAAsB;SACvB;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,kFAAkF;AAClF,6BAA6B;AAC7B,SAAS,UAAU,CAAC,IAAuB,EAAE,KAA0B;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAoB,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;YAAE,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACxE,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,UAAU;gBAAE,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;YACjF,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO;gBAAE,EAAE,CAAC,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAEnE,SAAS,iBAAiB,CACxB,MAAyD,EACzD,QAAgC;IAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACzE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9C,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;eAC3B,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,WAAW,IAAI,MAAM,CAAC;QACrC,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC,GAAG,CAChB,YAAY,EACZ,SAAS,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC;QACpD,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;eAChE,SAAS,KAAK,CAAC,IAAI,WAAW,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;QAC/C,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,WAAW,CAC9C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,EAAE;YACR,GAAG,GAAG,UAAU,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;SAC3C,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC;AAED,iFAAiF;AACjF,6EAA6E;AAC7E,SAAS,cAAc,CACrB,IAAuB,EACvB,GAAe,EACf,KAAa,EACb,aAA4B;IAE5B,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC1E,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAC3G,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,SAAS,GAAG,6BAA6B,CAC7C,eAAe,CAAC,QAAQ,CAAC,EACzB,aAAa,EACb;QACE,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC;QAC1C,GAAG,YAAY;KAChB,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;IAClC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG;QACjB,GAAG,oBAAoB;QACvB,QAAQ,EAAE,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;KACtF,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;AACrG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAqB,EAAE,QAAwB;IAC/D,MAAM,IAAI,GAAsB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3C,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAkB,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAwB;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,QAAQ,CAAC,wCAAwC,EAAE;YACrD,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,uBAAuB;SACnC,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACvF,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IAExB,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,KAAK,CAAC,MAAM,EAAE,CAAC;IACf,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE;QAC/B,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC5C,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7G,GAAG;KACJ,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,GAAG,GAAe,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAa,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACxH,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC;QAC3D,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAgB,sBAAsB,CAAC;QACvD,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACzB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,gDAAgD;IAChD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3C,8EAA8E;QAC9E,4EAA4E;QAC5E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAAC,MAAM,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAErF,8EAA8E;QAC9E,8EAA8E;QAC9E,yBAAyB;QACzB,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACjC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,EAAU,CAAC;QACf,IAAI,GAAG,CAAC;QACR,MAAM,MAAM,GAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,wEAAwE;YACxE,yEAAyE;YACzE,4EAA4E;YAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YACzC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAErC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3H,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YAC1C,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,oDAAoD;gBACpG,4EAA4E;gBAC5E,IAAI,GAAG,CAAC,UAAU;oBAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAChC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACzE,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,6DAA6D,EAAE;gBAC9F,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,0BAA0B;gBACrC,IAAI,EAAE,6FAA6F;gBACnG,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE;aAC3B,CAAC,CAAC;QACX,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;QACrF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACvD,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,kDAAkD;QAE/E,2EAA2E;QAC3E,2DAA2D;QAC3D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACrF,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBAC5B,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;gBACpC,yEAAyE;gBACzE,6EAA6E;gBAC7E,KAAK,CAAC,SAAS,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;gBACrD,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAClD,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjC,sDAAsD;IACtD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACrF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC9E,IAAI,aAAa,GAAG,EAA2C,CAAC;IAChE,IAAI,CAAC;QACH,IAAI,oBAAoB,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;gBAC1E,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;gBAC1B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC,CAAC;YACH,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,2EAA2E;QAC3E,oEAAoE;QACpE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,GAAG,oBAAoB;QACvB,QAAQ,EAAE,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC;KAC/D,CAAC;IACF,KAAK,CAAC,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAChD,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACtC,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC/C,KAAK,CAAC,SAAS,CAAC,sBAAsB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC,sCAAsC,EAAE;YACnD,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,0BAA0B;YACrC,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;SACtF,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAEtC,MAAM,CAAC,GAAG,KAAyE,CAAC;IACpF,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,IAAI;QACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,MAAM;QACN,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE;QAC3G,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QACrC,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE;KAC1G,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"video-pipeline.js","sourceRoot":"","sources":["../../../src/usecases/ingest/video-pipeline.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type CommandOutput } from "../../common.js";
2
+ import type { UsageReport } from "./usage-report.js";
2
3
  type Dict = Record<string, unknown>;
3
4
  interface FileMeta {
4
5
  rel: string;
@@ -17,28 +18,7 @@ export declare function readTiming(root: string): {
17
18
  }>;
18
19
  totalMs: number;
19
20
  };
20
- export declare function readUsage(root: string): {
21
- totals: {
22
- calls: number;
23
- reused: number;
24
- inputTokens: number;
25
- outputTokens: number;
26
- cachedInputTokens: number;
27
- cacheCreationTokens: number;
28
- totalTokens: number;
29
- };
30
- byTask: Array<{
31
- task: string;
32
- profile: string;
33
- model: string;
34
- calls: number;
35
- reused: number;
36
- inputTokens: number;
37
- outputTokens: number;
38
- cachedInputTokens: number;
39
- cacheCreationTokens: number;
40
- }>;
41
- } | null;
21
+ export declare function readUsage(root: string): UsageReport | null;
42
22
  export declare function readSafe(root: string, rel: string): {
43
23
  ok: true;
44
24
  text: string;
@@ -39,7 +39,7 @@ export function listArtifacts(root) {
39
39
  const only = (arr) => arr.filter((m) => !!m);
40
40
  const epFile = (suffix) => dirFiles("ep", (n) => n.endsWith(suffix) && !n.endsWith(".error.json"));
41
41
  return {
42
- 结果: only([meta("script.json"), meta("validation.json"), meta("asset-audit.json"), meta("review.html"), meta("timings.json")]),
42
+ 结果: only([meta("script.json"), meta("validation.json"), meta("asset-audit.json"), meta("usage.json"), meta("review.html"), meta("timings.json")]),
43
43
  // Text serial artifacts (empty for a video workspace).
44
44
  上下文: dirFiles("serial", (n) => n.startsWith("context_") && n.endsWith(".md")),
45
45
  每窗更新: dirFiles("serial", (n) => n.startsWith("win_") && n.endsWith(".json")),
@@ -255,16 +255,22 @@ function renderUsage(u){
255
255
  var cacheHit=(t.cachedInputTokens||0),cacheNew=(t.cacheCreationTokens||0);
256
256
  var cacheStr=(cacheHit||cacheNew)?' · 缓存命中 '+fmtTok(cacheHit)+(cacheNew?'/建 '+fmtTok(cacheNew):''):'';
257
257
  $('#tokIO').textContent='(入 '+fmtTok(t.inputTokens)+' / 出 '+fmtTok(t.outputTokens)+cacheStr+' · '+t.calls+'次'+(t.reused?' · 复用'+t.reused:'')+')';
258
- var rows=(u.byTask||[]).slice().filter(function(r){return r.calls>0||r.inputTokens>0||r.outputTokens>0});
258
+ var rows=[];
259
+ (u.byTask||[]).forEach(function(task){
260
+ (task.byModel||[]).forEach(function(model){
261
+ var r=model.totals||{};
262
+ if(r.calls>0||r.reused>0||r.inputTokens>0||r.outputTokens>0)rows.push({task:task.task,model:model.model,provider:model.provider,totals:r});
263
+ });
264
+ });
259
265
  if(!rows.length){$('#usageWrap').style.display='none';return}
260
- rows.sort(function(a,b){return (b.inputTokens+b.outputTokens)-(a.inputTokens+a.outputTokens)});
266
+ rows.sort(function(a,b){return (b.totals.totalTokens||0)-(a.totals.totalTokens||0)});
261
267
  $('#usageWrap').style.display='block';
262
- var h=['<tr><th>任务</th><th>调用</th><th>复用</th><th>入token</th><th title="缓存命中/新建,均为入token的子集">缓存(命中/建)</th><th>出token</th><th>合计</th></tr>'];
263
- rows.forEach(function(r){
264
- var ch=r.cachedInputTokens||0,cn=r.cacheCreationTokens||0;
265
- h.push('<tr><td>'+(TASKNAMES[r.task]||r.task)+'</td><td>'+r.calls+'</td><td>'+(r.reused||0)+'</td><td>'+fmtTok(r.inputTokens)+'</td><td class="dim">'+(ch||cn?fmtTok(ch)+'/'+fmtTok(cn):'—')+'</td><td>'+fmtTok(r.outputTokens)+'</td><td>'+fmtTok(r.inputTokens+r.outputTokens)+'</td></tr>');
268
+ var h=['<tr><th>任务</th><th>模型</th><th>调用</th><th>失败</th><th>复用</th><th>入token</th><th title="缓存命中/新建,均为入token的子集">缓存(命中/建)</th><th>出token</th><th>合计</th></tr>'];
269
+ rows.forEach(function(row){
270
+ var r=row.totals,ch=r.cachedInputTokens||0,cn=r.cacheCreationTokens||0;
271
+ h.push('<tr><td>'+(TASKNAMES[row.task]||row.task)+'</td><td class="mono">'+row.provider+'/'+row.model+'</td><td>'+r.calls+'</td><td>'+(r.failed||0)+'</td><td>'+(r.reused||0)+'</td><td>'+fmtTok(r.inputTokens)+'</td><td class="dim">'+(ch||cn?fmtTok(ch)+'/'+fmtTok(cn):'—')+'</td><td>'+fmtTok(r.outputTokens)+'</td><td>'+fmtTok(r.totalTokens)+'</td></tr>');
266
272
  });
267
- h.push('<tr><td class="dim">合计</td><td class="dim">'+t.calls+'</td><td class="dim">'+t.reused+'</td><td class="dim">'+fmtTok(t.inputTokens)+'</td><td class="dim">'+(t.cachedInputTokens||t.cacheCreationTokens?fmtTok(t.cachedInputTokens||0)+'/'+fmtTok(t.cacheCreationTokens||0):'—')+'</td><td class="dim">'+fmtTok(t.outputTokens)+'</td><td class="dim">'+fmtTok(t.totalTokens)+'</td></tr>');
273
+ h.push('<tr><td class="dim">合计</td><td></td><td class="dim">'+t.calls+'</td><td class="dim">'+t.failed+'</td><td class="dim">'+t.reused+'</td><td class="dim">'+fmtTok(t.inputTokens)+'</td><td class="dim">'+(t.cachedInputTokens||t.cacheCreationTokens?fmtTok(t.cachedInputTokens||0)+'/'+fmtTok(t.cacheCreationTokens||0):'—')+'</td><td class="dim">'+fmtTok(t.outputTokens)+'</td><td class="dim">'+fmtTok(t.totalTokens)+'</td></tr>');
268
274
  $('#usageTable').innerHTML=h.join('');
269
275
  }
270
276
  function renderEpTiming(tm){
@@ -1 +1 @@
1
- {"version":3,"file":"view-server.js","sourceRoot":"","sources":["../../../src/usecases/ingest/view-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-server.js","sourceRoot":"","sources":["../../../src/usecases/ingest/view-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingjingai/scriptctl",
3
- "version": "0.52.0",
3
+ "version": "0.53.0",
4
4
  "description": "剧本阶段统一 CLI:素材转 Script v4,并兼容 Script v3 的本地写作、精修、校验和发布。",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2,8 +2,8 @@
2
2
  name: scriptctl
3
3
  description: "剧本 script.json 的本地查询、文件化批量写作、原子精修、素材 ingest 与 revision publish CLI。处理 Script v3/v4、两个 script.json、剧本资产/state、Action、场景引用或 authoring 时使用。"
4
4
  metadata:
5
- version: "0.27.3"
6
- scriptctl_version: "0.52.0"
5
+ version: "0.27.4"
6
+ scriptctl_version: "0.53.0"
7
7
  author: "official"
8
8
  ---
9
9
 
@@ -29,6 +29,7 @@ scriptctl ingest -s uploads/正片/
29
29
  管线(了解即可,产物都在 `workspace/`):
30
30
  - **文本**:正文起点定位 → 切块 → 生产化归一 → 合并组装 `body.json` → 串行资产/身份/state 治理 → V3 中间校验 → 稳定 V4 身份分配 → V4 校验与生产规范 warning → `script.json`。
31
31
  - **视频**:逐集串行观看原视频并维护跨集人物、剧情和造型上下文 → 确定性治理 → V3 中间校验 → 稳定 V4 身份分配 → V4 校验与生产规范 warning → `script.json`。时间戳写入 `extend.timestamp`,逐集 `ep/*.json`、`context.json` 和身份映射支持断点续跑。
32
+ - **用量账本**:`usage.json` 在每集/处理单元成功或失败后立即原子更新。`records` 保存实际 task/provider/model 的逐次调用、失败、重试、token 与耗时;`episodes`、`byTask[].byModel`、全局 `byModel`、`totals` 和 `timing` 都从明细聚合,可用于按模型价格精确核算成本。
32
33
 
33
34
  ### 提取与解析原则
34
35