The ``errors.py`` module ======================== .. py:module:: ansys.cfx.mcp.common.errors Summary ------- .. py:currentmodule:: errors .. tab-set:: .. tab-item:: Exceptions .. list-table:: :header-rows: 0 :widths: auto * - :py:obj:`~ansys.cfx.mcp.common.errors.FluidsMCPError` - Base class for typed errors raised by leaves and backends. * - :py:obj:`~ansys.cfx.mcp.common.errors.BackendUnavailableError` - Error raised when the requested backend cannot be used. * - :py:obj:`~ansys.cfx.mcp.common.errors.NotConnectedError` - Error raised when an operation requires an active connection. * - :py:obj:`~ansys.cfx.mcp.common.errors.InvalidArgumentsError` - Error raised when a tool receives invalid arguments. * - :py:obj:`~ansys.cfx.mcp.common.errors.UpstreamError` - Error raised when an upstream CFX or provider call fails. * - :py:obj:`~ansys.cfx.mcp.common.errors.DiscoveryError` - Error raised when API or model discovery fails. .. tab-item:: Functions .. list-table:: :header-rows: 0 :widths: auto * - :py:obj:`~typed_guard` - Wrap an MCP tool so domain errors are returned as typed payloads. .. tab-item:: Attributes .. list-table:: :header-rows: 0 :widths: auto * - :py:obj:`~logger` - * - :py:obj:`~BackendUnavailable` - * - :py:obj:`~NotConnected` - * - :py:obj:`~InvalidArguments` - .. tab-item:: Constants .. list-table:: :header-rows: 0 :widths: auto * - :py:obj:`~T` - .. toctree:: :titlesonly: :maxdepth: 1 :hidden: FluidsMCPError BackendUnavailableError NotConnectedError InvalidArgumentsError UpstreamError DiscoveryError Description ----------- Typed error helpers and typed-guard helpers. Convert unexpected exceptions into a `TypedError` instead of crashing the MCP transport. .. !! processed by numpydoc !! Module detail ------------- .. py:function:: typed_guard(func: Callable[Ellipsis, Awaitable[T]]) -> Callable[Ellipsis, Awaitable[T | ansys.cfx.mcp.common.models.TypedError]] Wrap an MCP tool so domain errors are returned as typed payloads. :Parameters: **func** : :obj:`Callable`\[..., :obj:`Awaitable`\[:obj:`T`]] Callable being wrapped or invoked. :Returns: :obj:`Callable`\[..., :obj:`Awaitable`\[:obj:`T` | :obj:`TypedError`]] Value computed by the helper for the requested CFX workflow. .. !! processed by numpydoc !! .. py:data:: T .. py:data:: logger .. py:data:: BackendUnavailable .. py:data:: NotConnected .. py:data:: InvalidArguments