Skip to content

Commit 1aca83a

Browse files
committed
fix(lmstudio): isolate embedding alias credentials
1 parent 105419a commit 1aca83a

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

extensions/lmstudio/src/embedding-provider.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ describe("createLmstudioEmbeddingProvider preload context length", () => {
8585
beforeEach(() => {
8686
ensureLmstudioModelLoadedMock.mockClear();
8787
createRemoteEmbeddingProviderMock.mockClear();
88+
resolveLmstudioProviderHeadersMock.mockClear();
89+
resolveLmstudioRuntimeApiKeyMock.mockClear();
8890
});
8991

9092
it.each([
@@ -165,6 +167,7 @@ describe("createLmstudioEmbeddingProvider preload context length", () => {
165167
expect(ensureLmstudioModelLoadedMock).toHaveBeenCalledWith(
166168
expect.objectContaining({ apiKey: "spark-key" }),
167169
);
170+
expect(resolveLmstudioRuntimeApiKeyMock).not.toHaveBeenCalled();
168171
expect(acquireLocalService).toHaveBeenCalledTimes(2);
169172
expect(acquireLocalService).toHaveBeenNthCalledWith(
170173
1,
@@ -241,6 +244,7 @@ describe("createLmstudioEmbeddingProvider preload context length", () => {
241244

242245
await createLmstudioEmbeddingProvider(options);
243246

247+
expect(resolveLmstudioRuntimeApiKeyMock).not.toHaveBeenCalled();
244248
expect(acquireLocalService).toHaveBeenCalledWith(
245249
{
246250
providerId: "lmstudio-spark",

extensions/lmstudio/src/embedding-provider.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,14 @@ async function resolveLmstudioApiKey(
7575
selectedProviderId && selectedProviderId !== LMSTUDIO_PROVIDER_ID
7676
? options.config.models?.providers?.[selectedProviderId]?.apiKey
7777
: undefined;
78-
if (selectedProviderId && selectedApiKey !== undefined && selectedApiKey !== null) {
79-
return await resolveLmstudioConfiguredApiKeyForProvider({
80-
providerId: selectedProviderId,
81-
config: options.config,
82-
env: process.env,
83-
});
78+
if (selectedProviderId && selectedProviderId !== LMSTUDIO_PROVIDER_ID) {
79+
return selectedApiKey === undefined || selectedApiKey === null
80+
? undefined
81+
: await resolveLmstudioConfiguredApiKeyForProvider({
82+
providerId: selectedProviderId,
83+
config: options.config,
84+
env: process.env,
85+
});
8486
}
8587
try {
8688
return await resolveLmstudioRuntimeApiKey({

0 commit comments

Comments
 (0)