2305e26e25
feat: pre-request token validation, mid-stream error handling, and usage stats improvements
...
- Qoder: handle mid-stream errors by returning proper error Response instead of embedding in stream
- Qoder: add refreshCredentials() to validate token via quota endpoint before requests
- chatCore: validate and refresh provider tokens before sending chat requests
- chatCore: bail early with 401 on unrecoverable token refresh errors
- Usage stats: track apiKey, comboName, fallbackHistory in request details
- Dashboard: improve Combos, Endpoint, Provider, Usage, and RequestDetails pages
- API keys route: upsert logic with provider_type support
- DB repos: usageRepo query improvements, requestDetailsRepo pagination, apiKeysRepo updates
2026-06-29 10:08:07 +07:00
1fe8115dad
merge: resolve conflicts with origin/master - keep both local and remote features
2026-06-22 11:40:16 +07:00
98412aa0bb
update: sync local changes with latest features
2026-06-22 11:26:25 +07:00
bef54d5f12
fix: merge logUsage + saveUsageStats to prevent duplicate usage stats for streaming requests
...
- Enhanced saveUsageStats to include cache tokens (cache_read, cache_creation), reasoning tokens, and estimated flag
- Replaced logUsage calls in stream.js with saveUsageStats (2 locations)
- Removed duplicate saveUsageStats call from streamingHandler.js onStreamComplete
- Removed logUsage function and unused imports from usageTracking.js
- Each streaming request now writes exactly 1 usage record instead of 2
2026-06-19 08:43:10 +07:00
decolua
bb9e9aa91f
refactor(open-sse): registry consolidation + DRY media/oauth/adhoc cleanup
...
- Single-source registry: oauth clientId/tokenUrl, usage URLs, image/embed
configs, search defaultModel, codex fixedPort, google token url derive.
- Remove 29 unused OmniRoute providers (registry 100→71); media intact.
- De-adhoc: codex literals → registry format/oauth flags; reasoningInject,
image/embed openrouter headers + xai bodyFields config-driven.
- Add REGISTRY_TEMPLATE.js + expand PROVIDER_DEFAULTS/schema JSDoc.
- Baselines updated; PROVIDERS 62 + alias 90 byte-for-byte, golden snapshots.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 13:15:48 +07:00
decolua
9105dd0e25
refactor(open-sse): #11 — dedupe client-facing SSE_HEADERS_CORS
...
Gom block SSE headers + CORS lặp ở streamingHandler + responsesHandler
vào sseConstants.SSE_HEADERS_CORS. Codex format-routing giữ nguyên
(logic-driven theo kim chỉ nam DATA/LOGIC docs 07).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-13 22:06:59 +07:00
decolua
137a25e9ac
fix(qoder): increase timeouts for reasoning models and improve stream handling
2026-06-08 09:17:33 +07:00
decolua
9caea88528
fix(codex): harden streaming timeouts + Responses terminal events
...
Raise stall/connect timeouts to 60s (configurable per-provider), accept
codex response.done, and always emit a terminal response.failed + [DONE]
for Responses passthrough when a stream closes, stalls, or aborts before
a terminal event — preventing codex clients from hanging.
Co-authored-by: jonathanli12 <jonathanli12@users.noreply.github.com >
Co-authored-by: rifuki <rifuki@users.noreply.github.com >
Co-authored-by: nguyenha935 <nguyenha935@users.noreply.github.com >
Co-authored-by: trananhtung <trananhtung@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-06 16:07:43 +07:00
decolua
adae2605bf
Feat : Auto restart after crash
2026-03-14 09:37:29 +07:00
decolua
5954b8f4eb
- Refactor chatCore.js to streamline imports and remove unused functions.
...
- Fix streaming /v1/responses
2026-02-27 11:15:12 +07:00