…lines 1–36 unchanged (36 lines)
37 unloadedCh: make(chan any, 1),
38 loaded: make(map[string]*runnerRef),
39 newServerFn: newMockServer(&mock),
40 getGpuFn: getGpuFn,
41 getSystemInfoFn: getSystemInfoFn,
42 waitForRecovery: 250 * time.Millisecond,
43 loadFn: func(req *LlmRequest, _ *ggml.GGML, _ ml.SystemInfo, _ []ml.DeviceInfo, _ bool) bool {
44 // add small delay to simulate loading
45 time.Sleep(time.Millisecond)
46 req.successCh <- &runnerRef{
47 llama: &mock,
48 }
49 return false
…lines 50–230 unchanged (181 lines)
231 unloadedCh: make(chan any, 1),
232 loaded: make(map[string]*runnerRef),
233 newServerFn: newMockServer(&mock),
234 getGpuFn: getGpuFn,
235 getSystemInfoFn: getSystemInfoFn,
236 waitForRecovery: 250 * time.Millisecond,
237 loadFn: func(req *LlmRequest, _ *ggml.GGML, _ ml.SystemInfo, _ []ml.DeviceInfo, _ bool) bool {
238 // add small delay to simulate loading
239 time.Sleep(time.Millisecond)
240 req.successCh <- &runnerRef{
241 llama: &mock,
242 }
243 return false
…lines 244–416 unchanged (173 lines)