agentxchain 2.155.66 → 2.155.67
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/package.json +1 -1
- package/src/lib/continuous-run.js +11 -1
package/package.json
CHANGED
|
@@ -61,6 +61,7 @@ import {
|
|
|
61
61
|
const CONTINUOUS_SESSION_PATH = '.agentxchain/continuous-session.json';
|
|
62
62
|
const PRODUCTIVE_TIMEOUT_RETRY_MAX_PER_RUN = 1;
|
|
63
63
|
const PRODUCTIVE_TIMEOUT_RETRY_DEADLINE_MINUTES = 60;
|
|
64
|
+
const PROVIDER_REQUEST_TIMEOUT_RE = /request timed out|timed out waiting for (?:provider|api)|provider request timed out/i;
|
|
64
65
|
|
|
65
66
|
function getRoadmapReplenishmentTriageHints(root) {
|
|
66
67
|
const context = loadProjectContext(root);
|
|
@@ -537,7 +538,16 @@ function findPrimaryProductiveTimeoutTurn(root, state) {
|
|
|
537
538
|
...(Array.isArray(turn.last_rejection?.validation_errors) ? turn.last_rejection.validation_errors : []),
|
|
538
539
|
].join('\n');
|
|
539
540
|
const looksDeadlineKilled = /code 143|dispatch timed out|timed out/i.test(reason);
|
|
540
|
-
|
|
541
|
+
let looksProviderTimedOut = false;
|
|
542
|
+
const logPath = join(root, getDispatchLogPath(candidateId));
|
|
543
|
+
if (!looksDeadlineKilled && existsSync(logPath)) {
|
|
544
|
+
try {
|
|
545
|
+
looksProviderTimedOut = PROVIDER_REQUEST_TIMEOUT_RE.test(readFileSync(logPath, 'utf8'));
|
|
546
|
+
} catch {
|
|
547
|
+
looksProviderTimedOut = false;
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
if (!looksDeadlineKilled && !looksProviderTimedOut) continue;
|
|
541
551
|
if (!turn.first_output_at) continue;
|
|
542
552
|
const stagingPath = join(root, getTurnStagingResultPath(candidateId));
|
|
543
553
|
if (existsSync(stagingPath)) continue;
|