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