def decrypt()

in src/nova_act/impl/message_encrypter.py [0:0]


    def decrypt(self, encrypted_message: dict) -> dict | None:
        """Decrypt a message using the key"""
        if encrypted_message.get("type") != ENCRYPTED_MESSAGE_TYPE:
            raise ValueError("Message is not of type encrypted")

        # Convert IV and encrypted data from lists to bytes
        iv = bytes(encrypted_message["iv"])
        encrypted_bytes = bytes(encrypted_message["encrypted"])
        decrypted_bytes = self._aesgcm.decrypt(iv, encrypted_bytes, None)
        decrypted_json = decrypted_bytes.decode("utf-8")  # Convert bytes to string
        _LOGGER.debug("Decrypted string %s", decrypted_json)
        return json.loads(decrypted_json)  # Convert JSON string back to Python object (dict)