"""
MCP Resources content.

This module contains the content for MCP resources.
"""

from typing import Optional


def get_resource_content(uri: str) -> Optional[str]:
    """Get resource content by URI"""
    resources = {
        "mingli://configuration": _get_configuration_content(),
        "mingli://heavenly-stems": _get_heavenly_stems_content(),
        "mingli://five-elements": _get_five_elements_content(),
        "mingli://twelve-palaces": _get_twelve_palaces_content(),
        "mingli://ziwei-main-stars": _get_ziwei_main_stars_content(),
        "mingli://time-periods": _get_time_periods_content(),
        "mingli://fortune-terms": _get_fortune_terms_content(),
    }
    return resources.get(uri)


def _get_configuration_content() -> str:
    """获取配置选项内容"""
    return """# 服务器配置选项

## 重要说明

**本服务器无需任何配置即可运行**。所有配置选项都是可选的，用于自定义服务器行为。

## 可选环境变量

### LOG_LEVEL
- **描述**: 日志级别
- **可选值**: DEBUG, INFO, WARNING, ERROR, CRITICAL
- **默认值**: INFO

### TRANSPORT_TYPE
- **描述**: 传输协议类型
- **可选值**: stdio, http
- **默认值**: stdio

### HTTP_HOST / HTTP_PORT / HTTP_API_KEY
- HTTP模式配置选项

### DEFAULT_LANGUAGE
- **描述**: 默认语言
- **默认值**: zh-CN
"""


def _get_heavenly_stems_content() -> str:
    """获取天干地支内容"""
    return """# 天干地支对照表

## 十天干

| 天干 | 五行 | 阴阳 | 属性 |
|------|------|------|------|
| 甲 | 木 | 阳 | 大树之木 |
| 乙 | 木 | 阴 | 花草之木 |
| 丙 | 火 | 阳 | 太阳之火 |
| 丁 | 火 | 阴 | 灯烛之火 |
| 戊 | 土 | 阳 | 城墙之土 |
| 己 | 土 | 阴 | 田园之土 |
| 庚 | 金 | 阳 | 刀剑之金 |
| 辛 | 金 | 阴 | 珠玉之金 |
| 壬 | 水 | 阳 | 江河之水 |
| 癸 | 水 | 阴 | 雨露之水 |

## 十二地支

| 地支 | 五行 | 阴阳 | 生肖 | 时辰 |
|------|------|------|------|------|
| 子 | 水 | 阳 | 鼠 | 23:00-01:00 |
| 丑 | 土 | 阴 | 牛 | 01:00-03:00 |
| 寅 | 木 | 阳 | 虎 | 03:00-05:00 |
| 卯 | 木 | 阴 | 兔 | 05:00-07:00 |
| 辰 | 土 | 阳 | 龙 | 07:00-09:00 |
| 巳 | 火 | 阴 | 蛇 | 09:00-11:00 |
| 午 | 火 | 阳 | 马 | 11:00-13:00 |
| 未 | 土 | 阴 | 羊 | 13:00-15:00 |
| 申 | 金 | 阳 | 猴 | 15:00-17:00 |
| 酉 | 金 | 阴 | 鸡 | 17:00-19:00 |
| 戌 | 土 | 阳 | 狗 | 19:00-21:00 |
| 亥 | 水 | 阴 | 猪 | 21:00-23:00 |
"""


def _get_five_elements_content() -> str:
    """获取五行内容"""
    return """# 五行相生相克

## 五行特性

- **木**: 生长、升发、条达舒畅
- **火**: 温热、向上、光明
- **土**: 承载、包容、生化万物
- **金**: 收敛、肃杀、清洁
- **水**: 滋润、向下、寒凉

## 相生循环

木 → 火 → 土 → 金 → 水 → 木

## 相克循环

木 → 土 → 水 → 火 → 金 → 木
"""


def _get_twelve_palaces_content() -> str:
    """获取十二宫位内容"""
    return """# 紫微斗数十二宫位

1. **命宫**: 命运、性格、整体格局
2. **兄弟宫**: 兄弟姐妹、朋友关系
3. **夫妻宫**: 配偶、婚姻、感情
4. **子女宫**: 子女、创作、才华
5. **财帛宫**: 财富、收入、理财能力
6. **疾厄宫**: 健康、疾病、意外
7. **迁移宫**: 外出、迁移、人际关系
8. **奴仆宫**: 下属、朋友、合作
9. **官禄宫**: 事业、工作、地位
10. **田宅宫**: 不动产、房产、家庭
11. **福德宫**: 福气、享受、心情
12. **父母宫**: 父母、长辈、上司
"""


def _get_ziwei_main_stars_content() -> str:
    """获取紫微主星内容"""
    return """# 紫微斗数十四主星

## 帝座星
- **紫微星**: 帝座之星，主贵气
- **天机星**: 智慧之星，主机谋
- **太阳星**: 光明之星，主名声

## 财星
- **武曲星**: 财富之星，主财运
- **天同星**: 福气之星，主享受
- **廉贞星**: 桃花之星，主感情

## 辅星
- **天府星**: 宝库之星，主财库
- **太阴星**: 月亮之星，主温柔
- **贪狼星**: 欲望之星，主变化
- **巨门星**: 暗星，主口舌
- **天相星**: 印星，主贵人
- **天梁星**: 荫星，主长辈
- **七杀星**: 煞星，主权威
- **破军星**: 耗星，主开创
"""


def _get_time_periods_content() -> str:
    """获取时辰对照表内容"""
    return """# 十二时辰对照表

| 时辰 | 时间 | 地支 |
|------|------|------|
| 子时 | 23:00-01:00 | 子 |
| 丑时 | 01:00-03:00 | 丑 |
| 寅时 | 03:00-05:00 | 寅 |
| 卯时 | 05:00-07:00 | 卯 |
| 辰时 | 07:00-09:00 | 辰 |
| 巳时 | 09:00-11:00 | 巳 |
| 午时 | 11:00-13:00 | 午 |
| 未时 | 13:00-15:00 | 未 |
| 申时 | 15:00-17:00 | 申 |
| 酉时 | 17:00-19:00 | 酉 |
| 戌时 | 19:00-21:00 | 戌 |
| 亥时 | 21:00-23:00 | 亥 |
"""


def _get_fortune_terms_content() -> str:
    """获取命理术语内容"""
    return """# 命理术语表

## 基础术语
- **天干**: 甲乙丙丁戊己庚辛壬癸十天干
- **地支**: 子丑寅卯辰巳午未申酉戌亥十二地支
- **四柱**: 年柱、月柱、日柱、时柱
- **五行**: 金木水火土五种基本元素

## 十神
- **正官/偏官**: 克制日主的力量
- **正财/偏财**: 日主所克之财
- **食神/伤官**: 日主所生之星
- **比肩/劫财**: 与日主同类
- **正印/偏印**: 生日主之星

## 运势术语
- **大运**: 每十年一个运势周期
- **流年**: 每一年的运势
- **用神**: 对命局有利的五行
- **忌神**: 对命局不利的五行
"""
