safety_tools.cpython-311.pyc•9.76 kB
�
�+�h� � �P � d Z ddlZddlmZmZmZmZ ddlmZ G d� d� � Z dS )z�
Safety and system control tools for qudi MCP integration
Handles safety interlocks, emergency controls, and system monitoring
for quantum photonics experiments.
� N)�Dict�List�Any�Optional� )�RunLevelc � � e Zd ZdZd� Zdedeeef deeef fd�Zdeeef deeef fd�Z deeef deeef fd �Z
deeef deeef fd
�Zdeeef deeef fd�Zdeeef deeef fd�Z
deeef deeef fd
�Zdeeef deeef fd�Zdefd�ZdS )�SafetyToolsz"Safety and emergency control toolsc �F � || _ t j d� � | _ d S )Nzqudi-mcp.safety)�server�logging� getLogger�logger)�selfr s �Z/Users/englund/Projects/QPG-MIT/qudi-iqo-modules-QPG/mcp_integration/tools/safety_tools.py�__init__zSafetyTools.__init__ s � �����'�(9�:�:����� �name� arguments�returnc � � K � | j | j | j | j | j | j | j d�}||vrdd|� �iS || |� � � d{V ��S )zRoute safety tool calls)zsafety.check_interlockszsafety.set_runlevelzsafety.get_statuszsafety.validate_parameterzsystem.emergency_stopzsystem.reset_emergencyzsystem.get_limits�errorzUnknown safety tool: N)�_check_interlocks�
_set_runlevel�_get_safety_status�_validate_parameter�_emergency_stop�_reset_emergency�_get_limits)r r r �tool_maps r �handle_toolzSafetyTools.handle_tool s� � � � � (,�'=�#'�#5�!%�!8�)-�)A�%)�%9�&*�&;�!%�!1�
�
�� �x����;�T�;�;�<�<�#�X�d�^�I�.�.�.�.�.�.�.�.�.r �argsc � �� K � | j � d� � | j j � � � }d| j j j || � � � d|d � �d�S )zCheck all safety interlockszChecking safety interlocks�successzInterlock check completed - �overall_status)�status�runlevel�
interlocks� timestamp�message)r �infor �safety_checker�check_all_interlocksr'