# LLM Router Budget Enforcement Configuration Fragment

[[elements]]
border_top = true
border_bottom = false
name = "budget_header"
title = "💰 Cost-Aware LLM Routing & Budget Enforcement"
type = "section_header"

[[elements]]
default = true
help = "Enable budget enforcement per role with automatic fallback"
name = "budget_enforcement_enabled"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "enabled"]
prompt = "Enable Budget Enforcement"
required = true
type = "bool"

[[elements]]
default = "monthly"
help = "Budget window: daily, weekly, monthly"
name = "budget_window"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "window"]
options = ["daily", "weekly", "monthly"]
prompt = "Budget Window"
required = true
type = "select"

[[elements]]
border_top = true
border_bottom = false
name = "role_budgets_header"
title = "Role-Based Budget Limits"
type = "section_header"

[[elements]]
default = 5000
help = "Architect role monthly budget in USD cents"
max = 1000000
min = 100
name = "budget_architect"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "role_limits", "architect_cents"]
prompt = "Architect Budget (USD cents)"
required = true
type = "number"

[[elements]]
default = 3000
help = "Developer role monthly budget in USD cents"
max = 1000000
min = 100
name = "budget_developer"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "role_limits", "developer_cents"]
prompt = "Developer Budget (USD cents)"
required = true
type = "number"

[[elements]]
default = 2000
help = "Reviewer role monthly budget in USD cents"
max = 1000000
min = 100
name = "budget_reviewer"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "role_limits", "reviewer_cents"]
prompt = "Reviewer Budget (USD cents)"
required = true
type = "number"

[[elements]]
default = 1000
help = "Testing role monthly budget in USD cents"
max = 1000000
min = 100
name = "budget_testing"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "role_limits", "testing_cents"]
prompt = "Testing Budget (USD cents)"
required = true
type = "number"

[[elements]]
border_top = true
border_bottom = false
name = "threshold_header"
title = "Budget Threshold Actions"
type = "section_header"

[[elements]]
default = 80
help = "Percentage to trigger near-threshold actions (80 = 80% used)"
max = 99
min = 50
name = "near_threshold_percent"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "near_threshold_percent"]
prompt = "Near-Threshold Alert (%)"
required = true
type = "number"

[[elements]]
default = true
help = "Automatically fallback to cheaper provider when budget exceeded"
name = "auto_fallback_enabled"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "auto_fallback"]
prompt = "Enable Auto-Fallback"
required = true
type = "bool"

[[elements]]
default = true
help = "Track and report cost metrics per provider"
name = "cost_tracking_detail"
nickel_path = ["vapora", "llm_router", "budget_enforcement", "detailed_tracking"]
prompt = "Detailed Cost Tracking"
required = false
type = "bool"
