- Add cacheCreationRatio !== 0 check for row data
- Add hasCacheCreationPricing check for column visibility
- Models with cache read but no cache creation (e.g. Gemini) no longer
show empty cache creation price column
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add extraText for cache read ratio and cache creation ratio fields
- Update placeholder format to match channel pricing convention
- Add missing i18n translations for extraText and new placeholders
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add 5 new fields to output object
- Convert model data to float and populate output fields
- Serialize all fields to JSON in finalOutput
- Submit 7 total option fields (2 existing + 5 new)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add 5 advanced ratio fields to updatedModel object
- Use empty string fallback for undefined values
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add 5 advanced ratio fields to formRef.current.setValues
- Ensure existing ratio data displays correctly in edit modal
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add Form.Section with 5 advanced ratio input fields
- Configure min={0}, step={0.01} for all fields
- Add placeholders showing default values
- Only show when pricingMode === 'per-token'
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Parse 5 new JSON fields from props.options
- Extend modelNames Set to include keys from all ratio fields
- Add 5 new fields to model data objects
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add Chinese translations for 5 advanced ratio fields
- Add English translations for 5 advanced ratio fields
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add unit tests for group ratio, cross-group retry, and price calculation:
- Group ratio CRUD and special ratio override (12 tests)
- HandleGroupRatio with auto-group and special ratios (5 tests)
- ModelPriceHelper with group ratio in price/ratio modes (3 tests)
- Channel selection priority, groups, weighted LB (6 tests)
- RetryParam and AutoGroup service logic (7 tests)
Also restore the group pricing card in model detail SideSheet.
Backend endpoints were removed but frontend still called them causing
404s. ChannelPricingCard no longer fetches, channelPricingApi and
pricingTagApi return empty stubs to keep dependent components stable.
Replace bytes.Replace with gjson.GetBytes+sjson.SetBytes in passthrough
mode to correctly handle JSON whitespace variations and avoid silently
sending empty body on read errors. Also add log search count limit to
prevent slow COUNT queries on large log tables.
Expose channel public_name in the edit modal and load a larger channel page when building model settings views.
Co-Authored-By: Codex <noreply@anthropic.com>
- Register Prometheus ChannelCollector in GetMetrics() sync.Once block
- Add MetricsMiddleware to /v1 and /v1beta relay router groups when metrics enabled
- Remove public_name field from channel creation form and validation
- Restore InvitationCard in topup page
- Extract fetchSearchPage helper in useModelsData to eliminate ~50 lines of duplication; fix setSearching with finally block; use Axios params for URL encoding; fix missing vendor_counts update during paginated search
- Fix vendor ordering in HomePricingFilters to follow vendorsMap sort_order; fix O(n²) Array.includes to use Set
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>