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