Model-name post-processing is rebuilt around an explicit trailing @key:value modifier syntax (thinking/effort/temperature/topp) that overrides request fields, survives model mapping, and records conversion diagnostics on the consume log. - Legacy naked aliases (-thinking, -nothinking, -thinking-<budget>, effort tails) now parse only for positively matched families (gpt-*/o-series, claude-*, gemini-*, incl. vendor/ namespaces); names like qwen-max stay opaque. EffortTailModelIDs remains the escape hatch for real in-family IDs such as gpt-5.1-codex-max. - Billing identity resolves once in ModelPriceHelper via a ladder: configured request name first (legacy wildcard entries intact), then canonical billing names rebuilt from parsed intent (base@effort:E@thinking:S, then base@thinking:S; order, duplicates, and budget values are irrelevant; temperature/topp never priced), then base. Routing and token limits fall back through RoutingMatchModelName; pricing lookups stay wildcard-only. - Pass-through stays byte-identical: modifiers and aliases are neither parsed nor validated there and forward verbatim for the upstream (or a chained gateway) to interpret. - Unknown modifier keys and invalid known-key values are rejected with 400; models whose real names contain @tag:value are exempted via the thinking-suffix blacklist, which now supports re:-prefixed Go regex entries. - Claude reasoning render coerces unsupported combinations (disable, adaptive, budgets) with warning diagnostics instead of erroring; native-protocol requests without host syntax pass through untouched. BREAKING(openrouter): drop the host-invented "-thinking" model-name alias (added in 4f6d16e3) that trimmed any *-thinking model on OpenRouter channels and injected reasoning.enabled. It matched too broadly and mangled real model IDs such as kimi-k2-thinking. Migration: use some-model@thinking:on, or keep the old public name via a channel model mapping {"some-model-thinking": "some-model@thinking:on"}. Claude/Gemini family aliases (incl. anthropic/claude-*-thinking) keep working via the family whitelist.
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| __tests__ | Loading commit data... | |
| channel-selector-dialog.tsx | Loading commit data... | |
| claude-settings-card.tsx | Loading commit data... | |
| conflict-confirm-dialog.tsx | Loading commit data... | |
| constants.ts | Loading commit data... | |
| gemini-settings-card.tsx | Loading commit data... | |
| global-settings-card.tsx | Loading commit data... | |
| grok-settings-card.tsx | Loading commit data... | |
| group-ratio-form.tsx | Loading commit data... | |
| group-ratio-visual-editor.tsx | Loading commit data... | |
| group-special-usable-editor.tsx | Loading commit data... | |
| index.tsx | Loading commit data... | |
| model-pricing-core.ts | Loading commit data... | |
| model-pricing-inputs.tsx | Loading commit data... | |
| model-pricing-sheet.tsx | Loading commit data... | |
| model-pricing-snapshots.ts | Loading commit data... | |
| model-ratio-form.tsx | Loading commit data... | |
| model-ratio-table-columns.tsx | Loading commit data... | |
| model-ratio-visual-editor.tsx | Loading commit data... | |
| pricing-format.ts | Loading commit data... | |
| ratio-settings-card.tsx | Loading commit data... | |
| routing-reliability-section.tsx | Loading commit data... | |
| section-registry.tsx | Loading commit data... | |
| task-pricing-matrix.tsx | Loading commit data... | |
| task-usage-pricing-editor.tsx | Loading commit data... | |
| tiered-pricing-editor.tsx | Loading commit data... | |
| tool-price-settings.tsx | Loading commit data... | |
| upstream-ratio-sync-columns.tsx | Loading commit data... | |
| upstream-ratio-sync-helpers.ts | Loading commit data... | |
| upstream-ratio-sync-table.tsx | Loading commit data... | |
| upstream-ratio-sync.tsx | Loading commit data... | |
| utils.ts | Loading commit data... |