# {{project_name}} — environment. Copy to .env and fill in.  cp env .env
#
# The whole pod runs on Tier 1 alone against the seeded price book / deal
# history / competitor / invoice store (./data). The LLM chain (shape ->
# approve routing -> draft -> issue -> invoice -> dun) works day-0; the
# system-of-record reads use dev stand-ins that ANNOUNCE themselves
# (available:false) until you wire Tiers 2-3.

# ── Tier 1 — required to boot ──────────────────────────────────────────────
LEAFMESH_LICENSE_KEY=
LEAFMESH_ENV_TOKEN=development   # per-environment telemetry token (dev / staging / prod)
ANTHROPIC_API_KEY=               # Cass (deal shaping, claude-sonnet-4-6)
OPENAI_API_KEY=                  # Quinn, drafter, billing (gpt-4o-mini) + the Manager

# ── State store (defaults work for local dev) ──────────────────────────────
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# Approval thresholds are NOT env vars — they live as wire conditions on
# cass_shaper_agent in configs/config.yaml. Edit them there.

# ── HITL — where human members are notified (rep / deal-desk / finance / CFO
#    / RevOps lead) ──
HITL_OUTBOUND_URL=http://127.0.0.1:9999/human-notify

# ── Tier 2 — real system-of-record connectors (inert until set) ────────────
# Set the URL, then UNCOMMENT the matching `mcp:` block in configs/config.yaml.
CPQ_MCP_URL=                     # CPQ/ERP price book + deal history (Salesforce CPQ / NetSuite / SAP) — cass_shaper_agent
CPQ_MCP_TOKEN=
BILLING_MCP_URL=                 # billing / AR system (Stripe / NetSuite / Chargebee) — billing_agent
BILLING_MCP_TOKEN=

# ── Tier 3 — CPQ create-quote webhook (the finisher's push) ────────────────
CPQ_WEBHOOK_URL=                 # your CPQ create-quote webhook — quote_issuer_agent's push. Inert until set; the issuer renders ./out/<quote>.pdf and records a dev-store fallback regardless.
CPQ_WEBHOOK_TOKEN=               # bearer token for the CPQ webhook (optional)
