erio
02dea7b09b
refactor: unify post-usage billing logic and fix account quota calculation
...
- Extract postUsageBilling() to consolidate billing logic across
GatewayService.RecordUsage, RecordUsageWithLongContext, and
OpenAIGatewayService.RecordUsage, eliminating ~120 lines of
duplicated code
- Fix account quota to use TotalCost × accountRateMultiplier
(was using raw TotalCost, inconsistent with account cost stats)
- Fix RecordUsageWithLongContext API Key quota only updating in
balance mode (now updates regardless of billing type)
- Fix WebSocket client disconnect detection on Windows by adding
"an established connection was aborted" to known disconnect errors
2026-03-06 00:54:17 +08:00
..
2026-03-05 11:50:58 +08:00
2026-01-07 16:59:35 +08:00
2026-03-05 11:50:58 +08:00
2026-02-28 20:38:06 +08:00
2026-03-06 00:35:09 +08:00
2026-03-06 00:35:09 +08:00
2026-03-06 00:36:13 +08:00
2026-03-01 20:10:51 +08:00
2026-02-28 15:01:20 +08:00
2026-03-06 00:35:09 +08:00
2026-03-04 11:29:31 +08:00
2026-03-01 14:39:07 +08:00
2026-03-02 03:59:31 +08:00
2026-03-03 15:43:08 +08:00
2026-02-28 15:01:20 +08:00
2026-03-06 00:35:09 +08:00
2026-02-28 15:01:20 +08:00
2026-03-02 16:04:20 +08:00
2026-03-02 16:04:20 +08:00
2026-03-03 15:01:10 +08:00
2026-03-03 15:01:10 +08:00
2026-03-04 11:29:31 +08:00
2026-03-04 11:29:31 +08:00
2026-03-04 11:29:31 +08:00
2026-03-04 11:29:31 +08:00
2026-03-04 13:54:18 +08:00
2026-03-02 10:54:14 +08:00
2026-03-04 13:54:18 +08:00
2026-03-03 16:11:05 +08:00
2026-03-03 15:01:10 +08:00
2026-03-03 15:43:08 +08:00
2026-02-28 15:01:20 +08:00
2026-03-03 15:01:10 +08:00
2026-03-01 16:39:21 +08:00
2026-03-01 15:45:44 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-02 16:04:20 +08:00
2026-03-01 20:10:51 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:05:54 +08:00
2026-03-04 13:54:18 +08:00
2026-03-04 20:25:15 +08:00
2026-03-05 14:49:28 +08:00
2026-02-28 15:01:20 +08:00
2026-03-03 13:20:58 +08:00
2026-03-06 00:35:09 +08:00
2026-03-03 01:05:11 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-06 00:54:17 +08:00
2026-02-28 15:01:20 +08:00
2026-03-04 20:25:15 +08:00
2026-03-03 13:20:58 +08:00
2026-03-06 00:35:09 +08:00
2026-02-26 10:53:04 +08:00
2026-03-02 16:04:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-04 23:13:17 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-03 13:20:58 +08:00
2026-03-06 00:54:17 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-02 16:04:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-05 11:50:58 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-05 11:50:58 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-05 11:50:58 +08:00
2026-03-06 00:54:17 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-05 11:50:58 +08:00
2026-03-05 11:50:58 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-05 11:50:58 +08:00
2026-03-04 13:45:49 +08:00
2026-03-04 13:45:49 +08:00
2026-03-04 13:45:49 +08:00
2026-03-04 15:22:46 +08:00
2026-03-04 13:45:49 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-03 18:00:49 +08:00
2026-03-04 13:45:49 +08:00
2026-02-28 15:01:20 +08:00
2026-03-04 20:25:15 +08:00
2026-03-02 22:54:38 +08:00
2026-03-04 20:25:39 +08:00
2026-03-01 00:42:21 +08:00
2026-03-04 13:54:18 +08:00
2026-03-04 13:54:18 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 20:34:22 +08:00
2026-03-05 16:37:07 +08:00
2026-03-05 16:37:07 +08:00
2026-03-05 16:37:07 +08:00
2026-03-03 13:20:58 +08:00
2026-03-04 13:54:18 +08:00
2026-03-04 13:54:18 +08:00
2026-03-04 13:54:18 +08:00
2026-03-04 13:54:18 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-25 11:32:56 +08:00
2026-02-28 20:55:31 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-02 22:54:38 +08:00
2026-03-03 16:45:29 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:01:20 +08:00
2026-03-03 20:59:12 +08:00
2026-03-03 01:05:11 +08:00
2026-03-03 16:11:05 +08:00
2026-03-04 14:07:17 +08:00
2026-02-28 15:01:20 +08:00
2026-03-05 16:31:27 +08:00