@skyphusion-labs/vivijure-core 1.12.0 → 1.13.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.
@@ -1,6 +1,6 @@
1
1
  import type { Env } from "./platform/orchestrator-context.js";
2
- import { type FilmScene, type FilmKeyframeRef, type FilmJob } from "./film-model.js";
3
- import type { RegisteredModule, DialogueLine } from "./modules/types.js";
2
+ import { type FilmScene, type FinishShot, type FilmKeyframeRef, type FilmJob } from "./film-model.js";
3
+ import type { RegisteredModule, FinishInput, DialogueLine } from "./modules/types.js";
4
4
  import { clipFileMatchesShot, type ClipJob } from "./render-orchestrator.js";
5
5
  export * from "./film-model.js";
6
6
  /** Collect finished clip keys from a terminal clips_only (or full) film job doc. */
@@ -25,6 +25,13 @@ export declare function finishOrderReorderDialogue(finishConfig?: Record<string,
25
25
  * `finish_consumes_audio` module (lip-sync) so the planner never routes to RunPod musetalk; module-level
26
26
  * noop alone is not enough (a stale sidecar can still submit and spin workers). */
27
27
  export declare function resolveFinishChainForShot(serving: RegisteredModule[], isDialogueShot: boolean, finishConfig?: Record<string, Record<string, unknown>>): RegisteredModule[];
28
+ /** Mirror of modules/speech-upscale enhancedAudioKey so the core can presign the speech step's PUT
29
+ * without importing a module. Keep in lockstep with that helper (tests pin both sides). */
30
+ export declare function speechEnhancedAudioKey(audioKey: string): string;
31
+ /** cf#312: attach presigned GET/PUT URLs onto a FinishInput so credentialless satellites (upscale,
32
+ * lipsync) can run without shared-bucket R2 env. Best-effort: a missing presigner or unsafe key
33
+ * leaves the input key-only and the module falls back to R2 mode. Never throws into the chain. */
34
+ export declare function attachFinishPresigns(env: Env, job: FilmJob, fs: FinishShot, input: FinishInput, modules: RegisteredModule[]): Promise<void>;
28
35
  /** Advance the finish chain: per shot, submit its current finish module or poll the in-flight one,
29
36
  * chaining to the next module on completion. Phase -> assemble when every shot is terminal. */
30
37
  /** cf#507b: the MEASURED dimensions of each finished clip, read from the clip job at dispatch time.
@@ -1 +1 @@
1
- {"version":3,"file":"film-orchestrator.d.ts","sourceRoot":"","sources":["../src/film-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"film-orchestrator.d.ts","sourceRoot":"","sources":["../src/film-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -522,6 +522,8 @@ async function advanceSpeechPhase(env, job) {
522
522
  context: { project: job.project, job_id: job.film_id },
523
523
  };
524
524
  if (!ss.poll) {
525
+ // cf#312: credentialless audio-upscale path when PRESIGNER is bound.
526
+ await attachSpeechPresigns(env, req.input);
525
527
  const r = await invokeModule(fetcher, req);
526
528
  if (!r.ok) {
527
529
  blipOrDegrade(ss, r.error, false);
@@ -630,6 +632,80 @@ async function adoptFinishStepFromR2(env, job, fs, preModules) {
630
632
  adoptFinishStepOutput(fs, expected, finishStepAppliedTag(fs, modules));
631
633
  return true;
632
634
  }
635
+ // cf#312: satellite finish/speech jobs queue + cold-start + GPU work. Same 30min envelope as
636
+ // keyframe_url / film.finish / master (cast REF_TTL is also 1800).
637
+ const FINISH_PRESIGN_TTL_SECONDS = 1800;
638
+ /** Mirror of modules/speech-upscale enhancedAudioKey so the core can presign the speech step's PUT
639
+ * without importing a module. Keep in lockstep with that helper (tests pin both sides). */
640
+ export function speechEnhancedAudioKey(audioKey) {
641
+ const slash = audioKey.lastIndexOf("/");
642
+ const dot = audioKey.lastIndexOf(".");
643
+ return dot > slash ? `${audioKey.slice(0, dot)}_enh.wav` : `${audioKey}_enh.wav`;
644
+ }
645
+ /** cf#312: attach presigned GET/PUT URLs onto a FinishInput so credentialless satellites (upscale,
646
+ * lipsync) can run without shared-bucket R2 env. Best-effort: a missing presigner or unsafe key
647
+ * leaves the input key-only and the module falls back to R2 mode. Never throws into the chain. */
648
+ export async function attachFinishPresigns(env, job, fs, input, modules) {
649
+ const outKey = finishStepOutputKey(job.project, fs, modules);
650
+ if (!outKey)
651
+ return;
652
+ try {
653
+ // `<output_key>.hash`, NOT `<output_key minus .mp4>.hash`. ONE key, three call sites that must
654
+ // agree: the #583 adoption gate reads `${artifactKey}.hash` (finishArtifactHashMatches), the
655
+ // satellites write f"{output_key}.hash" (vivijure-upscale / vivijure-musetalk handler.py), and
656
+ // finish-hash.ts calls itself the SINGLE source of the `<output_key>.hash` sidecar. Stripping the
657
+ // extension is the .srt / .meta.json sidecar convention (filmFinishSeed, metaKeyFor) and does not
658
+ // apply here. Getting it wrong is silent and expensive: the gate takes its no-sidecar refusal on
659
+ // every presigned step, so adoptFinishStepFromR2 (#166 GC/frozen-job recovery) and the final
660
+ // artifact adoption permanently refuse, and the step re-runs paid GPU work with nothing saying so.
661
+ const hashKey = `${outKey}.hash`;
662
+ // ALL-OR-NOTHING, matching the sibling attachSpeechPresigns: resolve EVERY leg before assigning
663
+ // ANY. Assigning as we go leaves presigned transport set with audio_url absent when a later leg
664
+ // throws, and musetalk's presigned branch REQUIRES audio_url -- it returns a top-level `error`,
665
+ // which is a hard job failure, not the key-only R2 fallback this function's contract promises.
666
+ // The catch below would then log finish.presign_skip for what was really a partial application.
667
+ const [videoUrl, outputUrl, audioUrl, hashUrl] = await Promise.all([
668
+ presignR2Get(env, fs.clip_key, FINISH_PRESIGN_TTL_SECONDS),
669
+ presignR2Put(env, outKey, FINISH_PRESIGN_TTL_SECONDS),
670
+ input.audio_key ? presignR2Get(env, input.audio_key, FINISH_PRESIGN_TTL_SECONDS) : undefined,
671
+ input.output_hash ? presignR2Put(env, hashKey, FINISH_PRESIGN_TTL_SECONDS) : undefined,
672
+ ]);
673
+ input.video_url = videoUrl;
674
+ input.output_url = outputUrl;
675
+ input.output_key = outKey;
676
+ if (audioUrl)
677
+ input.audio_url = audioUrl;
678
+ if (hashUrl)
679
+ input.hash_url = hashUrl;
680
+ }
681
+ catch (e) {
682
+ console.warn(JSON.stringify({
683
+ ev: "finish.presign_skip",
684
+ shot: fs.shot_id,
685
+ reason: e instanceof Error ? e.message : String(e),
686
+ }));
687
+ }
688
+ }
689
+ /** cf#312: attach presigned URLs for a speech step. Same best-effort posture as attachFinishPresigns. */
690
+ async function attachSpeechPresigns(env, input) {
691
+ try {
692
+ const outKey = speechEnhancedAudioKey(input.audio_key);
693
+ const [audioUrl, outputUrl] = await Promise.all([
694
+ presignR2Get(env, input.audio_key, FINISH_PRESIGN_TTL_SECONDS),
695
+ presignR2Put(env, outKey, FINISH_PRESIGN_TTL_SECONDS),
696
+ ]);
697
+ input.audio_url = audioUrl;
698
+ input.output_url = outputUrl;
699
+ input.output_key = outKey;
700
+ }
701
+ catch (e) {
702
+ console.warn(JSON.stringify({
703
+ ev: "speech.presign_skip",
704
+ shot: input.shot_id,
705
+ reason: e instanceof Error ? e.message : String(e),
706
+ }));
707
+ }
708
+ }
633
709
  /** Advance the finish chain: per shot, submit its current finish module or poll the in-flight one,
634
710
  * chaining to the next module on completion. Phase -> assemble when every shot is terminal. */
635
711
  /** cf#507b: the MEASURED dimensions of each finished clip, read from the clip job at dispatch time.
@@ -744,6 +820,9 @@ async function advanceFinishPhase(env, job, preModules) {
744
820
  headEtag(env, dialogueAudioKey),
745
821
  ]);
746
822
  req.input.output_hash = await finishStepInputHash(clipEtag, audioEtag, fs.configs?.[fs.idx]);
823
+ // cf#312: presign after output_hash so hash_url can ride with it. Modules that understand
824
+ // video_url/output_url use the credentialless satellite branch; others ignore the fields.
825
+ await attachFinishPresigns(env, job, fs, req.input, modules);
747
826
  const r = await invokeModule(fetcher, req);
748
827
  if (!r.ok) {
749
828
  failOrRetry(fs, r.error, false);