mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-18 10:14:34 +00:00
fix(cursor): fallback when requested model is unavailable
- resolve request model against current available catalog - choose safe default when configured default id is not present - add tests and docs for daemon request-model fallback behavior
This commit is contained in:
1 parent
9031e5a085
commit
fae8716900
4 files changed
+82
-11
No files matched your search
@@ -15,6 +15,7 @@ import {
|
||||
fetchModelsFromCursorApi,
|
||||
getModelsForDaemon,
|
||||
clearCursorModelsCache,
|
||||
resolveCursorRequestModel,
|
||||
} from '../../../src/cursor/cursor-models';
|
||||
|
||||
describe('DEFAULT_CURSOR_MODELS', () => {
|
||||
@@ -50,6 +51,26 @@ describe('getDefaultModel', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('resolveCursorRequestModel', () => {
|
||||
it('keeps requested model when present in available models', () => {
|
||||
const resolved = resolveCursorRequestModel('claude-4.6-opus', DEFAULT_CURSOR_MODELS);
|
||||
expect(resolved).toBe('claude-4.6-opus');
|
||||
});
|
||||
|
||||
it('falls back to default when requested model is unavailable', () => {
|
||||
const resolved = resolveCursorRequestModel('non-existent-model', DEFAULT_CURSOR_MODELS);
|
||||
expect(resolved).toBe(DEFAULT_CURSOR_MODEL);
|
||||
});
|
||||
|
||||
it('falls back to first available model when default id is absent from available set', () => {
|
||||
const resolved = resolveCursorRequestModel('non-existent-model', [
|
||||
{ id: 'fallback-1', name: 'Fallback 1', provider: 'openai' },
|
||||
{ id: 'fallback-2', name: 'Fallback 2', provider: 'anthropic' },
|
||||
]);
|
||||
expect(resolved).toBe('fallback-1');
|
||||
});
|
||||
});
|
||||
|
||||
describe('detectProvider', () => {
|
||||
it('detects anthropic models', () => {
|
||||
expect(detectProvider('claude-4.5-sonnet')).toBe('anthropic');
|
||||
|
||||
Reference in new issue
Block a user