Simon
7f9cb61fc2
Merge pull request #557 from alibaba/feat/remove-nav-back-instructions
...
feat: remove instructions about nav back
2026-06-15 16:55:21 +08:00
Simon
76fea5b285
feat: remove instructions about nav back
2026-06-15 16:41:02 +08:00
Simon
a796453c6e
chore: rm go_back todo
2026-06-12 19:10:18 +08:00
Simon
a1b0dd90eb
Merge pull request #511 from linked-danis/fix/report-actual-wait-time
...
Report actual wait duration
2026-06-12 17:49:43 +08:00
Simon
fb8c42daa4
feat: simplify waiting response to reduce LLM cognitive load
2026-06-12 17:44:21 +08:00
Simon
8eaa784a8a
fix: github demo video broken
2026-06-11 21:40:01 +08:00
Simon
7dffaa4718
Merge pull request #512 from linked-danis/fix/scroll-predicate-types
...
Fix scroll predicate types (boolean | null -> boolean)
2026-06-11 21:22:31 +08:00
Simon
0f3f639497
Merge pull request #552 from alibaba/test/page-controller-happy-dom
...
test(page-controller): add happy-dom env and basic tests
2026-06-11 21:14:28 +08:00
Simon
67b1874836
Merge pull request #551 from alibaba/fix/stale-current-tab-id-mask-flash
...
fix(extension): clear currentTabId in storage on TabsController.init
2026-06-11 21:13:31 +08:00
Simon
56c09a9ae9
test(page-controller): add happy-dom env and basic tests
2026-06-11 21:10:05 +08:00
Simon
e65c7c9601
Merge pull request #545 from alibaba/feat/execute-js-abort-signal
...
feat(core): make execute_javascript honor AbortSignal
2026-06-11 20:45:53 +08:00
Simon
a646da80f5
Merge pull request #549 from alibaba/refactor/agent-lifecycle-state-machine
...
refactor(core)!: rework agent run lifecycle and status semantics
2026-06-11 20:37:37 +08:00
Simon
d3797109bf
fix(extension): clear currentTabId in storage on TabsController.init
...
Reset currentTabId via updateCurrentTabId(null) so the storage projection
stays consistent with isAgentRunning. Prevents the previous run's tab from
briefly flashing the mask when a new run starts within the heartbeat window.
Closes #550
2026-06-11 20:37:19 +08:00
Simon
4e881f7eb0
chore: add notes for a pending design decision
2026-06-11 20:31:01 +08:00
Simon
768b07e28c
feat: disable ScriptExecutionTool for MultiPageAgent
2026-06-11 20:16:09 +08:00
Simon
4828f9f726
chore: update tests
2026-06-11 20:06:35 +08:00
Simon
edb769b826
fix(ext): handle stopped lifecycle state
2026-06-11 19:53:30 +08:00
Simon
e270ba15b5
fix(ext): clear stale activity on any non-running status
...
The side panel kept showing the last activity card when a run settled as
`stopped`; clear it for every terminal status instead of an allowlist.
2026-06-11 19:15:58 +08:00
Simon
c19891926b
refactor(ext): drive heartbeat and running flag from statuschange
...
Project agent status into chrome.storage via a statuschange listener
instead of pairing setup/teardown across lifecycle hooks. A throwing hook
can no longer leak the heartbeat or strand isAgentRunning, and rejected
concurrent execute() calls never touch the active run's state.
2026-06-11 19:15:48 +08:00
Simon
0438bf6265
fix(core): harden run settlement edge cases from review
...
- install #running before the `running` statuschange fires, so a listener
calling stop() immediately awaits the current run
- await async mask/highlight cleanup before settling: once settled, the
agent must be safely reusable
- make the inter-step delay abortable so stop() settles promptly; abort
during the delay is classified as `stopped`
2026-06-11 19:15:27 +08:00
Simon
255e8fc861
chore: update docs
2026-06-11 17:29:54 +08:00
Simon
4690aefec5
refactor(core): decouple run settling from terminal status transition
...
Resolve #running before the terminal statuschange so the settle signal can
never be lost to re-entrant listeners. Hooks keep middleware semantics:
a throwing hook fails the run; integrations that don't want this should
suppress errors in their own hooks. Also make suppress() async-aware so
rejected promises (e.g. showMask) are actually caught.
2026-06-11 17:21:11 +08:00
Simon
8f9a637bdb
refactor(core): suppress mask/highlight errors instead of failing the run
...
Visual feedback failures (showMask, hideMask, cleanUpHighlights) are
non-critical; log them instead of aborting the task or masking the
original error during teardown.
2026-06-11 16:26:42 +08:00
Simon
c2d6a864f8
refactor(core): settle terminal status only after run cleanup completes
...
Defer the terminal statuschange to the outer finally via settleRun, closing
the window where a listener could re-enter execute() during teardown. Also
check abort at step start so aborts during stepDelay settle as `stopped`.
2026-06-11 16:26:05 +08:00
Simon
1deaa2147e
fix: mke sure taskResult and onAfterStep wont get lost
2026-06-11 15:39:35 +08:00
Simon
052a302a08
refactor(core)!: rework agent run lifecycle and status semantics
...
BREAKING CHANGE: stop() is now async and resolves after the run fully
settles; status decouples from task outcome (new 'stopped' state, LLM
self-reported failure now ends as 'completed'). Lifecycle hooks re-throw
instead of being folded into the result; agent errors go to history.
Adds agent.lastResult.
2026-06-11 14:33:12 +08:00
Simon
9ed0a09194
feat(core): make execute_javascript honor AbortSignal
...
Expose the task AbortSignal as `signal` in the script scope so cooperative
code can cancel promptly, and re-check signal.throwIfAborted() after the
script settles to discard stale results.
Closes #537 .
2026-06-09 21:30:27 +08:00
Simon
73810b3ed8
Merge pull request #544 from alibaba/feat/refine-dark-mode-check
...
feat(page-controller): refine dark mode detection heuristics
2026-06-09 20:43:15 +08:00
Simon
01c9cc9ea7
feat(page-controller): refine dark mode detection heuristics
2026-06-09 20:33:14 +08:00
Simon
a7beabbbe2
Merge pull request #543 from alibaba/test/page-agent-core-lifecycle
...
test(core): add PageAgentCore lifecycle tests
2026-06-09 20:32:23 +08:00
Simon
b3ff0a1a25
Merge pull request #373 from tageniu/feat/dark-mode-detect
...
Implement TODO: enhance dark mode detection
2026-06-09 20:18:33 +08:00
Simon
daae28db34
test(core): add PageAgentCore lifecycle tests
2026-06-09 17:07:10 +08:00
Simon
797c238862
Merge pull request #534 from 64johnlee/chore/remove-debug-console-logs
...
chore(page-controller): remove accidental debug console.log calls
2026-06-09 15:07:19 +08:00
Simon
270791bb54
feat: add .codex to .gitignore
2026-06-09 14:50:21 +08:00
Simon
8ec460f431
Merge pull request #542 from alibaba/dependabot/npm_and_yarn/development-dependencies-a28b716e5c
2026-06-09 04:03:38 +08:00
dependabot[bot]
8c3a5f8188
chore(deps-dev): bump the development-dependencies group with 13 updates
...
Bumps the development-dependencies group with 13 updates:
| Package | From | To |
| --- | --- | --- |
| [@eslint-react/eslint-plugin](https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin ) | `5.8.10` | `5.8.16` |
| [@microsoft/api-extractor](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-extractor ) | `7.58.7` | `7.58.8` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.9.1` | `25.9.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) | `8.60.1` | `8.61.0` |
| [@radix-ui/react-hover-card](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/hover-card ) | `1.1.15` | `1.1.16` |
| [@radix-ui/react-label](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/label ) | `2.1.8` | `2.1.9` |
| [@radix-ui/react-separator](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/separator ) | `1.1.8` | `1.1.9` |
| [@radix-ui/react-slot](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/slot ) | `1.2.4` | `1.2.5` |
| [@radix-ui/react-switch](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/switch ) | `1.2.6` | `1.3.0` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome ) | `0.1.42` | `0.1.43` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react ) | `19.2.16` | `19.2.17` |
| [simple-icons](https://github.com/simple-icons/simple-icons ) | `16.22.0` | `16.23.0` |
| [@radix-ui/react-tooltip](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/tooltip ) | `1.2.8` | `1.2.9` |
Updates `@eslint-react/eslint-plugin` from 5.8.10 to 5.8.16
- [Release notes](https://github.com/Rel1cx/eslint-react/releases )
- [Changelog](https://github.com/Rel1cx/eslint-react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Rel1cx/eslint-react/commits/v5.8.16/plugins/eslint-plugin )
Updates `@microsoft/api-extractor` from 7.58.7 to 7.58.8
- [Changelog](https://github.com/microsoft/rushstack/blob/main/apps/api-extractor/CHANGELOG.md )
- [Commits](https://github.com/microsoft/rushstack/commits/@microsoft/api-extractor_v7.58.8/apps/api-extractor )
Updates `@types/node` from 25.9.1 to 25.9.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `typescript-eslint` from 8.60.1 to 8.61.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.0/packages/typescript-eslint )
Updates `@radix-ui/react-hover-card` from 1.1.15 to 1.1.16
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/hover-card/CHANGELOG.md )
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/hover-card )
Updates `@radix-ui/react-label` from 2.1.8 to 2.1.9
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/label/CHANGELOG.md )
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/label )
Updates `@radix-ui/react-separator` from 1.1.8 to 1.1.9
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/separator/CHANGELOG.md )
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/separator )
Updates `@radix-ui/react-slot` from 1.2.4 to 1.2.5
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/slot/CHANGELOG.md )
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/slot )
Updates `@radix-ui/react-switch` from 1.2.6 to 1.3.0
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/switch/CHANGELOG.md )
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/switch )
Updates `@types/chrome` from 0.1.42 to 0.1.43
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome )
Updates `@types/react` from 19.2.16 to 19.2.17
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `simple-icons` from 16.22.0 to 16.23.0
- [Release notes](https://github.com/simple-icons/simple-icons/releases )
- [Commits](https://github.com/simple-icons/simple-icons/compare/16.22.0...16.23.0 )
Updates `@radix-ui/react-tooltip` from 1.2.8 to 1.2.9
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/tooltip/CHANGELOG.md )
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/tooltip )
---
updated-dependencies:
- dependency-name: "@eslint-react/eslint-plugin"
dependency-version: 5.8.16
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@microsoft/api-extractor"
dependency-version: 7.58.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@types/node"
dependency-version: 25.9.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: typescript-eslint
dependency-version: 8.61.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: "@radix-ui/react-hover-card"
dependency-version: 1.1.16
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@radix-ui/react-label"
dependency-version: 2.1.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@radix-ui/react-separator"
dependency-version: 1.1.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@radix-ui/react-slot"
dependency-version: 1.2.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@radix-ui/react-switch"
dependency-version: 1.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: "@types/chrome"
dependency-version: 0.1.43
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@types/react"
dependency-version: 19.2.17
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: simple-icons
dependency-version: 16.23.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: "@radix-ui/react-tooltip"
dependency-version: 1.2.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-08 19:34:16 +00:00
Simon
4ee773bef9
chore(changelog): update for version 1.9.0 release
2026-06-08 22:58:56 +08:00
Simon
3a2f0a41ec
chore(version): bump version to 1.9.0
2026-06-08 22:42:46 +08:00
Simon
64bb1f1a56
Merge pull request #541 from alibaba/docs/update-model-list
...
docs: update model list
2026-06-08 22:37:23 +08:00
Simon
2afcf13fbb
feat: update model list
2026-06-08 22:34:33 +08:00
Simon
f617728fc3
Merge pull request #540 from alibaba/feat/claude-opus-4-8
...
feat(llms): add Claude Opus 4.8 support
2026-06-08 22:27:53 +08:00
Simon
9376abfe2a
Merge pull request #539 from alibaba/docs/abort-and-concurrency
...
docs(website): document ctx.signal abort contract and execute() concurrency
2026-06-08 22:26:19 +08:00
Simon
2f343bcc56
feat(llms): add Claude Opus 4.8 support
...
Strip temperature for claude-opus-4-8, add tests, list model on website.
2026-06-08 22:23:56 +08:00
Simon
4108f67079
docs(website): document ctx.signal abort contract and execute() concurrency
2026-06-08 22:19:25 +08:00
Simon
0ba3bbd67f
Merge pull request #536 from alibaba/fix/prevent-concurrent-execute
...
fix(core): prevent concurrent execute() calls
2026-06-08 22:04:19 +08:00
Simon
552987eb56
fix(core): prevent concurrent execute() calls
2026-06-08 21:58:16 +08:00
Simon
99ef08ac79
Merge pull request #532 from alibaba/feat/rubost-abort
...
feat: robust aborting
2026-06-08 21:53:05 +08:00
Simon
4445bec08a
fix: abort may affect onAfterTask; clean up while loop
2026-06-08 19:46:19 +08:00
Simon
6530f0ef40
chore: cleanup; rm get abortSignal
2026-06-08 17:40:44 +08:00
Simon
f8676a5cc2
fix: throw unhonored AbortError & rm detection code for it
2026-06-08 17:27:05 +08:00