-- 029: AI-budsjett per bruker/samling
--
-- Legger til støtte for kostnadstak (ai_budget) i metadata på bruker- og
-- samlingsnoder. Utvider ai_usage_log med requested_by for bruker-attribusjon,
-- og legger til indeks for effektiv månedlig aggregering.
--
-- Budsjett lagres som JSONB-metadata på noden:
--   { "ai_budget": { "monthly_limit_usd": 50.0 } }
--
-- Ref: docs/infra/ai_gateway.md § 6.3

-- Bruker-attribusjon: hvem utløste AI-kallet
ALTER TABLE ai_usage_log
    ADD COLUMN IF NOT EXISTS requested_by UUID REFERENCES nodes(id) ON DELETE SET NULL;

-- Indeks for effektiv månedlig aggregering per samling
CREATE INDEX IF NOT EXISTS idx_ai_usage_log_collection_month
    ON ai_usage_log (collection_node_id, created_at)
    WHERE collection_node_id IS NOT NULL;

-- Indeks for effektiv månedlig aggregering per bruker
CREATE INDEX IF NOT EXISTS idx_ai_usage_log_requested_by_month
    ON ai_usage_log (requested_by, created_at)
    WHERE requested_by IS NOT NULL;
