feat: add setLocalClient and getLocalProviderName to ModelRouter
This commit is contained in:
@@ -141,3 +141,24 @@ describe('ModelRouter streaming', () => {
|
||||
expect(chunks).toEqual(['Fallback']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('ModelRouter local client switching', () => {
|
||||
it('allows setting a new local client', () => {
|
||||
const mockDefault = { chat: vi.fn() } as unknown as ModelClient;
|
||||
const mockLocal1 = { chat: vi.fn() } as unknown as ModelClient;
|
||||
const mockLocal2 = { chat: vi.fn() } as unknown as ModelClient;
|
||||
|
||||
const router = new ModelRouter({
|
||||
default: mockDefault,
|
||||
local: mockLocal1,
|
||||
fallbackChain: [],
|
||||
});
|
||||
|
||||
expect(router.getLocalProviderName()).toBe(undefined);
|
||||
|
||||
router.setLocalClient(mockLocal2, 'llamacpp');
|
||||
|
||||
expect(router.getLocalProviderName()).toBe('llamacpp');
|
||||
expect(router.getClient('local')).toBe(mockLocal2);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user