- db.py: youtube_research_jobs 테이블 추가 + CRUD 3종 (add/update/get_latest) - agents/youtube.py: YouTubeResearchAgent 신규 구현 (on_schedule/on_command/on_approval/_run_research/send_weekly_report) - agents/__init__.py: YouTubeResearchAgent 등록 - scheduler.py: youtube_research(매일 09:00) + youtube_weekly_report(월 08:00) cron 추가 - main.py: POST /api/agent-office/youtube/research + GET /api/agent-office/youtube/research/status 엔드포인트 추가 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
773 B
Python
26 lines
773 B
Python
from .stock import StockAgent
|
|
from .music import MusicAgent
|
|
from .blog import BlogAgent
|
|
from .realestate import RealestateAgent
|
|
from .lotto import LottoAgent
|
|
from .youtube import YouTubeResearchAgent
|
|
|
|
AGENT_REGISTRY = {}
|
|
|
|
def init_agents():
|
|
AGENT_REGISTRY["stock"] = StockAgent()
|
|
AGENT_REGISTRY["music"] = MusicAgent()
|
|
AGENT_REGISTRY["blog"] = BlogAgent()
|
|
AGENT_REGISTRY["realestate"] = RealestateAgent()
|
|
AGENT_REGISTRY["lotto"] = LottoAgent()
|
|
AGENT_REGISTRY["youtube"] = YouTubeResearchAgent()
|
|
|
|
def get_agent(agent_id: str):
|
|
return AGENT_REGISTRY.get(agent_id)
|
|
|
|
def get_all_agent_states() -> list:
|
|
return [
|
|
{"agent_id": aid, "state": agent.state, "detail": agent.state_detail}
|
|
for aid, agent in AGENT_REGISTRY.items()
|
|
]
|