Repaired 47 of 49 pre-existing failing unit test files on release/v3.8.2 (down to
docs-site-overhaul, a tr46/tsx/Node24 toolchain blocker, tracked separately).
Stale tests reconciled with current source (catalog/registry/version drift), the
notable ones: openai gpt-4o / gpt-4o-mini removed from the registry; Antigravity
Claude models removed from the public catalog; DEFAULT_CLAUDE_CODE_VERSION and
DEFAULT_CODEX_CLIENT_VERSION bumps; voyage-3-large → voyage-4; model-alias seed now
routes via gemini-cli; remapToolNames API change; getLKGP return shape; sidebar nav
overhaul; CLI commands now write via process.stdout.write; cloudEnabled default true.
Real SOURCE bugs found by the tests and fixed (not masked):
- fix(db): commandCodeAuth.toSafeStatus + evals.ts read the `*Json` camel keys that
rowToCamel does not produce — it auto-parses `*_json` columns under the base name,
so metadata/outputs/summary/results/tags were always empty. Read the base keys.
- fix(executors): re-register claude-web / cw-web in the executor index (the provider
shipped in #2476 but was never wired into the registry).
- fix(validation): build the OpenAI-like /models probe with addModelsSuffix so an
OpenAI base URL validates against /v1/models, not /v1/chat/completions/models;
honor a ya29.* Google OAuth token as Bearer even when authType is apikey/header
(it was shadowed by an unreachable else-if); make the Anthropic /models probe
best-effort (try/catch) so a 404/malformed-URL throw no longer marks a valid key invalid.
- fix(security): add the requireCliToolsAuth guard to the GET handlers of
cli-tools/guide-settings/[toolId] and cli-tools/hermes-agent-settings (host config
access was unguarded).
- revert(stream): restore the SSE heartbeat default to 15s (the 4s round-8 change
regressed runtime-timeouts; #2544's early-keepalive route wrapper remains the fix).
Also: env-doc sync (OMNIROUTE_SKIP_DB_HEALTHCHECK) and new sidebar i18n keys.
Register AWS Polly as an audio provider with SigV4 request signing,
speech engine discovery, and API-key validation for managed provider
flows.
Add Lemonade as a self-hosted OpenAI-compatible provider, expand
static model discovery to audio registries, and support Azure OpenAI
deployment discovery from resource endpoints.
Sanitize sensitive provider-specific AWS fields in API responses and
update related tests and release notes.
* fix(claude): preserve tool_result adjacency in native and CC-compatible paths
* feat(providers): add Petals and Nous Research provider support
Register Nous Research as an OpenAI-compatible gateway with remote
model discovery and validation against chat completions.
Add Petals provider metadata, default config, validation, and a
specialized executor that maps OpenAI-style requests to the public
generate endpoint. Also allow optional API keys and configurable base
URLs for Petals in the dashboard and provider schemas.
Expand provider model and catalog tests to cover both integrations.
* fix(resilience): sync queue updates and clear stale discovery caches
Await runtime request queue updates so limiter settings and auto-enabled
API key protections are recomputed when resilience settings change.
Preserve cancelled batch state for in-flight work by marking input files
processed without generating output artifacts, and replace cached synced
models with an empty set when remote discovery returns no models so the
providers route falls back to the local catalog instead of stale cache.
---------
Co-authored-by: congvc <congvc-dev@gmail.com>
Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com>
Reject invalid API keys even when authentication is optional and add
OPTIONS handlers for batch and file routes to support CORS preflights.
Also recover orphaned batches stuck in finalizing after restarts,
include finalizing in pending batch queries, preserve multipart upload
content handling, and fetch remote vision images as data URIs for
Anthropic requests.