@sean.holung/minicode 0.3.5 → 0.3.7

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.
Files changed (47) hide show
  1. package/README.md +22 -45
  2. package/dist/scripts/run-benchmarks.js +1 -0
  3. package/dist/src/agent/config.js +53 -66
  4. package/dist/src/agent/editable-config.js +56 -58
  5. package/dist/src/agent/home-env.js +74 -0
  6. package/dist/src/cli/config-slash-command.js +15 -13
  7. package/dist/src/serve/agent-bridge.js +87 -28
  8. package/dist/src/serve/mcp-server.js +19 -13
  9. package/dist/src/serve/server.js +190 -4
  10. package/dist/src/session/session-preview.js +14 -0
  11. package/dist/src/shared/graph-search.js +80 -0
  12. package/dist/src/shared/graph-selection.js +40 -0
  13. package/dist/src/shared/symbol-search.js +156 -0
  14. package/dist/src/tools/search-code-map.js +27 -35
  15. package/dist/src/web/app.js +582 -64
  16. package/dist/src/web/index.html +84 -6
  17. package/dist/src/web/style.css +256 -1
  18. package/dist/tests/config-api.test.js +10 -5
  19. package/dist/tests/config-integration.test.js +130 -56
  20. package/dist/tests/config-slash-command.test.js +12 -11
  21. package/dist/tests/config.test.js +21 -4
  22. package/dist/tests/editable-config.test.js +15 -12
  23. package/dist/tests/graph-onboarding.test.js +22 -1
  24. package/dist/tests/graph-search.test.js +66 -0
  25. package/dist/tests/graph-selection.test.js +58 -0
  26. package/dist/tests/home-env.test.js +56 -0
  27. package/dist/tests/mcp-and-plugin.test.js +3 -0
  28. package/dist/tests/search-code-map.test.js +9 -0
  29. package/dist/tests/serve.integration.test.js +255 -6
  30. package/dist/tests/session-preview.test.js +56 -0
  31. package/dist/tests/session-ui.test.js +2 -0
  32. package/dist/tests/settings-ui.test.js +18 -0
  33. package/dist/tests/system-prompt.test.js +1 -0
  34. package/dist/tests/test-utils.js +1 -0
  35. package/node_modules/@minicode/agent-sdk/dist/src/agent/types.d.ts +1 -0
  36. package/node_modules/@minicode/agent-sdk/dist/src/agent/types.d.ts.map +1 -1
  37. package/node_modules/@minicode/agent-sdk/dist/src/model/client.d.ts +8 -1
  38. package/node_modules/@minicode/agent-sdk/dist/src/model/client.d.ts.map +1 -1
  39. package/node_modules/@minicode/agent-sdk/dist/src/model/client.js +143 -27
  40. package/node_modules/@minicode/agent-sdk/dist/src/model/client.js.map +1 -1
  41. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-openai.test.js +87 -0
  42. package/node_modules/@minicode/agent-sdk/dist/tests/model-client-openai.test.js.map +1 -1
  43. package/node_modules/@minicode/agent-sdk/dist/tests/test-utils.d.ts.map +1 -1
  44. package/node_modules/@minicode/agent-sdk/dist/tests/test-utils.js +1 -0
  45. package/node_modules/@minicode/agent-sdk/dist/tests/test-utils.js.map +1 -1
  46. package/node_modules/@minicode/agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  47. package/package.json +1 -1
@@ -1,7 +1,12 @@
1
+ import Anthropic from "@anthropic-ai/sdk";
1
2
  import type { AgentConfig, ModelClient, ModelInfo, ModelResponse, ReasoningEffort, SessionMessage, ToolSchema } from "../agent/types.js";
2
3
  export declare class AnthropicModelClient implements ModelClient {
3
4
  private readonly client;
4
- constructor(apiKey?: string | undefined);
5
+ private readonly timeoutSeconds;
6
+ constructor(apiKey?: string | undefined, options?: {
7
+ timeoutSeconds?: number;
8
+ client?: Anthropic;
9
+ });
5
10
  chat(params: {
6
11
  model: string;
7
12
  system: string;
@@ -18,10 +23,12 @@ export declare class OpenAICompatibleModelClient implements ModelClient {
18
23
  private readonly baseUrl;
19
24
  private readonly apiKey;
20
25
  private readonly fetchImpl;
26
+ private readonly timeoutSeconds;
21
27
  constructor(params?: {
22
28
  baseUrl?: string;
23
29
  apiKey?: string;
24
30
  fetchImpl?: typeof fetch;
31
+ timeoutSeconds?: number;
25
32
  });
26
33
  chat(params: {
27
34
  model: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/model/client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EAEd,UAAU,EACX,MAAM,mBAAmB,CAAC;AA0S3B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,MAAM,qBAAgC;IAU5C,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmDpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAYzC;AA4GD,qBAAa,2BAA4B,YAAW,WAAW;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAE7B,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;KAC1B;IAaK,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoEpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAezC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAUlE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/model/client.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EAEd,UAAU,EACX,MAAM,mBAAmB,CAAC;AA8a3B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,MAAM,qBAAgC,EACtC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE;IAiBrD,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAYzC;AA4GD,qBAAa,2BAA4B,YAAW,WAAW;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAcK,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,aAAa,CAAC;IA2EpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAmBzC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAclE"}
@@ -1,6 +1,9 @@
1
1
  import process from "node:process";
2
2
  import { setTimeout as sleep } from "node:timers/promises";
3
3
  import Anthropic from "@anthropic-ai/sdk";
4
+ const DEFAULT_MODEL_START_TIMEOUT_SECONDS = 60;
5
+ const RETRY_ATTEMPTS = 3;
6
+ const RETRY_BASE_DELAY_MS = 500;
4
7
  function toAnthropicMessages(messages) {
5
8
  const converted = [];
6
9
  for (const message of messages) {
@@ -76,10 +79,52 @@ function parseResponse(response) {
76
79
  },
77
80
  };
78
81
  }
82
+ class ModelStartTimeoutError extends Error {
83
+ timeoutSeconds;
84
+ constructor(timeoutSeconds) {
85
+ super(`Model request did not start responding within ${timeoutSeconds}s.`);
86
+ this.name = "ModelStartTimeoutError";
87
+ this.timeoutSeconds = timeoutSeconds;
88
+ }
89
+ }
90
+ class OpenAICompatibleHttpError extends Error {
91
+ status;
92
+ bodyText;
93
+ constructor(status, bodyText) {
94
+ super(`OpenAI-compatible request failed (${status}): ${bodyText}`);
95
+ this.name = "OpenAICompatibleHttpError";
96
+ this.status = status;
97
+ this.bodyText = bodyText;
98
+ }
99
+ }
79
100
  function isAbortError(error) {
80
- return error instanceof Error && error.name === "AbortError";
101
+ return ((error instanceof Error && error.name === "AbortError") ||
102
+ error instanceof Anthropic.APIUserAbortError);
103
+ }
104
+ function isOpenAICompatibleNetworkError(error) {
105
+ return (error instanceof TypeError &&
106
+ /fetch failed|network|socket|timed out|econnreset|econnrefused|enotfound|eai_again|terminated|und_err/i.test(error.message));
107
+ }
108
+ function isRetryableOpenAICompatibleError(error) {
109
+ if (error instanceof ModelStartTimeoutError) {
110
+ return true;
111
+ }
112
+ if (error instanceof OpenAICompatibleHttpError) {
113
+ return (error.status === 408 ||
114
+ error.status === 429 ||
115
+ error.status >= 500);
116
+ }
117
+ return isOpenAICompatibleNetworkError(error);
118
+ }
119
+ function isRetryableAnthropicError(error) {
120
+ return (error instanceof ModelStartTimeoutError ||
121
+ error instanceof Anthropic.APIConnectionError ||
122
+ error instanceof Anthropic.APIConnectionTimeoutError ||
123
+ error instanceof Anthropic.RateLimitError ||
124
+ error instanceof Anthropic.InternalServerError);
81
125
  }
82
- async function withRetry(fn, attempts = 3) {
126
+ async function withRetry(fn, options = {}) {
127
+ const attempts = options.attempts ?? RETRY_ATTEMPTS;
83
128
  let lastError;
84
129
  for (let attempt = 1; attempt <= attempts; attempt += 1) {
85
130
  try {
@@ -90,15 +135,65 @@ async function withRetry(fn, attempts = 3) {
90
135
  if (isAbortError(error)) {
91
136
  throw error;
92
137
  }
138
+ if (options.shouldRetry && !options.shouldRetry(error)) {
139
+ throw error;
140
+ }
93
141
  if (attempt === attempts) {
94
142
  break;
95
143
  }
96
- const delayMs = 500 * 2 ** (attempt - 1);
144
+ const delayMs = RETRY_BASE_DELAY_MS * 2 ** (attempt - 1);
97
145
  await sleep(delayMs);
98
146
  }
99
147
  }
100
148
  throw lastError;
101
149
  }
150
+ function createTimeoutSignal(timeoutSeconds, parentSignal) {
151
+ const controller = new AbortController();
152
+ let timedOut = false;
153
+ let timeoutHandle;
154
+ const timeoutMs = timeoutSeconds * 1000;
155
+ const handleParentAbort = () => {
156
+ controller.abort(parentSignal?.reason);
157
+ };
158
+ if (parentSignal?.aborted) {
159
+ controller.abort(parentSignal.reason);
160
+ }
161
+ else if (parentSignal) {
162
+ parentSignal.addEventListener("abort", handleParentAbort, { once: true });
163
+ }
164
+ timeoutHandle = setTimeout(() => {
165
+ timedOut = true;
166
+ controller.abort(new ModelStartTimeoutError(timeoutSeconds));
167
+ }, timeoutMs);
168
+ return {
169
+ signal: controller.signal,
170
+ cleanup: () => {
171
+ if (timeoutHandle) {
172
+ clearTimeout(timeoutHandle);
173
+ }
174
+ parentSignal?.removeEventListener("abort", handleParentAbort);
175
+ },
176
+ didTimeout: () => timedOut,
177
+ };
178
+ }
179
+ async function withResponseStartTimeout(timeoutSeconds, parentSignal, fn) {
180
+ const timeoutState = createTimeoutSignal(timeoutSeconds, parentSignal);
181
+ try {
182
+ return await fn(timeoutState.signal);
183
+ }
184
+ catch (error) {
185
+ if (error instanceof ModelStartTimeoutError) {
186
+ throw error;
187
+ }
188
+ if (timeoutState.didTimeout() && isAbortError(error)) {
189
+ throw new ModelStartTimeoutError(timeoutSeconds);
190
+ }
191
+ throw error;
192
+ }
193
+ finally {
194
+ timeoutState.cleanup();
195
+ }
196
+ }
102
197
  function toOpenAICompatibleMessages(system, messages) {
103
198
  const converted = [
104
199
  {
@@ -209,11 +304,18 @@ function effortToBudgetFraction(effort) {
209
304
  }
210
305
  export class AnthropicModelClient {
211
306
  client;
212
- constructor(apiKey = process.env.ANTHROPIC_API_KEY) {
213
- if (!apiKey) {
307
+ timeoutSeconds;
308
+ constructor(apiKey = process.env.ANTHROPIC_API_KEY, options) {
309
+ if (!apiKey && !options?.client) {
214
310
  throw new Error("Missing ANTHROPIC_API_KEY. Set the environment variable or pass it to the constructor.");
215
311
  }
216
- this.client = new Anthropic({ apiKey });
312
+ this.timeoutSeconds = options?.timeoutSeconds ?? DEFAULT_MODEL_START_TIMEOUT_SECONDS;
313
+ this.client =
314
+ options?.client ??
315
+ new Anthropic({
316
+ apiKey,
317
+ maxRetries: 0,
318
+ });
217
319
  }
218
320
  async chat(params) {
219
321
  const baseParams = {
@@ -233,25 +335,34 @@ export class AnthropicModelClient {
233
335
  }
234
336
  : {};
235
337
  const requestParams = { ...baseParams, ...thinkingParam };
236
- if (params.onStream) {
237
- const onStream = params.onStream;
238
- return withRetry(async () => {
239
- const stream = this.client.messages.stream(requestParams);
240
- if (params.signal) {
241
- params.signal.addEventListener("abort", () => stream.abort(), { once: true });
242
- }
338
+ const requestOptions = params.signal ? { signal: params.signal } : undefined;
339
+ return withRetry(async () => {
340
+ const stream = this.client.messages.stream(requestParams, requestOptions);
341
+ if (params.onStream) {
243
342
  stream.on("text", (text) => {
244
- onStream(text);
343
+ params.onStream?.(text);
245
344
  });
246
- const finalMessage = await stream.finalMessage();
247
- return parseResponse(finalMessage);
345
+ }
346
+ await withResponseStartTimeout(this.timeoutSeconds, params.signal, async (signal) => {
347
+ const abortStream = () => stream.abort();
348
+ if (signal.aborted) {
349
+ abortStream();
350
+ }
351
+ else {
352
+ signal.addEventListener("abort", abortStream, { once: true });
353
+ }
354
+ try {
355
+ await stream.emitted("connect");
356
+ }
357
+ finally {
358
+ signal.removeEventListener("abort", abortStream);
359
+ }
248
360
  });
249
- }
250
- const response = await withRetry(() => this.client.messages.create({
251
- ...requestParams,
252
- stream: false,
253
- }));
254
- return parseResponse(response);
361
+ const finalMessage = await stream.finalMessage();
362
+ return parseResponse(finalMessage);
363
+ }, {
364
+ shouldRetry: isRetryableAnthropicError,
365
+ });
255
366
  }
256
367
  async listModels() {
257
368
  try {
@@ -359,6 +470,7 @@ export class OpenAICompatibleModelClient {
359
470
  baseUrl;
360
471
  apiKey;
361
472
  fetchImpl;
473
+ timeoutSeconds;
362
474
  constructor(params) {
363
475
  this.baseUrl = normalizeBaseUrl(params?.baseUrl ?? process.env.OPENAI_BASE_URL ?? "http://localhost:1234/v1");
364
476
  const isOpenRouter = this.baseUrl.includes("openrouter");
@@ -368,6 +480,7 @@ export class OpenAICompatibleModelClient {
368
480
  ? process.env.OPENROUTER_API_KEY ?? process.env.OPENAI_API_KEY
369
481
  : process.env.OPENAI_API_KEY);
370
482
  this.fetchImpl = params?.fetchImpl ?? fetch;
483
+ this.timeoutSeconds = params?.timeoutSeconds ?? DEFAULT_MODEL_START_TIMEOUT_SECONDS;
371
484
  }
372
485
  async chat(params) {
373
486
  const headers = {
@@ -398,22 +511,24 @@ export class OpenAICompatibleModelClient {
398
511
  if (params.reasoningEffort) {
399
512
  requestBody.reasoning = { effort: params.reasoningEffort };
400
513
  }
401
- const response = await withRetry(async () => {
514
+ const response = await withRetry(() => withResponseStartTimeout(this.timeoutSeconds, params.signal, async (signal) => {
402
515
  const httpResponse = await this.fetchImpl(`${this.baseUrl}/chat/completions`, {
403
516
  method: "POST",
404
517
  headers,
405
518
  body: JSON.stringify(requestBody),
406
- ...(params.signal && { signal: params.signal }),
519
+ signal,
407
520
  });
408
521
  if (!httpResponse.ok) {
409
522
  const bodyText = await httpResponse.text();
410
- throw new Error(`OpenAI-compatible request failed (${httpResponse.status}): ${bodyText}`);
523
+ throw new OpenAICompatibleHttpError(httpResponse.status, bodyText || "No response body.");
411
524
  }
412
525
  if (useStream && httpResponse.body) {
413
526
  return parseOpenAIStream(httpResponse.body.getReader(), params.onStream);
414
527
  }
415
528
  const payload = (await httpResponse.json());
416
529
  return parseOpenAICompatibleResponse(payload);
530
+ }), {
531
+ shouldRetry: isRetryableOpenAICompatibleError,
417
532
  });
418
533
  return response;
419
534
  }
@@ -424,7 +539,7 @@ export class OpenAICompatibleModelClient {
424
539
  headers.Authorization = `Bearer ${apiKey}`;
425
540
  }
426
541
  try {
427
- const response = await this.fetchImpl(`${this.baseUrl}/models`, { headers });
542
+ const response = await withResponseStartTimeout(this.timeoutSeconds, undefined, (signal) => this.fetchImpl(`${this.baseUrl}/models`, { headers, signal }));
428
543
  if (!response.ok)
429
544
  return [];
430
545
  const payload = (await response.json());
@@ -439,11 +554,12 @@ export function createModelClient(config) {
439
554
  if (config.modelProvider === "openai-compatible") {
440
555
  return new OpenAICompatibleModelClient({
441
556
  baseUrl: config.openAiBaseUrl,
557
+ timeoutSeconds: config.modelTimeoutSeconds,
442
558
  ...(config.openAiApiKey !== undefined
443
559
  ? { apiKey: config.openAiApiKey }
444
560
  : {}),
445
561
  });
446
562
  }
447
- return new AnthropicModelClient();
563
+ return new AnthropicModelClient(process.env.ANTHROPIC_API_KEY, { timeoutSeconds: config.modelTimeoutSeconds });
448
564
  }
449
565
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/model/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/model/client.ts"],"names":[],"mappings":"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"}
@@ -143,6 +143,93 @@ test("openai-compatible client handles malformed tool arguments gracefully", asy
143
143
  assert.equal(response.toolCalls[0]?.name, "some_tool");
144
144
  assert.deepEqual(response.toolCalls[0]?.input, {});
145
145
  });
146
+ test("openai-compatible client retries transient HTTP failures", async () => {
147
+ let attempts = 0;
148
+ const fetchImpl = async () => {
149
+ attempts += 1;
150
+ if (attempts < 3) {
151
+ return new Response("temporary outage", { status: 503 });
152
+ }
153
+ return new Response(JSON.stringify({
154
+ choices: [
155
+ {
156
+ finish_reason: "stop",
157
+ message: {
158
+ content: "Recovered",
159
+ },
160
+ },
161
+ ],
162
+ usage: {
163
+ prompt_tokens: 8,
164
+ completion_tokens: 4,
165
+ },
166
+ }), { status: 200, headers: { "content-type": "application/json" } });
167
+ };
168
+ const client = new OpenAICompatibleModelClient({
169
+ baseUrl: "http://localhost:1234/v1",
170
+ fetchImpl,
171
+ timeoutSeconds: 1,
172
+ });
173
+ const response = await client.chat({
174
+ model: "test-model",
175
+ system: "Test",
176
+ messages: [{ role: "user", content: "Hi" }],
177
+ tools: [],
178
+ maxTokens: 64,
179
+ });
180
+ assert.equal(attempts, 3);
181
+ assert.equal(response.text, "Recovered");
182
+ });
183
+ test("openai-compatible client does not retry permanent HTTP failures", async () => {
184
+ let attempts = 0;
185
+ const fetchImpl = async () => {
186
+ attempts += 1;
187
+ return new Response("bad request", { status: 400 });
188
+ };
189
+ const client = new OpenAICompatibleModelClient({
190
+ baseUrl: "http://localhost:1234/v1",
191
+ fetchImpl,
192
+ timeoutSeconds: 1,
193
+ });
194
+ await assert.rejects(client.chat({
195
+ model: "test-model",
196
+ system: "Test",
197
+ messages: [{ role: "user", content: "Hi" }],
198
+ tools: [],
199
+ maxTokens: 64,
200
+ }), /400/);
201
+ assert.equal(attempts, 1);
202
+ });
203
+ test("openai-compatible client retries when the model never starts responding", async () => {
204
+ let attempts = 0;
205
+ const fetchImpl = async (_input, init) => {
206
+ attempts += 1;
207
+ const signal = init?.signal;
208
+ return await new Promise((_resolve, reject) => {
209
+ const rejectWithAbort = () => {
210
+ reject(signal?.reason ?? Object.assign(new Error("aborted"), { name: "AbortError" }));
211
+ };
212
+ if (signal?.aborted) {
213
+ rejectWithAbort();
214
+ return;
215
+ }
216
+ signal?.addEventListener("abort", rejectWithAbort, { once: true });
217
+ });
218
+ };
219
+ const client = new OpenAICompatibleModelClient({
220
+ baseUrl: "http://localhost:1234/v1",
221
+ fetchImpl,
222
+ timeoutSeconds: 0.01,
223
+ });
224
+ await assert.rejects(client.chat({
225
+ model: "test-model",
226
+ system: "Test",
227
+ messages: [{ role: "user", content: "Hi" }],
228
+ tools: [],
229
+ maxTokens: 64,
230
+ }), /did not start responding within 0.01s/);
231
+ assert.equal(attempts, 3);
232
+ });
146
233
  test("createModelClient returns openai-compatible client", () => {
147
234
  const config = {
148
235
  ...createTestAgentConfig("/tmp"),
@@ -1 +1 @@
1
- {"version":3,"file":"model-client-openai.test.js","sourceRoot":"","sources":["../../tests/model-client-openai.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-client-openai.test.js","sourceRoot":"","sources":["../../tests/model-client-openai.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../tests/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAiBxE"}
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../tests/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAkBxE"}
@@ -4,6 +4,7 @@ export function createTestAgentConfig(workspaceRoot) {
4
4
  model: "test-model",
5
5
  maxSteps: 10,
6
6
  maxTokens: 1024,
7
+ modelTimeoutSeconds: 60,
7
8
  maxContextTokens: 16_000,
8
9
  workspaceRoot,
9
10
  commandTimeoutMs: 2_000,
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../tests/test-utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,aAAqB;IACzD,OAAO;QACL,aAAa,EAAE,WAAW;QAC1B,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,MAAM;QACxB,aAAa;QACb,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE,KAAK;QACzB,kBAAkB,EAAE,EAAE;QACtB,mBAAmB,EAAE,CAAC;QACtB,kBAAkB,EAAE,MAAM;QAC1B,aAAa,EAAE,0BAA0B;KAC1C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../tests/test-utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,aAAqB;IACzD,OAAO;QACL,aAAa,EAAE,WAAW;QAC1B,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,EAAE;QACvB,gBAAgB,EAAE,MAAM;QACxB,aAAa;QACb,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE,KAAK;QACzB,kBAAkB,EAAE,EAAE;QACtB,mBAAmB,EAAE,CAAC;QACtB,kBAAkB,EAAE,MAAM;QAC1B,aAAa,EAAE,0BAA0B;KAC1C,CAAC;AACJ,CAAC"}