circle-ir-ai 2.3.0 → 2.4.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.
- package/CHANGELOG.md +22 -0
- package/dist/llm/config.d.ts.map +1 -1
- package/dist/llm/config.js +10 -3
- package/dist/llm/config.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,28 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.4.0] - 2026-04-30
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **#15: Configurable per-call LLM timeout via `LLM_TIMEOUT_MS` env
|
|
13
|
+
var.** Previously per-phase timeouts were hard-coded to 60s. Slow
|
|
14
|
+
local models (DeepSeek-R1 32B at ~3-10 tok/s) routinely hit the
|
|
15
|
+
60s ceiling; large prompts can take 90s+. Fast cloud models could
|
|
16
|
+
benefit from a tighter ceiling for fail-fast iteration. The new
|
|
17
|
+
env var overrides all three phase timeouts (enrichment,
|
|
18
|
+
verification, componentEnrichment) when set.
|
|
19
|
+
|
|
20
|
+
Default behavior unchanged (still 60s when unset).
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
export LLM_TIMEOUT_MS=180000 # 3 minutes for slow local models
|
|
24
|
+
export LLM_TIMEOUT_MS=15000 # 15s fail-fast for fast cloud models
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
cognium-ai exposes this via the new `--llm-timeout <seconds>` CLI
|
|
28
|
+
flag.
|
|
29
|
+
|
|
8
30
|
## [2.3.0] - 2026-04-30
|
|
9
31
|
|
|
10
32
|
### Added
|
package/dist/llm/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE;QACN,UAAU,EAAE,WAAW,CAAC;QACxB,YAAY,EAAE,WAAW,CAAC;QAC1B,mBAAmB,EAAE,WAAW,CAAC;KAClC,CAAC;IAGF,UAAU,EAAE;QACV,wBAAwB,EAAE,OAAO,CAAC;QAClC,qBAAqB,EAAE,OAAO,CAAC;QAC/B,wBAAwB,EAAE,OAAO,CAAC;QAClC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IAGF,YAAY,EAAE;QACZ,mBAAmB,EAAE,OAAO,CAAC;QAC7B,qBAAqB,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE;QACN,UAAU,EAAE,WAAW,CAAC;QACxB,YAAY,EAAE,WAAW,CAAC;QAC1B,mBAAmB,EAAE,WAAW,CAAC;KAClC,CAAC;IAGF,UAAU,EAAE;QACV,wBAAwB,EAAE,OAAO,CAAC;QAClC,qBAAqB,EAAE,OAAO,CAAC;QAC/B,wBAAwB,EAAE,OAAO,CAAC;QAClC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IAGF,YAAY,EAAE;QACZ,mBAAmB,EAAE,OAAO,CAAC;QAC7B,qBAAqB,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CA8D/C;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAiC,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAazD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CA0BzE"}
|
package/dist/llm/config.js
CHANGED
|
@@ -14,6 +14,13 @@ export function getDefaultLLMConfig() {
|
|
|
14
14
|
baseUrl.includes('127.0.0.1:4000') ||
|
|
15
15
|
baseUrl.includes('llmproxy.xus.one');
|
|
16
16
|
const defaultApiKey = isCogniumProxy ? 'cognium-proxy' : '';
|
|
17
|
+
// #15: per-call timeout is configurable via LLM_TIMEOUT_MS. When set,
|
|
18
|
+
// it overrides the per-phase defaults — useful for slow local models
|
|
19
|
+
// (raise it) or for fast-fail iteration (lower it).
|
|
20
|
+
const envTimeoutMs = parseInt(process.env.LLM_TIMEOUT_MS || '', 10);
|
|
21
|
+
const timeoutMs = Number.isFinite(envTimeoutMs) && envTimeoutMs > 0
|
|
22
|
+
? envTimeoutMs
|
|
23
|
+
: 60000;
|
|
17
24
|
return {
|
|
18
25
|
baseUrl,
|
|
19
26
|
apiKey: process.env.LLM_API_KEY || defaultApiKey,
|
|
@@ -23,7 +30,7 @@ export function getDefaultLLMConfig() {
|
|
|
23
30
|
model: process.env.LLM_ENRICHMENT_MODEL || 'cognium/gpt-oss-120b',
|
|
24
31
|
temperature: 0.1,
|
|
25
32
|
maxTokens: 8000,
|
|
26
|
-
timeout:
|
|
33
|
+
timeout: timeoutMs,
|
|
27
34
|
retries: 2, // Option 2: Increased to 2 (improve success rate)
|
|
28
35
|
},
|
|
29
36
|
// Phase 2: Discovery - Free model for vulnerability discovery (verification mode removed)
|
|
@@ -31,7 +38,7 @@ export function getDefaultLLMConfig() {
|
|
|
31
38
|
model: process.env.LLM_VERIFICATION_MODEL || 'cognium/gpt-oss-120b',
|
|
32
39
|
temperature: 0.0,
|
|
33
40
|
maxTokens: 8000,
|
|
34
|
-
timeout:
|
|
41
|
+
timeout: timeoutMs,
|
|
35
42
|
retries: 1,
|
|
36
43
|
},
|
|
37
44
|
// Component Enrichment - Original model with improved timeout
|
|
@@ -39,7 +46,7 @@ export function getDefaultLLMConfig() {
|
|
|
39
46
|
model: process.env.LLM_COMPONENT_MODEL || 'cognium/gpt-oss-120b',
|
|
40
47
|
temperature: 0.1,
|
|
41
48
|
maxTokens: 8000, // Restored to match enrichment phase
|
|
42
|
-
timeout:
|
|
49
|
+
timeout: timeoutMs,
|
|
43
50
|
retries: 0, // IMPROVED: No retries - fail fast to static fallback (was 1)
|
|
44
51
|
},
|
|
45
52
|
},
|
package/dist/llm/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0CH;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0BAA0B,CAAC;IACvE,sEAAsE;IACtE,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,OAAO;QACL,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa;QAEhD,MAAM,EAAE;YACN,mEAAmE;YACnE,UAAU,EAAE;gBACV,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,sBAAsB;gBACjE,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"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"}
|