"""
Jarvis Daemon — 設定定数
"""
import os

# --- パス設定 ---
LIVE_SESSION_DIR = (
    "/Users/rk/Library/CloudStorage/"
    "GoogleDrive-ritsuha1021@gmail.com/マイドライブ/"
    "起業フォルダー/clone-jarvis/jarvis/live_session"
)
TRANSCRIPT_PATH  = f"{LIVE_SESSION_DIR}/transcript.md"
LAST_POS_PATH    = f"{LIVE_SESSION_DIR}/last_pos.txt"
RESPONSES_PATH   = f"{LIVE_SESSION_DIR}/jarvis_responses.md"

DAEMON_DIR       = f"{LIVE_SESSION_DIR}/daemon"
LOGS_DIR         = f"{DAEMON_DIR}/logs"
PID_FILE         = f"{DAEMON_DIR}/.daemon.pid"
PROMPTS_DIR      = f"{DAEMON_DIR}/prompts"
SYSTEM_PROMPT_PATH = f"{PROMPTS_DIR}/system_prompt.md"
DNA_CORE_PATH    = f"{PROMPTS_DIR}/dna_core.md"

# --- ループ設定 ---
POLL_INTERVAL_SEC               = 5      # ポーリング間隔（秒）
MIN_INTERVAL_BETWEEN_SPEAK_SEC  = 300    # 発話最小間隔（秒）。合言葉Cは例外

# --- 安全装置：トークン上限 ---
MAX_TOKENS_PER_HOUR  = 100_000
MAX_TOKENS_PER_DAY   = 1_000_000

# --- Claude API 設定 ---
MODEL             = "claude-sonnet-4-6"
MAX_OUTPUT_TOKENS = 500

# --- コスト計算（USD/Mトークン） ---
INPUT_COST_PER_M  = 3.0    # Sonnet 4.6 input
OUTPUT_COST_PER_M = 15.0   # Sonnet 4.6 output

# --- プロンプトキャッシュ割引（cache hit 時 90% off） ---
CACHE_INPUT_COST_PER_M = INPUT_COST_PER_M * 0.1

# --- リトライ設定 ---
MAX_API_RETRIES   = 3
RETRY_BASE_DELAY  = 2.0   # 指数バックオフ基底（秒）

# --- transcript から読む直近行数 ---
TRANSCRIPT_CONTEXT_LINES  = 30
RESPONSES_CONTEXT_ENTRIES = 5   # jarvis_responses.md から読む直近エントリ数

# --- 合言葉C パターン（いずれかにヒットで即発話） ---
TRIGGER_PATTERNS = ["ジャービス", "じゃーびす", "Jarvis", "JARVIS", "jarvis"]
