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'