• Assemble an action card's HTML: render the caller-authored body, then append the standard button block. Pure (Foundry access only through the render shims), so it is unit-testable and carries no posting side effect.

    Parameters

    • spec: ActionCardSpec

      The card body (template or content) and its buttons.

    Returns Promise<HTMLString>

    The finished card HTML, ready to post (e.g. via speaker.toChat).