<?php

declare(strict_types=1);

namespace App\Framework\Mcp;

final readonly class McpResourceRegistry
{
    /**
     * @var array<string, array>
     */
    private array $resources;

    public function __construct(
        array $resources = []
    ) {
        $data = [];
        foreach ($resources as $resource) {
            $data[$resource['uri']] = $resource;
        }
        $this->resources = $data;
    }

    public function getResource(string $uri): ?array
    {
        return $this->resources[$uri] ?? null;
    }

    public function getAllResources(): array
    {
        return $this->resources;
    }

    public function hasResources(): bool
    {
        return ! empty($this->resources);
    }
}
