diff --git a/packages/core/src/PageAgentCore.ts b/packages/core/src/PageAgentCore.ts index 583da8f..c9b0748 100644 --- a/packages/core/src/PageAgentCore.ts +++ b/packages/core/src/PageAgentCore.ts @@ -108,6 +108,7 @@ export class PageAgentCore extends EventTarget { }) this.#llm.addEventListener('error', (e) => { const error = (e as CustomEvent).detail.error as Error | InvokeError + if ((error as any)?.rawError?.name === 'AbortError') return const message = String(error) this.emitActivity({ type: 'error', message }) // Also push to history for panel rendering @@ -581,16 +582,16 @@ export class PageAgentCore extends EventTarget { `) } - dispose(reason?: string) { + dispose() { console.log('Disposing PageAgent...') this.disposed = true this.pageController.dispose() - this.history = [] - this.#abortController.abort(reason ?? 'PageAgent disposed') + // this.history = [] + this.#abortController.abort() // Emit dispose event for UI cleanup this.dispatchEvent(new Event('dispose')) - this.config.onDispose?.(this, reason) + this.config.onDispose?.(this) } } diff --git a/packages/llms/src/index.ts b/packages/llms/src/index.ts index 12a861a..49eba9b 100644 --- a/packages/llms/src/index.ts +++ b/packages/llms/src/index.ts @@ -88,12 +88,12 @@ async function withRetry( try { return await fn() } catch (error: unknown) { + // do not retry if aborted by user + if ((error as any)?.rawError?.name === 'AbortError') throw error + console.error(error) settings.onError(error as Error) - // do not retry if aborted by user - if ((error as { name?: string })?.name === 'AbortError') throw error - // do not retry if error is not retryable (InvokeError) if (error instanceof InvokeError && !error.retryable) throw error