From 391e70dca47cfa20530141547f3c2c3d0d16bda6 Mon Sep 17 00:00:00 2001
From: Simon <10131203+gaomeng1900@users.noreply.github.com>
Date: Thu, 22 Jan 2026 15:16:15 +0800
Subject: [PATCH 1/2] feat: update historical event types
---
packages/core/src/PageAgentCore.ts | 4 +---
packages/core/src/types.ts | 16 ++++++++++++----
packages/ui/src/panel/Panel.ts | 7 +++++++
packages/ui/src/panel/types.ts | 7 ++++++-
4 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/packages/core/src/PageAgentCore.ts b/packages/core/src/PageAgentCore.ts
index 3f78f19..2077544 100644
--- a/packages/core/src/PageAgentCore.ts
+++ b/packages/core/src/PageAgentCore.ts
@@ -99,8 +99,7 @@ export class PageAgentCore extends EventTarget {
this.emitActivity({ type: 'retrying', attempt, maxAttempts })
// Also push to history for panel rendering
this.history.push({
- type: 'error',
- errorType: 'retry',
+ type: 'retry',
message: `LLM retry attempt ${attempt} of ${maxAttempts}`,
attempt,
maxAttempts,
@@ -114,7 +113,6 @@ export class PageAgentCore extends EventTarget {
// Also push to history for panel rendering
this.history.push({
type: 'error',
- errorType: 'error',
message,
rawResponse: (error as InvokeError).rawResponse,
})
diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts
index b44fb43..9672878 100644
--- a/packages/core/src/types.ts
+++ b/packages/core/src/types.ts
@@ -69,14 +69,21 @@ export interface UserTakeoverEvent {
}
/**
- * Error event (retry or error from LLM)
+ * Retry event - LLM call is being retried
+ */
+export interface RetryEvent {
+ type: 'retry'
+ message: string
+ attempt: number
+ maxAttempts: number
+}
+
+/**
+ * Error event - fatal error from LLM or execution
*/
export interface AgentErrorEvent {
type: 'error'
- errorType: 'retry' | 'error'
message: string
- attempt?: number
- maxAttempts?: number
rawResponse?: unknown
}
@@ -87,6 +94,7 @@ export type HistoricalEvent =
| AgentStepEvent
| ObservationEvent
| UserTakeoverEvent
+ | RetryEvent
| AgentErrorEvent
/**
diff --git a/packages/ui/src/panel/Panel.ts b/packages/ui/src/panel/Panel.ts
index 8f8446f..8a37f9a 100644
--- a/packages/ui/src/panel/Panel.ts
+++ b/packages/ui/src/panel/Panel.ts
@@ -608,6 +608,13 @@ export class Panel {
)
} else if (event.type === 'user_takeover') {
cards.push(createCard({ icon: '👤', content: 'User takeover', meta, type: 'input' }))
+ } else if (event.type === 'retry') {
+ const retryInfo = `${event.message || 'Retrying'} (${event.attempt}/${event.maxAttempts})`
+ cards.push(createCard({ icon: '🔄', content: retryInfo, meta, type: 'observation' }))
+ } else if (event.type === 'error') {
+ cards.push(
+ createCard({ icon: '❌', content: event.message || 'Error', meta, type: 'observation' })
+ )
}
return cards
diff --git a/packages/ui/src/panel/types.ts b/packages/ui/src/panel/types.ts
index 75af53e..a8dc14b 100644
--- a/packages/ui/src/panel/types.ts
+++ b/packages/ui/src/panel/types.ts
@@ -33,7 +33,7 @@ export interface PanelAgentAdapter extends EventTarget {
/** History of agent events */
readonly history: readonly {
- type: 'step' | 'observation' | 'user_takeover' | 'error'
+ type: 'step' | 'observation' | 'user_takeover' | 'retry' | 'error'
stepIndex?: number
/** For 'step' type */
reflection?: {
@@ -49,6 +49,11 @@ export interface PanelAgentAdapter extends EventTarget {
}
/** For 'observation' type */
content?: string
+ /** For 'retry' type */
+ attempt?: number
+ maxAttempts?: number
+ /** For 'retry' and 'error' types */
+ message?: string
}[]
/** Current task being executed */
From 785a2d194e775e1220978baba7e836f66364582f Mon Sep 17 00:00:00 2001
From: Simon <10131203+gaomeng1900@users.noreply.github.com>
Date: Thu, 22 Jan 2026 15:17:19 +0800
Subject: [PATCH 2/2] chore(version): bump version to 1.0.0-beta.5
---
README-zh.md | 6 +++---
README.md | 6 +++---
package-lock.json | 28 +++++++++++++--------------
package.json | 2 +-
packages/core/package.json | 6 +++---
packages/llms/package.json | 2 +-
packages/page-agent/package.json | 10 +++++-----
packages/page-controller/package.json | 2 +-
packages/ui/package.json | 2 +-
packages/website/package.json | 2 +-
packages/website/src/constants.ts | 4 ++--
11 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/README-zh.md b/README-zh.md
index d5509f9..92d7e7e 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -40,7 +40,7 @@
```html
```
@@ -50,8 +50,8 @@
| 镜像 | URL |
| ------ | ----------------------------------------------------------------------------------------- |
-| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.4/dist/iife/page-agent.demo.js |
-| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.4/files/dist/iife/page-agent.demo.js |
+| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.5/dist/iife/page-agent.demo.js |
+| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.5/files/dist/iife/page-agent.demo.js |
### NPM 安装
diff --git a/README.md b/README.md
index 958f351..d1e632a 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ Fastest way to try PageAgent with our free Demo LLM:
```html
```
@@ -50,8 +50,8 @@ Fastest way to try PageAgent with our free Demo LLM:
| Mirrors | URL |
| ------- | ----------------------------------------------------------------------------------------- |
-| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.4/dist/iife/page-agent.demo.js |
-| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.4/files/dist/iife/page-agent.demo.js |
+| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.5/dist/iife/page-agent.demo.js |
+| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.5/files/dist/iife/page-agent.demo.js |
### NPM Installation
diff --git a/package-lock.json b/package-lock.json
index 525665f..078a8cc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "root",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "root",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"license": "MIT",
"workspaces": [
"packages/page-controller",
@@ -8128,18 +8128,18 @@
},
"packages/core": {
"name": "@page-agent/core",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"license": "MIT",
"dependencies": {
- "@page-agent/llms": "1.0.0-beta.4",
- "@page-agent/page-controller": "1.0.0-beta.4",
+ "@page-agent/llms": "1.0.0-beta.5",
+ "@page-agent/page-controller": "1.0.0-beta.5",
"chalk": "^5.6.2",
"zod": "^4.3.5"
}
},
"packages/llms": {
"name": "@page-agent/llms",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"license": "MIT",
"dependencies": {
"chalk": "^5.6.2",
@@ -8147,20 +8147,20 @@
}
},
"packages/page-agent": {
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"license": "MIT",
"dependencies": {
- "@page-agent/core": "1.0.0-beta.4",
- "@page-agent/llms": "1.0.0-beta.4",
- "@page-agent/page-controller": "1.0.0-beta.4",
- "@page-agent/ui": "1.0.0-beta.4",
+ "@page-agent/core": "1.0.0-beta.5",
+ "@page-agent/llms": "1.0.0-beta.5",
+ "@page-agent/page-controller": "1.0.0-beta.5",
+ "@page-agent/ui": "1.0.0-beta.5",
"chalk": "^5.6.2",
"zod": "^4.3.5"
}
},
"packages/page-controller": {
"name": "@page-agent/page-controller",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"license": "MIT",
"dependencies": {
"ai-motion": "^0.4.8"
@@ -8168,12 +8168,12 @@
},
"packages/ui": {
"name": "@page-agent/ui",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"license": "MIT"
},
"packages/website": {
"name": "@page-agent/website",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"dependencies": {
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-separator": "^1.1.8",
diff --git a/package.json b/package.json
index c0eecda..0b5248b 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "root",
"private": true,
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"type": "module",
"workspaces": [
"packages/page-controller",
diff --git a/packages/core/package.json b/packages/core/package.json
index 381c16e..46f5427 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,7 +1,7 @@
{
"name": "@page-agent/core",
"private": false,
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"type": "module",
"main": "./dist/esm/page-agent-core.js",
"module": "./dist/esm/page-agent-core.js",
@@ -45,7 +45,7 @@
"dependencies": {
"chalk": "^5.6.2",
"zod": "^4.3.5",
- "@page-agent/llms": "1.0.0-beta.4",
- "@page-agent/page-controller": "1.0.0-beta.4"
+ "@page-agent/llms": "1.0.0-beta.5",
+ "@page-agent/page-controller": "1.0.0-beta.5"
}
}
diff --git a/packages/llms/package.json b/packages/llms/package.json
index d7534ac..495432c 100644
--- a/packages/llms/package.json
+++ b/packages/llms/package.json
@@ -1,6 +1,6 @@
{
"name": "@page-agent/llms",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"type": "module",
"main": "./dist/lib/page-agent-llms.js",
"module": "./dist/lib/page-agent-llms.js",
diff --git a/packages/page-agent/package.json b/packages/page-agent/package.json
index 4eb9e53..24d12bf 100644
--- a/packages/page-agent/package.json
+++ b/packages/page-agent/package.json
@@ -1,7 +1,7 @@
{
"name": "page-agent",
"private": false,
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"type": "module",
"main": "./dist/esm/page-agent.js",
"module": "./dist/esm/page-agent.js",
@@ -46,9 +46,9 @@
"dependencies": {
"chalk": "^5.6.2",
"zod": "^4.3.5",
- "@page-agent/llms": "1.0.0-beta.4",
- "@page-agent/page-controller": "1.0.0-beta.4",
- "@page-agent/core": "1.0.0-beta.4",
- "@page-agent/ui": "1.0.0-beta.4"
+ "@page-agent/llms": "1.0.0-beta.5",
+ "@page-agent/page-controller": "1.0.0-beta.5",
+ "@page-agent/core": "1.0.0-beta.5",
+ "@page-agent/ui": "1.0.0-beta.5"
}
}
diff --git a/packages/page-controller/package.json b/packages/page-controller/package.json
index 70d8a7c..772f943 100644
--- a/packages/page-controller/package.json
+++ b/packages/page-controller/package.json
@@ -1,6 +1,6 @@
{
"name": "@page-agent/page-controller",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"type": "module",
"main": "./dist/lib/page-controller.js",
"module": "./dist/lib/page-controller.js",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 1328b71..ae4d5e7 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@page-agent/ui",
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"type": "module",
"main": "./dist/lib/page-agent-ui.js",
"module": "./dist/lib/page-agent-ui.js",
diff --git a/packages/website/package.json b/packages/website/package.json
index f7174a2..0fce07f 100644
--- a/packages/website/package.json
+++ b/packages/website/package.json
@@ -1,7 +1,7 @@
{
"name": "@page-agent/website",
"private": true,
- "version": "1.0.0-beta.4",
+ "version": "1.0.0-beta.5",
"type": "module",
"scripts": {
"dev": "vite --host 0.0.0.0",
diff --git a/packages/website/src/constants.ts b/packages/website/src/constants.ts
index f0a604b..f3a3455 100644
--- a/packages/website/src/constants.ts
+++ b/packages/website/src/constants.ts
@@ -1,8 +1,8 @@
// Demo build (auto-init with demo LLM, for quick testing)
export const CDN_DEMO_URL =
- 'https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.4/dist/iife/page-agent.demo.js'
+ 'https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.5/dist/iife/page-agent.demo.js'
export const CDN_DEMO_CN_URL =
- 'https://registry.npmmirror.com/page-agent/1.0.0-beta.4/files/dist/iife/page-agent.demo.js'
+ 'https://registry.npmmirror.com/page-agent/1.0.0-beta.5/files/dist/iife/page-agent.demo.js'
// Demo LLM for website testing
export const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM'