Commit Graph

55 Commits

Author SHA1 Message Date
github-actions[bot] 5861678cf5 chore: version packages (#245)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-21 19:40:19 +08:00
github-actions[bot] 3a70f09344 chore: version packages (#243)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-21 16:02:10 +08:00
github-actions[bot] e0591a6d63 chore: version packages (#239)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-20 03:24:42 +08:00
github-actions[bot] a07e698083 chore: version packages (#236)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-20 02:53:21 +08:00
github-actions[bot] 40b965b782 chore: version packages (#233)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-20 00:32:56 +08:00
github-actions[bot] ed6ef7dac8 chore: version packages 2026-03-19 11:49:09 +00:00
Adcent dbc26047a9 chore: version packages 2026-03-19 15:42:29 +08:00
github-actions[bot] 1ca43bc593 chore: version packages 2026-03-17 09:43:21 +00:00
github-actions[bot] e412976ade chore: version packages (#198)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-12 22:19:01 +08:00
github-actions[bot] a8c40f628b chore: version packages 2026-03-11 13:54:38 +00:00
github-actions[bot] a2b21ca129 chore: version packages 2026-03-09 05:28:54 +00:00
Junliang Feng 115233d7f8 docs: migrate install guides to brew/script-first (CUE-504) (#184)
* docs: migrate install guides to brew/script-first, keep npm (CUE-504)

* docs: keep README install simple (npm only), link to full guide

* docs: use script install in README (no Node.js dependency)

* docs: split Installation into sub-headings per platform
2026-03-04 06:06:02 +08:00
Junliang Feng 15fda06727 chore(release): bump CLI version to 0.8.4 (#183) 2026-03-03 22:16:03 +08:00
github-actions[bot] 7298d2f994 chore: version packages 2026-03-02 16:51:07 +00:00
adcentury aea805b320 [root]fix: sync CLI Rust version and bump to v0.8.2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:44:33 +08:00
github-actions[bot] 47deeb0650 chore: version packages 2026-02-28 04:46:40 +00:00
github-actions[bot] 5fda9fc3bf chore: version packages 2026-02-27 09:34:57 +00:00
s1mba 893315f4aa [CLI]tests: Improve CLI E2E test coverage (TypeScript 93% + Rust 123 tests) (#167)
* [packages/cli]test: improve CLI E2E test coverage to 93%

Add 56 new test cases covering previously untested commands, subcommands,
and parameter combinations. New test files for setup, extension, help,
and global options. Enhanced existing browser, config, search, and get
tests with parameter-level coverage.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [packages/cli]test: add real assertions to browser E2E tests

Replace exit-code-only checks with actual value assertions:
- scroll tests verify window.scrollY changes before/after
- select/focus verify element value and activeElement
- type verifies input field value contains typed text
- cookies delete/clear verify cookie is actually removed
- navigate goto verifies location.href
- inspect verifies output contains element info
Move restart/close tests to end to prevent cascade failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [packages/actionbook-rs]test: expand Rust CLI integration tests to match TypeScript E2E coverage

Add ~70 new tests bringing total to 123, covering all CLI commands and options:
help, browser (57 tests), config, profile, extension, setup, search, get,
sources, and global flags. Mirrors the TypeScript E2E test suite structure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [packages/cli]fix: relax assertions for offline/extension-mode-only tests

- extension install: accept exit code 0 or 1 (network failures in CI)
- cookies set --domain: tolerate graceful failure outside extension mode

Addresses PR #167 review feedback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [packages/actionbook-rs]test: add browser E2E tests mirroring TypeScript cli-browser-e2e.test.ts

57 individual #[test] functions covering navigation, page content, form
interaction, screenshot/pdf, cookies, scroll, type, select/hover/focus/press,
inspect, tab management, and restart/close. Shares browser session via OnceLock,
gated by RUN_BROWSER_TESTS=true, runs with --test-threads=1.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [packages/cli]fix: address PR #167 review comments from Codex

- cli_test.rs: fail setup tests explicitly when process is killed by
  signal (timeout) instead of silently passing
- cli_test.rs: isolate extension stop test with temp HOME/XDG dirs to
  avoid killing real user bridge processes
- cli-browser-e2e.test.ts: clarify that cookie --dry-run/--domain
  tests require extension mode and rename describe block

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:17:51 +08:00
github-actions[bot] e7b0d1e01a chore: version packages (#160)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-24 11:56:17 +08:00
github-actions[bot] 998c60cc35 chore: version packages 2026-02-23 07:17:41 +00:00
github-actions[bot] b64fd33dc9 chore: version packages (#139)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-14 01:43:57 +08:00
s1mba fef4152fb7 fix: add CHANGELOG.md to platform packages (#137)
* [root]chore: add changeset for CLI patch to test release workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [root]fix: align CLI and platform package versions to npm (0.7.2)

Local versions were 0.3.1 while npm had 0.7.2 (CI used to overwrite
versions at publish time without committing back). Align to 0.7.2 so
changeset can manage versions going forward.

Also revert pnpm-workspace.yaml to keep platform packages in workspace
(avoids npm resolution failures) and let them pass changeset validation
by not being in the ignore list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [root]fix: add CHANGELOG.md to platform packages for changesets/action

changesets/action reads CHANGELOG.md of all modified packages when
composing the Version PR. Platform packages are modified by
sync-versions.js but lacked CHANGELOG.md files, causing ENOENT.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [root]fix: update lockfile after sync-versions to prevent frozen-lockfile failure

sync-versions.js rewrites CLI optionalDependencies versions, making
the lockfile stale. Add pnpm install after sync to keep it in sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [root]fix: use workspace:* for CLI platform deps to avoid lockfile staleness

- CLI optionalDependencies changed from exact versions to workspace:*
  so pnpm resolves locally instead of from npm registry
- Remove optionalDependencies sync from sync-versions.js (no longer needed)
- Add workspace:* → actual version replacement step in publish-cli job
  before npm publish
- Remove pnpm install from version-packages (lockfile stays stable with
  workspace links)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 21:35:28 +08:00
s1mba e011dfae5e fix: align CLI versions to npm and fix changeset config (#136)
* [root]chore: add changeset for CLI patch to test release workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [root]fix: align CLI and platform package versions to npm (0.7.2)

Local versions were 0.3.1 while npm had 0.7.2 (CI used to overwrite
versions at publish time without committing back). Align to 0.7.2 so
changeset can manage versions going forward.

Also revert pnpm-workspace.yaml to keep platform packages in workspace
(avoids npm resolution failures) and let them pass changeset validation
by not being in the ignore list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 19:37:43 +08:00
s1mba 731cc340d8 [packages/cli] Add comprehensive CLI test suite (#128)
* [packages/cli]test: add comprehensive CLI test suite with E2E browser tests

- Add unit tests for wrapper (actionbook.js), postinstall, config, profile,
  search, get, and sources commands
- Add Tier 1 browser tests (arg validation, help output, defaults)
- Add Tier 2 browser E2E tests (navigation, interaction, screenshots,
  cookies, tabs, error handling, JSON output)
- Fix E2E test reliability: add --wait for element readiness after navigation,
  use eval-based form submit for login flow, match actual CLI exit codes
- Suppress macOS Keychain dialogs in tests via --use-mock-keychain config
- Set testTimeout to 60s for browser E2E operations
- Export modules from actionbook.js and postinstall.js for testability

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [packages/cli]fix: resolve Windows .exe suffix when locating test CLI binary

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [packages/cli]fix: skip shell-script mock tests on Windows

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:36:15 +08:00
Adcent ad2d621b3f fix(cli): move config file to ~/.actionbook 2026-02-11 11:23:53 +08:00
Adcent 125d703407 Remove legacy actionbook-rs npm packaging assets 2026-02-06 21:20:17 +08:00
Adcent 86170e3132 Address PR feedback on package resolution and workflow paths 2026-02-06 21:11:11 +08:00
Adcent f5ae0ea7ed Split CLI distribution into platform-specific npm packages 2026-02-06 21:05:30 +08:00
Adcent 07242f14e7 fix(cli): show npm package version for --version 2026-02-06 20:03:31 +08:00
4bmis 3a719a3666 [packages/cli]refactor: simplify postinstall to only fix permissions
Remove GitHub Releases download fallback from postinstall script.
The binary is always bundled in the npm package, so download logic is unnecessary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 13:45:43 +08:00
4bmis 4715896e2e [packages/cli]refactor: replace TypeScript CLI with Rust binary wrapper
Replace the TypeScript CLI implementation with a thin JS wrapper that
executes the native Rust binary. The npm package now ships all platform
binaries directly, with a postinstall fallback to download from GitHub
Releases if needed.

- Add bin/actionbook.js: platform detection + binary execution
- Add scripts/postinstall.js: fallback download from GitHub Releases
- Remove all TypeScript source, build config, and dependencies
- Update CI workflow to build, package, and publish with binaries
- Update README with full Rust CLI command documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 12:44:19 +08:00
4bmis 1b6fdad69c [packages/cli]release: v0.3.0 2026-02-04 17:13:10 +08:00
4bmis bb4ae30281 [packages/*]feat: migrate to new text-based API
- Replace old JSON API with new text-based API using area_id format
- Add get_action_by_area_id tool to MCP server
- Update search_actions with new parameters (domain, url, page, page_size)
- Remove --json option from CLI commands (output is now plain text)
- Disable sources command temporarily in CLI
- Update README documentation for CLI and MCP

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 15:29:38 +08:00
junliang.feng 6e12801e59 [packages/cli]chore: bump version to 0.2.3 2026-01-28 17:03:45 +08:00
junliang.feng e3d2ebc7bb [packages/cli]chore: bump version to 0.2.3-alpha 2026-01-28 16:53:58 +08:00
junliang.feng 666a75150d [packages/cli]chore: bump version to 0.2.3 2026-01-28 16:48:12 +08:00
junliang.feng 18e9e6732d [packages/cli]refactor: use direct playwright-core CLI instead of npx for browser installation
Replace npx playwright@{version} with direct node execution of playwright-core CLI.
Find CLI path by checking multiple node_modules structures (pnpm .pnpm/*, npm flat, npm nested).
Search both package dir and workspace root to support pnpm workspaces.

Benefits:
- Eliminates npx overhead and potential version mismatches
- Works reliably with both npm and pnpm package managers
- No need to parse agent-browser's
2026-01-28 16:40:50 +08:00
junliang.feng fe0ae37c72 [packages/cli]chore: bump version to 0.2.2 2026-01-28 16:18:55 +08:00
junliang.feng 5befdfbe01 [packages/cli]feat: forward help to agent-browser for complete documentation
Remove custom help text and disable Commander.js help option.
Now 'actionbook browser -h' displays full agent-browser help with all
commands, options, and examples instead of minimal Commander help.

Benefits:
- Users see complete command reference without extra steps
- Automatically stays up-to-date with agent-browser changes
- Consistent help across -h, --help, and no-args invocations
2026-01-28 16:01:06 +08:00
junliang.feng ffd4405e81 [packages/cli]fix: dynamically match playwright version with agent-browser
Read playwright-core version from agent-browser's package.json to ensure
binary compatibility when installing Chromium. This prevents 'executable
doesn't exist' errors that occur when npx downloads a mismatched Playwright
version.

- Add getAgentBrowserPlaywrightVersion() to read version dynamically
- Use playwright@{version} instead of hardcoded version
- Fallback to 'latest' if version detection fails
2026-01-27 23:18:12 +08:00
junliang.feng 3b3b8cd95e [packages/cli]docs: update browser command description and help text
- Change command description from "agent-browser" to "actionbook browser"
- Simplify help text from "detailed agent-browser commands" to "detailed commands"
2026-01-27 23:09:42 +08:00
junliang.feng 5ed3e13ec3 [packages/cli]chore: bump version to 0.2.0
New feature: browser command for agent-browser integration
2026-01-27 22:44:43 +08:00
junliang.feng ae48421298 [packages/cli]feat: replace agent-browser text with actionbook browser in output
Transform stdout/stderr from agent-browser command to replace all
occurrences of 'agent-browser' with 'actionbook browser' for
consistent branding in user-facing output.
2026-01-27 22:34:22 +08:00
junliang.feng 1725a202d6 [packages/cli]chore: ignore .tgz package files 2026-01-27 22:28:52 +08:00
junliang.feng 26d16452bd [packages/cli]feat: use agent-browser as dependency with npx execution
- Add agent-browser ^0.8.3 as dependency in package.json
- Implement spawnAgentBrowser() using npx with cwd to CLI package root
- Update installAgentBrowser() to use 'npx playwright install chromium'
- Replace all agent-browser calls with spawnAgentBrowser()
- Update README with automatic dependency installation info
- Remove manual npm install logic (handled by package manager)

Benefits:
- agent-browser automatically installed with CLI
- No global install required for agent-browser
- Version managed by package.json
- Works seamlessly with npm/pnpm package managers
2026-01-27 22:28:38 +08:00
junliang.feng 201f0461aa [packages/cli]refactor: bundle agent-browser as dependency instead of global install
- Add agent-browser as direct dependency in package.json
- Remove automatic npm global installation logic
- Simplify installAgentBrowser() to only download Chromium binaries
- Update documentation to reflect simpler setup process
- Remove checkAgentBrowserInstalled() and showAgentBrowserSetupInstructions()
- Update help text to clarify browser install only downloads Chromium
- Keep --with-deps flag support for Linux
2026-01-27 21:36:51 +08:00
junliang.feng 2e00a8420d [packages/cli]feat: implement automatic installation for browser command
- Add installAgentBrowser() function to auto-install agent-browser
- Execute 'npm install -g agent-browser' if not already installed
- Automatically run 'agent-browser install' to download Chromium
- Support --with-deps flag for Linux system dependencies
- Show step-by-step progress during installation
- Update README with automatic installation instructions
2026-01-27 20:44:09 +08:00
junliang.feng 60edc48473 [packages/cli]feat: add setup instructions for browser install command
- Add special handling for 'actionbook browser install' command
- Show detailed setup instructions when agent-browser is not installed
- Guide users through npm installation and Chromium download
- Include Linux-specific instructions for system dependencies
- Update README with improved setup documentation
2026-01-27 20:12:50 +08:00
junliang.feng 7bc8c32d5d [packages/cli]docs: add browser command documentation to README 2026-01-27 11:57:00 +08:00
junliang.feng dff879d4a3 [packages/cli]feat: add browser command for agent-browser integration
- Add browser command to CLI for browser automation
- Create process utility for spawning commands with stdio inheritance
- Show installation instructions when agent-browser is not found
- Pass through all arguments to agent-browser CLI
- Add help text with examples and reference link
2026-01-27 11:44:53 +08:00