Add candidate user selection and explicit_ids batch creation flow for overseas migration. Also add cancellable batches to release selected-user locks and extend backend, frontend, and e2e coverage for the new flow.
Co-Authored-By: Codex <noreply@anthropic.com>
- Remove advanced ratio columns from the table
- Add 'advanced ratios' button in action column
- Add edit modal with Form.InputNumber fields (same as visual editor)
- Table stays clean, advanced settings only visible on click
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add cache/image/audio ratio columns to the table
- Add advanced ratio fields to the add model modal
- Update data init, submit, and addModel to handle new fields
- Use formRef to read InputNumber values (same fix as visual editor)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace || with ?? in addOrUpdateModel to keep 0 values (0 || '' = '')
- Add null check in SubmitData to avoid writing undefined
- Fix formRef value reading to preserve 0 vs empty distinction
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Form.InputNumber values were not synced to currentModel state via
onChange, so the advanced ratio fields were always empty when saving.
Now reads values directly from formRef in onOk handler.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
- 9 detailed tasks covering i18n, data, UI, and testing
- Each task broken into 2-5 minute steps with exact code
- Complete validation and troubleshooting sections
- Estimated 2.5 hours total implementation time
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>