From 2a857bcb700fec8a674c345855ff701f6032667d Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 23 Feb 2026 20:19:09 +0000 Subject: [PATCH] Deprecate Config.get_system_prompt() and fix callback type annotation - 7a: Config.get_system_prompt() now logs a deprecation warning. PersonalityManager.get_system_prompt() is the canonical source (wired in commit 4). LLMConfig.system_prompt kept for backwards compat as fallback when personality is not configured. - 7b: Fix AnnouncementScheduler callback type from asyncio.coroutine (a decorator, not a type) to Awaitable[None] from typing Co-Authored-By: Claude Opus 4.6 --- meshai/announcements.py | 4 ++-- meshai/config.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/meshai/announcements.py b/meshai/announcements.py index 53f2ddf..5217975 100644 --- a/meshai/announcements.py +++ b/meshai/announcements.py @@ -3,7 +3,7 @@ import asyncio import logging import random -from typing import Callable, Optional +from typing import Awaitable, Callable, Optional from .config import AnnouncementsConfig @@ -16,7 +16,7 @@ class AnnouncementScheduler: def __init__( self, config: AnnouncementsConfig, - send_callback: Callable[[str, int], asyncio.coroutine], + send_callback: Callable[[str, int], Awaitable[None]], ): """Initialize the announcement scheduler. diff --git a/meshai/config.py b/meshai/config.py index 1e933b3..b1bc443 100644 --- a/meshai/config.py +++ b/meshai/config.py @@ -1,5 +1,6 @@ """Configuration management for MeshAI.""" +import logging import os from dataclasses import dataclass, field from pathlib import Path @@ -7,6 +8,8 @@ from typing import Optional import yaml +_config_logger = logging.getLogger(__name__) + @dataclass class BotConfig: @@ -284,7 +287,15 @@ class Config: _config_path: Optional[Path] = field(default=None, repr=False) def get_system_prompt(self) -> str: - """Get effective system prompt, preferring personality config.""" + """Get effective system prompt, preferring personality config. + + Deprecated: Use PersonalityManager.get_system_prompt() instead. + Kept for backwards compatibility. + """ + _config_logger.warning( + "Config.get_system_prompt() is deprecated. " + "Use PersonalityManager.get_system_prompt() instead." + ) if self.personality.system_prompt: return self.personality.system_prompt return self.llm.system_prompt