#!/usr/bin/env bash
set -euo pipefail
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || echo "$(cd "$(dirname "$0")/.." && pwd)")"
ENV_LOCAL="${REPO_ROOT}/env.local"
KEY="ENABLE_PROMPT_CACHING_1H"
VALUE="1"
ENTRY="export ${KEY}=${VALUE}"
if grep -qE "^export ${KEY}=${VALUE}$" "${ENV_LOCAL}" 2>/dev/null; then
echo "[enable-1h-cache] ${ENTRY} はすでに ${ENV_LOCAL} に設定されています(変更なし)。"
exit 0
fi
if grep -qE "^(export )?${KEY}=" "${ENV_LOCAL}" 2>/dev/null; then
existing_val=$(grep -E "^(export )?${KEY}=" "${ENV_LOCAL}" | tail -1)
echo "[enable-1h-cache] 警告: ${ENV_LOCAL} に既存の設定 '${existing_val}' があります。" >&2
echo "[enable-1h-cache] 手動で確認してから再実行してください。" >&2
exit 1
fi
{
echo ""
echo "# CC v2.1.108+ の 1 時間 prompt cache(30 分超のセッションで推奨)"
echo "${ENTRY}"
} >> "${ENV_LOCAL}"
echo "[enable-1h-cache] ${ENTRY} を ${ENV_LOCAL} に追記しました。"
echo "[enable-1h-cache] 次回の長時間セッション(30 分超)から有効になります。"