@mifune/agro 0.24.0 → 0.24.1

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.
Files changed (2) hide show
  1. package/dist/agro.js +19 -1
  2. package/package.json +1 -1
package/dist/agro.js CHANGED
@@ -2111,7 +2111,7 @@ import { basename as basename6, join as join6, sep as sep3 } from "node:path";
2111
2111
  import { basename as basename4, resolve as resolve7 } from "node:path";
2112
2112
 
2113
2113
  // src/lib/version.ts
2114
- var AGRO_VERSION = true ? "0.24.0" : "0.0.0-dev";
2114
+ var AGRO_VERSION = true ? "0.24.1" : "0.0.0-dev";
2115
2115
  var OFFICIAL_IMAGE = "ghcr.io/mifunedev/agro";
2116
2116
  var RELEASE_VERSION = /^[0-9]+\.[0-9]+\.[0-9]+(?:-[a-z][a-z0-9]*\.[0-9]+)?$/;
2117
2117
  function parseReleaseVersion(value) {
@@ -6959,6 +6959,8 @@ var TOOL_CATALOG = Object.freeze([
6959
6959
  'echo "$sha $tmp/agent-browser" | sha256sum -c -',
6960
6960
  'install -d "$prefix/bin"',
6961
6961
  'install -m 0755 "$tmp/agent-browser" "$prefix/bin/agent-browser"',
6962
+ "userns_sysctl=/proc/sys/kernel/apparmor_restrict_unprivileged_userns",
6963
+ "apparmor_profile=/etc/apparmor.d/agro-agent-browser",
6962
6964
  'browser=""',
6963
6965
  'for candidate in "$AGENT_BROWSER_EXECUTABLE_PATH" google-chrome google-chrome-stable chromium chromium-browser brave-browser microsoft-edge; do',
6964
6966
  ' test -n "$candidate" || continue',
@@ -6967,6 +6969,11 @@ var TOOL_CATALOG = Object.freeze([
6967
6969
  ' browser="$resolved"',
6968
6970
  " break",
6969
6971
  "done",
6972
+ 'userns=""',
6973
+ 'if [ -z "$browser" ] && [ "$(cat "$userns_sysctl" 2>/dev/null)" = 1 ]; then',
6974
+ " userns=restricted",
6975
+ ` profile="$(printf '%s\\n' 'abi <abi/4.0>,' 'include <tunables/global>' "profile agro-agent-browser $HOME/.agent-browser/browsers/*/chrome flags=(unconfined) {" ' userns,' '}')"`,
6976
+ "fi",
6970
6977
  'deps=""',
6971
6978
  'if [ -n "$browser" ]; then',
6972
6979
  ' echo "agent-browser will drive $browser"',
@@ -6977,6 +6984,11 @@ var TOOL_CATALOG = Object.freeze([
6977
6984
  ' PATH="$tmp:$PATH"',
6978
6985
  " fi",
6979
6986
  ' "$prefix/bin/agent-browser" install --with-deps',
6987
+ ' if [ -n "$userns" ]; then',
6988
+ ` printf '%s\\n' "$profile" | sudo tee "$apparmor_profile" >/dev/null`,
6989
+ ' sudo apparmor_parser -r "$apparmor_profile"',
6990
+ ' userns=""',
6991
+ " fi",
6980
6992
  "else",
6981
6993
  ' "$prefix/bin/agent-browser" install',
6982
6994
  " deps=missing",
@@ -6993,6 +7005,12 @@ var TOOL_CATALOG = Object.freeze([
6993
7005
  ' echo "Chrome needs system libraries, and this user has no passwordless sudo. Run this command, then rerun agro tool install agent-browser:" >&2',
6994
7006
  ' echo " sudo $prefix/bin/agent-browser install --with-deps" >&2',
6995
7007
  " fi",
7008
+ ' if [ -n "$userns" ]; then',
7009
+ ' echo "AppArmor blocks the user namespaces that the downloaded Chrome needs for its sandbox. Run these commands, then rerun agro tool install agent-browser:" >&2',
7010
+ ` echo "sudo tee $apparmor_profile >/dev/null <<'EOF'" >&2`,
7011
+ ` printf '%s\\n' "$profile" EOF >&2`,
7012
+ ' echo "sudo apparmor_parser -r $apparmor_profile" >&2',
7013
+ " fi",
6996
7014
  " exit 1",
6997
7015
  "fi",
6998
7016
  'echo "agent-browser launched headless Chrome"'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mifune/agro",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "AGRO CLI — create and manage sandboxes for coding agents.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/mifunedev/agro#readme",