@maintainabilityai/research-runner 0.1.7 → 0.1.8

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.
@@ -23,8 +23,12 @@ async function callAnthropic(opts) {
23
23
  throw new Error('ANTHROPIC_API_KEY missing — set the env var or pass apiKey directly');
24
24
  }
25
25
  const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
26
- // Match github-models default 8K-token synth responses can run 60–90s.
27
- const timeoutMs = opts.timeoutMs ?? 120_000;
26
+ // Sonnet at ~50–80 tok/s × 8K output = 100–160s, plus prompt-processing.
27
+ // 120s aborted real synth runs mid-stream; 240s gives headroom for
28
+ // slow days. (Real fix is streaming so the connection stays alive,
29
+ // but the cost/benefit isn't worth it yet — single-shot is fine
30
+ // until we hit 240s legitimately.)
31
+ const timeoutMs = opts.timeoutMs ?? 240_000;
28
32
  const controller = new AbortController();
29
33
  const timer = setTimeout(() => controller.abort(), timeoutMs);
30
34
  let response;
@@ -25,10 +25,13 @@ async function callGitHubModels(opts) {
25
25
  }
26
26
  const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
27
27
  const endpoint = opts.endpoint ?? DEFAULT_ENDPOINT;
28
- // Synthesis prompts can produce 8K-token responses (and the "custom"
29
- // tier models like gpt-5-mini can return much more), which routinely
30
- // take 60120s. Default to 120s so we don't abort mid-stream.
31
- const timeoutMs = opts.timeoutMs ?? 120_000;
28
+ // Synthesis prompts can produce 8K+ output tokens (and "custom"-tier
29
+ // models like gpt-5-chat can return much more), which routinely take
30
+ // 100180s. Match the Anthropic client at 240s for headroom on slow
31
+ // days. (Real fix is streaming so the connection stays alive, but
32
+ // the cost/benefit isn't worth it yet — single-shot is fine until
33
+ // we hit 240s legitimately.)
34
+ const timeoutMs = opts.timeoutMs ?? 240_000;
32
35
  const controller = new AbortController();
33
36
  const timer = setTimeout(() => controller.abort(), timeoutMs);
34
37
  const messages = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maintainabilityai/research-runner",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Research + PRD agent runner — orchestrates the Archeologist and PRD pipelines for the MaintainabilityAI governance mesh",
5
5
  "license": "MIT",
6
6
  "author": "MaintainabilityAI",