Fixes the root cause where OpenCode falls back to a ~4000 token limit
for combos because no context_length is exposed in /v1/models.
Previously combos only used context_length when set manually on the
combo record. Now, when unset, the catalog computes the effective
limit as the MINIMUM of its targets' individual token limits via
getTokenLimit()/parseModel(). Manual values still override.
Files changed:
- src/app/api/v1/models/catalog.ts (+30 lines, auto-calc)
- tests/unit/models-catalog-route.test.ts (+2 tests)
Tests pass: 25/25
Replace regex-based compression artifact cleanup with linear helpers to
avoid pathological backtracking and normalize whitespace safely.
Tighten request and response parsing in assess, Gemini translation, and
executor telemetry to avoid unsafe property access and invalid category
filtering.
Also add managed database backup support for legacy encrypted
connection migration, improve SQLite load error handling, and cover the
regressions with unit tests.
* chore: add GPT-5.5 Instant and support Node 26 (#1977)
chore: add GPT-5.5 Instant model to Codex registry + Node 26 support with CI + improved native SQLite error handling. Integrated into release/v3.7.9
* feat: enhance cost formatting and add Codex GPT-5.5 pricing support
* fix formatting
---------
Co-authored-by: backryun <bakryun0718@proton.me>
Co-authored-by: Jan Leon <jan.gaschler@gmail.com>
Co-authored-by: 05dunski <05dunski-kredo@icloud.com>
* chore: add GPT-5.5 Instant and support Node 26 (#1977)
chore: add GPT-5.5 Instant model to Codex registry + Node 26 support with CI + improved native SQLite error handling. Integrated into release/v3.7.9
* feat: enhance cost formatting and add Codex GPT-5.5 pricing support
* fix formatting
---------
Co-authored-by: backryun <bakryun0718@proton.me>
Co-authored-by: Jan Leon <jan.gaschler@gmail.com>
Co-authored-by: 05dunski <05dunski-kredo@icloud.com>
Closes#1941 by forcing healthCheck.ts to scan and re-encrypt all
provider connections that were previously encrypted with the dynamic salt
fallback. This permanently upgrades legacy tokens to static-salt without
relying on organic updates.
Export and restore usage history, domain cost history, and domain
budget data so analytics and budget state survive settings transfers.
Also adjust cost overview fallbacks to rank by request volume when
cost data is unavailable, count conversationState entries in chat
request logging, and align e2e coverage with the proxy settings route.