[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "mindos-cli"
version = "0.2.1"
description = "MindOS NEXT 本地执行体 — Cloud Hermes 的受管理执行节点"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MIT"}
authors = [
    {name = "MindOS Team"},
]

dependencies = [
    # Hermes 核心依赖
    "litellm>=1.30",
    "openai>=1.0",
    "rich>=13.0",
    "prompt-toolkit>=3.0",
    "tiktoken>=0.5",
    "fire>=0.5",
    "pyyaml>=6.0",
    "aiohttp>=3.9",
    # MCP 协议
    "mcp>=1.0",
    # Mind CLI 专属
    "websockets>=12.0",
    "click>=8.0",
    # Hermes _vendor 隐性依赖
    "python-dotenv>=1.0",
]

[project.optional-dependencies]
# macOS 系统拾音（Phase 4）
audio = [
    "pyobjc-core>=10.0",
    "pyobjc-framework-Quartz>=10.0",
    "pyobjc-framework-ScreenCaptureKit>=10.0",
    "pyobjc-framework-CoreMedia>=10.0",
    "pyobjc-framework-AVFoundation>=10.0",
    "pyobjc-framework-libdispatch>=10.0",
    "sounddevice>=0.4",
    "numpy>=1.24",
]

[project.scripts]
mind = "mindcli.cli:main"

[tool.setuptools.packages.find]
include = ["mindcli*"]

[tool.setuptools.package-data]
# 确保 _vendor/ 下的非 .py 文件（VENDOR_COMMIT 等）被打包
mindcli = ["_vendor/VENDOR_COMMIT", "_vendor/**/*"]
