pi-llama-cpp 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,29 +1,36 @@
1
- import { beforeEach, describe, expect, it } from "vitest";
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
2
  import { POLLING_TIMEOUT, SERVER_TIMEOUT } from "../src/constants";
3
3
  import { ServerStatus } from "../src/enums/serverStatus";
4
+ import type { LlamaSettingsManager } from "../src/managers/settings";
4
5
  import { Server } from "../src/server";
5
- import { createMockServer, mockRpc } from "./mocks";
6
+ import { createMockServer, makeSettingsStub, mockRpc } from "./mocks";
7
+
8
+ // Injected into every real Server below; fresh per test so per-case
9
+ // overrides never leak. The Server constructor resolves the API key eagerly
10
+ // (ApiClient built there) — the stub's placeholder key is never consumed.
11
+ let settings: LlamaSettingsManager;
6
12
 
7
13
  beforeEach(() => {
8
14
  mockRpc.mockClear();
15
+ settings = makeSettingsStub();
9
16
  });
10
17
 
11
18
  describe("Server providerId", () => {
12
19
  it("should generate a unique provider ID from baseUrl", () => {
13
- const server = new Server("http://127.0.0.1:8080");
20
+ const server = new Server(settings, { baseUrl: "http://127.0.0.1:8080" });
14
21
  expect(server.providerId).toBe("llama-server=http://127.0.0.1:8080");
15
22
  });
16
23
 
17
24
  it("should generate different IDs for different baseUrls", () => {
18
- const server1 = new Server("http://127.0.0.1:8080");
19
- const server2 = new Server("http://127.0.0.1:8081");
25
+ const server1 = new Server(settings, { baseUrl: "http://127.0.0.1:8080" });
26
+ const server2 = new Server(settings, { baseUrl: "http://127.0.0.1:8081" });
20
27
  expect(server1.providerId).not.toBe(server2.providerId);
21
28
  });
22
29
  });
23
30
 
24
31
  describe("Server providerName", () => {
25
32
  it("should generate a human-readable provider name", () => {
26
- const server = new Server("http://127.0.0.1:8080");
33
+ const server = new Server(settings, { baseUrl: "http://127.0.0.1:8080" });
27
34
  expect(server.providerName).toBe("Llama.cpp (http://127.0.0.1:8080)");
28
35
  });
29
36
  });
@@ -148,46 +155,41 @@ describe("Server postRequest", () => {
148
155
  });
149
156
 
150
157
  describe("Server timeouts", () => {
151
- it("should use default timeouts when not provided", () => {
152
- const server = new Server("http://127.0.0.1:8080");
158
+ it("should resolve timeouts from the injected settings", () => {
159
+ const server = new Server(settings, { baseUrl: "http://127.0.0.1:8080" });
153
160
 
154
161
  expect(server.serverTimeout).toBe(SERVER_TIMEOUT);
155
162
  expect(server.pollingTimeout).toBe(POLLING_TIMEOUT);
156
163
  });
157
164
 
158
- it("should accept custom serverTimeout", () => {
159
- const server = new Server(
160
- "http://127.0.0.1:8080",
161
- undefined,
162
- undefined,
163
- 3000,
164
- );
165
+ it("should return resolved custom values", () => {
166
+ vi.mocked(settings.resolveTimeouts).mockReturnValue({
167
+ pollingTimeout: 90000,
168
+ serverTimeout: 2000,
169
+ });
165
170
 
166
- expect(server.serverTimeout).toBe(3000);
171
+ const server = new Server(settings, {
172
+ baseUrl: "http://127.0.0.1:8080",
173
+ customId: "my-id",
174
+ customName: "My Server",
175
+ });
176
+
177
+ expect(server.pollingTimeout).toBe(90000);
167
178
  });
168
179
 
169
- it("should accept custom pollingTimeout", () => {
170
- const server = new Server(
171
- "http://127.0.0.1:8080",
172
- undefined,
173
- undefined,
174
- 1000,
175
- 120000,
176
- );
180
+ it("should read timeouts live from settings", () => {
181
+ const server = new Server(settings, { baseUrl: "http://127.0.0.1:8080" });
177
182
 
183
+ vi.mocked(settings.resolveTimeouts).mockReturnValue({
184
+ pollingTimeout: 120000,
185
+ serverTimeout: 3000,
186
+ });
178
187
  expect(server.pollingTimeout).toBe(120000);
179
- });
180
188
 
181
- it("should accept both custom timeouts", () => {
182
- const server = new Server(
183
- "http://127.0.0.1:8080",
184
- "my-id",
185
- "My Server",
186
- 2000,
187
- 90000,
188
- );
189
-
190
- expect(server.serverTimeout).toBe(2000);
189
+ vi.mocked(settings.resolveTimeouts).mockReturnValue({
190
+ pollingTimeout: 90000,
191
+ serverTimeout: 2000,
192
+ });
191
193
  expect(server.pollingTimeout).toBe(90000);
192
194
  });
193
195
  });