forked from a-ghorbani/pocketpal-ai
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodelStore.ts
41 lines (40 loc) · 1.13 KB
/
modelStore.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import {modelsList} from '../../jest/fixtures/models';
export const mockModelStore = {
models: modelsList,
n_context: 1024,
MIN_CONTEXT_SIZE: 200,
useAutoRelease: true,
useMetal: false,
n_gpu_layers: 50,
activeModelId: undefined as string | undefined,
setNContext: jest.fn(),
updateUseAutoRelease: jest.fn(),
updateUseMetal: jest.fn(),
setNGPULayers: jest.fn(),
refreshDownloadStatuses: jest.fn(),
addLocalModel: jest.fn(),
resetModels: jest.fn(),
initContext: jest.fn().mockResolvedValue(Promise.resolve()),
checkSpaceAndDownload: jest.fn(),
getDownloadProgress: jest.fn(),
manualReleaseContext: jest.fn(),
setActiveModel(modelId: string) {
this.activeModelId = modelId;
},
};
Object.defineProperty(mockModelStore, 'lastUsedModel', {
get: jest.fn(() => undefined),
configurable: true,
});
Object.defineProperty(mockModelStore, 'isDownloading', {
get: jest.fn(() => () => false),
configurable: true,
});
Object.defineProperty(mockModelStore, 'activeModel', {
get: jest.fn(() =>
mockModelStore.models.find(
model => model.id === mockModelStore.activeModelId,
),
),
configurable: true,
});