*/ final class ListPromptsHandler implements MethodHandlerInterface { public function __construct( private readonly ReferenceProviderInterface $registry, private readonly int $pageSize = 20, ) { } public function supports(HasMethodInterface $message): bool { return $message instanceof ListPromptsRequest; } /** * @throws InvalidCursorException */ public function handle(ListPromptsRequest|HasMethodInterface $message, SessionInterface $session): Response { \assert($message instanceof ListPromptsRequest); $page = $this->registry->getPrompts($this->pageSize, $message->cursor); return new Response( $message->getId(), new ListPromptsResult($page->references, $page->nextCursor), ); } }