| import logging | |
| logger = logging.getLogger("ONYX") | |
| class TaskPlanner: | |
| def analyze(self, message: str): | |
| msg = message.lower() | |
| if "video" in msg or "tiktok" in msg: | |
| return "create_video" | |
| if "code" in msg or "api" in msg or "app" in msg: | |
| return "create_code" | |
| if "tendance" in msg or "trend" in msg: | |
| return "web_search" | |
| if "explique" in msg or "definition" in msg: | |
| return "explain" | |
| # par défaut : image | |
| return "create_image" | |
| def build_plan(self, objective: str): | |
| return [objective] | |
| def plan(self, message: str): | |
| objective = self.analyze(message) | |
| tasks = self.build_plan(objective) | |
| logger.info(f"Planner objective: {objective}") | |
| return { | |
| "objective": objective, | |
| "tasks": tasks | |
| } |