Diego Rodrigues de Sa e Souza
f670a1e451
Merge pull request #128 from nyatoru/update-last-250226
...
Approved: Model registry and pricing updates for current models. Alias mismatch fix will be applied in a follow-up commit.
2026-02-25 06:04:07 -03:00
Diego Rodrigues de Sa e Souza
1591737528
Merge pull request #131 from ersintarhan/fix/api-key-model-restriction
...
Approved: Critical security fix for API key model restrictions. Minor improvements (error logging, type safety) will be applied in a follow-up commit.
2026-02-25 06:03:58 -03:00
Diego Rodrigues de Sa e Souza
f74a007e27
Merge pull request #127 from npmSteven/refactor/multi-platform
...
Approved: Solid multi-platform Docker workflow using digest-merge pattern. Enables ARM64 support.
2026-02-25 06:03:46 -03:00
Diego Rodrigues de Sa e Souza
eb290a90cb
Merge pull request #126 from nyatoru/fix/codex-plam
...
Approved: Clean, well-scoped change that correctly separates Plus/Paid tier from Pro in ProviderLimits.
2026-02-25 06:03:40 -03:00
nyatoru
9b80f723df
Fix: remove thinking suffix from Claude Sonnet 4.6 model entry
2026-02-25 14:53:21 +07:00
nyatoru
f2ace011ff
fix: remove thinking suffix from Claude Sonnet 4.6 model entvv
2026-02-25 14:30:17 +07:00
Ersin Tarhan
0c0a56d4de
fix: enforce API key model restrictions and budget limits across all endpoints
...
isModelAllowedForKey() existed in src/lib/db/apiKeys.ts but was never
called anywhere. API keys with allowedModels restrictions could access
any model through any endpoint.
Changes:
- Add shared enforceApiKeyPolicy() middleware (model restriction + budget)
- Wire it into chat handler (replacing inline budget-only check)
- Wire it into all /v1/* endpoints: embeddings, images/generations,
audio/speech, audio/transcriptions, moderations, rerank
- Wire it into provider-specific endpoints: /v1/providers/[provider]/embeddings,
/v1/providers/[provider]/images/generations
The middleware checks:
1. Model restriction — if key has allowedModels, verify the model is permitted
2. Budget limit — if key has budget configured, verify it hasn't been exceeded
Fixes #130
2026-02-25 06:43:55 +03:00
nyatoru
981d163278
refactor: update model aliases for consistency and correctness
2026-02-25 08:30:20 +07:00
nyatoru
96cdd9bccb
refactor: update model aliases for consistency and correctness
2026-02-25 02:38:48 +07:00
nyatoru
354d0b5f09
refactor: update model entries and pricing for improved consistency and new additions
2026-02-25 02:13:13 +07:00
Steven Rafferty
3d2de04dd1
refactor(ci): restructure Docker workflow to support multi-platform builds and digest management
2026-02-24 18:27:11 +00:00
nyatoru
93a220ba83
feat: add Plus tier as separate category in ProviderLimits
2026-02-25 01:15:01 +07:00
diegosouzapw
779957526b
chore: add /implement-features workflow for feature request implementation
2026-02-24 14:21:37 -03:00
diegosouzapw
f76482db87
chore(release): bump version to v1.4.5
v1.4.5
2026-02-24 14:00:10 -03:00
diegosouzapw
1be20a4e2d
fix: route OAuth token exchange through configured proxy ( #119 )
...
- Wrap exchangeTokens calls with runWithProxyContext in both 'exchange' and 'poll-callback' actions
- Resolve proxy via provider-level → global → direct fallback chain
- Fixes region-restricted providers (e.g. OpenAI Codex) failing during OAuth setup with unsupported_country_region_territory error
2026-02-24 13:57:56 -03:00
diegosouzapw
ff965234c9
fix: Claude Code OAuth redirect_uri and scope for remote deployments ( #124 )
...
- Use Anthropic's registered redirect_uri (platform.claude.com/oauth/code/callback) instead of dynamic server URL
- Add missing OAuth scopes: user:sessions:claude_code, user:mcp_servers (5 total, matching Claude CLI)
- Make redirect_uri configurable via CLAUDE_CODE_REDIRECT_URI env var
- Override redirectUri in both buildAuthUrl and exchangeToken to use config value
2026-02-24 13:56:18 -03:00
diegosouzapw
62facba06f
chore: add /resolve-issues workflow for automated issue resolution
2026-02-24 13:51:19 -03:00
diegosouzapw
3c309f1fa4
chore(release): bump version to v1.4.4
v1.4.4
2026-02-24 13:44:07 -03:00
diegosouzapw
090343aa01
Merge PR #122 : feat: save compatible provider models to customModels DB for /v1/models listing
...
Includes security hardening and UX improvements:
- Authentication on /api/provider-models via isAuthenticated
- URL parameter injection prevention (encodeURIComponent)
- Replaced alert() with notify.error/notify.success toasts
- Transactional save: DB first, then alias creation
- Consistent error handling across all model operations
2026-02-24 13:41:29 -03:00
diegosouzapw
e674e5d87b
fix: security hardening and UX improvements for PR #122
...
- Fix URL parameter injection: apply encodeURIComponent on providerStorageAlias and providerId in all API calls
- Replace blocking alert() with non-blocking notify.error/notify.success toast notifications
- Add success feedback for model add and delete operations
- Improve error handling: use console.error consistently and add user-facing notifications for import failures
- Check DELETE response status before proceeding with alias removal
2026-02-24 13:41:12 -03:00
nyatoru
2a90a05132
feat: extract shared auth utility and fix custom provider model resolution
2026-02-24 22:08:20 +07:00
Nyaru Toru
a0af564b5a
docs: add comments clarifying prefixToCheck logic in model.ts
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-24 21:31:50 +07:00
Nyaru Toru
ca2b1faa72
docs: add comment for nodePrefix UUID fallback caveat
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-24 21:30:29 +07:00
Nyaru Toru
bf49fdf0bf
fix: improve error handling in custom model API call
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-24 21:29:21 +07:00
Nyaru Toru
c8989ddead
refactor: rename providerPart to providerIdentifier for clarity
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-24 21:27:48 +07:00
nyatoru
4ea0426034
feat: extract shared auth utility a cooldown/availability checksnd fix custom provider model resolution
2026-02-24 21:19:57 +07:00
nyatoru
619c99ce4c
feat: use getModelInfo for proper custom provider resolution in availability checks
2026-02-24 18:47:38 +07:00
nyatoru
86c566669c
feat: fix custom provider node matching in model resolution
2026-02-24 18:30:20 +07:00
nyatoru
9aad413809
feat: use provider prefix for model value resolution
2026-02-24 17:40:45 +07:00
nyatoru
6afcebabab
feat: use provider node type for active provider resolution
2026-02-24 17:05:23 +07:00
nyatoru
ad1cc64e5a
feat: use provider node prefixes for custom model alias generatiovv
2026-02-24 16:19:45 +07:00
nyatoru
243cc4b60b
feat: add authentication to alias API and improve model save error handling
2026-02-24 14:28:51 +07:00
nyatoru
ddb02d6464
feat: save compatible provider models to customModels DB for /v1/models listing
2026-02-24 14:09:30 +07:00
diegosouzapw
f24abf074b
chore: remove .tgz artifact and add to .gitignore
2026-02-23 21:05:23 -03:00
diegosouzapw
ff01e9edaa
fix(oauth): show manual paste mode for LAN IP access
...
When accessing OmniRoute via LAN IP (192.168.x), the OAuth popup
callback can't resolve localhost back to the VPS. Now shows manual
paste input with warning banner instead of waiting indefinitely.
v1.4.3
2026-02-23 20:51:52 -03:00
diegosouzapw
168b17adc7
fix(oauth): hardcode desktop OAuth client secrets to fix build-time inlining
...
Next.js inlines process.env at build time, causing clientSecret defaults to
be baked as empty strings. Desktop/CLI OAuth secrets are not confidential
per Google's documentation.
Fixes: client_secret is missing error on VPS deployment
v1.4.2
2026-02-23 20:14:28 -03:00
diegosouzapw
7e0c6f0307
chore(release): v1.4.1 — endpoint page cleanup, deploy workflow
2026-02-23 19:00:30 -03:00
Diego Rodrigues de Sa e Souza
dd573aed6f
Merge pull request #120 from diegosouzapw/dependabot/npm_and_yarn/development-94fcb5e3b6
...
deps: bump the development group with 6 updates
2026-02-23 17:28:19 -03:00
diegosouzapw
b87af5d053
chore: add VPS auto-deploy workflow, remove API key section from Endpoint page
...
- Add deploy-vps.yml: auto-deploys via SSH after Docker Hub publish
- Remove API key management section from Endpoint page (now in API Manager)
- Remove unused Link import from EndpointPageClient.tsx
2026-02-23 17:20:26 -03:00
dependabot[bot]
29b3e59d23
deps: bump the development group with 6 updates
...
Bumps the development group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss ) | `4.1.18` | `4.2.1` |
| [@types/bcryptjs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bcryptjs ) | `2.4.6` | `3.0.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.2.3` | `25.3.0` |
| [eslint](https://github.com/eslint/eslint ) | `9.39.2` | `9.39.3` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) | `4.1.18` | `4.2.1` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) | `8.56.0` | `8.56.1` |
Updates `@tailwindcss/postcss` from 4.1.18 to 4.2.1
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-postcss )
Updates `@types/bcryptjs` from 2.4.6 to 3.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/bcryptjs )
Updates `@types/node` from 25.2.3 to 25.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `eslint` from 9.39.2 to 9.39.3
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v9.39.2...v9.39.3 )
Updates `tailwindcss` from 4.1.18 to 4.2.1
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/tailwindcss )
Updates `typescript-eslint` from 8.56.0 to 8.56.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/typescript-eslint )
---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
dependency-version: 4.2.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development
- dependency-name: "@types/bcryptjs"
dependency-version: 3.0.0
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: development
- dependency-name: "@types/node"
dependency-version: 25.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development
- dependency-name: eslint
dependency-version: 9.39.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
- dependency-name: tailwindcss
dependency-version: 4.2.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development
- dependency-name: typescript-eslint
dependency-version: 8.56.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-23 20:19:21 +00:00
diegosouzapw
ce6d7dc6bf
feat(api-manager): enhance with usage stats, status badges, and stats dashboard ( #118 )
...
- Add stats summary cards (total keys, restricted, total requests, models available)
- Add per-key usage statistics (total requests, last used timestamp)
- Add copy button on each key row
- Add color-coded lock/unlock status icons per key
- Bump version to 1.4.0
v1.4.0
2026-02-23 17:01:32 -03:00
Diego Rodrigues de Sa e Souza
19eeebae95
Merge pull request #118 from nyatoru/feat/api-key-manager
...
feat(api-manager): implement API key management with new endpoints and UI
2026-02-23 16:58:20 -03:00
diegosouzapw
1dd05bffe8
fix: proxy support for connection tests, compatible provider display ( #119 , #113 )
...
- Connection tests now route through configured proxy (key → combo → provider → global → direct)
- Compatible providers show friendly labels (OAI-COMPAT, ANT-COMPAT) in request logger
- 26 new unit tests for error classification, token expiry, and display labels
- Version bump to 1.3.1
v1.3.1
2026-02-23 16:50:48 -03:00
nyatoru
ac3d251a1a
fix(db): clear prepared statements on backup restore
2026-02-24 00:35:29 +07:00
nyatoru
238e080928
refactor(api-manager): improve type safety in client component
2026-02-24 00:20:42 +07:00
nyatoru
7ed40c2139
fix(db): enforce stricter validation for api key model access
2026-02-24 00:14:50 +07:00
nyatoru
d2bee37e76
feat(api-manager): implement API key management with new endpoints and UI
...
- Add GET/PATCH endpoints for retrieving and updating API key permissions
- Move API key management from Endpoint page to dedicated API Manager page
- Add allowed_models column to database schema for model-specific access
- Implement caching layer for improved API key validation performance
2026-02-23 23:59:34 +07:00
diegosouzapw
343e6c50e3
chore(release): v1.3.0 — iFlow HMAC fix, health check logs toggle, kilocode models, model dedup
...
✨ New Features:
- Hide Health Check Logs toggle (PR #111 by @nyatoru)
- Kilocode custom models endpoint + 26 models (PR #115 by @benzntech)
🐛 Bug Fixes:
- iFlow 406 error fixed with IFlowExecutor HMAC-SHA256 signature (#114 )
- Filter parent model duplicates from endpoint lists (PR #112 by @nyatoru)
🧪 Tests:
- 11 new IFlowExecutor unit tests
- All 379 tests passing
v1.3.0
2026-02-23 03:50:01 -03:00
Diego Rodrigues de Sa e Souza
90d2dcac97
Merge pull request #115 from benzntech/feat/enhance-kilocode-provider
...
feat(kilocode): add custom models endpoint and expanded model list
2026-02-23 03:44:32 -03:00
Diego Rodrigues de Sa e Souza
631ed4d97f
Merge pull request #112 from nyatoru/feat/fix-models
...
fix(endpoint): filter out parent models to avoid duplicates in lists
2026-02-23 03:44:29 -03:00