Commit Graph

  • c7d07448c5 fix(image): pin DNS-resolved IP to prevent SSRF via DNS rebinding (GHSA-cmhj-wh2f-9cgx) decoluaandCursor 2026-06-17 11:02:04 +07:00
  • 7ae9fff663 fix(executors): strip params unsupported by provider/model fjiaandCursor 2026-06-17 10:34:53 +07:00
  • 87e5c1c6dd feat(combo): add Fusion strategy — parallel panel + judge synthesis Daniil SchovkunovandCursor 2026-06-17 10:34:27 +07:00
  • 37bfcc3719 open-sse agents.md decolua 2026-06-17 10:11:39 +07:00
  • df37bb3468 fix(usage): show edited connection names consistently across views EmirhanandCursor 2026-06-17 10:11:12 +07:00
  • 4078f36ced fix(usage): add missing await on getAdapter() in getRecentLogs 2026-06-17 10:08:36 +07:00
  • 706e6513c9 feat(kiro): headless API-key auth + direct Claude/Kiro route 2026-06-17 10:01:30 +07:00
  • 3de6ce157c docs: add Indonesian video tutorial for Hugging Face deploy otnansirkandCursor 2026-06-17 09:59:08 +07:00
  • db9ec3af61 fix(antigravity): strip optional from tool schemas before Gemini Khanh LeandCursor 2026-06-17 09:46:41 +07:00
  • 411a589781 fix(claude-to-openai): handle OpenAI-format responses in non-streaming path fjiaandCursor 2026-06-17 09:43:58 +07:00
  • 740093d852 feat: Claude auto-ping to warm 5h window after reset decoluaandCursor 2026-06-17 09:31:46 +07:00
  • d03f9fb823 Enhance configuration and model capabilities decolua 2026-06-16 23:32:28 +07:00
  • b282f05549 Refactor decolua 2026-06-15 18:18:04 +07:00
  • 8ab5af0052 test(real): add capability survey (vision/audio) over all DB creds decoluaandCursor 2026-06-15 12:08:05 +07:00
  • aba4c45da6 fix(translator): ESM-safe registry + tool-id pairing + responses max_tokens; add real-creds tests decoluaandCursor 2026-06-15 11:38:43 +07:00
  • 24a2d19bd7 refactor(app): RISKY pass R1-R3 — config-driven modal, cursor frame dedup, chunk helper decoluaandCursor 2026-06-14 21:54:35 +07:00
  • fbf973f2e7 refactor(app): DRY pass — split large files, extract shared utils decoluaandCursor 2026-06-14 19:31:09 +07:00
  • d3f61aac2f refactor(open-sse): translator DRY + schema enums, bug fixes, dead code cleanup decoluaandCursor 2026-06-14 18:49:38 +07:00
  • c5c9061eac fix: m.type → m.kind||m.type in remaining consumers (ModelSelectModal, providers page, route) decoluaandCursor 2026-06-14 16:21:20 +07:00
  • dd1e0f9bcc refactor(registry): B2 migrate to LiteLLM-style schema — unified models[] with kind field decoluaandCursor 2026-06-14 14:32:59 +07:00
  • e53ce79abb refactor(open-sse): B1 consolidate media endpoint URLs into registry decoluaandCursor 2026-06-14 13:58:12 +07:00
  • bb9e9aa91f refactor(open-sse): registry consolidation + DRY media/oauth/adhoc cleanup decoluaandCursor 2026-06-14 13:15:48 +07:00
  • 9105dd0e25 refactor(open-sse): #11 — dedupe client-facing SSE_HEADERS_CORS decoluaandCursor 2026-06-13 22:06:59 +07:00
  • 4da1d6dad4 refactor(open-sse): D1c — forceStream hardcode → PROVIDERS schema (#5) decoluaandCursor 2026-06-13 22:05:01 +07:00
  • ad2a3e5de3 refactor(open-sse): D1a/D1b — URL quirks → schema urlSuffix + clean debug logs decoluaandCursor 2026-06-13 22:00:57 +07:00
  • 72ce515709 refactor(open-sse): dedupe Google OAuth client credentials (#4) decoluaandCursor 2026-06-13 21:53:14 +07:00
  • d4b95380b1 refactor(open-sse): usage.js dispatcher switch → USAGE_HANDLERS registry decoluaandCursor 2026-06-13 21:46:13 +07:00
  • 6ee4555821 refactor(open-sse): DRY SSE primitives into utils/sseConstants.js decoluaandCursor 2026-06-13 21:42:59 +07:00
  • 0a8d92a6ba refactor(open-sse): #8 unify token refresh dispatch — 2 switch → 1 registry decoluaandCursor 2026-06-13 21:32:52 +07:00
  • 633b66dcb6 refactor(translator): P4 concern #5 buildUsage — apply to kiro/ollama/commandcode decoluaandCursor 2026-06-13 21:27:22 +07:00
  • 252bf56a9f refactor(translator): P4 concern #2 encodeDataUri — dedupe base64 data-uri building decoluaandCursor 2026-06-13 21:23:32 +07:00
  • 4cc667253a refactor(translator): P4 concern #6 finishReasonMap — switch-by-format, default common decoluaandCursor 2026-06-13 21:20:22 +07:00
  • d2b0960bf7 refactor(open-sse): P3§7 model defaults schema — centralize type/quotaFamily/strip/targetFormat decoluaandCursor 2026-06-13 21:13:37 +07:00
  • 5a042840fd refactor(open-sse): P3 provider registry — split into providers/registry/{id}.js decoluaandCursor 2026-06-13 21:08:37 +07:00
  • 7134dd71db refactor(open-sse): P2 alias single-source — derive OAuth alias→id from OAUTH_ALIASES decoluaandCursor 2026-06-13 20:48:11 +07:00
  • 1432ac61d7 fix(open-sse): remove dead duplicate opencode provider entry decoluaandCursor 2026-06-13 20:41:41 +07:00
  • bb597cbced refactor(open-sse): source mimo-free/opencode base URL from PROVIDERS decoluaandCursor 2026-06-13 20:40:43 +07:00
  • 64182c0484 refactor(open-sse): merge beta-url case + single-source refresh URLs (D) decoluaandCursor 2026-06-13 20:33:38 +07:00
  • 22f6c42738 refactor(open-sse): single-source OAuth token URLs via PROVIDERS (C2) decoluaandCursor 2026-06-13 20:22:36 +07:00
  • 6597b81e5e refactor(open-sse): add reasoningDelta helper, dedup thinking deltas (B4) decoluaandCursor 2026-06-13 18:21:46 +07:00
  • 997860aa1f refactor(open-sse): dedup fallback tool_call id helper (B3) decoluaandCursor 2026-06-13 18:12:40 +07:00
  • f4c39042a0 refactor(open-sse): dedup format default in PROVIDERS via resolver (C1) decoluaandCursor 2026-06-13 17:57:51 +07:00
  • 3a26d5fb40 refactor(open-sse): remove dead buildProviderUrl/Headers path (A1) decoluaandCursor 2026-06-13 17:34:39 +07:00
  • cc1f4f6c53 test(open-sse): golden lock provider.js translate-path (A1-prep) decoluaandCursor 2026-06-13 17:19:56 +07:00
  • 39278e9613 refactor(open-sse): extract buildUsage helper, dedup token-details (B2) decoluaandCursor 2026-06-13 17:18:15 +07:00
  • 34ea763d80 refactor(open-sse): add provider/model schema skeleton (C-prep) decoluaandCursor 2026-06-13 17:05:42 +07:00
  • 17202f7111 refactor(open-sse): extract chunkBuilder, dedup chat.completion.chunk (B1) decoluaandCursor 2026-06-13 17:05:42 +07:00
  • 0e34358e74 test(open-sse): extend golden response stream to kiro/ollama (T0.5) decoluaandCursor 2026-06-13 16:47:25 +07:00
  • b87cf0c96a refactor(open-sse): extract safeParseJSON util, dedup tryParseJSON (B5) decoluaandCursor 2026-06-13 16:45:10 +07:00
  • 87fe069e9e refactor(open-sse): remove reverse coupling open-sse -> src (E2) decoluaandCursor 2026-06-13 16:35:07 +07:00
  • 8f0a9ff9d4 test(open-sse): add P0 golden tests (url/header, response stream, request body) decoluaandCursor 2026-06-13 16:22:00 +07:00
  • 9532ec804e chore(refactor): snapshot test baseline + no-regression gate truoc refactor open-sse decoluaandCursor 2026-06-13 16:13:40 +07:00
  • 23da7b1fe3 Update ChangeLog decolua 2026-06-13 15:42:40 +07:00
  • 515e2cc430 v0.4.77 (2026-06-13) Features Vercel AI Gateway: support embeddings, images and credit usage (#1183) Add MiMo Free no-auth provider (#1789) Vertex: support ADC authorized_user credential Cowork: re-enable Claude Cowork with preset-only stdio MCP Codex: bulk add accounts via JSON (#1719) Kiro: enable multi-endpoint failover for GenerateAssistantResponse (#1722) Fixes Security: re-auth on DB export/import + SSRF guard on web fetch Auth: real client IP rate-limiting + remote default-password guard Cerebras/Mistral: strip unsupported client_metadata from downstream requests (#1742) SiliconFlow: update baseUrl .cn → .com + curate verified model list (#1760) Gemini-to-OpenAI: route unsigned thought parts to reasoning_content (#1752) Claude-to-OpenAI: strip Anthropic billing header from system prompt (#1765) Anthropic-compatible: send Bearer auth for third-party gateways (#1795) Usage-stats: avoid partial stats on initial SSE race (#1767) Proxy: use export default in proxy.js for Next.js 16 middleware detection Claude passthrough: add body normalization GitHub Copilot: refresh missing/expired token on models discovery (#1727) + add mappable gpt-5-mini/gpt-5.4-nano slots for Copilot MITM (#1653) Kiro: auto-resolve profileArn to prevent 403 on IDC login, enhance profile ARN resolution, update endpoint to runtime.us-east-1.kiro.dev (#1713) Tunnel: detect system-installed Tailscale via dual-socket probe (#1723) + non-blocking probes to prevent UI freeze CommandCode: force stream=true in transformRequest (#1706) Qoder: increase timeouts for reasoning models and improve stream handling Dashboard: show provider node name instead of connection name in topology (#1770) + show explicit kind="llm" combos on combos page (#1684) Docs README: add Indonesian 9Router tutorial video (#1709) decolua 2026-06-13 15:41:13 +07:00
  • 05e483c02e fix(provider-topology): update label assignment to include nodeName decoluaandCursor 2026-06-13 11:43:18 +07:00
  • d652300e9e fix(cerebras,mistral): strip unsupported client_metadata from downstream requests saurabh321guptaandCursor 2026-06-13 11:43:12 +07:00
  • 0c7c9de00a fix(security): re-auth on DB export/import + SSRF guard on web fetch decoluaandCursor 2026-06-13 11:40:35 +07:00
  • e6bac77696 fix(siliconflow): update baseUrl .cn -> .com + curate verified model list Phuc LeandCursor 2026-06-13 11:37:36 +07:00
  • b33cbb0280 feat(vercel-ai-gateway): support embeddings, images and credit usage Ngô Tấn TàiandCursor 2026-06-13 10:54:51 +07:00
  • d9b030011f fix(gemini-to-openai): route unsigned thought parts to reasoning_content Giang Truong VuandCursor 2026-06-13 10:34:42 +07:00
  • 564f2ece0d fix(usage-stats): avoid partial stats on initial SSE race weimaozhenandCursor 2026-06-13 10:23:56 +07:00
  • b40e96d0ef feat(provider): add MiMo Free no-auth provider Fadjrir HerlambangandCursor 2026-06-13 10:14:21 +07:00
  • 0aaa5ab3c2 fix(claude-to-openai): strip Anthropic billing header from system prompt weimaozhenandCursor 2026-06-13 10:05:12 +07:00
  • bbc204b601 fix: use export default in proxy.js for Next.js 16 middleware detection zocomputerandCursor 2026-06-13 09:57:20 +07:00
  • 9406bd1806 feat(vertex): support ADC authorized_user credential Duong Thai Hoa TongandCursor 2026-06-13 09:55:29 +07:00
  • b977bf7414 fix(anthropic-compatible): send Bearer auth for third-party gateways hodtienandCursor 2026-06-13 09:45:59 +07:00
  • b309261166 enhance Kiro profile ARN resolution decolua 2026-06-13 09:28:55 +07:00
  • 4443903900 fix: add normalization for Claude passthrough bodies decolua 2026-06-08 15:37:01 +07:00
  • f8b73faf5d feat(cowork): re-enable Claude Cowork with preset-only stdio MCP decoluaandCursor 2026-06-08 15:35:37 +07:00
  • 7648c3412b fix(auth): real client IP rate-limiting + remote default-password guard decoluaandCursor 2026-06-08 12:10:02 +07:00
  • c572c68717 fix(github): proactively refresh missing/expired Copilot token on models discovery minhnhat166andCursor 2026-06-08 10:19:10 +07:00
  • 24a4f0863f fix(tunnel): detect system-installed Tailscale via dual-socket probe Stefan PirkerandCursor 2026-06-08 10:14:59 +07:00
  • 8e31b5ff2f docs(readme): add Indonesian 9Router tutorial video KrisandCursor 2026-06-08 10:13:04 +07:00
  • 8962e466d6 feat(providers/codex): bulk add accounts via JSON Quoc NguyenandCursor 2026-06-08 10:08:46 +07:00
  • b2aa08ad16 fix(copilot): add mappable gpt-5-mini/gpt-5.4-nano slots for Copilot MITM Delcado19andCursor 2026-06-08 09:56:28 +07:00
  • f8c59227f6 fix(kiro): auto-resolve profileArn to prevent 403 on IDC login decoluaandCursor 2026-06-08 09:45:58 +07:00
  • c24efe80f0 feat(kiro): enable multi-endpoint failover for GenerateAssistantResponse thienpvandCursor 2026-06-08 09:44:53 +07:00
  • dd5c575c65 fix(mitm): update Kiro API endpoint to runtime.us-east-1.kiro.dev joutvhuandCursor 2026-06-08 09:43:45 +07:00
  • 289214a2ea fix(tunnel): make tailscale probes non-blocking to prevent UI freeze decoluaandCursor 2026-06-08 09:32:29 +07:00
  • c5815ad3f0 fix(commandcode): force stream=true in transformRequest Mr. NasılandCursor 2026-06-08 09:21:52 +07:00
  • 137a25e9ac fix(qoder): increase timeouts for reasoning models and improve stream handling decolua 2026-06-08 09:17:33 +07:00
  • 51cbe65c15 fix(dashboard): show explicit kind="llm" combos on combos page Sutarto Jordan ChrisfivoandCursor 2026-06-08 09:09:43 +07:00
  • 827e5c382b # v0.4.71 (2026-06-06) decolua 2026-06-06 16:16:40 +07:00
  • 48c37e0ad2 feat(endpoint): implement locale-based visibility for wenyan caveman levels decolua 2026-06-06 16:08:04 +07:00
  • 9caea88528 fix(codex): harden streaming timeouts + Responses terminal events 2026-06-06 16:07:43 +07:00
  • f161b295a5 refactor(dashboard): reorganize menu actions across sidebar/header/profile decoluaandCursor 2026-06-06 16:05:44 +07:00
  • 293cf40455 fix(tunnel): skip virtual interfaces to prevent false netchange watchdog decoluaandCursor 2026-06-06 15:43:41 +07:00
  • c785051360 fix(claude): forced tool_choice 400 on cc/ OAuth route Claude CodeandCursor 2026-06-06 12:54:01 +07:00
  • 64f58420db feat(i18n): add endpoint exposure notice across multiple languages decolua 2026-06-06 12:45:32 +07:00
  • 047792205f feat(caveman): add wenyan classical Chinese levels and sync upstream prompts arden1601andCursor 2026-06-06 12:35:08 +07:00
  • 2be00e2a78 fix(proxy): raise Next client body limit to 128MB (configurable) Delcado19andCursor 2026-06-06 12:34:43 +07:00
  • 4fc02e67e5 fix(minimax): echo reasoning_content on follow-up turns to avoid 400 Farhan UsmanandCursor 2026-06-06 12:25:12 +07:00
  • 8ad95542da fix(kiro): handle 400 on tool-bearing history without client tools 2026-06-06 12:23:47 +07:00
  • 281f292f63 test(translator): add data-driven coverage, bug-exposing cases, and real provider smoke decoluaandCursor 2026-06-06 12:19:59 +07:00
  • 4758a00b44 docs: add Russian README, remove unused testFromFile script decoluaandCursor 2026-06-06 12:18:37 +07:00
  • 0850f0a470 fix(mitm): Kiro binary EventStream crash + add models & TTS tool filtering Giao HoandCursor 2026-06-06 11:31:52 +07:00
  • c233c7c8fc fix(codex): durable OAuth refresh lifecycle Kevin LeandCursor 2026-06-06 11:04:36 +07:00
  • 38b73bfc6b fix(antigravity): passthrough tab-autocomplete + mark default agent slot mandatory Delcado19andCursor 2026-06-06 10:48:14 +07:00
  • 61d546627e fix(qoder): allow qmodel_latest model key therunnasandCursor 2026-06-06 10:44:37 +07:00
  • e6c09aad15 feat(antigravity): add gemini-3.5-flash-extra-low (Low) model AbdoKnbGitandCursor 2026-06-06 10:42:47 +07:00