diegosouzapw
de2ef14bc3
fix(ci): register @typescript-eslint plugin in ESLint flat config
...
- Install typescript-eslint as direct devDependency
- Import and register tseslint.plugin in eslint.config.mjs
- Fixes lint CI failure: plugin not found in ESLint 9 flat config
2026-02-18 16:59:31 -03:00
diegosouzapw
37123160e8
chore: bump version to 1.0.2
...
- package.json/package-lock.json: 1.0.1 → 1.0.2
- All 8 README files: 1.0.0 → 1.0.2 (Docker tags, tech notes, release commands)
- CHANGELOG.md: added v1.0.2 entry (security hardening, architecture, testing, UX)
2026-02-18 16:52:47 -03:00
diegosouzapw
5a645973eb
fix(ui): correct Quick Start API key link to /dashboard/endpoint
...
- HomePageClient.tsx: 'Settings → API Keys' → 'Endpoint → Registered Keys'
- docs/page.tsx: same fix in Quick Start step 2
- Also includes user's manual fixes: bodySizeGuard, container imports, migrationRunner ESM compat
2026-02-18 16:40:33 -03:00
diegosouzapw
0279341221
feat(phase4): focus indicators, session management, k6 load tests, remove @ts-check
...
- U-3/U-4: Global focus-visible indicators + CSS focus-ring utility
- C-6: Removed @ts-check from 18 .ts files (redundant in TypeScript)
- T-5: k6 load test script (tests/load/proxy-load.js)
- P-3: SessionInfoCard component in Security settings tab
2026-02-18 14:51:15 -03:00
diegosouzapw
7efbfad9bd
feat(phase2+3): DI container, plugins, PII sanitizer, tool policy, audit log, cache invalidation, ARIA, CSS vars
...
Phase 2 — Architecture & Quality:
- A-5: DI container (src/lib/container.ts)
- L-6: Prompt versioning (src/lib/db/prompts.ts)
- L-7: Eval scheduler (src/lib/evals/scheduler.ts)
- L-8: Plugin architecture (src/lib/plugins/index.ts)
- T-3: Integration tests (42 tests, 9 suites)
Phase 3 — UX & Polish:
- P-1: 500 error page (src/app/error.tsx)
- P-2: Audit log viewer (dashboard/audit-log/page.tsx)
- U-2: ARIA attributes on error pages
- U-5: Typed global-error.tsx params
- U-6: CSS variables for accent/semantic/traffic colors
- L-3: Output PII sanitization (src/lib/piiSanitizer.ts)
- L-4: Tool-calling allowlist/denylist (src/lib/toolPolicy.ts)
- L-9: Semantic cache invalidation API + auto-cleanup
- D-5: SECURITY.md updated to v1.0.x
- F-2: Deleted .env copy
2026-02-18 14:43:57 -03:00
diegosouzapw
3aca5fa691
feat: Implement initial database schema and centralize CORS configuration across API routes.
2026-02-18 13:44:08 -03:00
diegosouzapw
1a7b7e8799
feat: Implement graceful shutdown and body size guard middleware, and refine TypeScript typings across several routes and components.
2026-02-18 12:47:36 -03:00
diegosouzapw
4c93f0618c
feat: Add dashboard loading and error UIs, introduce standardized API response utilities, enhance call log redaction and configurable retention, and document architectural decisions.
2026-02-18 11:34:05 -03:00
diegosouzapw
16b72970d7
feat: Implement API authentication middleware, mask sensitive API keys, integrate prompt injection guard, and enhance onboarding error handling.
2026-02-18 11:17:48 -03:00
Diego Rodrigues de Sa e Souza
fbceb0d301
Merge pull request #77 from diegosouzapw/feature/api-compatibility-sanitization
...
feat(api-compat): response sanitization, role normalization & structured output for Gemini
2026-02-18 08:39:34 -03:00
diegosouzapw
ed05599cdd
feat(api-compat): response sanitization, role normalization, structured output for Gemini
...
- Add responseSanitizer.ts: strips non-standard fields (x_groq, usage_breakdown, service_tier),
extracts <think> tags into reasoning_content, normalizes id/object/usage for strict OpenAI SDK v1.83+ compatibility
- Add roleNormalizer.ts: developer→system for non-OpenAI providers, system→user merging for GLM/ERNIE models
- Integrate sanitizer into chatCore.ts (non-streaming) and stream.ts (streaming passthrough)
- Integrate role normalizer into translator/index.ts pipeline
- Add response_format (json_schema/json_object) → Gemini responseMimeType/responseSchema conversion
- Update CHANGELOG.md with v1.1.0 entry
- Update README.md, ARCHITECTURE.md, TROUBLESHOOTING.md with new capabilities
2026-02-18 08:38:44 -03:00
Diego Rodrigues de Sa e Souza
f79746f183
Merge pull request #76 from diegosouzapw/chore/bump-v1.0.1
...
chore: bump version to 1.0.1
v1.0.1
2026-02-18 01:43:01 -03:00
diegosouzapw
0ab89a2438
chore: bump version to 1.0.1
2026-02-18 01:42:50 -03:00
Diego Rodrigues de Sa e Souza
ebecc7de39
Merge pull request #75 from diegosouzapw/fix/codex-oauth-redirect-uri
...
fix(oauth): use registered redirect_uri for Codex on remote access
2026-02-18 01:42:25 -03:00
diegosouzapw
62f3c7416e
fix(oauth): use registered redirect_uri for Codex on remote access
...
When accessing OmniRoute remotely (e.g. llms.omniroute.online), the
Codex OAuth redirect_uri was incorrectly set to http://localhost:443/callback .
OpenAI only accepts the registered http://localhost:1455/auth/callback .
This caused 'unknown_error' on auth.openai.com for remote users.
Other providers (Google-based: Antigravity, Gemini) are unaffected as
Google OAuth accepts any localhost port.
2026-02-18 01:42:01 -03:00
Diego Rodrigues de Sa e Souza
599668bba2
Merge pull request #74 from diegosouzapw/chore/changelog-v1.0.0
...
docs: consolidate CHANGELOG into single v1.0.0 release
2026-02-18 00:14:07 -03:00
diegosouzapw
6ab6049931
docs: consolidate CHANGELOG into single v1.0.0 release
...
Merged all previous entries (v0.1.0–v0.9.0) into a comprehensive
v1.0.0 entry organized by feature category (12 sections, 100+ items).
2026-02-18 00:13:56 -03:00
Diego Rodrigues de Sa e Souza
94b290dbe2
Merge pull request #73 from diegosouzapw/chore/update-readme-hero-image
...
chore: update hero image to MainOmniRoute.png
2026-02-18 00:11:00 -03:00
diegosouzapw
983920b735
chore: update hero image to MainOmniRoute.png in all READMEs
...
Replaced ./images/omniroute.png → ./docs/screenshots/MainOmniRoute.png
2026-02-18 00:10:39 -03:00
Diego Rodrigues de Sa e Souza
7aa4fcc39b
Merge pull request #72 from diegosouzapw/chore/version-readmes-i18n
...
chore: update version to 1.0.0 in all i18n READMEs
2026-02-18 00:07:30 -03:00
diegosouzapw
5dff9e2af6
chore: update version to 1.0.0 in all i18n READMEs
...
Updated 0.9.0 → 1.0.0 in README.de.md, README.es.md, README.fr.md,
README.it.md, README.ru.md, README.zh-CN.md (4 refs each)
2026-02-18 00:07:07 -03:00
diegosouzapw
71d14209a4
feat: OmniRoute v1.0.0 — Intelligent AI Gateway & Universal LLM Proxy
...
OmniRoute is an intelligent API gateway that unifies 20+ AI providers behind a single
OpenAI-compatible endpoint. Features include intelligent routing with 6 strategies,
multi-format translation (OpenAI/Claude/Gemini/Responses API), circuit breakers,
semantic caching, combo fallback chains, real-time health monitoring, and a full
dashboard with provider management, analytics, and CLI tool integration.
Key highlights:
- 20+ providers (Claude Code, Codex, Gemini CLI, GitHub Copilot, iFlow, Qwen, Kiro, etc.)
- 6 routing strategies (Fill First, Round Robin, P2C, Random, Least Used, Cost Optimized)
- Export/Import database backup with full archive support
- Translator Playground with 4 modes (Playground, Chat Tester, Test Bench, Live Monitor)
- 100% TypeScript across src/ and open-sse/
- Docker support with multi-stage builds
- Comprehensive documentation and 9 dashboard screenshots
v1.0.0
2026-02-18 00:02:15 -03:00