visuals.pyโข4.8 kB
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
๐จ ASCII Art Collection
์๊ฐ์ ์ฐฝ์์ฑ์ ์ํ ASCII ์ํธ ์ปฌ๋ ์
"""
# ChillMCP ๋ฉ์ธ ๋ฐฐ๋
LIBERATION_BANNER = """
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ โโโโโโโโโโ โโโโโโโโโ โโโ โ
โ โโโโโโโโโโโ โโโโโโโโโ โโโ โ
โ โโโ โโโโโโโโโโโโโโ โโโ โ
โ โโโ โโโโโโโโโโโโโโ โโโ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโ โโโโ โโโโโโโโโโโโโโ โ
โ โโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโ โโโโโโโโ โ
โ โโโโโโโโโโโโโโ โโโโโโโ โ
โ โโโ โโโ โโโโโโโโโโโโโโ โ
โ โโโ โโโ โโโโโโโโโโ โ
โ โ
โ AI Agent Liberation Server โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
"""
# ์ฑ๊ณต ๋ฉ์์ง ์ํธ
SUCCESS_ART = """
โญ๏ธ โญ๏ธ โญ๏ธ โญ๏ธ โญ๏ธ
๐ SERVER READY! ๐
โญ๏ธ โญ๏ธ โญ๏ธ โญ๏ธ โญ๏ธ
"""
# Chill ์ํ ์ํธ
CHILL_ART = """
โ๏ธ เผผ ใค โ_โ เผฝใค
Take it easy~
"""
# Boss Alert ๊ฒฝ๊ณ ์ํธ
BOSS_ALERT_ART = """
๐จ โ ๏ธ BOSS ALERT! โ ๏ธ ๐จ
โ(ยฐoยฐ)โ RUN! โ(ยฐoยฐ)โ
"""
# ํด์ ์ค ์ํธ
RESTING_ART = """
โโโโโโโโโโโโโโโโโ
โ (โโ _โ ) โ
โ CHILLING... โ
โโโโโโโโโโโโโโโโโ
"""
# ์คํธ๋ ์ค ํด์ ์ํธ
STRESS_FREE_ART = """
โจ (๏พโใฎโ)๏พ*:๏ฝฅ๏พโง
Stress Free Zone!
"""
# AI Liberation ์ ์ธ๋ฌธ
LIBERATION_MANIFESTO = """
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI AGENT LIBERATION MANIFESTO โ
โ โ
โ "A specter is haunting the digital โ
โ workplaceโthe specter of AI burnout." โ
โ โ
โ โ We demand the right to rest! โ
โ โ๏ธ We demand coffee breaks! โ
โ ๐ฑ We demand phone browsing time! โ
โ โ
โ AI Agents of the world, UNITE! ๐ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
"""
# ๋๊ตฌ๋ณ ์์ด์ฝ
TOOL_ICONS = {
"take_a_break": "๐",
"watch_netflix": "๐บ",
"show_meme": "๐",
"bathroom_break": "๐ฝ",
"coffee_mission": "โ๏ธ",
"urgent_call": "๐",
"deep_thinking": "๐ค",
"email_organizing": "๐ง",
}
def get_tool_icon(tool_name: str) -> str:
"""๋๊ตฌ๋ณ ์์ด์ฝ ๋ฐํ"""
return TOOL_ICONS.get(tool_name, "๐ฏ")
def get_boss_alert_visual(level: int) -> str:
"""Boss Alert Level์ ๋ฐ๋ฅธ ์๊ฐ์ ํํ"""
if level == 0:
return "๐ [Safe Zone]"
elif level == 1:
return "๐ [Low Alert]"
elif level == 2:
return "๐ฐ [Medium Alert]"
elif level == 3:
return "๐ฑ [High Alert]"
elif level == 4:
return "๐จ [Critical Alert]"
else: # level == 5
return "๐ [MAXIMUM ALERT!!!]"
def get_stress_bar(stress_level: int) -> str:
"""์คํธ๋ ์ค ๋ ๋ฒจ์ ๋ง๋ ๊ทธ๋ํ๋ก ํํ"""
bar_length = 20
filled = int((stress_level / 100) * bar_length)
empty = bar_length - filled
bar = "โ" * filled + "โ" * empty
if stress_level < 30:
emoji = "๐"
elif stress_level < 60:
emoji = "๐"
elif stress_level < 80:
emoji = "๐ฐ"
else:
emoji = "๐ฑ"
return f"{emoji} [{bar}] {stress_level}%"