mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-04 16:42:27 +00:00
feat(producer): version distributed plan protocol (#2777)
This commit is contained in:
@@ -21,6 +21,7 @@ import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
import { recomputePlanHashFromPlanDir } from "../render/stages/freezePlan.js";
|
||||
import { RenderQualityError } from "../renderOrchestrator.js";
|
||||
import { CURRENT_PLAN_PROTOCOL } from "./planProtocol.js";
|
||||
import {
|
||||
applyDistributedAudioWarningPolicy,
|
||||
buildChunkSlices,
|
||||
@@ -401,6 +402,7 @@ describe("plan() — golden planDir + planHash determinism", () => {
|
||||
|
||||
// ── PlanResult contract ─────────────────────────────────────────────
|
||||
expect(result.planDir).toBe(planDir);
|
||||
expect(result.planProtocol).toEqual(CURRENT_PLAN_PROTOCOL);
|
||||
expect(result.planHash).toMatch(/^[0-9a-f]{64}$/);
|
||||
expect(result.chunkCount).toBe(1);
|
||||
expect(result.totalFrames).toBe(30); // 1s @ 30fps
|
||||
@@ -429,6 +431,7 @@ describe("plan() — golden planDir + planHash determinism", () => {
|
||||
unknown
|
||||
>;
|
||||
expect(planJson.planHash).toBe(result.planHash);
|
||||
expect(planJson.protocol).toEqual(CURRENT_PLAN_PROTOCOL);
|
||||
expect(planJson.hasAudio).toBe(false);
|
||||
expect(planJson.totalFrames).toBe(result.totalFrames);
|
||||
},
|
||||
@@ -516,8 +519,18 @@ describe("plan() — golden planDir + planHash determinism", () => {
|
||||
expect(recomputed).toBe(result.planHash);
|
||||
const planJson = JSON.parse(readFileSync(join(planDir, "plan.json"), "utf-8")) as {
|
||||
planHash: string;
|
||||
protocol?: unknown;
|
||||
};
|
||||
expect(planJson.planHash).toBe(result.planHash);
|
||||
expect(planJson.protocol).toEqual(CURRENT_PLAN_PROTOCOL);
|
||||
|
||||
delete planJson.protocol;
|
||||
writeFileSync(join(planDir, "plan.json"), `${JSON.stringify(planJson, null, 2)}\n`, "utf-8");
|
||||
expect(recomputePlanHashFromPlanDir(planDir)).toBe(result.planHash);
|
||||
|
||||
planJson.protocol = CURRENT_PLAN_PROTOCOL;
|
||||
writeFileSync(join(planDir, "plan.json"), `${JSON.stringify(planJson, null, 2)}\n`, "utf-8");
|
||||
expect(recomputePlanHashFromPlanDir(planDir)).toBe(result.planHash);
|
||||
},
|
||||
TIMEOUT_MS,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user