mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-24 16:12:23 +03:00
The dashboard stores LM Studio connections under the hyphenated provider id "lm-studio", but the embedding registry keys the provider as "lmstudio" with no alias. As a result, "lm-studio/<model>" embedding requests failed with a 400 unknown-provider error, and "lmstudio/<model>" requests always hit the hardcoded http://localhost:1234/v1/embeddings endpoint, ignoring the baseUrl of the configured connection. Mirror the ollama-local pattern from #2824/#9225: - embeddingRegistry: add "lm-studio" -> "lmstudio" to EMBEDDING_PROVIDER_ALIASES (registry key unchanged so existing "lmstudio/<model>" clients keep working). - embeddings service: extend the optional keyless-connection hydration to lmstudio; getProviderCredentials("lmstudio") already resolves the "lm-studio" connection via the provider search pool/alias, and a selection/rate-limit failure still proceeds without credentials. - embeddings handler: apply the same baseUrl override + normalization (strip trailing slashes and /v1, /v1/chat/completions, /v1/embeddings suffixes, then rebuild <host>/v1/embeddings) to lmstudio, keeping the static localhost fallback when no connection or empty baseUrl. TDD: tests/unit/lmstudio-connection-baseurl-11233.test.ts failed on the alias, override and service-hydration asserts before the fix and passes after; ollama-local (#2824) and lmstudio registry (#7601) sibling tests remain green.