Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions dapr/aio/clients/grpc/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
InvokeMethodResponse,
QueryResponse,
QueryResponseItem,
MetadataMCPServer,
RegisteredComponents,
StateResponse,
TopicEventResponse,
Expand Down Expand Up @@ -1723,13 +1724,17 @@ async def get_metadata(self) -> GetMetadataResponse:
for i in response.registered_components
]
extended_metadata = dict(response.extended_metadata.items())
mcp_servers = [
MetadataMCPServer(name=s.name) for s in response.mcp_servers
]

return GetMetadataResponse(
application_id=response.id,
active_actors_count=active_actors_count,
registered_components=registered_components,
extended_metadata=extended_metadata,
headers=await call.initial_metadata(),
mcp_servers=mcp_servers,
)

async def schedule_job_alpha1(self, job: Job, overwrite: bool = False) -> DaprResponse:
Expand Down
16 changes: 16 additions & 0 deletions dapr/clients/grpc/_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -956,6 +956,7 @@ def __init__(
registered_components: Sequence[RegisteredComponents],
extended_metadata: Dict[str, str],
headers: MetadataTuple = (),
mcp_servers: Optional[Sequence['MetadataMCPServer']] = None,
):
"""Initializes GetMetadataResponse.

Expand All @@ -968,12 +969,15 @@ def __init__(
extended_metadata (Dict[str, str]): mapping of custom (extended)
attributes to their respective values.
headers (Tuple, optional): the headers from Dapr gRPC response.
mcp_servers (Sequence[MetadataMCPServer], optional): list of
loaded MCPServer resources.
"""
super().__init__(headers)
self._application_id = application_id
self._active_actors_count = active_actors_count
self._registered_components = registered_components
self._extended_metadata = extended_metadata
self._mcp_servers = mcp_servers or []

@property
def application_id(self) -> str:
Expand All @@ -995,6 +999,11 @@ def extended_metadata(self) -> Dict[str, str]:
"""Mapping of custom (extended) attributes to their respective values."""
return self._extended_metadata

@property
def mcp_servers(self) -> Sequence['MetadataMCPServer']:
"""List of loaded MCPServer resources."""
return self._mcp_servers


class RegisteredComponents(NamedTuple):
"""Describes a loaded Dapr component."""
Expand All @@ -1012,6 +1021,13 @@ class RegisteredComponents(NamedTuple):
"""Supported capabilities for this component type and version."""


class MetadataMCPServer(NamedTuple):
"""Describes a loaded Dapr MCPServer resource."""

name: str
"""Name of the MCPServer resource."""


class CryptoResponse(DaprResponse, Generic[TCryptoResponse]):
"""An iterable of cryptography API responses."""

Expand Down
5 changes: 5 additions & 0 deletions dapr/clients/grpc/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
InvokeMethodResponse,
QueryResponse,
QueryResponseItem,
MetadataMCPServer,
RegisteredComponents,
StateResponse,
TopicEventResponse,
Expand Down Expand Up @@ -1828,13 +1829,17 @@ def get_metadata(self) -> GetMetadataResponse:
for i in response.registered_components
]
extended_metadata = dict(response.extended_metadata.items())
mcp_servers = [
MetadataMCPServer(name=s.name) for s in response.mcp_servers
]

return GetMetadataResponse(
application_id=response.id,
active_actors_count=active_actors_count,
registered_components=registered_components,
extended_metadata=extended_metadata,
headers=call.initial_metadata(),
mcp_servers=mcp_servers,
)

def set_metadata(self, attributeName: str, attributeValue: str) -> DaprResponse:
Expand Down
72 changes: 37 additions & 35 deletions dapr/proto/runtime/v1/metadata_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading