Granular CRUD with hot-reload, pagination, searchable selects, model autocomplete

- Per-item save/delete API endpoints for providers, rotations, autoselects (admin + user)
- Config hot-reload on every change without server restart
- Provider list pagination (10/page) with search/filter
- Searchable datalist selects for >25 providers or models
- Model name autocomplete from provider's configured model list
- Fix JS key-escaping bug that broke rendering with special chars in keys
parent a044de47
......@@ -2987,7 +2987,7 @@ class RotationHandler:
completion_tokens = 0
# Try to extract actual cost from provider response
from ..cost_extractor import extract_cost_from_response
from .cost_extractor import extract_cost_from_response
actual_cost = extract_cost_from_response(response, provider_id)
# Always record analytics
......@@ -4485,7 +4485,7 @@ class AutoselectHandler:
completion_tokens = 0
# Try to extract actual cost from provider response
from ..cost_extractor import extract_cost_from_response
from .cost_extractor import extract_cost_from_response
actual_cost = extract_cost_from_response(response, 'autoselect')
# Always record analytics
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment