Source code for klea_utils.nodes.fixed_answer

#!/usr/bin/env python3
"""
Provide a fixed answer.

File: rag_pkg/klea_rag/nodes/fixed_answer.py

Copyright 2026 Ankur Sinha
Author: Ankur Sinha <sanjay DOT ankur AT gmail DOT com>
"""

import logging
from typing import Any, override

from pydantic import BaseModel

from klea_utils.nodes.abstract import AbstractLangGraphNode


[docs] class FixedAnswer(AbstractLangGraphNode[BaseModel, dict[str, Any]]): """Provide a fixed answer""" def __init__( self, logger: logging.Logger, label: str, state_attr: str, message: str ): """Initialise with logger and message to return. :param logger: Logger instance :param label: Human-readable label for UI progress display :param message: str message to return """ super().__init__(logger, label) self.message = message self.state_attr = state_attr
[docs] @override async def execute(self, state: BaseModel) -> dict[str, Any]: """Return fixed message.""" self.write_custom_stream({"type": "progress", "node": self.label}) self.logger.debug({self.state_attr: self.message}) return {self.state_attr: self.message}