from typing import Any from app.core.config import get_settings from app.modules.feishu.service import FeishuService def send_text_if_configured( feishu: FeishuService, chat_id: str | None, text: str, actor: str, *, record_audit: bool = True, ) -> dict[str, Any] | None: """Send a text reply only when Feishu credentials are configured.""" settings = get_settings() if not (settings.feishu_app_id and settings.feishu_app_secret): return None return feishu.send_text( text, receive_id=chat_id, actor=actor, record_audit=record_audit, ) def send_card_if_configured( feishu: FeishuService, chat_id: str | None, title: str, lines: list[str], actor: str, ) -> dict[str, Any] | None: """Send a basic card only when Feishu credentials are configured.""" settings = get_settings() if not (settings.feishu_app_id and settings.feishu_app_secret): return None card = FeishuService.build_basic_card(title, lines) return feishu.send_card(card, receive_id=chat_id, actor=actor)