9 Commits
Author SHA1 Message Date
ParikshithandOwen a541cf261f fix(ai-gateway): compare budget windows in seconds so period budgets enforce
aiUsageRecords.createdAt is epoch seconds since e57826d6e, but
sumUsageForBudget still compared it against a lower bound in epoch ms, so
every budget except lifetime summed to 0.

Convert the bound to seconds for usage queries, leaving windowStart in ms
for aiBudgetBreachEvents. Sum model-scoped budgets per requested model in
SQL instead of loading every row in the window into JS.
2026-11-09 16:23:48 -05:00
Owen e57826d6e0 Session logs and usage logs should use seconds not ms 2026-08-26 10:50:16 -04:00
Owen 437ec50019 Update the usage records to use logs db 2026-08-19 12:03:30 -04:00
Owen 47ae017f94 add virtual api keys to budgets 2026-08-12 13:21:56 -04:00
Owen bed5817da3 send, process, store, display virtual api key ai information in usage and sessions 2026-08-12 11:20:25 -04:00
Owen f7aca85417 link the usage with the session to display together 2026-08-11 16:15:01 -04:00
Owen b60390d805 batch up usage records for insert 2026-08-11 12:19:27 -04:00
Owen 4c1f7f6243 add caching to budget check 2026-08-10 17:39:00 -04:00
Owen 8b8e7913dc budget enforcement logic 2026-08-10 17:17:24 -04:00