mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-21 22:32:22 +03:00
fix(security): resolve 5 CodeQL alerts, document FPs, harden deploy skills
Real fixes (alerts auto-close on next scan): - agentSkills/generator: escape backslash before double-quote in YAML frontmatter so a trailing backslash can't escape the closing quote (js/incomplete-sanitization #297/#298) - usage: replace /\s*\(RESTRICTED\)\s*$/ with a non-backtracking literal + trim (js/polynomial-redos #275) - i18n/request: skip __proto__/constructor/prototype in deepMergeFallback (js/prototype-pollution-utility #274) - scripts/ad-hoc/nvidia diag: log key presence only, never key chars (js/clear-text-logging #273) - tests: regression coverage for all three production fixes (YAML round-trip, proto-pollution guard, RESTRICTED strip + ReDoS timing) Docs: - ARCHITECTURE.md: executor count 45->55, OAuth modules 15->16, agy.ts in list Deploy skills (deploy-vps-*-cc/-cx/-ag): add --legacy-peer-deps (npm v11 peer-dep resolver crashes on the omniroute tree) and replace the "; pm2 start" that masked a failed install with a proper && chain.
This commit is contained in:
@@ -17,13 +17,13 @@ It provides a single OpenAI-compatible endpoint (`/v1/*`) and routes traffic acr
|
||||
|
||||
Core capabilities:
|
||||
|
||||
- OpenAI-compatible API surface for CLI/tools (177 providers, 45 executors)
|
||||
- OpenAI-compatible API surface for CLI/tools (177 providers, 55 executors)
|
||||
- Request/response translation across provider formats
|
||||
- Model combo fallback (multi-model sequence)
|
||||
- Structured combo steps (`provider + model + connection`) with runtime ordering by `compositeTiers`
|
||||
- Account-level fallback (multi-account per provider)
|
||||
- Quota preflight and quota-aware P2C account selection in the main chat path
|
||||
- OAuth + API-key provider connection management (15 OAuth modules)
|
||||
- OAuth + API-key provider connection management (16 OAuth modules)
|
||||
- Embedding generation via `/v1/embeddings` (6 providers, 9 models)
|
||||
- Image generation via `/v1/images/generations` (10+ providers, 20+ models)
|
||||
- Audio transcription via `/v1/audio/transcriptions` (7 providers)
|
||||
@@ -66,7 +66,7 @@ Core capabilities:
|
||||
- Prompt injection guard middleware
|
||||
- Prompt compression pipeline with Caveman, RTK, stacked pipelines, compression combos, language packs, and analytics
|
||||
- ACP (Agent Communication Protocol) registry
|
||||
- Modular OAuth providers (15 individual modules under `src/lib/oauth/providers/`)
|
||||
- Modular OAuth providers (16 individual modules under `src/lib/oauth/providers/`)
|
||||
- Uninstall/full-uninstall scripts
|
||||
- OAuth environment repair action
|
||||
- WebSocket bridge for OpenAI-compatible WS clients (`/v1/ws`)
|
||||
@@ -321,10 +321,10 @@ Domain layer modules:
|
||||
- Eval runner: `src/lib/domain/evalRunner.ts`
|
||||
- Domain state persistence: `src/lib/db/domainState.ts` — SQLite CRUD for fallback chains, budgets, cost history, lockout state, circuit breakers
|
||||
|
||||
OAuth provider modules (15 individual files under `src/lib/oauth/providers/`):
|
||||
OAuth provider modules (16 individual files under `src/lib/oauth/providers/`):
|
||||
|
||||
- Registry index: `src/lib/oauth/providers/index.ts`
|
||||
- Individual providers: `claude.ts`, `codex.ts`, `gemini.ts`, `antigravity.ts`, `qoder.ts`, `qwen.ts`, `kimi-coding.ts`, `github.ts`, `kiro.ts`, `cursor.ts`, `kilocode.ts`, `cline.ts`, `windsurf.ts`, `gitlab-duo.ts`, `trae.ts`
|
||||
- Individual providers: `claude.ts`, `codex.ts`, `gemini.ts`, `antigravity.ts`, `agy.ts`, `qoder.ts`, `qwen.ts`, `kimi-coding.ts`, `github.ts`, `kiro.ts`, `cursor.ts`, `kilocode.ts`, `cline.ts`, `windsurf.ts`, `gitlab-duo.ts`, `trae.ts`
|
||||
- Thin wrapper: `src/lib/oauth/providers.ts` — re-exports from individual modules
|
||||
|
||||
## 5) Embedded Services (v3.8.4)
|
||||
|
||||
Reference in New Issue
Block a user