feat: WebSearch tri-state, account stats pricing fix, quota cache fix, usage tooltip
WebSearch tri-state switch: - Account-level web_search_emulation changed from bool to tri-state string: "default" (follow channel) / "enabled" / "disabled" - shouldEmulateWebSearch checks channel config when account is "default" - SQL migration converts old bool values - Frontend select replaces toggle in Edit/CreateAccountModal Account stats pricing: - resolveAccountStatsCost uses upstream model (post-mapping) for matching - Priority: custom rules → model pricing file (when toggle on) → default - Custom rules always configurable, independent of toggle - Account ID field changed to searchable selector filtered by platform - Description updated to reflect new behavior Quota notification cache fix: - CheckAccountQuotaAfterIncrement fetches real-time account from DB - Reconstructs pre-increment usage for accurate threshold crossing detection - New AccountQuotaReader interface (minimal: GetByID only) Usage tooltip: - Per-request/image billing shows per-request price instead of $0 token price - Token billing continues to show input/output price per million tokens
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
-- Convert old boolean web_search_emulation to tri-state string
|
||||
-- true → "enabled", false → remove key (becomes "default")
|
||||
UPDATE accounts
|
||||
SET extra = (extra - 'web_search_emulation') || jsonb_build_object('web_search_emulation', 'enabled')
|
||||
WHERE extra ? 'web_search_emulation'
|
||||
AND extra->>'web_search_emulation' = 'true';
|
||||
|
||||
UPDATE accounts
|
||||
SET extra = extra - 'web_search_emulation'
|
||||
WHERE extra ? 'web_search_emulation'
|
||||
AND extra->>'web_search_emulation' = 'false';
|
||||
Reference in New Issue
Block a user