2026-02-18 00:02:15 -03:00
{
"name" : "omniroute" ,
2026-04-18 04:15:42 -03:00
"version" : "3.6.9" ,
2026-02-18 00:02:15 -03:00
"description" : "Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool." ,
"type" : "module" ,
"bin" : {
2026-04-16 09:59:58 -03:00
"omniroute" : "bin/omniroute.mjs" ,
2026-02-18 00:02:15 -03:00
"omniroute-reset-password" : "bin/reset-password.mjs"
} ,
"files" : [
"bin/" ,
"app/" ,
2026-04-16 05:26:17 -03:00
"open-sse/mcp-server/index.ts" ,
"open-sse/mcp-server/server.ts" ,
"open-sse/mcp-server/httpTransport.ts" ,
"open-sse/mcp-server/audit.ts" ,
"open-sse/mcp-server/runtimeHeartbeat.ts" ,
"open-sse/mcp-server/scopeEnforcement.ts" ,
"open-sse/mcp-server/schemas/" ,
"open-sse/mcp-server/tools/" ,
"open-sse/mcp-server/README.md" ,
2026-03-05 01:16:56 -03:00
"src/shared/contracts/" ,
2026-04-16 05:26:17 -03:00
"src/shared/utils/nodeRuntimeSupport.ts" ,
2026-04-09 15:55:59 -03:00
".env.example" ,
2026-02-27 16:47:54 -03:00
"scripts/postinstall.mjs" ,
2026-04-16 16:47:46 -03:00
"scripts/postinstallSupport.mjs" ,
2026-04-16 05:26:17 -03:00
"scripts/check-supported-node-runtime.ts" ,
2026-04-09 15:55:59 -03:00
"scripts/sync-env.mjs" ,
2026-03-12 10:26:16 +03:00
"scripts/native-binary-compat.mjs" ,
2026-04-11 11:27:11 -03:00
"scripts/build-next-isolated.mjs" ,
2026-02-18 00:02:15 -03:00
"README.md" ,
"LICENSE"
] ,
"workspaces" : [
"open-sse"
] ,
"engines" : {
2026-04-17 00:29:29 +07:00
"node" : ">=20.20.2 <21 || >=22.22.2 <23 || >=24.0.0 <25"
2026-02-18 00:02:15 -03:00
} ,
"keywords" : [
"ai" ,
"router" ,
"proxy" ,
"openai" ,
"claude" ,
"anthropic" ,
"gemini" ,
"fallback" ,
"cursor" ,
"cline" ,
"codex" ,
"llm" ,
"auto-fallback"
] ,
"license" : "MIT" ,
"author" : "diegosouzapw" ,
"repository" : {
"type" : "git" ,
"url" : "https://github.com/diegosouzapw/OmniRoute"
} ,
"homepage" : "https://omniroute.online" ,
"scripts" : {
2026-02-26 15:15:35 +00:00
"dev" : "node scripts/run-next.mjs dev" ,
2026-03-24 13:32:05 -03:00
"build" : "node scripts/build-next-isolated.mjs" ,
2026-04-16 05:26:17 -03:00
"build:cli" : "node --import tsx/esm scripts/prepublish.ts" ,
2026-02-26 15:15:35 +00:00
"start" : "node scripts/run-next.mjs start" ,
2026-02-18 00:02:15 -03:00
"lint" : "eslint ." ,
2026-02-28 10:40:25 +05:30
"electron:dev" : "concurrently \"npm run dev\" \"wait-on http://localhost:20128 && cd electron && npm run dev\"" ,
"electron:build" : "npm run build && cd electron && npm run build" ,
"electron:build:win" : "npm run build && cd electron && npm run build:win" ,
"electron:build:mac" : "npm run build && cd electron && npm run build:mac" ,
"electron:build:linux" : "npm run build && cd electron && npm run build:linux" ,
2026-04-16 05:26:17 -03:00
"test" : "cross-env DISABLE_SQLITE_AUTO_BACKUP=true node --import tsx/esm --test --test-concurrency=1 tests/unit/*.test.ts" ,
"test:unit" : "cross-env DISABLE_SQLITE_AUTO_BACKUP=true node --import tsx/esm --test --test-concurrency=1 tests/unit/*.test.ts" ,
"test:plan3" : "cross-env DISABLE_SQLITE_AUTO_BACKUP=true node --import tsx/esm --test tests/unit/plan3-p0.test.ts" ,
"test:fixes" : "cross-env DISABLE_SQLITE_AUTO_BACKUP=true node --import tsx/esm --test tests/unit/fixes-p1.test.ts" ,
"test:security" : "cross-env DISABLE_SQLITE_AUTO_BACKUP=true node --import tsx/esm --test tests/unit/security-fase01.test.ts" ,
2026-03-04 18:45:02 -03:00
"check:cycles" : "node scripts/check-cycles.mjs" ,
"check:route-validation:t06" : "node scripts/check-route-validation.mjs" ,
"check:any-budget:t11" : "node scripts/check-t11-any-budget.mjs" ,
"check:docs-sync" : "node scripts/check-docs-sync.mjs" ,
2026-04-16 05:26:17 -03:00
"check:node-runtime" : "node --import tsx/esm scripts/check-supported-node-runtime.ts" ,
"check:pack-artifact" : "node --import tsx/esm scripts/validate-pack-artifact.ts" ,
2026-03-04 18:45:02 -03:00
"typecheck:core" : "tsc --pretty false -p tsconfig.typecheck-core.json" ,
"typecheck:noimplicit:core" : "tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json" ,
2026-04-09 15:55:59 -03:00
"env:sync" : "node scripts/sync-env.mjs" ,
2026-04-16 05:26:17 -03:00
"test:integration" : "node --import tsx/esm --test tests/integration/*.test.ts" ,
2026-03-04 18:45:02 -03:00
"test:e2e" : "node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts" ,
2026-03-05 11:16:56 -03:00
"test:protocols:e2e" : "node scripts/run-protocol-clients-tests.mjs" ,
2026-04-03 14:17:27 +01:00
"test:vitest" : "vitest run --config vitest.mcp.config.ts" ,
2026-03-04 00:41:30 -03:00
"test:ecosystem" : "node scripts/run-ecosystem-tests.mjs" ,
2026-04-16 05:26:17 -03:00
"test:coverage" : "c8 --output-dir coverage --exclude=tests/** --exclude=**/*.test.* --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov --check-coverage --statements 60 --lines 60 --functions 60 --branches 60 node --import tsx/esm --test --test-concurrency=1 tests/unit/*.test.ts" ,
"test:coverage:legacy" : "c8 --output-dir coverage --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.ts" ,
2026-04-05 23:21:08 -03:00
"coverage:report" : "c8 report --output-dir coverage --exclude=tests/** --exclude=**/*.test.* --reporter=text --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov" ,
2026-04-06 00:29:54 -03:00
"coverage:summary" : "node scripts/test-report-summary.mjs --input coverage/coverage-summary.json --output coverage/coverage-report.md --threshold 60" ,
"check:pr-test-policy" : "node scripts/check-pr-test-policy.mjs" ,
2026-04-05 23:21:08 -03:00
"coverage:report:legacy" : "c8 report --output-dir coverage --exclude=open-sse --reporter=text --reporter=text-summary" ,
2026-03-04 08:18:09 -03:00
"test:all" : "npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e" ,
2026-02-18 00:02:15 -03:00
"check" : "npm run lint && npm run test" ,
2026-04-16 05:26:17 -03:00
"prepublishOnly" : "npm run build:cli && npm run check:pack-artifact" ,
2026-02-27 16:47:54 -03:00
"postinstall" : "node scripts/postinstall.mjs" ,
2026-04-10 15:07:57 -03:00
"uninstall" : "node scripts/uninstall.mjs" ,
"uninstall:full" : "node scripts/uninstall.mjs --full" ,
2026-03-10 10:59:27 -03:00
"prepare" : "husky" ,
"system-info" : "node scripts/system-info.mjs"
2026-02-18 00:02:15 -03:00
} ,
"dependencies" : {
2026-03-22 15:01:38 -03:00
"@lobehub/icons" : "^5.0.1" ,
2026-03-03 17:42:24 -03:00
"@modelcontextprotocol/sdk" : "^1.27.1" ,
2026-02-18 00:02:15 -03:00
"@monaco-editor/react" : "^4.7.0" ,
2026-04-07 17:26:22 -03:00
"@swc/helpers" : "0.5.21" ,
2026-04-09 18:18:45 -03:00
"axios" : "^1.15.0" ,
2026-02-18 00:02:15 -03:00
"bcryptjs" : "^3.0.3" ,
"better-sqlite3" : "^12.6.2" ,
"bottleneck" : "^2.19.5" ,
2026-04-16 05:26:17 -03:00
"dompurify" : "^3.4.0" ,
2026-02-18 00:02:15 -03:00
"express" : "^5.2.1" ,
"fetch-socks" : "^1.3.2" ,
"http-proxy-middleware" : "^3.0.5" ,
2026-04-07 17:26:22 -03:00
"https-proxy-agent" : "^9.0.0" ,
2026-02-18 00:02:15 -03:00
"jose" : "^6.1.3" ,
2026-04-01 03:00:32 +02:00
"js-yaml" : "^4.1.0" ,
2026-02-18 00:02:15 -03:00
"lowdb" : "^7.0.1" ,
"monaco-editor" : "^0.55.1" ,
2026-04-09 15:55:59 -03:00
"next" : "^16.2.3" ,
2026-02-25 13:13:35 -03:00
"next-intl" : "^4.8.3" ,
2026-02-18 00:02:15 -03:00
"node-machine-id" : "^1.1.12" ,
"open" : "^11.0.0" ,
"ora" : "^9.1.0" ,
"pino" : "^10.3.1" ,
"pino-pretty" : "^13.1.3" ,
2026-04-11 17:14:47 -03:00
"react" : "19.2.5" ,
"react-dom" : "19.2.5" ,
2026-02-18 00:02:15 -03:00
"recharts" : "^3.7.0" ,
"selfsigned" : "^5.5.0" ,
2026-03-05 01:16:56 -03:00
"tsx" : "^4.21.0" ,
2026-04-13 19:11:07 -03:00
"undici" : "^8.1.0" ,
2026-02-18 00:02:15 -03:00
"uuid" : "^13.0.0" ,
"wreq-js" : "^2.0.1" ,
2026-04-12 22:30:02 -03:00
"xxhash-wasm" : "^1.1.0" ,
2026-03-31 10:22:52 -03:00
"yazl" : "^3.3.1" ,
2026-02-18 00:02:15 -03:00
"zod" : "^4.3.6" ,
2026-03-22 15:01:38 -03:00
"zustand" : "^5.0.10"
2026-02-18 00:02:15 -03:00
} ,
2026-03-31 16:14:47 -03:00
"optionalDependencies" : {
"keytar" : "^7.9.0"
} ,
2026-02-18 00:02:15 -03:00
"devDependencies" : {
"@playwright/test" : "^1.58.2" ,
"@tailwindcss/postcss" : "^4.1.18" ,
2026-04-01 08:21:25 +07:00
"@testing-library/jest-dom" : "^6.9.1" ,
"@testing-library/react" : "^16.3.2" ,
2026-02-23 20:19:21 +00:00
"@types/bcryptjs" : "^3.0.0" ,
2026-02-18 00:02:15 -03:00
"@types/better-sqlite3" : "^7.6.13" ,
2026-03-23 15:55:58 -03:00
"@types/keytar" : "^4.4.0" ,
2026-02-18 00:02:15 -03:00
"@types/node" : "^25.2.3" ,
"@types/react" : "^19.2.14" ,
"@types/react-dom" : "^19.2.3" ,
2026-04-01 08:21:25 +07:00
"@vitejs/plugin-react" : "^6.0.1" ,
2026-03-28 12:58:31 -03:00
"c8" : "^11.0.0" ,
2026-02-28 10:40:25 +05:30
"concurrently" : "^9.2.1" ,
"cross-env" : "^10.1.0" ,
2026-02-18 00:02:15 -03:00
"eslint" : "^9.39.2" ,
2026-04-11 17:14:50 -03:00
"eslint-config-next" : "16.2.3" ,
2026-02-18 00:02:15 -03:00
"husky" : "^9.1.7" ,
2026-04-01 08:21:25 +07:00
"jsdom" : "^29.0.1" ,
2026-02-18 00:02:15 -03:00
"lint-staged" : "^16.2.7" ,
"prettier" : "^3.8.1" ,
2026-04-01 03:00:32 +02:00
"prop-types" : "^15.8.1" ,
2026-02-18 00:02:15 -03:00
"tailwindcss" : "^4" ,
2026-04-07 17:26:27 -03:00
"typescript" : "^6.0.2" ,
2026-02-28 10:40:25 +05:30
"typescript-eslint" : "^8.56.0" ,
2026-04-03 18:53:22 +07:00
"vitest" : "^4.1.2" ,
2026-04-06 20:45:52 -03:00
"wait-on" : "^9.0.4" ,
"wtfnode" : "^0.10.1"
2026-02-18 00:02:15 -03:00
} ,
"lint-staged" : {
"*.{js,jsx,ts,tsx,mjs}" : [
"prettier --write" ,
"eslint --fix --no-error-on-unmatched-pattern"
] ,
"*.{json,md,yml,yaml,css}" : [
"prettier --write"
]
2026-03-10 09:25:35 -03:00
} ,
2026-03-12 18:06:27 -03:00
"pnpm" : {
"onlyBuiltDependencies" : [
"@parcel/watcher" ,
"@swc/core" ,
"better-sqlite3" ,
"esbuild" ,
"omniroute" ,
"sharp"
]
2026-03-24 08:14:24 -03:00
} ,
"overrides" : {
2026-04-02 10:47:38 -03:00
"lodash-es" : "^4.18.1" ,
2026-04-16 05:26:17 -03:00
"dompurify" : "^3.4.0" ,
2026-03-29 21:18:07 -03:00
"path-to-regexp" : "^8.4.0" ,
2026-04-16 05:26:17 -03:00
"hono" : "^4.12.14" ,
2026-04-08 01:35:30 -03:00
"@hono/node-server" : "^1.19.13" ,
2026-03-29 21:18:07 -03:00
"react" : "$react" ,
"react-dom" : "$react-dom"
2026-02-18 00:02:15 -03:00
}
}