fix(coding-agent): fixed python kernel startup hangs (#548)

* fix(coding-agent): fixed python kernel startup hangs

* fix(coding-agent): fixed startup timeout regressions

* fix(coding-agent): preserved startup cancellation typing
This commit is contained in:
zamo
2026-03-27 11:16:26 +01:00
committed by GitHub
parent c7989526c1
commit 0c4a7c4f89
11 changed files with 902 additions and 157 deletions
+3 -2
View File
@@ -180,7 +180,8 @@ export class PythonTool implements AgentTool<typeof pythonSchema> {
// Clamp to reasonable range: 1s - 600s (10 min)
const timeoutSec = clampTimeout("python", rawTimeout);
const timeoutMs = timeoutSec * 1000;
const timeoutSignal = AbortSignal.timeout(timeoutMs);
const deadlineMs = Date.now() + timeoutMs;
const timeoutSignal = AbortSignal.timeout(Math.max(0, deadlineMs - Date.now()));
const combinedSignal = signal ? AbortSignal.any([signal, timeoutSignal]) : timeoutSignal;
let outputSink: OutputSink | undefined;
let outputSummary: OutputSummary | undefined;
@@ -267,7 +268,7 @@ export class PythonTool implements AgentTool<typeof pythonSchema> {
const sessionId = sessionFile ? `session:${sessionFile}:cwd:${commandCwd}` : `cwd:${commandCwd}`;
const baseExecutorOptions: Omit<PythonExecutorOptions, "reset"> = {
cwd: commandCwd,
timeoutMs,
deadlineMs,
signal: combinedSignal,
sessionId,
kernelMode: this.session.settings.get("python.kernelMode"),