Merge branch 'main' into feat/ext
This commit is contained in:
@@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<script
|
<script
|
||||||
src="https://registry.npmmirror.com/page-agent/1.0.0-beta.4/files/dist/iife/page-agent.demo.js"
|
src="https://registry.npmmirror.com/page-agent/1.0.0-beta.5/files/dist/iife/page-agent.demo.js"
|
||||||
crossorigin="true"
|
crossorigin="true"
|
||||||
></script>
|
></script>
|
||||||
```
|
```
|
||||||
@@ -50,8 +50,8 @@
|
|||||||
|
|
||||||
| 镜像 | URL |
|
| 镜像 | URL |
|
||||||
| ------ | ----------------------------------------------------------------------------------------- |
|
| ------ | ----------------------------------------------------------------------------------------- |
|
||||||
| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.4/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.4/files/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 安装
|
### NPM 安装
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ Fastest way to try PageAgent with our free Demo LLM:
|
|||||||
|
|
||||||
```html
|
```html
|
||||||
<script
|
<script
|
||||||
src="https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.4/dist/iife/page-agent.demo.js"
|
src="https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.5/dist/iife/page-agent.demo.js"
|
||||||
crossorigin="true"
|
crossorigin="true"
|
||||||
></script>
|
></script>
|
||||||
```
|
```
|
||||||
@@ -50,8 +50,8 @@ Fastest way to try PageAgent with our free Demo LLM:
|
|||||||
|
|
||||||
| Mirrors | URL |
|
| Mirrors | URL |
|
||||||
| ------- | ----------------------------------------------------------------------------------------- |
|
| ------- | ----------------------------------------------------------------------------------------- |
|
||||||
| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.4/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.4/files/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
|
### NPM Installation
|
||||||
|
|
||||||
|
|||||||
28
package-lock.json
generated
28
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "root",
|
"name": "root",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "root",
|
"name": "root",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/page-controller",
|
"packages/page-controller",
|
||||||
@@ -11292,11 +11292,11 @@
|
|||||||
},
|
},
|
||||||
"packages/core": {
|
"packages/core": {
|
||||||
"name": "@page-agent/core",
|
"name": "@page-agent/core",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@page-agent/llms": "1.0.0-beta.4",
|
"@page-agent/llms": "1.0.0-beta.5",
|
||||||
"@page-agent/page-controller": "1.0.0-beta.4",
|
"@page-agent/page-controller": "1.0.0-beta.5",
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
"zod": "^4.3.5"
|
"zod": "^4.3.5"
|
||||||
}
|
}
|
||||||
@@ -11348,7 +11348,7 @@
|
|||||||
},
|
},
|
||||||
"packages/llms": {
|
"packages/llms": {
|
||||||
"name": "@page-agent/llms",
|
"name": "@page-agent/llms",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
@@ -11356,20 +11356,20 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/page-agent": {
|
"packages/page-agent": {
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@page-agent/core": "1.0.0-beta.4",
|
"@page-agent/core": "1.0.0-beta.5",
|
||||||
"@page-agent/llms": "1.0.0-beta.4",
|
"@page-agent/llms": "1.0.0-beta.5",
|
||||||
"@page-agent/page-controller": "1.0.0-beta.4",
|
"@page-agent/page-controller": "1.0.0-beta.5",
|
||||||
"@page-agent/ui": "1.0.0-beta.4",
|
"@page-agent/ui": "1.0.0-beta.5",
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
"zod": "^4.3.5"
|
"zod": "^4.3.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/page-controller": {
|
"packages/page-controller": {
|
||||||
"name": "@page-agent/page-controller",
|
"name": "@page-agent/page-controller",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ai-motion": "^0.4.8"
|
"ai-motion": "^0.4.8"
|
||||||
@@ -11377,12 +11377,12 @@
|
|||||||
},
|
},
|
||||||
"packages/ui": {
|
"packages/ui": {
|
||||||
"name": "@page-agent/ui",
|
"name": "@page-agent/ui",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"packages/website": {
|
"packages/website": {
|
||||||
"name": "@page-agent/website",
|
"name": "@page-agent/website",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@radix-ui/react-icons": "^1.3.2",
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
"@radix-ui/react-separator": "^1.1.8",
|
"@radix-ui/react-separator": "^1.1.8",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "root",
|
"name": "root",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/page-controller",
|
"packages/page-controller",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@page-agent/core",
|
"name": "@page-agent/core",
|
||||||
"private": false,
|
"private": false,
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/esm/page-agent-core.js",
|
"main": "./dist/esm/page-agent-core.js",
|
||||||
"module": "./dist/esm/page-agent-core.js",
|
"module": "./dist/esm/page-agent-core.js",
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
"zod": "^4.3.5",
|
"zod": "^4.3.5",
|
||||||
"@page-agent/llms": "1.0.0-beta.4",
|
"@page-agent/llms": "1.0.0-beta.5",
|
||||||
"@page-agent/page-controller": "1.0.0-beta.4"
|
"@page-agent/page-controller": "1.0.0-beta.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,8 +99,7 @@ export class PageAgentCore extends EventTarget {
|
|||||||
this.emitActivity({ type: 'retrying', attempt, maxAttempts })
|
this.emitActivity({ type: 'retrying', attempt, maxAttempts })
|
||||||
// Also push to history for panel rendering
|
// Also push to history for panel rendering
|
||||||
this.history.push({
|
this.history.push({
|
||||||
type: 'error',
|
type: 'retry',
|
||||||
errorType: 'retry',
|
|
||||||
message: `LLM retry attempt ${attempt} of ${maxAttempts}`,
|
message: `LLM retry attempt ${attempt} of ${maxAttempts}`,
|
||||||
attempt,
|
attempt,
|
||||||
maxAttempts,
|
maxAttempts,
|
||||||
@@ -114,7 +113,6 @@ export class PageAgentCore extends EventTarget {
|
|||||||
// Also push to history for panel rendering
|
// Also push to history for panel rendering
|
||||||
this.history.push({
|
this.history.push({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
errorType: 'error',
|
|
||||||
message,
|
message,
|
||||||
rawResponse: (error as InvokeError).rawResponse,
|
rawResponse: (error as InvokeError).rawResponse,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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 {
|
export interface AgentErrorEvent {
|
||||||
type: 'error'
|
type: 'error'
|
||||||
errorType: 'retry' | 'error'
|
|
||||||
message: string
|
message: string
|
||||||
attempt?: number
|
|
||||||
maxAttempts?: number
|
|
||||||
rawResponse?: unknown
|
rawResponse?: unknown
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,6 +94,7 @@ export type HistoricalEvent =
|
|||||||
| AgentStepEvent
|
| AgentStepEvent
|
||||||
| ObservationEvent
|
| ObservationEvent
|
||||||
| UserTakeoverEvent
|
| UserTakeoverEvent
|
||||||
|
| RetryEvent
|
||||||
| AgentErrorEvent
|
| AgentErrorEvent
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@page-agent/llms",
|
"name": "@page-agent/llms",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/lib/page-agent-llms.js",
|
"main": "./dist/lib/page-agent-llms.js",
|
||||||
"module": "./dist/lib/page-agent-llms.js",
|
"module": "./dist/lib/page-agent-llms.js",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "page-agent",
|
"name": "page-agent",
|
||||||
"private": false,
|
"private": false,
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/esm/page-agent.js",
|
"main": "./dist/esm/page-agent.js",
|
||||||
"module": "./dist/esm/page-agent.js",
|
"module": "./dist/esm/page-agent.js",
|
||||||
@@ -46,9 +46,9 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
"zod": "^4.3.5",
|
"zod": "^4.3.5",
|
||||||
"@page-agent/llms": "1.0.0-beta.4",
|
"@page-agent/llms": "1.0.0-beta.5",
|
||||||
"@page-agent/page-controller": "1.0.0-beta.4",
|
"@page-agent/page-controller": "1.0.0-beta.5",
|
||||||
"@page-agent/core": "1.0.0-beta.4",
|
"@page-agent/core": "1.0.0-beta.5",
|
||||||
"@page-agent/ui": "1.0.0-beta.4"
|
"@page-agent/ui": "1.0.0-beta.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@page-agent/page-controller",
|
"name": "@page-agent/page-controller",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/lib/page-controller.js",
|
"main": "./dist/lib/page-controller.js",
|
||||||
"module": "./dist/lib/page-controller.js",
|
"module": "./dist/lib/page-controller.js",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@page-agent/ui",
|
"name": "@page-agent/ui",
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/lib/page-agent-ui.js",
|
"main": "./dist/lib/page-agent-ui.js",
|
||||||
"module": "./dist/lib/page-agent-ui.js",
|
"module": "./dist/lib/page-agent-ui.js",
|
||||||
|
|||||||
@@ -608,6 +608,13 @@ export class Panel {
|
|||||||
)
|
)
|
||||||
} else if (event.type === 'user_takeover') {
|
} else if (event.type === 'user_takeover') {
|
||||||
cards.push(createCard({ icon: '👤', content: 'User takeover', meta, type: 'input' }))
|
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
|
return cards
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ export interface PanelAgentAdapter extends EventTarget {
|
|||||||
|
|
||||||
/** History of agent events */
|
/** History of agent events */
|
||||||
readonly history: readonly {
|
readonly history: readonly {
|
||||||
type: 'step' | 'observation' | 'user_takeover' | 'error'
|
type: 'step' | 'observation' | 'user_takeover' | 'retry' | 'error'
|
||||||
stepIndex?: number
|
stepIndex?: number
|
||||||
/** For 'step' type */
|
/** For 'step' type */
|
||||||
reflection?: {
|
reflection?: {
|
||||||
@@ -49,6 +49,11 @@ export interface PanelAgentAdapter extends EventTarget {
|
|||||||
}
|
}
|
||||||
/** For 'observation' type */
|
/** For 'observation' type */
|
||||||
content?: string
|
content?: string
|
||||||
|
/** For 'retry' type */
|
||||||
|
attempt?: number
|
||||||
|
maxAttempts?: number
|
||||||
|
/** For 'retry' and 'error' types */
|
||||||
|
message?: string
|
||||||
}[]
|
}[]
|
||||||
|
|
||||||
/** Current task being executed */
|
/** Current task being executed */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@page-agent/website",
|
"name": "@page-agent/website",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.0-beta.4",
|
"version": "1.0.0-beta.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --host 0.0.0.0",
|
"dev": "vite --host 0.0.0.0",
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// Demo build (auto-init with demo LLM, for quick testing)
|
// Demo build (auto-init with demo LLM, for quick testing)
|
||||||
export const CDN_DEMO_URL =
|
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 =
|
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
|
// Demo LLM for website testing
|
||||||
export const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM'
|
export const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM'
|
||||||
|
|||||||
Reference in New Issue
Block a user