<?php

declare(strict_types=1);

namespace Plugin\tnt_mcp\src\Mcp\Action;

/**
 * How the invoker has to reach a backend controller. There are exactly two ways in, and the
 * catalog has to say which one applies, because nothing in the route or the field list reveals it:
 * a `formPost` entry needs a populated `$_POST` plus a CSRF token, an `adminIo` entry needs a
 * named IO function and a positional argument list. Guessing wrong produces a page render, not a
 * write.
 *
 * String-backed so a YAML `kind:` value maps straight onto a case.
 */
enum ActionKind: string
{
    case FormPost = 'formPost';
    case AdminIo  = 'adminIo';
}
