diegosouzapw
095c84ac16
fix(providerRegistry): remove duplicate claude-haiku-4-5-20251001 from anthropic provider to prevent ambiguous model resolution
2026-03-17 13:10:23 -03:00
diegosouzapw
f02c5b5c69
fix(install/v2.6.10): Windows better-sqlite3 prebuilt download ( #426 )
...
npm version patch run BEFORE staging files — this is an ATOMIC commit.
Adds Strategy 1.5 to scripts/postinstall.mjs:
- Uses @mapbox/node-pre-gyp install --fallback-to-build=false
(bundled within better-sqlite3) to download the correct prebuilt
binary for the current OS/arch (win32-x64/arm64, darwin-x64/arm64)
WITHOUT requiring node-gyp, Python, or MSVC build tools.
- Tries node-pre-gyp.cmd (Windows) or node-pre-gyp (Unix) from .bin/
with fallback to direct path in @mapbox/node-pre-gyp/bin/
- Falls back to npm rebuild only if prebuilt download fails.
- Windows-specific error: shows Option A (npx node-pre-gyp) and
Option B (rebuild) with Visual Studio Build Tools links.
Fixes : #426 (better_sqlite3.node is not a valid Win32 application)
2026-03-17 10:09:45 -03:00
diegosouzapw
838f1d645c
fix(v2.6.9): CI budget checks, #409 file attachments, atomic release workflow
...
Includes version bump — v2.6.9 — committed ATOMICALLY with all changes:
fixes:
- fix(ci/t11): Remove 'any' from comments in openai-responses.ts + chatCore.ts
(\bany\b regex counted comment text as explicit any violations)
- fix(chatCore/#409): Normalize unsupported content part types before forwarding
Cursor sends {type:'file'} for .md attachments; Copilot/OpenAI providers reject
with 'type has to be either image_url or text'. Now: file/document→text block,
unknown types dropped with debug log. Fixes claude-* models via github-copilot.
workflow:
- chore(generate-release): ATOMIC COMMIT RULE — npm version patch MUST run before
feature commits so the release tag always points to a commit with full changes
2026-03-17 09:09:01 -03:00
diegosouzapw
ce2c30c437
chore(release): v2.6.8 — combo agents, auto-update, detailed logs, MITM Kiro
2026-03-17 08:58:03 -03:00
diegosouzapw
e45ef00bef
chore(release): v2.6.7 — SSE fixes, local provider_nodes, proxy registry
...
PRs merged: #414 (deps) #415 #417 #419 #420 #421 (SSE fixes)
#418 (Claude passthrough) #422 #416 #423 (local nodes)
#427 (strip empty blocks) #428 (OAuth refreshable)
#429 (proxy registry)
Contributors: @prakersh, @Regis-RCR, @dependabot
2026-03-17 08:17:11 -03:00
diegosouzapw
a9f69711c6
fix(build): remove node: protocol prefix from all src/ imports (#turbopack-compat)
...
Turbopack (Next.js 15) does not process node: URL prefixes correctly when
bundling server-side files that get transitively included. Removed the node:
prefix from 17 files:
- src/lib/db/migrationRunner.ts (node:fs, node:path, node:url)
- src/lib/db/core.ts (node:path, node:fs)
- src/lib/db/backup.ts (node:path, node:fs)
- src/lib/db/prompts.ts (node:fs)
- src/lib/dataPaths.ts (node:path, node:os)
- src/app/api/settings/route.ts
- src/app/api/storage/health/route.ts
- src/app/api/oauth/[provider]/[action]/route.ts
- src/app/api/db-backups/{exportAll,import,export}/route.ts
- src/shared/middleware/correlationId.ts
- src/shared/utils/requestId.ts
- src/lib/apiBridgeServer.ts
- src/lib/cacheLayer.ts
- src/lib/semanticCache.ts
- src/lib/oauth/providers/kimi-coding.ts
Also updated generate-release.md: Docker Hub sync and dual-VPS deploy
are now mandatory steps in every release.
2026-03-17 04:24:46 -03:00
diegosouzapw
a8ab16a720
chore(release): v2.6.5 — reasoning params filter, local 404 fix, Kilo Gateway, dep bumps
...
- fix(sse): strip unsupported params for o1/o1-mini/o1-pro/o3/o3-mini (PR #412 @Regis-RCR)
- fix(sse): model-only lockout (5s) for local provider 404 (PR #410 @Regis-RCR)
- feat(api): Kilo Gateway provider — 335+ models, alias 'kg' (PR #408 @Regis-RCR)
- deps: better-sqlite3 12.8, undici 7.24.4, https-proxy-agent 8 (PR #413 )
2026-03-17 03:05:45 -03:00
Diego Rodrigues de Sa e Souza
a00ef0fc7e
Merge pull request #413 from diegosouzapw/dependabot/npm_and_yarn/production-4d4ff746af
...
deps: bump the production group with 5 updates
2026-03-17 03:03:49 -03:00
diegosouzapw
6fa77a63d7
chore(release): v2.6.4 — model name fixes across providers
2026-03-17 01:59:25 -03:00
dependabot[bot]
d98ec59c79
deps: bump the production group with 5 updates
...
Bumps the production group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [better-sqlite3](https://github.com/WiseLibs/better-sqlite3 ) | `12.6.2` | `12.8.0` |
| [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent ) | `7.0.6` | `8.0.0` |
| [undici](https://github.com/nodejs/undici ) | `7.24.2` | `7.24.4` |
| [wreq-js](https://github.com/sqdshguy/wreq-js ) | `2.1.1` | `2.2.0` |
| [zustand](https://github.com/pmndrs/zustand ) | `5.0.11` | `5.0.12` |
Updates `better-sqlite3` from 12.6.2 to 12.8.0
- [Release notes](https://github.com/WiseLibs/better-sqlite3/releases )
- [Commits](https://github.com/WiseLibs/better-sqlite3/compare/v12.6.2...v12.8.0 )
Updates `https-proxy-agent` from 7.0.6 to 8.0.0
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases )
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md )
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@8.0.0/packages/https-proxy-agent )
Updates `undici` from 7.24.2 to 7.24.4
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v7.24.2...v7.24.4 )
Updates `wreq-js` from 2.1.1 to 2.2.0
- [Release notes](https://github.com/sqdshguy/wreq-js/releases )
- [Commits](https://github.com/sqdshguy/wreq-js/compare/v2.1.1...v2.2.0 )
Updates `zustand` from 5.0.11 to 5.0.12
- [Release notes](https://github.com/pmndrs/zustand/releases )
- [Commits](https://github.com/pmndrs/zustand/compare/v5.0.11...v5.0.12 )
---
updated-dependencies:
- dependency-name: better-sqlite3
dependency-version: 12.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: https-proxy-agent
dependency-version: 8.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: undici
dependency-version: 7.24.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: wreq-js
dependency-version: 2.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: zustand
dependency-version: 5.0.12
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-16 19:03:12 +00:00
diegosouzapw
9b255e643a
chore(release): v2.6.3 — compile-time hash-strip fix, Synthetic provider (PR #404 ), VPS PM2 path fix
2026-03-16 11:00:43 -03:00
diegosouzapw
5d7772ecb0
chore(release): v2.6.2 — fix all module hashing, Anthropic tools filter, custom endpoint paths, Alibaba Cloud provider
2026-03-16 09:53:32 -03:00
diegosouzapw
74d3374d5c
chore(release): v2.6.1 — fix better-sqlite3 startup crash on npm global installs ( #394 )
2026-03-15 21:51:35 -03:00
diegosouzapw
44478c36a3
chore(release): v2.6.0 — issue resolution sprint ( #390 #340 #344 #377 #378 #337 )
2026-03-15 19:15:38 -03:00
Diego Rodrigues de Sa e Souza
fa267274b0
Merge pull request #386 from kfiramar/chore-test-script-loader-consistency
...
chore(tests): align targeted test runners
2026-03-15 19:08:47 -03:00
diegosouzapw
2979a36a7c
chore(release): v2.5.9 — codex passthrough + route validation + JWT persist
2026-03-15 15:46:06 -03:00
diegosouzapw
c905119d82
fix(build): remove --webpack from prepublish.mjs — fixes VPS app/server.js missing in npm package
2026-03-15 14:56:20 -03:00
diegosouzapw
c581ca8339
fix(build): remove deprecated --webpack flag from next build script
2026-03-15 14:05:46 -03:00
diegosouzapw
ccf9d9214a
chore(release): v2.5.7 — media playground error handling fixes
2026-03-15 13:55:28 -03:00
Kfir Amar
0f13965391
chore(tests): align targeted test runners
2026-03-15 18:25:22 +02:00
diegosouzapw
441534853b
chore(release): v2.5.6 — Antigravity OAuth fix, JWT session persistence
2026-03-15 13:05:52 -03:00
diegosouzapw
8e06dc5ace
chore(release): v2.5.5 — model list dedup, Electron build hardening, Kiro credit tracking
2026-03-15 12:34:58 -03:00
diegosouzapw
4b7a9233e7
chore(release): v2.5.4 — logger fix, login bootstrap, HMR origins, CI hardening
2026-03-15 01:12:27 -03:00
diegosouzapw
36856b18db
chore: release v2.5.3
...
bug fixes (PRs #373 , #371 , #372 , #369 by @kfiramar):
- fix(db): provider_connections.group column migration for existing DBs
- fix(i18n): replace missing deleteConnection key with delete in tooltip
- fix(auth): clear stale error metadata on genuine provider recovery
- fix(startup): unify env loading across npm/electron startup paths
code quality improvements (per kilo-code-bot review):
- docs: document result.success vs response.ok patterns in auth.ts
- refactor: normalize overridePath?.trim() in electron/main.js
- docs: explain preferredEnv merge order intent
2026-03-14 19:53:59 -03:00
diegosouzapw
245243c7e7
chore: release v2.5.2 (version bump, npm conflict with 2.5.1)
2026-03-14 16:01:14 -03:00
diegosouzapw
759ac0df3d
chore: release v2.5.1
...
- PR #368 : gpt-5.4 in Codex model registry (cx/gpt-5.4, codex/gpt-5.4)
- PR #367 : Codex fast tier toggle (default-off, full stack, 48 tests)
- PR #366 : Codex quota policy 5h/weekly with auto-rotation
- fix #356 : analytics charts show provider display names not raw IDs
2026-03-14 15:55:06 -03:00
diegosouzapw
da14390fe0
chore: release v2.5.0
...
Includes:
- PR #363 : strict-random strategy, API key controls, connection groups, Limits UX (AndersonFirmino)
- PR #365 : external pricing sync with LiteLLM 3-tier resolution (Regis-RCR)
- fix #355 : stream idle timeout 60s → 300s for thinking models
- fix #350 : combo test bypasses REQUIRE_API_KEY via X-Internal-Test header
- fix #346 : filter tools with empty function.name before forwarding upstream
2026-03-14 15:31:27 -03:00
diegosouzapw
1b354be827
feat: T07 — API Key Round-Robin per provider connection
...
- New: open-sse/services/apiKeyRotator.ts — round-robin rotation
between primary API key + providerSpecificData.extraApiKeys[]
- Modified: open-sse/executors/base.ts — buildHeaders() rotates key
using getRotatingApiKey() when extraApiKeys configured
- Modified: open-sse/handlers/chatCore.ts — injects connectionId into
credentials to enable per-connection rotation index tracking
- Modified: providers/[id]/page.tsx — 'Extra API Keys' UI section in
EditConnectionModal: add/remove keys, persisted in providerSpecificData
T08 (quota window rolling) and T13 (wildcard model routing) confirmed
already implemented in accountFallback.ts and wildcardRouter.ts.
2026-03-14 15:03:54 -03:00
diegosouzapw
75a6d850fc
chore: release v2.4.3
...
- fix: Codex/GitHub limits page HTTP 500 → graceful 401/403 messages
- fix: MaintenanceBanner false-positive on page load (stale closure)
- fix: add title tooltips to edit/delete buttons in ConnectionCard
- feat: add fill-first and p2c routing strategies to combo picker
- feat: Free Stack template pre-fills 7 free provider models
- feat: combo create/edit modal wider (max-w-4xl)
2026-03-14 12:49:36 -03:00
diegosouzapw
b0f5f92f1a
feat(release): v2.4.2 — task-aware routing, HuggingFace/Vertex providers, streaming fixes, token tracking, playground uploads
...
- feat: Task-Aware Smart Routing (T05) — auto-select model by task type
- feat: HuggingFace and Vertex AI provider support
- feat: Playground audio/image file uploads for transcription and vision
- feat: ModelSelectModal shows ✓ for already-added models (#180 )
- fix: Claude Haiku routed to OpenAI without provider prefix (#73 )
- fix: Token counts always 0 for Antigravity/Claude streaming (#74 )
- fix: OpenAI SDK stream=False drops tool_calls (#302 )
- fix: Media page generation errors — inline rendering for images/transcription
- fix: Round-robin state management for excluded accounts (#349 )
- fix: Qwen user agent and CLI fingerprint compatibility (#352 )
- deps: undici→7.24.2, dompurify→3.3.3, docker actions v4
- docs: CHANGELOG 2.4.2 with full feature/fix list
- docs: README with Task-Aware Routing table entry
2026-03-14 11:04:09 -03:00
diegosouzapw
d976abb5e0
chore: v2.4.1 — combos free-stack always visible
2026-03-13 11:29:51 -03:00
diegosouzapw
1e93ee5c34
chore: release v2.4.0
...
Bump from 2.3.17 to 2.4.0 to reflect the significance of this release:
- Free Stack combo template ecosystem
- Transcription playground overhaul (Deepgram default, $200/$50 free badges)
- 44+ providers documented, hasFree badges on NVIDIA/Cerebras/Groq
- README: Start Free section, Free Models section, Free Transcription Combo
- tierPriority as 7th scoring factor in auto-combo UI
- i18n 30 languages fully synced
2026-03-13 11:20:31 -03:00
diegosouzapw
1b6c502c7f
feat: free-stack combo, Deepgram transcription default, README free sections, provider hasFree badges
...
- Combos: add 'Free Stack ($0)' as 4th combo template (round-robin: Kiro+iFlow+Qwen+GeminiCLI)
- Media/Transcription: Deepgram (Nova 3) as default provider, show $200/$50/free badges
- providers.ts: hasFree + freeNote for NVIDIA NIM (40 RPM), Cerebras (1M tok/day), Groq (30 RPM)
- README: new early '🆓 Start Free' 5-step table before Quick Start
- README: new '🎙️ Free Transcription Combo' section (Deepgram/AssemblyAI/Groq)
- README: NVIDIA NIM model list updated (Kimi K2.5, GLM 4.7, DeepSeek V3.2)
- i18n: templateFreeStack + templateFreeStackDesc synced to 30 languages
- Bump version to 2.3.17
2026-03-13 11:13:02 -03:00
diegosouzapw
4e4532c057
docs(readme): 44+ providers, free models section, accurate free tier quotas
...
- Update provider count from 36+ to 44+ in 3 locations (line 5, unified endpoint, one-endpoint sections)
- Add new section '🆓 Free Models — What You Actually Get' with 7 provider tables:
- Kiro: 3 Claude models (unlimited via AWS Builder ID)
- iFlow: 5 models unlimited (kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2.1, kimi-k2)
- Qwen: 4 models unlimited (qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next, vision-model)
- Gemini CLI: 180K/month + 1K/day
- NVIDIA NIM: ~40 RPM dev-forever (70+ models), transitioning from credits to rate limits
- Cerebras: 1M tokens/day, 60K TPM / 30 RPM
- Groq: 30 RPM / 14.4K RPD
- Include $0 Ultimate Free Stack combo recommendation
- Update NVIDIA NIM from '1000 credits' to 'dev-forever free' (×3)
- Add Cerebras row to pricing table
- Fix iFlow 8→5 models (with names), Qwen 3→4 models (with names)
- Bump version to 2.3.16
2026-03-13 11:03:24 -03:00
diegosouzapw
9055fc2129
feat(auto-combo): add tierPriority factor label + autoCombo i18n section (30 languages)
...
- Add 'tierPriority: 🏷️ Tier' to FACTOR_LABELS in auto-combo dashboard (7th scoring factor)
- Add 'autoCombo' i18n section with 20 keys to en.json
- Sync autoCombo i18n keys to 29 language files (ar, bg, da, de, es, fi, fr, hi, hu, id, it, ja, ko, nl, no, pl, pt-BR, pt, ro, ru, sk, sv, th, tr, uk, vi, zh-CN, zh-TW + all others)
- Bump version to 2.3.15
2026-03-13 10:40:59 -03:00
diegosouzapw
b8fec94b0d
feat(release): v2.3.14 — iFlow fix, MITM compile, GeminiCLI fallback, new models, tier scoring API
2026-03-13 10:19:38 -03:00
diegosouzapw
f6c0744d67
feat(release): v2.3.13 — tiered quota scoring, model fallback, auth fixes, pnpm fix
...
- Tiered quota scoring (Ultra>Pro>Free) as 7th Auto-Combo factor
- Intra-family model fallback on 404/400/403 errors
- Configurable API bridge timeout (API_BRIDGE_PROXY_TIMEOUT_MS)
- INITIAL_PASSWORD accepted on first login with timingSafeEqual
- README </details> truncation fix (affects all GitHub renders)
- pnpm @swc/helpers override conflict removed
- CLI path injection hardening (isSafePath validator)
- 429 retry, Gemini CLI headers, Claude response_format injection
- deepseek-3.1/3.2, qwen3-coder-next pricing added
- starchart.cc star widget in all 30 READMEs
2026-03-12 18:18:53 -03:00
diegosouzapw
02b19e63e8
fix(pnpm): remove @swc/helpers override conflict, add pnpm build-scripts config ( #328 )
...
The @swc/helpers override in package.json duplicated the direct dependency
at the exact same version (0.5.19), causing 'EOVERRIDE' errors when pnpm
users tried to rebuild native modules like better-sqlite3.
Fixes:
- Remove redundant 'overrides' block (direct dep already pins 0.5.19)
- Add pnpm.onlyBuiltDependencies for @parcel/watcher, @swc/core,
better-sqlite3, esbuild, omniroute, sharp (replaces pnpm approve-builds)
- Add pnpm usage note to README Quick Start
Closes #328
2026-03-12 18:06:27 -03:00
diegosouzapw
8dad2d32b6
fix(cli-tools): add opencode to cliRuntime, increase timeouts for slow-start CLIs
...
- opencode: add to CLI_TOOLS registry with 15s healthcheck timeout
- openclaw/cursor: increase from 12s → 15s (cold-start on VPS)
- continue: add healthcheckTimeoutMs 15s
- VPS: activated CLI_EXTRA_PATHS=/root/.local/bin for kiro-cli visibility
- VPS: installed droid and openclaw npm packages
2026-03-12 16:42:43 -03:00
diegosouzapw
d07a5f0df7
fix(cli-tools): increase kilocode healthcheck timeout from 4s to 15s
...
kilocode renders ASCII logo banner on startup causing false healthcheck_failed
timeouts on cold-start or low-resource environments (VPS, CI, dashboard)
2026-03-12 16:34:39 -03:00
diegosouzapw
1c10cfe4bc
fix(lint): replace as any with Record<string,unknown> in OAuthModal — passes check:any-budget:t11
...
Also bump version to 2.3.10
2026-03-12 13:48:30 -03:00
diegosouzapw
1d7bc5fed7
feat: add /v1/completions legacy endpoint + show all 3 OpenAI endpoints in dashboard
...
- New route /v1/completions: accepts prompt string (legacy) + messages array
Normalizes prompt format to chat/completions format automatically
- EndpointPageClient: Added 3rd card (Completions Legacy) in Core APIs section
Dashboard now shows: /v1/chat/completions, /v1/responses, /v1/completions
- i18n: completionsLegacy/completionsLegacyDesc synced to 30 languages
2026-03-12 12:57:31 -03:00
diegosouzapw
763fdf3135
chore: release v2.3.8 — OAuthModal [object Object] fix
2026-03-12 12:42:40 -03:00
diegosouzapw
69e9bd81e9
chore: release v2.3.7
...
- Cline OAuth base64 decodeURIComponent fix
- OAuth account name normalization (name=email fallback)
- Remove sequential Account N naming
2026-03-12 12:25:17 -03:00
diegosouzapw
87ffe41d8c
fix: i18n sync 29 langs + provider test [object Object] fix
...
- Add cliTools.toolDescriptions.opencode, .kiro, guides.opencode, guides.kiro to en.json
- Sync 1111 missing keys across 29 language files (English fallbacks)
- Fix [object Object] in provider batch test modal:
normalize data.error object to string before setTestResults()
and in ProviderTestResultsView rendering
- Bump version to 2.3.6
2026-03-12 11:11:15 -03:00
diegosouzapw
943a9374b4
fix: permanent @swc/helpers MODULE_NOT_FOUND fix (#crash)
...
prepublish.mjs: explicitly copy @swc/helpers into standalone app/node_modules
before packaging. npm tarball will always include it.
postinstall.mjs: fallback copy of @swc/helpers from root node_modules into
app/node_modules/@swc/ when missing after npm install -g.
Fixes server crash after npm install -g omniroute.
2026-03-12 10:42:59 -03:00
diegosouzapw
8956ffef73
chore: release v2.3.4
2026-03-12 10:27:45 -03:00
diegosouzapw
845787ab7f
chore(release): v2.3.3
...
fix(providers): prevent error boundary crash when Test All fails or times out (PR #330 )
2026-03-12 09:56:51 -03:00
diegosouzapw
1e9a9adbad
chore(release): v2.3.2
...
feat(claude): [1m] suffix for 1M extended context (PR #311 @DavyMassoneto)
feat(registry): new models for iFlow, Qwen, Kimi (PR #326 @nyatoru)
fix(cli): postinstall binary copy instead of rebuild (PR #327 @ardaaltinors, fixes #321 )
docs: English Remote OAuth guide in README (PR #329 , fixes #318 )
test: 3 unit tests for parseModel [1m] suffix
2026-03-12 07:00:10 -03:00
ardaaltinors
5a244aa12a
fix(cli): include native-binary-compat.mjs in published package files
...
The module is imported by bin/omniroute.mjs but was missing from the
files array in package.json, causing ERR_MODULE_NOT_FOUND on global
installs.
2026-03-12 10:26:16 +03:00