From e08e9e0cff2abab7b6b41d885841d5f75dbea309 Mon Sep 17 00:00:00 2001 From: linked-danis Date: Thu, 12 Mar 2026 14:05:38 +0100 Subject: [PATCH] fix: reusable agent after stop Reset AbortController and status when stop() is called. Agent can now be reused for subsequent tasks. Changes: - Check if already stopped to prevent double-abort - Reset status to 'idle' - Create new AbortController for next task --- packages/core/src/PageAgentCore.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/core/src/PageAgentCore.ts b/packages/core/src/PageAgentCore.ts index c7ab84b..507f68a 100644 --- a/packages/core/src/PageAgentCore.ts +++ b/packages/core/src/PageAgentCore.ts @@ -187,9 +187,12 @@ export class PageAgentCore extends EventTarget { /** Stop the current task. Agent remains reusable. */ stop() { + if (this.#abortController.signal.aborted) return // Already stopped this.pageController.cleanUpHighlights() this.pageController.hideMask() this.#abortController.abort() + this.#setStatus('idle') + this.#abortController = new AbortController() } async execute(task: string): Promise {