- YoutubePublisherAgent: 음악 파이프라인의 *_pending 상태를 폴링하여 텔레그램 단일 채널로 단계별 검토 요청 발송, reply 수신 시 의도 분류 후 music-lab에 feedback POST - service_proxy: pipeline list/get/feedback/telegram-msg/lookup-by-msg 헬퍼 5종 추가 (MUSIC_LAB_URL 사용) - scheduler: 30초 interval로 poll_state_changes 실행 - telegram webhook: reply_to_message 가 파이프라인 메시지면 youtube_publisher 로 라우팅 (슬래시 명령보다 우선) - 테스트 4종 추가 (4 PASS)
28 lines
892 B
Python
28 lines
892 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
|
|
from .youtube_publisher import YoutubePublisherAgent
|
|
|
|
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()
|
|
AGENT_REGISTRY["youtube_publisher"] = YoutubePublisherAgent()
|
|
|
|
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()
|
|
]
|