diff --git a/.env.example b/.env.example index 20c43643a2..2455c36d7f 100644 --- a/.env.example +++ b/.env.example @@ -1927,10 +1927,6 @@ APP_LOG_TO_FILE=true # Default: 300000 (5 minutes) # SEARCH_CACHE_TTL_MS=300000 -# ── OpenAI-compatible multi-connection ── -# Allow multiple simultaneous connections per OpenAI-compatible provider node. -# Used by: src/app/api/providers/route.ts -# ALLOW_MULTI_CONNECTIONS_PER_COMPAT_NODE=false # ── CC-compatible provider (experimental) ── # Enable the Claude Code compatible provider endpoint. diff --git a/docs/architecture/ARCHITECTURE.md b/docs/architecture/ARCHITECTURE.md index b78d433fee..6c9d400782 100644 --- a/docs/architecture/ARCHITECTURE.md +++ b/docs/architecture/ARCHITECTURE.md @@ -1131,7 +1131,6 @@ Environment variables actively used by code: - App/auth: `JWT_SECRET`, `INITIAL_PASSWORD` - Storage: `DATA_DIR` -- Compatible node behavior: `ALLOW_MULTI_CONNECTIONS_PER_COMPAT_NODE` - Optional storage base override (Linux/macOS when `DATA_DIR` unset): `XDG_CONFIG_HOME` - Security hashing: `API_KEY_SECRET`, `MACHINE_ID_SALT` - Logging: `APP_LOG_TO_FILE`, `APP_LOG_RETENTION_DAYS`, `CALL_LOG_RETENTION_DAYS` diff --git a/docs/reference/ENVIRONMENT.md b/docs/reference/ENVIRONMENT.md index 401d7f6a30..5c317383f9 100644 --- a/docs/reference/ENVIRONMENT.md +++ b/docs/reference/ENVIRONMENT.md @@ -1018,7 +1018,6 @@ desktop install. | `NEXT_PUBLIC_DENO_RELAY_DEFAULT_PROJECT` | `omniroute-deno-relay` | `src/app/(dashboard)/dashboard/settings/components/proxy/DenoRelayModal.tsx` | Default Deno Deploy app name suggested in the proxy-pool "Deploy Relay" modal. | | `NEXT_PUBLIC_DENO_RELAY_ENABLED` | `true` | `src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx` | Set to `false` to hide the Deno Deploy relay option from the Proxy Pool tab. | | `SEARCH_CACHE_TTL_MS` | `300000` (5 min) | `open-sse/services/searchCache.ts` | TTL for search API (Perplexity, Brave, etc.) response caching. | -| `ALLOW_MULTI_CONNECTIONS_PER_COMPAT_NODE` | `false` | `src/app/api/providers/route.ts` | Allow multiple simultaneous connections per OpenAI-compatible provider. | | `ENABLE_CC_COMPATIBLE_PROVIDER` | `false` | `src/shared/utils/featureFlags.ts` | Reveal the experimental CC-compatible provider UI for Claude Code-only relays. | | `NINEROUTER_HOST` | `127.0.0.1` | `open-sse/executors/ninerouter.ts` | Override the host where the embedded 9router instance listens. | | `NINEROUTER_PORT` | `20130` | `open-sse/executors/ninerouter.ts` | Override the port where the embedded 9router instance listens. | diff --git a/docs/reference/FEATURE_FLAGS.md b/docs/reference/FEATURE_FLAGS.md index 8b46db649b..a7afb802e0 100644 --- a/docs/reference/FEATURE_FLAGS.md +++ b/docs/reference/FEATURE_FLAGS.md @@ -46,7 +46,7 @@ A boolean flag is considered **enabled** when its effective value is `"true"`, ## Flag Catalog -38 flags across 6 categories. **Default** is the definition default — the value +37 flags across 6 categories. **Default** is the definition default — the value used when neither a DB override nor an environment variable is present. ### Security (7) @@ -76,13 +76,12 @@ used when neither a DB override nor an environment variable is present. | `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` | boolean | `true` | | Allow adding/validating providers on local/private addresses (127.0.0.1, localhost, LAN). On by default (local-first); disable for strict public-only blocking. Cloud-metadata stays blocked. | | `ENABLE_CC_COMPATIBLE_PROVIDER` | boolean | `false` | ✓ | Enable Claude Code compatible provider mode. | -### Policies (4) +### Policies (3) | Key | Type | Default | Restart | Description | | ----------------------------------------- | ------- | ---------- | ------- | ---------------------------------------------------------------------- | | `TOOL_POLICY_MODE` | enum | `disabled` | | Tool-use policy enforcement mode. Values: `disabled`, `warn`, `block`. | | `RATE_LIMIT_AUTO_ENABLE` | boolean | `false` | | Automatically enable rate limiting based on usage patterns. | -| `ALLOW_MULTI_CONNECTIONS_PER_COMPAT_NODE` | boolean | `false` | ✓ | Allow multiple connections per compatibility node. | | `DISABLE_CONTEXT_WINDOW_CHECKS` | boolean | `false` | | Skip OmniRoute's local context-window / max-input-token check for direct single-model requests. Upstream limits still apply. | ### Runtime (11) diff --git a/src/app/api/providers/route.ts b/src/app/api/providers/route.ts index f1825674c2..bd7451f32c 100644 --- a/src/app/api/providers/route.ts +++ b/src/app/api/providers/route.ts @@ -138,8 +138,6 @@ export async function POST(request: Request) { let providerSpecificData = incomingPsd || null; let persistedApiKey = apiKey; - const allowMultipleCompatibleConnections = - process.env.ALLOW_MULTI_CONNECTIONS_PER_COMPAT_NODE === "true"; if (provider === "qoder") { providerSpecificData = normalizeQoderPatProviderData(providerSpecificData || {}); diff --git a/src/shared/constants/featureFlagDefinitions.ts b/src/shared/constants/featureFlagDefinitions.ts index afd69f8bf3..9775073c57 100644 --- a/src/shared/constants/featureFlagDefinitions.ts +++ b/src/shared/constants/featureFlagDefinitions.ts @@ -272,17 +272,6 @@ export const FEATURE_FLAG_DEFINITIONS: FeatureFlagDefinition[] = [ requiresRestart: false, warningLevel: "info", }, - { - key: "ALLOW_MULTI_CONNECTIONS_PER_COMPAT_NODE", - label: "Multi Connections per Compat Node", - description: "Allow multiple connections per compatibility node", - descriptionI18nKey: "featureFlagAllowMultiConnectionsPerCompatNodeDescription", - category: "policies", - defaultValue: "false", - type: "boolean", - requiresRestart: true, - warningLevel: "info", - }, { key: "DISABLE_CONTEXT_WINDOW_CHECKS", label: "Disable Context Window Checks", diff --git a/tests/unit/feature-flags-settings.test.ts b/tests/unit/feature-flags-settings.test.ts index b9b8cba0a8..0feaeeabab 100644 --- a/tests/unit/feature-flags-settings.test.ts +++ b/tests/unit/feature-flags-settings.test.ts @@ -32,7 +32,7 @@ const { } = await import("../../src/shared/utils/featureFlags.ts"); // #10889 added OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN, bumping the count from 51 to 52. -const EXPECTED_FEATURE_FLAG_COUNT = 52; +const EXPECTED_FEATURE_FLAG_COUNT = 51; // ────────────────────────────────────────────────────── // Test group 1 — Flag definitions registry