diff --git a/README.md b/README.md index 66db819..fb72e34 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,8 @@ Fastest way to try PageAgent with our free Demo LLM: | Mirrors | URL | | ------- | ---------------------------------------------------------------------------------- | -| Global | https://cdn.jsdelivr.net/npm/page-agent@1.9.1/dist/iife/page-agent.demo.js | -| China | https://registry.npmmirror.com/page-agent/1.9.1/files/dist/iife/page-agent.demo.js | +| Global | https://cdn.jsdelivr.net/npm/page-agent@1.10.0/dist/iife/page-agent.demo.js | +| China | https://registry.npmmirror.com/page-agent/1.10.0/files/dist/iife/page-agent.demo.js | Add `?autoInit=false` to load the script without creating the demo agent automatically. You can then instantiate it with `new window.PageAgent(...)`. diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 46795b7..cfc74b2 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.10.0] - 2026-06-15 + +### Breaking Changes + +- **Agent run lifecycle rework** - `stop()` is now async and resolves only after the run fully settles. Run status is decoupled from task outcome: a new `stopped` state was added, and LLM self-reported failures now end as `completed`. Lifecycle hooks re-throw instead of folding errors into the result, agent errors are recorded in history, and `agent.lastResult` was added. + +### Features + +- **Abortable JavaScript execution** - `execute_javascript` now honors the `AbortSignal`. +- **Leaner agent prompts** - Simplified the waiting-response flow and removed navigation-back instructions to reduce LLM cognitive load. +- **MultiPageAgent safety** - Disabled `ScriptExecutionTool` for `MultiPageAgent`. + +### Improvements + +- **Dark mode detection** - Refined detection heuristics and made `isMainContentDark` less aggressive by checking `html` and `body` data attributes independently. +- **Extension lifecycle robustness** - Drove heartbeat and running state from status changes, cleared stale activity on any non-running status, handled the stopped lifecycle state, and cleared `currentTabId` on `TabsController.init`. + +### Bug Fixes + +- **Accurate wait reporting** - Wait steps now report the actual wait duration. +- **Scroll predicates** - Scroll predicates now return booleans. +- **Docs** - Fixed the broken demo video on GitHub. + ## [1.9.0] - 2026-06-08 ### Features diff --git a/docs/README-zh.md b/docs/README-zh.md index 1f33b4f..26fd462 100644 --- a/docs/README-zh.md +++ b/docs/README-zh.md @@ -51,8 +51,8 @@ https://github.com/user-attachments/assets/a1f2eae2-13fb-4aae-98cf-a3fc1620a6c2 | Mirrors | URL | | ------- | ---------------------------------------------------------------------------------- | -| Global | https://cdn.jsdelivr.net/npm/page-agent@1.9.1/dist/iife/page-agent.demo.js | -| China | https://registry.npmmirror.com/page-agent/1.9.1/files/dist/iife/page-agent.demo.js | +| Global | https://cdn.jsdelivr.net/npm/page-agent@1.10.0/dist/iife/page-agent.demo.js | +| China | https://registry.npmmirror.com/page-agent/1.10.0/files/dist/iife/page-agent.demo.js | 在 URL 后添加 `?autoInit=false` 可只加载脚本,不自动创建 Demo Agent;之后可通过 `new window.PageAgent(...)` 手动初始化。 diff --git a/package-lock.json b/package-lock.json index e814887..fbf2ada 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "root", - "version": "1.9.1", + "version": "1.10.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "root", - "version": "1.9.1", + "version": "1.10.0", "license": "MIT", "workspaces": [ "packages/page-controller", @@ -11345,11 +11345,11 @@ }, "packages/core": { "name": "@page-agent/core", - "version": "1.9.1", + "version": "1.10.0", "license": "MIT", "dependencies": { - "@page-agent/llms": "1.9.1", - "@page-agent/page-controller": "1.9.1", + "@page-agent/llms": "1.10.0", + "@page-agent/page-controller": "1.10.0", "chalk": "^5.6.2" }, "devDependencies": { @@ -11361,13 +11361,13 @@ }, "packages/extension": { "name": "@page-agent/ext", - "version": "1.9.1", + "version": "1.10.0", "hasInstallScript": true, "dependencies": { - "@page-agent/core": "1.9.1", - "@page-agent/llms": "1.9.1", - "@page-agent/page-controller": "1.9.1", - "@page-agent/ui": "1.9.1", + "@page-agent/core": "1.10.0", + "@page-agent/llms": "1.10.0", + "@page-agent/page-controller": "1.10.0", + "@page-agent/ui": "1.10.0", "ai-motion": "^0.4.8", "chalk": "^5.6.2" }, @@ -11405,7 +11405,7 @@ }, "packages/llms": { "name": "@page-agent/llms", - "version": "1.9.1", + "version": "1.10.0", "license": "MIT", "dependencies": { "chalk": "^5.6.2" @@ -11419,7 +11419,7 @@ }, "packages/mcp": { "name": "@page-agent/mcp", - "version": "1.9.1", + "version": "1.10.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", @@ -11434,13 +11434,13 @@ } }, "packages/page-agent": { - "version": "1.9.1", + "version": "1.10.0", "license": "MIT", "dependencies": { - "@page-agent/core": "1.9.1", - "@page-agent/llms": "1.9.1", - "@page-agent/page-controller": "1.9.1", - "@page-agent/ui": "1.9.1", + "@page-agent/core": "1.10.0", + "@page-agent/llms": "1.10.0", + "@page-agent/page-controller": "1.10.0", + "@page-agent/ui": "1.10.0", "chalk": "^5.6.2" }, "devDependencies": { @@ -11452,7 +11452,7 @@ }, "packages/page-controller": { "name": "@page-agent/page-controller", - "version": "1.9.1", + "version": "1.10.0", "license": "MIT", "dependencies": { "ai-motion": "^0.4.8" @@ -11463,12 +11463,12 @@ }, "packages/ui": { "name": "@page-agent/ui", - "version": "1.9.1", + "version": "1.10.0", "license": "MIT" }, "packages/website": { "name": "@page-agent/website", - "version": "1.9.1", + "version": "1.10.0", "devDependencies": { "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-separator": "^1.1.9", diff --git a/package.json b/package.json index b05ac37..8438739 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "root", "private": true, - "version": "1.9.1", + "version": "1.10.0", "type": "module", "workspaces": [ "packages/page-controller", diff --git a/packages/core/package.json b/packages/core/package.json index c2d3429..36bf253 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@page-agent/core", "private": false, - "version": "1.9.1", + "version": "1.10.0", "type": "module", "main": "./src/PageAgentCore.ts", "types": "./src/PageAgentCore.ts", @@ -55,8 +55,8 @@ }, "dependencies": { "chalk": "^5.6.2", - "@page-agent/llms": "1.9.1", - "@page-agent/page-controller": "1.9.1" + "@page-agent/llms": "1.10.0", + "@page-agent/page-controller": "1.10.0" }, "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" diff --git a/packages/extension/package.json b/packages/extension/package.json index 4b8a49e..ceb1fa6 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -1,7 +1,7 @@ { "name": "@page-agent/ext", "private": true, - "version": "1.9.1", + "version": "1.10.0", "type": "module", "scripts": { "dev": "wxt", @@ -38,10 +38,10 @@ "wxt": "^0.20.26" }, "dependencies": { - "@page-agent/core": "1.9.1", - "@page-agent/llms": "1.9.1", - "@page-agent/page-controller": "1.9.1", - "@page-agent/ui": "1.9.1", + "@page-agent/core": "1.10.0", + "@page-agent/llms": "1.10.0", + "@page-agent/page-controller": "1.10.0", + "@page-agent/ui": "1.10.0", "ai-motion": "^0.4.8", "chalk": "^5.6.2" }, diff --git a/packages/llms/package.json b/packages/llms/package.json index de8ee3c..26ba620 100644 --- a/packages/llms/package.json +++ b/packages/llms/package.json @@ -1,6 +1,6 @@ { "name": "@page-agent/llms", - "version": "1.9.1", + "version": "1.10.0", "type": "module", "main": "./src/index.ts", "types": "./src/index.ts", diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 83e7133..123f711 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,7 +1,7 @@ { "name": "@page-agent/mcp", "private": false, - "version": "1.9.1", + "version": "1.10.0", "type": "module", "bin": { "page-agent-mcp": "src/index.js" diff --git a/packages/page-agent/package.json b/packages/page-agent/package.json index 46a66bd..22779aa 100644 --- a/packages/page-agent/package.json +++ b/packages/page-agent/package.json @@ -1,7 +1,7 @@ { "name": "page-agent", "private": false, - "version": "1.9.1", + "version": "1.10.0", "type": "module", "main": "./src/PageAgent.ts", "types": "./src/PageAgent.ts", @@ -54,10 +54,10 @@ "postpublish": "node ../../scripts/post-publish.js" }, "dependencies": { - "@page-agent/core": "1.9.1", - "@page-agent/llms": "1.9.1", - "@page-agent/page-controller": "1.9.1", - "@page-agent/ui": "1.9.1", + "@page-agent/core": "1.10.0", + "@page-agent/llms": "1.10.0", + "@page-agent/page-controller": "1.10.0", + "@page-agent/ui": "1.10.0", "chalk": "^5.6.2" }, "peerDependencies": { diff --git a/packages/page-controller/package.json b/packages/page-controller/package.json index 7c3fd3b..8543d86 100644 --- a/packages/page-controller/package.json +++ b/packages/page-controller/package.json @@ -1,6 +1,6 @@ { "name": "@page-agent/page-controller", - "version": "1.9.1", + "version": "1.10.0", "type": "module", "main": "./src/PageController.ts", "types": "./src/PageController.ts", diff --git a/packages/ui/package.json b/packages/ui/package.json index 14151ce..8458c65 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@page-agent/ui", - "version": "1.9.1", + "version": "1.10.0", "type": "module", "main": "./src/index.ts", "types": "./src/index.ts", diff --git a/packages/website/package.json b/packages/website/package.json index 044e853..f22340a 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,7 +1,7 @@ { "name": "@page-agent/website", "private": true, - "version": "1.9.1", + "version": "1.10.0", "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 e413ea2..d3d42a2 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.9.1/dist/iife/page-agent.demo.js' + 'https://cdn.jsdelivr.net/npm/page-agent@1.10.0/dist/iife/page-agent.demo.js' export const CDN_DEMO_CN_URL = - 'https://registry.npmmirror.com/page-agent/1.9.1/files/dist/iife/page-agent.demo.js' + 'https://registry.npmmirror.com/page-agent/1.10.0/files/dist/iife/page-agent.demo.js' // Demo LLM for website testing (homepage quick trial uses flash) export const DEMO_MODEL = 'qwen3.5-flash'