from __future__ import annotations

from typing import Any


def enqueue_build(state: dict[str, Any], *, build_id: str, now: str) -> None:
    queue = state.setdefault("build_queue", [])
    queue.append(
        {
            "build_id": build_id,
            "status": "queued",
            "queued_at": now,
            "updated_at": now,
        }
    )


def find_next_queued_item(state: dict[str, Any]) -> dict[str, Any] | None:
    for item in state.setdefault("build_queue", []):
        if item.get("status") == "queued":
            return item
    return None
