회기 무발화 0턴 분리, 자기예측 락 불변식 및 TDD 회귀 검증 완료
Some checks failed
API contract / OpenAPI type drift (push) Failing after 3m27s
Some checks failed
API contract / OpenAPI type drift (push) Failing after 3m27s
This commit is contained in:
parent
a479db7a5a
commit
a0311c5957
100 changed files with 4884 additions and 11210 deletions
|
|
@ -779,6 +779,24 @@ async def _runtime_health_metrics(*, db_ok: bool) -> RuntimeHealthMetrics:
|
|||
return metrics
|
||||
|
||||
|
||||
def _usage_daily_cost(
|
||||
daily_buckets: dict[str, dict[str, int | float | list[UsageCostBasis]]],
|
||||
) -> list[AdminUsageDailyCost]:
|
||||
return [
|
||||
AdminUsageDailyCost(
|
||||
day=day,
|
||||
turns=int(values["turns"]),
|
||||
tokens_in=int(values["tokens_in"]),
|
||||
tokens_out=int(values["tokens_out"]),
|
||||
cost_usd=round(float(values["cost_usd"]), 6),
|
||||
cost_basis=_aggregate_cost_basis(
|
||||
cast(list[UsageCostBasis], values["cost_bases"])
|
||||
),
|
||||
)
|
||||
for day, values in sorted(daily_buckets.items())
|
||||
]
|
||||
|
||||
|
||||
async def _usage_from_database(window_days: int) -> AdminUsageResponse:
|
||||
async with acquire(role="admin") as conn:
|
||||
total_row = await conn.fetchrow(
|
||||
|
|
@ -916,19 +934,7 @@ async def _usage_from_database(window_days: int) -> AdminUsageResponse:
|
|||
budget=_usage_budget(total_cost, total_cost_basis),
|
||||
evaluator_cache=_usage_evaluator_cache(),
|
||||
by_provider=all_breakdowns[:12],
|
||||
daily_cost=[
|
||||
AdminUsageDailyCost(
|
||||
day=day,
|
||||
turns=int(values["turns"]),
|
||||
tokens_in=int(values["tokens_in"]),
|
||||
tokens_out=int(values["tokens_out"]),
|
||||
cost_usd=round(float(values["cost_usd"]), 6),
|
||||
cost_basis=_aggregate_cost_basis(
|
||||
cast(list[UsageCostBasis], values["cost_bases"])
|
||||
),
|
||||
)
|
||||
for day, values in sorted(daily_buckets.items())
|
||||
],
|
||||
daily_cost=_usage_daily_cost(daily_buckets),
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -1321,19 +1327,7 @@ def _usage_from_runtime_store(window_days: int) -> AdminUsageResponse:
|
|||
budget=_usage_budget(total_cost, total_cost_basis),
|
||||
evaluator_cache=_usage_evaluator_cache(),
|
||||
by_provider=by_provider[:12],
|
||||
daily_cost=[
|
||||
AdminUsageDailyCost(
|
||||
day=day,
|
||||
turns=int(values["turns"]),
|
||||
tokens_in=int(values["tokens_in"]),
|
||||
tokens_out=int(values["tokens_out"]),
|
||||
cost_usd=round(float(values["cost_usd"]), 6),
|
||||
cost_basis=_aggregate_cost_basis(
|
||||
cast(list[UsageCostBasis], values["cost_bases"])
|
||||
),
|
||||
)
|
||||
for day, values in sorted(daily_buckets.items())
|
||||
],
|
||||
daily_cost=_usage_daily_cost(daily_buckets),
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue