08e9cc476c
BaseEmbedderConfig baked "http://localhost:1234/v1" into the lmstudio_base_url default, so the attribute was never falsy and the embedder had no way to tell "unset" from "explicitly localhost". Setting LMSTUDIO_BASE_URL had no effect. The default moves to the provider, which now resolves explicit config, then LMSTUDIO_BASE_URL, then the localhost default, matching how the OpenAI embedder already reads OPENAI_BASE_URL. The resolved value is written back to config.lmstudio_base_url, so the attribute still reads the same after construction. Closes #6692