browser-automation-cli 0.7.1__tar.gz → 0.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/Cargo.lock +1 -1
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/Cargo.toml +1 -1
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/PKG-INFO +1 -1
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/install.sh +1 -1
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/pyproject.toml +1 -1
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/main.rs +17 -4
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/.gitignore +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/README.md +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/SKILL.md +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/actions.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/cdp.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/chrome.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/daemon_main.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/install.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/js.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/lib.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/server.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/session.rs +0 -0
- {browser_automation_cli-0.7.1 → browser_automation_cli-0.7.2}/src/update.rs +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
2
|
# Install the Rust browser/browser-daemon binaries from the GitHub release into ~/.local/bin.
|
|
3
3
|
set -e
|
|
4
|
-
V="${BROWSER_CLI_VERSION:-0.7.
|
|
4
|
+
V="${BROWSER_CLI_VERSION:-0.7.2}"; OS=$(uname -s | tr A-Z a-z); ARCH=$(uname -m)
|
|
5
5
|
URL="https://github.com/jshan9078/browser-automation-cli/releases/download/v$V/browser-cli-$V-$OS-$ARCH.tar.gz"
|
|
6
6
|
DEST="${BROWSER_CLI_BIN:-$HOME/.local/bin}"; mkdir -p "$DEST"
|
|
7
7
|
echo "Downloading $URL"; curl -fsSL "$URL" | tar -C "$DEST" -xzf -
|
|
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "browser-automation-cli"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.2"
|
|
8
8
|
description = "Browser automation daemon + CLI for coding agents. Persistent sessions, no MCP, no extensions."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -17,7 +17,8 @@ Standalone (no daemon):
|
|
|
17
17
|
browser cleanup Kill Chromium processes started by this tool
|
|
18
18
|
browser --version | update Show version / upgrade (daily PyPI check; BROWSER_NO_UPDATE_CHECK=1 disables)
|
|
19
19
|
browser install skill [target...] Install the agent skill (SKILL.md) into Claude Code / Codex /
|
|
20
|
-
OpenCode skill directories (all detected when no target given)
|
|
20
|
+
OpenCode skill directories (all detected when no target given).
|
|
21
|
+
`browser update` auto-refreshes already-installed skills.
|
|
21
22
|
browser engine [auto|managed|system|<path>]
|
|
22
23
|
Which browser to launch: managed = pinned Chrome for Testing,
|
|
23
24
|
system = your installed Chrome/Edge/Brave/Chromium (no download),
|
|
@@ -349,7 +350,15 @@ fn update_cmd() -> i32 {
|
|
|
349
350
|
if browser_cli::update::is_newer(latest, browser_cli::update::CURRENT) {
|
|
350
351
|
println!("{latest} available (you have {}). Upgrading with: uv tool upgrade browser-automation-cli", browser_cli::update::CURRENT);
|
|
351
352
|
let st = Command::new("uv").args(["tool", "upgrade", "browser-automation-cli"]).status();
|
|
352
|
-
match st {
|
|
353
|
+
match st {
|
|
354
|
+
Ok(s) if s.success() => {
|
|
355
|
+
// refresh already-installed agent skills using the upgraded binary (embeds the new SKILL.md)
|
|
356
|
+
if let Ok(exe) = std::env::current_exe() { let _ = Command::new(exe).args(["install", "skill", "--existing"]).status(); }
|
|
357
|
+
println!("Restart the daemon to use the new version: browser shutdown && browser-daemon &");
|
|
358
|
+
0
|
|
359
|
+
}
|
|
360
|
+
_ => { eprintln!("Upgrade failed; run it manually: uv tool upgrade browser-automation-cli (or pip install -U browser-automation-cli)"); 1 }
|
|
361
|
+
}
|
|
353
362
|
} else { println!("Up to date ({}).", browser_cli::update::CURRENT); 0 }
|
|
354
363
|
}
|
|
355
364
|
|
|
@@ -381,11 +390,15 @@ fn install_skill(args: &[String]) -> i32 {
|
|
|
381
390
|
("codex", home.join(".codex"), home.join(".codex/skills")),
|
|
382
391
|
("opencode", home.join(".config/opencode"), home.join(".config/opencode/skills")),
|
|
383
392
|
];
|
|
393
|
+
let existing_only = args.iter().any(|a| a == "--existing");
|
|
384
394
|
let mut targets: Vec<(String, std::path::PathBuf)> = Vec::new();
|
|
385
|
-
if args.is_empty() {
|
|
395
|
+
if args.is_empty() || (existing_only && args.len() == 1) {
|
|
386
396
|
for (name, marker, dir) in known {
|
|
387
|
-
|
|
397
|
+
// --existing: only agents that already have our skill; else any agent that is installed
|
|
398
|
+
let take = if existing_only { dir.join("browser-cli/SKILL.md").exists() } else { marker.exists() };
|
|
399
|
+
if take { targets.push((name.to_string(), dir.clone())); }
|
|
388
400
|
}
|
|
401
|
+
if existing_only && targets.is_empty() { return 0; } // nothing previously installed; quietly do nothing
|
|
389
402
|
if targets.is_empty() {
|
|
390
403
|
eprintln!("No agent directories found (~/.claude, ~/.codex, ~/.config/opencode).");
|
|
391
404
|
eprintln!("Pick one explicitly: browser install skill claude|codex|opencode, or pass a skills directory path.");
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|