"use client";
import type { AutoQueueGroup } from "yt-dlp-transcript-common/jobs/autoQueuePolicy";
import { LadderRung, type RungData, type RungOps } from "./LadderRung";
import type { Channel } from "./dispatch";
// The policy tree, rendered as the dispatch mechanism it actually is: one rung
// per node, in priority order, each carrying its own live occupancy and backlog.
//
// A plain
, never a
— see NextUp for why a nested section breaks
// every scoped lookup in the e2e suite.
export function ClaimLadder({
root,
channels,
platforms,
buckets,
operations,
data,
ops,
readOnly = false,
}: {
root: AutoQueueGroup;
channels: Channel[];
platforms: string[];
buckets: string[];
operations: string[];
data: RungData;
ops: RungOps;
// The tree is COMPILED from the channel priorities, so it is shown rather
// than edited. See LadderRung.
readOnly?: boolean;
}) {
return (
Policy{readOnly ? " (generated)" : ""}
);
}