Merge branch 'main' into feat/ext
This commit is contained in:
@@ -108,6 +108,7 @@ export class PageAgentCore extends EventTarget {
|
|||||||
})
|
})
|
||||||
this.#llm.addEventListener('error', (e) => {
|
this.#llm.addEventListener('error', (e) => {
|
||||||
const error = (e as CustomEvent).detail.error as Error | InvokeError
|
const error = (e as CustomEvent).detail.error as Error | InvokeError
|
||||||
|
if ((error as any)?.rawError?.name === 'AbortError') return
|
||||||
const message = String(error)
|
const message = String(error)
|
||||||
this.emitActivity({ type: 'error', message })
|
this.emitActivity({ type: 'error', message })
|
||||||
// Also push to history for panel rendering
|
// Also push to history for panel rendering
|
||||||
@@ -581,16 +582,16 @@ export class PageAgentCore extends EventTarget {
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
dispose(reason?: string) {
|
dispose() {
|
||||||
console.log('Disposing PageAgent...')
|
console.log('Disposing PageAgent...')
|
||||||
this.disposed = true
|
this.disposed = true
|
||||||
this.pageController.dispose()
|
this.pageController.dispose()
|
||||||
this.history = []
|
// this.history = []
|
||||||
this.#abortController.abort(reason ?? 'PageAgent disposed')
|
this.#abortController.abort()
|
||||||
|
|
||||||
// Emit dispose event for UI cleanup
|
// Emit dispose event for UI cleanup
|
||||||
this.dispatchEvent(new Event('dispose'))
|
this.dispatchEvent(new Event('dispose'))
|
||||||
|
|
||||||
this.config.onDispose?.(this, reason)
|
this.config.onDispose?.(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,12 +88,12 @@ async function withRetry<T>(
|
|||||||
try {
|
try {
|
||||||
return await fn()
|
return await fn()
|
||||||
} catch (error: unknown) {
|
} catch (error: unknown) {
|
||||||
|
// do not retry if aborted by user
|
||||||
|
if ((error as any)?.rawError?.name === 'AbortError') throw error
|
||||||
|
|
||||||
console.error(error)
|
console.error(error)
|
||||||
settings.onError(error as 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)
|
// do not retry if error is not retryable (InvokeError)
|
||||||
if (error instanceof InvokeError && !error.retryable) throw error
|
if (error instanceof InvokeError && !error.retryable) throw error
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user