Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
fc47806
fix(usage): skip billing for estimated token usage, bill real output …
Sep 14, 2026
67cb0ac
fix: chain serial quarantine step in npm test script (fixes #13286) (…
KooshaPari Sep 15, 2026
8bad85f
fix(logging): mask *-api-key headers in request-log pipeline (#13273)…
KooshaPari Sep 15, 2026
65f5131
fix(tests): correct stale Jina catalog prefix in custom-models test (…
KooshaPari Sep 15, 2026
04bea60
fix(backend): prune old backups after health-check-repair snapshots (…
KooshaPari Sep 15, 2026
43b2661
feat(mcp): carry context_length through MCP list_models_catalog proje…
KooshaPari Sep 15, 2026
2a6d058
fix: skip non-chat generation models in Test all models (#13409)
KooshaPari Sep 15, 2026
f938a08
fix(resilience): add CJK quota-exhaustion patterns to 429 classifier …
KooshaPari Sep 15, 2026
fdfa921
fix(backend): eval runner: failed calls no longer score as passed + d…
KooshaPari Sep 15, 2026
76c928d
fix(backend): eval runner opts out of output-style and memory injecti…
KooshaPari Sep 15, 2026
3a186c1
fix(dashboard): send provider in body for mini-playground web search …
KooshaPari Sep 15, 2026
38ce449
fix(providers): de-duplicate agy and antigravity model catalogs (#13410)
KooshaPari Sep 15, 2026
1738beb
fix(memory): merge memory into top-level system field instead of unsh…
KooshaPari Sep 15, 2026
fc111dc
feat(cli): make startup readiness budget configurable (#13369) (#13433)
KooshaPari Sep 15, 2026
222fe43
docs(providers): add Microsoft 365 Copilot (BizChat) provider guide (…
KooshaPari Sep 15, 2026
cce3a95
fix(tests): add DISABLE_IOREG_STRATEGY env var for macOS test compati…
KooshaPari Sep 15, 2026
97ae101
fix(combo): use traceId for call log id to prevent UNIQUE constraint …
KooshaPari Sep 15, 2026
bf66589
fix(auth): check model lockout before returning synthetic noauth conn…
KooshaPari Sep 15, 2026
c46ca1d
fix(compression): preserve instruction blocks from lossy engines (#13…
KooshaPari Sep 15, 2026
56fedf9
fix(compression): preserve polarity words and newlines in ultra heuri…
KooshaPari Sep 15, 2026
d4a1470
fix(compression): run user preservePatterns before built-in patterns …
KooshaPari Sep 15, 2026
918546a
fix(resilience): increase requestQueue.maxWaitMs default from 15s to …
KooshaPari Sep 15, 2026
fb3f298
fix(security): empty whitelist allows through to prevent admin lockou…
KooshaPari Sep 15, 2026
a0d8ad7
fix(antigravity): derive stable session ID from credentials for promp…
KooshaPari Sep 15, 2026
0b358db
fix(backend): guard memory_fts_au trigger with WHEN clause to stop FT…
KooshaPari Sep 15, 2026
d6e62ae
fix(free-tiers): remove obsolete Together $25 signup credit (#12526) …
KooshaPari Sep 15, 2026
cd112e3
chore(deps): pin csv-parse to ^7.0.2 via overrides (#13117) (#13300)
KooshaPari Sep 15, 2026
6a55d0a
chore(deps): bump hono from ^4.12.34 to ^4.13.7 (#13148) (#13301)
KooshaPari Sep 15, 2026
93a398f
chore(deps): pin joi to ^18.2.8 via overrides (#13085) (#13302)
KooshaPari Sep 15, 2026
30b5bf1
fix(guardrails): skip credential redaction for base64 image data URLs…
KooshaPari Sep 15, 2026
1cbb77c
fix(analytics): normalize provider aliases to canonical id in usage_h…
KooshaPari Sep 15, 2026
56ae80a
fix(reasoning): expand deepseek-v4 regex to match v4.1+ and add comma…
KooshaPari Sep 15, 2026
3b5ce24
fix(playground): allow Compare columns to scroll independently (#13532)
KooshaPari Sep 15, 2026
2d1a281
fix(providers): add alwaysReasons metadata for reka-flash-3 (#13531)
KooshaPari Sep 15, 2026
4745fca
fix(zed-hosted): map developer role and Gemini enums for Zed proxy (#…
KooshaPari Sep 15, 2026
3311ad2
fix(docs): document OMNIROUTE_READY_TIMEOUT_MS and allowlist the test…
diegosouzapw Sep 15, 2026
c0f92ec
fix(security): resolve findings from omni-code-sec battery (fix/batch…
diegosouzapw Sep 15, 2026
945cc5e
Merge remote-tracking branch 'origin/release/v3.8.51' into rework/13686
diegosouzapw Sep 15, 2026
dfa4548
fix(usage): keep billing unchanged and mark estimated usage in the ca…
diegosouzapw Sep 15, 2026
5c1e35b
fix(api): give the #13376 model-test skip a real httpStatus (#13730)
diegosouzapw Sep 15, 2026
f782f3b
chore(skills): regenerate cli-serve after --ready-timeout was added (…
diegosouzapw Sep 15, 2026
9442bde
fix(ci): clear the release/v3.8.51 base-reds on the PR fast path (#13…
dpozimski Sep 15, 2026
d36251c
fix(ci): clear five uncovered base-reds on release/v3.8.51 — auto-com…
diegosouzapw Sep 15, 2026
58f88a8
feat(i18n): 7 new locales — Hausa, Yoruba, Igbo, Amharic, Uzbek, Geor…
diegosouzapw Sep 15, 2026
1d03ba0
fix(api): keep omitted fields on partial updates (#13582)
maxmad64bis Sep 15, 2026
ee3fbaf
fix(proxies): preserve inactive and dead statuses during pool validat…
maxmad64bis Sep 15, 2026
225da11
ci(radar-export): publish on release-branch catalog pushes; daily sch…
diegosouzapw Sep 15, 2026
3af620e
fix(combos): stop dropping live keys and persisting dead ones (#13217)
maxmad64bis Sep 15, 2026
aaf0777
fix(proxies): keep the stored status when a write does not send one (…
maxmad64bis Sep 15, 2026
5cc3362
fix(providers): route Muse Spark 1.3 to the Responses API on OpenCode…
maxmad64bis Sep 15, 2026
ca9254e
fix(opencode): read management token from environment with startup fa…
maxmad64bis Sep 15, 2026
5395618
fix(opencode-plugin-v2): write catalog snapshot atomically via temp f…
maxmad64bis Sep 15, 2026
c0e5b0a
fix(connection-cooldown): skip cooldown for locally rejected token-bu…
maxmad64bis Sep 15, 2026
4c0e45d
fix(models): return 503 with Retry-After when a cold catalog build ex…
maxmad64bis Sep 15, 2026
5a7a3d0
fix(combos): abort combo test probes when the client disconnects (#13…
maxmad64bis Sep 15, 2026
3266d16
fix(call-logs): versioned error_type vocabulary with unknown fail-ope…
maxmad64bis Sep 15, 2026
5169271
fix(call-logs): zod write-point guard for error_type (#13441)
maxmad64bis Sep 15, 2026
831b485
test(batches): rename the two seeded-batch labels that gitleaks repor…
diegosouzapw Sep 15, 2026
cb420db
fix(call-logs): hide search rows without a live provider (#13641)
maxmad64bis Sep 15, 2026
1d17c23
fix(build): stop the client bundle from reaching server-only modules,…
maxmad64bis Sep 15, 2026
215ac43
fix(proxy): keep proxy credentials holding a literal percent (#13605)
maxmad64bis Sep 15, 2026
7cabac4
fix(quota): bound routing caches with shared boundedMap factory (#13280)
maxmad64bis Sep 15, 2026
62cd277
fix(db): persist WAL busy counter across restarts (#13218)
maxmad64bis Sep 15, 2026
104a34c
chore(deps): bump the adm-zip override to ^0.6.1 (#13737)
diegosouzapw Sep 15, 2026
e498c34
fix(security): add Groq, xAI and OpenAI-compatible key shapes to the …
diegosouzapw Sep 15, 2026
b97338a
fix(security): pin the public-only guard on client-supplied image URL…
diegosouzapw Sep 15, 2026
e7f9fec
fix(api): enforce API-key ownership on files and batches — null-owner…
diegosouzapw Sep 15, 2026
c8b24ff
fix(authz): gate the cli-tools status and skills execution routes to …
diegosouzapw Sep 15, 2026
45c54ca
fix(dashboard): require provider free-tier for the Free badge (#13645)
maxmad64bis Sep 15, 2026
b283ed1
fix(api): use shared SOCKS5 flag reader in settings routes (#13646)
maxmad64bis Sep 15, 2026
520428c
fix(resilience): honor user daily-reset clock for non-TPD quota coold…
maxmad64bis Sep 15, 2026
cad0fcc
fix(sse): bound daily quota cooldowns around daylight-saving transiti…
maxmad64bis Sep 15, 2026
ac52d4d
fix(sse): omit synthetic Retry-After and mark retry provenance on dra…
maxmad64bis Sep 15, 2026
6113426
fix(combo): return 502 for non-quota protected-priority stops (#13439)
maxmad64bis Sep 15, 2026
defa0f0
fix(routing): await stale provider-pin clears and gate swallowed erro…
maxmad64bis Sep 15, 2026
53ed8c4
fix(stream-recovery): order-aware in-flight tool-call detection behin…
maxmad64bis Sep 15, 2026
931c9f9
fix(stream-recovery): log recovery traces with continuation attempt (…
maxmad64bis Sep 15, 2026
497177c
Merge release/v3.8.51 into #13686
diegosouzapw Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
37 changes: 35 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -1140,6 +1140,22 @@ PROVIDER_LIMITS_SYNC_SPACING_MS=1500
# Used by: src/lib/db/core.ts::getWalTruncateIntervalMs().
#OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS=21600000

# Frequent wal_checkpoint(PASSIVE) cadence (ms). Set to 0 to disable. Default: 300000 (5m).
# Used by: src/lib/db/walMaintenance.ts.
#OMNIROUTE_WAL_PASSIVE_INTERVAL_MS=300000

# WAL size (MB) above which a PASSIVE tick escalates to wal_checkpoint(TRUNCATE). Default: 256.
# Used by: src/lib/db/walMaintenance.ts.
#OMNIROUTE_WAL_GUARD_MAX_MB=256

# Minimum rows a cleanup must delete before the post-cleanup VACUUM runs. Default: 1000.
# 0 always vacuums when rows were freed. Used by: src/lib/db/cleanup.ts.
#OMNIROUTE_VACUUM_MIN_DELETED_ROWS=1000

# Explicit path to sql-wasm.wasm for the sql.js fallback adapter. Default: auto-detect.
# Used by: src/lib/db/adapters/sqljsAdapter.ts.
#OMNIROUTE_SQLJS_WASM_PATH=

# Skip the Redis-backed auth cache used by API key lookups (forces DB reads).
# Used by: src/lib/db/apiKeys.ts. Set to 1 to disable. Default: enabled.
#OMNIROUTE_DISABLE_REDIS_AUTH_CACHE=0
Expand Down Expand Up @@ -1800,6 +1816,13 @@ APP_LOG_TO_FILE=true
# Override only to hand-tune for a known workload.
# HEAP_PRESSURE_THRESHOLD_MB=

# Exit the process after critical resource pressure persists, so a supervisor
# (systemd Restart=always, Docker restart policy) brings back a clean process.
# Accepts 1/true/yes/on. Default: false. Used by: open-sse/utils/resourcePressure.ts.
# OMNIROUTE_PRESSURE_SELF_RESTART=false
# How long (ms) critical pressure must persist before that exit fires. Default: 120000 (2m).
# OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS=120000

# ── CLI helpers (bin/cli/) ──
# Override UI language for CLI output. Accepts BCP-47 locale (e.g. en, pt-BR).
# Falls back to LC_ALL / LC_MESSAGES / LANG / en if unset.
Expand All @@ -1817,6 +1840,10 @@ APP_LOG_TO_FILE=true
# Per-attempt HTTP timeout for CLI → server calls (milliseconds). Default: 30000.
# OMNIROUTE_HTTP_TIMEOUT_MS=30000

# How long `omniroute serve` waits for the health endpoint before printing the
# readiness-timeout warning (milliseconds). Also --ready-timeout. Default: 60000.
# OMNIROUTE_READY_TIMEOUT_MS=60000

# Set to 1 to print retry/backoff details to stderr during CLI commands.
# OMNIROUTE_VERBOSE=0

Expand Down Expand Up @@ -1962,6 +1989,12 @@ APP_LOG_TO_FILE=true
# Default: 8000 (8 seconds). On timeout, a last-good 200 is served when available.
# CATALOG_BUILD_TIMEOUT_MS=8000

# Age after which a connection's synced model list stops being authoritative for routing (#12849).
# A stale (or never-timestamped) synced catalog fails open to the provider registry.
# Used by: src/lib/db/models/activeSyncedCatalog.ts
# Default: 2592000000 (30 days)
# OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS=2592000000

# ── NanoBanana (Image Generation) ──
# Polling config for async image generation jobs.
# Used by: open-sse/handlers/imageGeneration.ts
Expand Down Expand Up @@ -2204,9 +2237,9 @@ APP_LOG_TO_FILE=true
# Also configurable from Dashboard > Settings > Feature Flags.
# OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK=false

# Rate limit maximum wait time before failing a request (ms). Default: 15000 (15s)
# Rate limit maximum wait time before failing a request (ms). Default: 30000 (30s)
# Used by: open-sse/services/rateLimitManager.ts
# RATE_LIMIT_MAX_WAIT_MS=15000
# RATE_LIMIT_MAX_WAIT_MS=30000

# Limiter-managed execution backstop (Bottleneck `expiration`): bounds a job's
# post-dispatch execution, never queue wait. Must stay ABOVE upstream
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/radar-export.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ name: Radar Export
on:
workflow_dispatch: # o operador pode publicar sob demanda (de qualquer ref)
push:
branches: [main] # produção: só o catálogo do main clobra o asset estável
# `main` e a release ativa (default branch) publicam no mesmo asset estável: o
# radar-server só consome o asset, então um merge de catálogo na release que ficasse
# à espera do cron semanal deixava o feed até 7 dias atrás do README (2026-09-14: a
# linha da Together removida em d6e62ae só saiu do feed com dispatch manual).
branches: [main, "release/**"]
paths:
- open-sse/config/freeModelCatalog.data.ts
- open-sse/config/freeModelCatalog.ts
Expand All @@ -19,7 +23,9 @@ on:
- scripts/release/radar-export.mjs
- .github/workflows/radar-export.yml
schedule:
- cron: "17 6 * * 1" # semanal (segunda 06:17 UTC): mantém geradoEm/proveniência frescos
# Diário 03:17 UTC — antes do `radar-feed.timer` do servidor (04:23 UTC), para o ciclo
# do dia já enxergar o export do dia; também mantém geradoEm/proveniência frescos.
- cron: "17 3 * * *"

permissions:
contents: read
Expand Down
Loading
Loading