mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-22 05:24:18 +02:00
refactor: reverse visibility for list_prompts/_list_prompts methods
This commit is contained in:
parent
676e43a939
commit
24cf45bb64
8 changed files with 16 additions and 16 deletions
|
|
@ -209,10 +209,10 @@ class AggregateProvider(Provider):
|
|||
# Prompts
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
"""List all prompts from all providers (with transforms applied)."""
|
||||
results = await gather(
|
||||
*[p._list_prompts() for p in self._providers],
|
||||
*[p.list_prompts() for p in self._providers],
|
||||
return_exceptions=True,
|
||||
)
|
||||
return self._collect_list_results(results, "list_prompts")
|
||||
|
|
|
|||
|
|
@ -205,11 +205,11 @@ class Provider:
|
|||
|
||||
return await chain(uri, version=version)
|
||||
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
"""List prompts with all transforms applied."""
|
||||
|
||||
async def base() -> Sequence[Prompt]:
|
||||
return await self.list_prompts()
|
||||
return await self._list_prompts()
|
||||
|
||||
chain = base
|
||||
for transform in self.transforms:
|
||||
|
|
@ -334,7 +334,7 @@ class Provider:
|
|||
return None
|
||||
return max(matching, key=version_sort_key) # type: ignore[type-var]
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
"""Return all available prompts.
|
||||
|
||||
Override to provide prompts dynamically. Returns ALL versions of all prompts.
|
||||
|
|
@ -357,7 +357,7 @@ class Provider:
|
|||
Returns:
|
||||
The Prompt if found, or None to continue searching other providers.
|
||||
"""
|
||||
prompts = await self.list_prompts()
|
||||
prompts = await self._list_prompts()
|
||||
matching = [p for p in prompts if p.name == name]
|
||||
if version:
|
||||
matching = [p for p in matching if version.matches(p.version)]
|
||||
|
|
@ -383,7 +383,7 @@ class Provider:
|
|||
self._list_tools(),
|
||||
self._list_resources(),
|
||||
self._list_resource_templates(),
|
||||
self.list_prompts(),
|
||||
self._list_prompts(),
|
||||
)
|
||||
tools = cast(Sequence[Tool], results[0])
|
||||
resources = cast(Sequence[Resource], results[1])
|
||||
|
|
|
|||
|
|
@ -568,7 +568,7 @@ class FastMCPProvider(Provider):
|
|||
# Prompt methods
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
"""List all prompts from the mounted server as FastMCPProviderPrompts.
|
||||
|
||||
Runs the mounted server's middleware so filtering/transformation applies.
|
||||
|
|
|
|||
|
|
@ -210,10 +210,10 @@ class FileSystemProvider(LocalProvider):
|
|||
await self._ensure_loaded()
|
||||
return await super()._get_resource_template(uri, version)
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
"""Return all prompts, reloading if in reload mode."""
|
||||
await self._ensure_loaded()
|
||||
return await super().list_prompts()
|
||||
return await super()._list_prompts()
|
||||
|
||||
async def get_prompt(
|
||||
self, name: str, version: VersionSpec | None = None
|
||||
|
|
|
|||
|
|
@ -583,7 +583,7 @@ class LocalProvider(Provider):
|
|||
return None
|
||||
return max(matching, key=version_sort_key) # type: ignore[type-var]
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
"""Return all visible prompts."""
|
||||
return [
|
||||
v
|
||||
|
|
|
|||
|
|
@ -396,7 +396,7 @@ class OpenAPIProvider(Provider):
|
|||
return None
|
||||
return max(matching, key=version_sort_key) # type: ignore[type-var]
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
"""Return empty list - OpenAPI doesn't create prompts."""
|
||||
return []
|
||||
|
||||
|
|
|
|||
|
|
@ -573,7 +573,7 @@ class ProxyProvider(Provider):
|
|||
# Prompt methods
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
"""List all prompts from the remote server."""
|
||||
try:
|
||||
client = await self._get_client()
|
||||
|
|
|
|||
|
|
@ -895,10 +895,10 @@ class FastMCP(Provider, Generic[LifespanResultT]):
|
|||
)
|
||||
return self._collect_list_results(results, "list_resource_templates")
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
async def _list_prompts(self) -> Sequence[Prompt]:
|
||||
"""Aggregate prompts from all sub-providers."""
|
||||
results = await gather(
|
||||
*[p._list_prompts() for p in self._providers],
|
||||
*[p.list_prompts() for p in self._providers],
|
||||
return_exceptions=True,
|
||||
)
|
||||
return self._collect_list_results(results, "list_prompts")
|
||||
|
|
@ -1402,7 +1402,7 @@ class FastMCP(Provider, Generic[LifespanResultT]):
|
|||
)
|
||||
|
||||
# Query through full transform chain (provider transforms + server transforms + visibility)
|
||||
prompts = await self._list_prompts()
|
||||
prompts = await self.list_prompts()
|
||||
|
||||
# Get auth context (skip_auth=True for STDIO which has no auth concept)
|
||||
skip_auth, token = _get_auth_context()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue