diff --git a/packages/coding-agent/src/core/agent-session.ts b/packages/coding-agent/src/core/agent-session.ts index 1542a509..57ae3dbb 100644 --- a/packages/coding-agent/src/core/agent-session.ts +++ b/packages/coding-agent/src/core/agent-session.ts @@ -677,9 +677,13 @@ export class AgentSession { this.agent.setSystemPrompt(this._baseSystemPrompt); } - /** Whether auto-compaction is currently running */ + /** Whether compaction or branch summarization is currently running */ get isCompacting(): boolean { - return this._autoCompactionAbortController !== undefined || this._compactionAbortController !== undefined; + return ( + this._autoCompactionAbortController !== undefined || + this._compactionAbortController !== undefined || + this._branchSummaryAbortController !== undefined + ); } /** All messages including custom types like BashExecutionMessage */ diff --git a/packages/coding-agent/test/agent-session-tree-navigation.test.ts b/packages/coding-agent/test/agent-session-tree-navigation.test.ts index 4e71448b..35abae1e 100644 --- a/packages/coding-agent/test/agent-session-tree-navigation.test.ts +++ b/packages/coding-agent/test/agent-session-tree-navigation.test.ts @@ -193,6 +193,10 @@ describe.skipIf(!API_KEY)("AgentSession tree navigation e2e", () => { // Abort after a short delay (let the LLM call start) await new Promise((resolve) => setTimeout(resolve, 100)); + + // isCompacting should be true during branch summarization + expect(session.isCompacting).toBe(true); + session.abortBranchSummary(); const result = await navigationPromise;