mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 20:32:20 +03:00
dbef3ff752184d27dda71a8a67e3ae6e62f73685
10 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6248699ce5 |
Release/v3.8.0 — full changelog with 660+ commits (#2419)
* fix(cli-tools): guard modelId type before calling indexOf E2E shakedown v3.8.0: cli-tools quebrava com TypeError quando dynamicModels continha entradas sem .id (objeto retornado diretamente em vez de string). * fix(offline): avoid SSR/CSR hydration mismatch on navigator.onLine Replace useState+lazy-initializer with useSyncExternalStore so the server snapshot (() => false) and client snapshot (() => navigator.onLine) are declared separately. React hydrates with the server value and switches to the real online status client-side without a mismatch. * chore(i18n): add missing en.json keys for translator, cli-tools, memory, onboarding Adds 58 missing keys identified by the new dashboard audit script: - cliTools: 18 custom CLI builder keys (CustomCliCard) - translator: 24 keys covering stream transformer, live monitor, test bench - memory: 12 health/pagination/dialog keys - onboarding.tier: 8 keys for the tier tour walkthrough Also adds scripts/i18n/audit-dashboard-pages.mjs which scans all dashboard pages, reports t() calls referencing missing en.json keys, and flags candidate hardcoded JSX/attribute strings. * chore(i18n): replace hardcoded UI text with t() calls across dashboard (round 1) Subagents refactored 8 high-impact dashboard pages, replacing 81 of the 407 hardcoded English/PT strings flagged by the audit with proper useTranslations() lookups. Added 73 corresponding keys to en.json across the home, apiManager, providers, settings, and usage namespaces. Pages affected: - BudgetTab (27 → 0) - HomePageClient (2 → 0) - RoutingTab (25 → 7) - ResilienceTab (38 → 18) - SystemStorageTab (42 → 21) - providers/[id] (17 → 15) - ApiManagerPageClient (14 → 13) - OneproxyTab (13 → 10) Also adds two helper scripts: - scripts/i18n/extract-keys-from-diff.mjs — extracts new keys from git diff - scripts/i18n/merge-keys.mjs — merges a pending-keys JSON into en.json Remaining hardcoded strings will be addressed in follow-up rounds. * chore(i18n): replace hardcoded UI text with t() calls across dashboard (round 2) Continues round 1 (commit |
||
|
|
0cc6fec85e |
Merge PR #2280: feat(cli): CLI v4 — Commander.js, 50+ commands, TUI, i18n, plugins (Phases 0-9)
Complete rewrite of the OmniRoute CLI: - Commander.js-based modular architecture (50+ command files) - Full i18n support (en + pt-BR, 1222 keys each) - TUI interactive interface (OAuthFlow, EvalWatch, ProvidersTestAll) - Plugin system (omniroute-cmd-*) - OpenAPI codegen (omniroute api <tag> <op>) - Commands: serve, combo, compression, keys, tunnel, backup, test-provider, health, memory, MCP, A2A, oauth, skills, webhooks, usage, cost, eval, context-eng, dashboard, doctor, env, files, logs, models, nodes, oneproxy, open, openapi, plugin, policy, pricing, providers, quota, registry, repl, reset-encrypted-columns, resilience, restart, runtime, sessions, setup, simulate, status, stop, stream, sync, tags, telemetry, translator, tray, update - Code review fixes: C1-C3, I1-I5, M1-M4 applied # Conflicts: # bin/cli/commands/config.mjs # bin/omniroute.mjs # package-lock.json # package.json |
||
|
|
302ea853d5 |
docs/ux(release): tier marketing, onboarding tour, comparison, and v3.8.0 changelog
Task 8 — Tier 1/2/3 marketing & onboarding UX:
- README "Why OmniRoute?" enhanced with ASCII 3-tier fallback diagram
and comparison table vs 9router/LiteLLM/OpenRouter/Portkey
- docs/marketing/TIERS.md: user-facing tier guide with provider
classification, strategy notes, and common patterns
- images/tier-flow-{light,dark}.svg: SVG tier flow diagrams
- TierFlowDiagram.tsx: responsive SVG diagram (light/dark via next-themes)
- TierTour.tsx: onboarding step showing tier flow + 3 tier cards
- onboarding/page.tsx: inserts "How It Works" tier step after Welcome
- TierCoverageWidget.tsx: home dashboard card showing active provider
counts per tier with "Add" CTA for empty tiers
- HomePageClient.tsx: renders TierCoverageWidget before providers section
- en.json: onboarding.tier namespace (tier1/2/3 labels, subtitle, CTAs)
- docs/routing/AUTO-COMBO.md: tier weight table and override example
Task 9 — Docs, CHANGELOG, comparison page:
- CHANGELOG.md: [3.8.0] section documenting all Tasks 1-8
- docs/releases/v3.8.0.md: detailed release notes with migration guide
- docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md: 9router/LiteLLM/
OpenRouter/Portkey comparison matrix
- docs/architecture/REPOSITORY_MAP.md: new bin/cli/tray/, bin/cli/runtime/,
skills/ directories
- docs/ops/RELEASE_CHECKLIST.md: v3.8.0+ checks (tray, SQLite, MCP filter,
route guard)
|
||
|
|
6b63aa3948 |
feat(cli): deletar bin/cli-commands.mjs monolito (Fase 1.8)
Remove o monolito bin/cli-commands.mjs (2853 linhas) e helpers redundantes (bin/cli/args.mjs, tests/unit/cli-args.test.ts). Todos os subcomandos já foram migrados individualmente para bin/cli/commands/ nas Fases 1.1–1.7. Atualiza pack-artifact-policy para referenciar bin/cli/program.mjs no lugar de bin/cli-commands.mjs e bin/cli/index.mjs. Atualiza docs e CHANGELOG. |
||
|
|
52f29f2347 |
fix(docs): rewrite 270 broken internal markdown links after subfolder restructure
The FASE 3 /docs restructure moved files into 8 subfolders (architecture,
guides, reference, frameworks, routing, security, compression, ops) but left
several link categories with stale relative paths. The new check:doc-links
gate (FASE 8) surfaced these and produced this exhaustive fix sweep.
Categories repaired (counts before → after, total broken: 270 → 0):
i18n-relative (241 → 0): docs in subfolders now reference translations
under docs/i18n/<locale>/docs/<subfolder>/<FILE>.md (one extra "../"
plus the docs/<subfolder>/ segment). Affects ARCHITECTURE, FEATURES,
USER_GUIDE, TROUBLESHOOTING, UNINSTALL, VM_DEPLOYMENT_GUIDE,
API_REFERENCE, and the I18N.md self-reference table.
parent-relative (14 → 0): refs like ../CLAUDE.md, ../CONTRIBUTING.md,
../AGENTS.md, ../Tuto_Qdrant.md, ../open-sse/..., ../electron/...,
../src/... promoted from one to two parent hops (../ → ../../) to
reach repo root from docs/<subfolder>/.
screenshots (9 → 0): FEATURES.md PNG refs rewritten to ../screenshots/
(assets live at docs/screenshots/ unchanged).
missing-rfc (2 → 0): RFC-AUTO-ASSESSMENT.md was deleted earlier in the
overhaul; replaced refs in EVALS.md with pointers to the live
AUTO-COMBO.md scoring doc plus an in-prose mention of
src/domain/assessment/.
other (4 → 0): ENVIRONMENT.md → ../../.env.example,
SETUP_GUIDE.md → ../../{open-sse/mcp-server,src/lib/a2a}/README.md,
PROVIDER_REFERENCE.md → ../../src/shared/... and ../../open-sse/...,
VM_DEPLOYMENT_GUIDE.md omnirouteCloud reference replaced with a
pointer to in-repo TUNNELS_GUIDE.md (omnirouteCloud lives in a
separate companion repo).
Validation:
npm run check:doc-links → PASS (501 internal links, 0 broken)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
caa262a4c5 |
feat(docs): add YAML frontmatter to all docs (title/version/lastUpdated)
Every .md under docs/{architecture,guides,reference,frameworks,routing,
security,compression,ops,diagrams} plus docs/README.md now opens with:
---
title: "<inferred from first H1>"
version: 3.8.0
lastUpdated: 2026-05-13
---
46 files updated (no docs were skipped — none had pre-existing
frontmatter). [slug]/page.tsx already reads frontmatter.version and
frontmatter.lastUpdated via gray-matter and renders a "v3.8.0" pill
plus a "Last updated" caption, so the UI picks these up automatically.
Helper: scripts/docs/add-frontmatter.mjs — idempotent (skips files that
already start with `---`), falls back to a humanized basename when no
leading H1 exists. Excludes docs/i18n/, docs/screenshots/,
docs/superpowers/, docs/diagrams/exported/. Re-runnable safely.
Also regenerated src/app/docs/lib/docs-auto-generated.ts: 44 docs across
8 sections (Architecture / Guides / Reference / Frameworks / Routing /
Security / Compression / Ops), which now includes the 14 docs that were
missing from the v3.7 sidebar (Cloud Agents, Guardrails, Memory, Skills,
Webhooks, Evals, Authz, Agent Protocols, Repository Map, Provider
Reference, Reasoning Replay, Stealth Guide, Tunnels Guide, Electron
Guide).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
8a26128e93 |
fix(docs): correct provider/strategy/MCP-tools drift (179→177, 13→14)
- ARCHITECTURE.md and CODEBASE_DOCUMENTATION.md: 179 → 177 registered providers (canonical from src/shared/constants/providers.ts). - FEATURES.md and en.json wizard step: 13 → 14 routing strategies; lists all 14 explicitly including reset-aware (the missing one). - llm.txt root: combo strategy count corrected in 3 places (UI tree, dashboard summary, fallback semantics). - MCP-SERVER.md: 37 tool count was already correct; added a "Related Frameworks (v3.8.0)" section pointing to Cloud Agents (docs/frameworks/CLOUD_AGENT.md) and Guardrails (docs/security/GUARDRAILS.md), both sibling frameworks intentionally outside the MCP tool catalog. - scripts/i18n/sync-llm-mirrors.mjs (new): idempotent helper to push root llm.txt body into the 40 docs/i18n/<locale>/llm.txt mirrors while preserving each locale's heading + language bar prefix; ran it to refresh all 40 mirrors so `check:docs-sync` is green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
4968de9405 |
Merge FASE 4: diagrams folder with 8 Mermaid + SVGs
Resolves two conflicts: - docs/diagrams/README.md: FASE 3 created a placeholder, FASE 4 created the canonical content. Adopts FASE 4 content and updates the doc paths to the FASE 3 subfolder layout (architecture/, frameworks/, routing/, guides/). - package.json: combined FASE 1's new scripts/build/ and scripts/check/ paths with FASE 4's new docs:render-diagrams script. Post-merge fixes: - Rewrites diagram link paths in the 7 subfolder docs from ./diagrams/X to ../diagrams/X (FASE 4 added flat-layout links before FASE 3's subfolder move). - Adds the i18n-flow diagram link to docs/guides/I18N.md (auto-merge missed it). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
afe2a67c76 |
Merge FASE 3: docs restructure into 8 subfolders
Reorganizes /docs into 8 subfolders (architecture, guides, reference, frameworks, routing, security, compression, ops). Resolves two conflicts: - scripts/docs/gen-provider-reference.ts: combined FASE 1's new __dirname-based ROOT (two levels up from scripts/docs/) with FASE 3's new output path (docs/reference/PROVIDER_REFERENCE.md). - scripts/check-env-doc-sync.mjs: deleted by FASE 1, modified by FASE 3; FASE 1's delete wins (file is at scripts/check/ now). The FASE 3 intent (point to docs/reference/ENVIRONMENT.md) was applied to the strict checker at the new path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
b4665fc852 |
refactor(docs): create 8 subfolders + diagrams/, move 44 docs preserving history
Group docs into intent-based subfolders so the topic each file covers is visible from the directory layout: architecture/, guides/, reference/, frameworks/, routing/, security/, compression/, ops/. Adds an empty diagrams/ placeholder (populated in FASE 4) and a navigable docs/README.md index. Files were moved with git mv so history is preserved. Internal cross-doc links were rewritten to point at the new subfolder paths. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |