mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-22 21:44:18 +02:00
refactor: reverse visibility for list_resources/_list_resources methods
This commit is contained in:
parent
b13e1c7caf
commit
d6a334257c
9 changed files with 16 additions and 16 deletions
|
|
@ -151,10 +151,10 @@ class AggregateProvider(Provider):
|
|||
# Resources
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
"""List all resources from all providers (with transforms applied)."""
|
||||
results = await gather(
|
||||
*[p._list_resources() for p in self._providers],
|
||||
*[p.list_resources() for p in self._providers],
|
||||
return_exceptions=True,
|
||||
)
|
||||
return self._collect_list_results(results, "list_resources")
|
||||
|
|
|
|||
|
|
@ -141,11 +141,11 @@ class Provider:
|
|||
|
||||
return await chain(name, version=version)
|
||||
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
"""List resources with all transforms applied."""
|
||||
|
||||
async def base() -> Sequence[Resource]:
|
||||
return await self.list_resources()
|
||||
return await self._list_resources()
|
||||
|
||||
chain = base
|
||||
for transform in self.transforms:
|
||||
|
|
@ -272,7 +272,7 @@ class Provider:
|
|||
return None
|
||||
return max(matching, key=version_sort_key) # type: ignore[type-var]
|
||||
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
"""Return all available resources.
|
||||
|
||||
Override to provide resources dynamically. Returns ALL versions of all resources.
|
||||
|
|
@ -381,7 +381,7 @@ class Provider:
|
|||
# Fetch all component types in parallel
|
||||
results = await gather(
|
||||
self._list_tools(),
|
||||
self.list_resources(),
|
||||
self._list_resources(),
|
||||
self.list_resource_templates(),
|
||||
self.list_prompts(),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -510,7 +510,7 @@ class FastMCPProvider(Provider):
|
|||
# Resource methods
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
"""List all resources from the mounted server as FastMCPProviderResources.
|
||||
|
||||
Runs the mounted server's middleware so filtering/transformation applies.
|
||||
|
|
|
|||
|
|
@ -186,10 +186,10 @@ class FileSystemProvider(LocalProvider):
|
|||
await self._ensure_loaded()
|
||||
return await super()._get_tool(name, version)
|
||||
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
"""Return all resources, reloading if in reload mode."""
|
||||
await self._ensure_loaded()
|
||||
return await super().list_resources()
|
||||
return await super()._list_resources()
|
||||
|
||||
async def get_resource(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
|
|
|
|||
|
|
@ -520,7 +520,7 @@ class LocalProvider(Provider):
|
|||
return None
|
||||
return max(matching, key=version_sort_key) # type: ignore[type-var]
|
||||
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
"""Return all visible resources."""
|
||||
return [
|
||||
v
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ class OpenAPIProvider(Provider):
|
|||
return None
|
||||
return tool
|
||||
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
"""Return all resources created from the OpenAPI spec."""
|
||||
return list(self._resources.values())
|
||||
|
||||
|
|
|
|||
|
|
@ -535,7 +535,7 @@ class ProxyProvider(Provider):
|
|||
# Resource methods
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
"""List all resources from the remote server."""
|
||||
try:
|
||||
client = await self._get_client()
|
||||
|
|
|
|||
|
|
@ -879,10 +879,10 @@ class FastMCP(Provider, Generic[LifespanResultT]):
|
|||
)
|
||||
return self._collect_list_results(results, "list_tools")
|
||||
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
"""Aggregate resources from all sub-providers."""
|
||||
results = await gather(
|
||||
*[p._list_resources() for p in self._providers],
|
||||
*[p.list_resources() for p in self._providers],
|
||||
return_exceptions=True,
|
||||
)
|
||||
return self._collect_list_results(results, "list_resources")
|
||||
|
|
@ -1204,7 +1204,7 @@ class FastMCP(Provider, Generic[LifespanResultT]):
|
|||
)
|
||||
|
||||
# Query through full transform chain (provider transforms + server transforms + visibility)
|
||||
resources = await self._list_resources()
|
||||
resources = await self.list_resources()
|
||||
|
||||
# Get auth context (skip_auth=True for STDIO which has no auth concept)
|
||||
skip_auth, token = _get_auth_context()
|
||||
|
|
|
|||
|
|
@ -384,7 +384,7 @@ class TestProviderExecutionMethods:
|
|||
"""Test that default read_resource uses get_resource and reads it."""
|
||||
|
||||
class ResourceProvider(Provider):
|
||||
async def list_resources(self) -> Sequence[Resource]:
|
||||
async def _list_resources(self) -> Sequence[Resource]:
|
||||
return [
|
||||
FunctionResource(
|
||||
uri=AnyUrl("test://data"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue