@clawpump/claw-agent 0.1.9 → 0.1.11
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.
- package/agent/apps/desktop/electron/main.cjs +2 -2
- package/agent/apps/desktop/package.json +5 -5
- package/agent/apps/desktop/scripts/after-pack.cjs +1 -1
- package/agent/apps/desktop/scripts/test-desktop.mjs +3 -3
- package/agent/hermes_cli/gui_uninstall.py +11 -6
- package/agent/hermes_cli/main.py +9 -4
- package/agent/scripts/install.sh +3 -1
- package/package.json +1 -1
|
@@ -2029,8 +2029,8 @@ async function applyUpdatesPosixInApp() {
|
|
|
2029
2029
|
}
|
|
2030
2030
|
|
|
2031
2031
|
const rebuiltApp = [
|
|
2032
|
-
path.join(updateRoot, 'apps', 'desktop', 'release', 'mac-arm64', '
|
|
2033
|
-
path.join(updateRoot, 'apps', 'desktop', 'release', 'mac', '
|
|
2032
|
+
path.join(updateRoot, 'apps', 'desktop', 'release', 'mac-arm64', 'Claw Agent.app'),
|
|
2033
|
+
path.join(updateRoot, 'apps', 'desktop', 'release', 'mac', 'Claw Agent.app')
|
|
2034
2034
|
].find(directoryExists)
|
|
2035
2035
|
const targetApp = runningAppBundle()
|
|
2036
2036
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hermes",
|
|
3
|
-
"productName": "
|
|
3
|
+
"productName": "Claw Agent",
|
|
4
4
|
"private": true,
|
|
5
5
|
"version": "0.15.1",
|
|
6
6
|
"description": "Claw Agent by ClawPump — native desktop app for Solana agents, built on Hermes Agent by Nous Research.",
|
|
@@ -136,8 +136,8 @@
|
|
|
136
136
|
"build": {
|
|
137
137
|
"electronVersion": "40.10.2",
|
|
138
138
|
"appId": "com.nousresearch.hermes",
|
|
139
|
-
"productName": "
|
|
140
|
-
"executableName": "
|
|
139
|
+
"productName": "Claw Agent",
|
|
140
|
+
"executableName": "Claw Agent",
|
|
141
141
|
"protocols": [
|
|
142
142
|
{
|
|
143
143
|
"name": "Hermes Protocol",
|
|
@@ -188,8 +188,8 @@
|
|
|
188
188
|
"entitlementsInherit": "electron/entitlements.mac.inherit.plist",
|
|
189
189
|
"extendInfo": {
|
|
190
190
|
"CFBundleDisplayName": "Claw Agent",
|
|
191
|
-
"CFBundleExecutable": "
|
|
192
|
-
"CFBundleName": "
|
|
191
|
+
"CFBundleExecutable": "Claw Agent",
|
|
192
|
+
"CFBundleName": "Claw Agent",
|
|
193
193
|
"NSAudioCaptureUsageDescription": "Claw Agent uses audio capture for voice conversations.",
|
|
194
194
|
"NSMicrophoneUsageDescription": "Claw Agent uses the microphone for voice input and voice conversations."
|
|
195
195
|
},
|
|
@@ -28,7 +28,7 @@ exports.default = async function afterPack(context) {
|
|
|
28
28
|
return
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
const productName = context.packager?.appInfo?.productFilename || '
|
|
31
|
+
const productName = context.packager?.appInfo?.productFilename || 'Claw Agent'
|
|
32
32
|
const exe = path.join(context.appOutDir, `${productName}.exe`)
|
|
33
33
|
const desktopRoot = path.resolve(__dirname, '..')
|
|
34
34
|
|
|
@@ -18,10 +18,10 @@ const PLATFORM = process.platform
|
|
|
18
18
|
// launch via install.ps1 / install.sh, per the Phase 1 thin-installer flow).
|
|
19
19
|
const APP = (() => {
|
|
20
20
|
if (PLATFORM === 'darwin') {
|
|
21
|
-
const appPath = path.join(RELEASE_ROOT, `mac-${ARCH}`, '
|
|
21
|
+
const appPath = path.join(RELEASE_ROOT, `mac-${ARCH}`, 'Claw Agent.app')
|
|
22
22
|
return {
|
|
23
23
|
appPath,
|
|
24
|
-
binary: path.join(appPath, 'Contents', 'MacOS', '
|
|
24
|
+
binary: path.join(appPath, 'Contents', 'MacOS', 'Claw Agent'),
|
|
25
25
|
resourcesPath: path.join(appPath, 'Contents', 'Resources'),
|
|
26
26
|
asarPath: path.join(appPath, 'Contents', 'Resources', 'app.asar'),
|
|
27
27
|
unpackedDistIndex: path.join(appPath, 'Contents', 'Resources', 'app.asar.unpacked', 'dist', 'index.html')
|
|
@@ -31,7 +31,7 @@ const APP = (() => {
|
|
|
31
31
|
const unpacked = path.join(RELEASE_ROOT, 'win-unpacked')
|
|
32
32
|
return {
|
|
33
33
|
appPath: unpacked,
|
|
34
|
-
binary: path.join(unpacked, '
|
|
34
|
+
binary: path.join(unpacked, 'Claw Agent.exe'),
|
|
35
35
|
resourcesPath: path.join(unpacked, 'resources'),
|
|
36
36
|
asarPath: path.join(unpacked, 'resources', 'app.asar'),
|
|
37
37
|
unpackedDistIndex: path.join(unpacked, 'resources', 'app.asar.unpacked', 'dist', 'index.html')
|
|
@@ -70,21 +70,21 @@ def _agent_root(hermes_home: Path) -> Path:
|
|
|
70
70
|
def desktop_userdata_dir() -> Path:
|
|
71
71
|
"""Return the Electron ``userData`` directory for the desktop app.
|
|
72
72
|
|
|
73
|
-
Mirrors Electron's ``app.getPath('userData')`` for an app named "
|
|
73
|
+
Mirrors Electron's ``app.getPath('userData')`` for an app named "Claw Agent"
|
|
74
74
|
on each platform. This is GUI-only state (connection.json, updates.json,
|
|
75
75
|
Chromium cache) and never holds agent config or sessions.
|
|
76
76
|
"""
|
|
77
77
|
home = Path.home()
|
|
78
78
|
if sys.platform == "darwin":
|
|
79
|
-
return home / "Library" / "Application Support" / "
|
|
79
|
+
return home / "Library" / "Application Support" / "Claw Agent"
|
|
80
80
|
if sys.platform == "win32":
|
|
81
81
|
appdata = os.environ.get("APPDATA")
|
|
82
82
|
base = Path(appdata) if appdata else (home / "AppData" / "Roaming")
|
|
83
|
-
return base / "
|
|
83
|
+
return base / "Claw Agent"
|
|
84
84
|
# Linux / other POSIX — XDG config home.
|
|
85
85
|
xdg = os.environ.get("XDG_CONFIG_HOME")
|
|
86
86
|
base = Path(xdg) if xdg else (home / ".config")
|
|
87
|
-
return base / "
|
|
87
|
+
return base / "Claw Agent"
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
def source_built_gui_artifacts(hermes_home: Path) -> "list[Path]":
|
|
@@ -119,6 +119,9 @@ def packaged_gui_app_paths() -> "list[Path]":
|
|
|
119
119
|
paths: list[Path] = []
|
|
120
120
|
if sys.platform == "darwin":
|
|
121
121
|
paths += [
|
|
122
|
+
Path("/Applications/Claw Agent.app"),
|
|
123
|
+
home / "Applications" / "Claw Agent.app",
|
|
124
|
+
# Legacy bundle name (older local builds) — clean up if present.
|
|
122
125
|
Path("/Applications/Hermes.app"),
|
|
123
126
|
home / "Applications" / "Hermes.app",
|
|
124
127
|
]
|
|
@@ -126,14 +129,16 @@ def packaged_gui_app_paths() -> "list[Path]":
|
|
|
126
129
|
local = os.environ.get("LOCALAPPDATA")
|
|
127
130
|
local_base = Path(local) if local else (home / "AppData" / "Local")
|
|
128
131
|
paths += [
|
|
129
|
-
# NSIS per-user install (perMachine=false → Programs\
|
|
130
|
-
local_base / "Programs" / "
|
|
132
|
+
# NSIS per-user install (perMachine=false → Programs\Claw Agent).
|
|
133
|
+
local_base / "Programs" / "Claw Agent",
|
|
134
|
+
local_base / "Programs" / "Hermes", # legacy
|
|
131
135
|
# Older / alternate layout some builds used.
|
|
132
136
|
local_base / "hermes-desktop",
|
|
133
137
|
]
|
|
134
138
|
program_files = os.environ.get("ProgramFiles")
|
|
135
139
|
if program_files:
|
|
136
140
|
# NSIS per-machine fallback (needs admin to remove).
|
|
141
|
+
paths.append(Path(program_files) / "Claw Agent")
|
|
137
142
|
paths.append(Path(program_files) / "Hermes")
|
|
138
143
|
else:
|
|
139
144
|
# Linux: AppImage is a single file the user placed somewhere; we can
|
package/agent/hermes_cli/main.py
CHANGED
|
@@ -5003,19 +5003,24 @@ def _desktop_packaged_executable(desktop_dir: Path) -> Optional[Path]:
|
|
|
5003
5003
|
"""Return the current platform's unpacked Electron app executable."""
|
|
5004
5004
|
release_dir = desktop_dir / "release"
|
|
5005
5005
|
if sys.platform == "darwin":
|
|
5006
|
-
|
|
5006
|
+
# Renamed bundle "Claw Agent.app" (binary MacOS/Claw Agent); keep the
|
|
5007
|
+
# legacy "Hermes.app" as a fallback for older local builds.
|
|
5008
|
+
candidates = list(release_dir.glob("mac*/Claw Agent.app/Contents/MacOS/Claw Agent"))
|
|
5009
|
+
candidates += list(release_dir.glob("mac*/Hermes.app/Contents/MacOS/Hermes"))
|
|
5007
5010
|
elif sys.platform == "win32":
|
|
5008
5011
|
candidates = [
|
|
5012
|
+
release_dir / "win-unpacked" / "Claw Agent.exe",
|
|
5013
|
+
release_dir / "win-ia32-unpacked" / "Claw Agent.exe",
|
|
5014
|
+
release_dir / "win-arm64-unpacked" / "Claw Agent.exe",
|
|
5009
5015
|
release_dir / "win-unpacked" / "Hermes.exe",
|
|
5010
|
-
release_dir / "win-ia32-unpacked" / "Hermes.exe",
|
|
5011
|
-
release_dir / "win-arm64-unpacked" / "Hermes.exe",
|
|
5012
5016
|
]
|
|
5013
5017
|
else:
|
|
5014
5018
|
candidates = [
|
|
5019
|
+
release_dir / "linux-unpacked" / "claw-agent",
|
|
5015
5020
|
release_dir / "linux-unpacked" / "hermes",
|
|
5016
5021
|
release_dir / "linux-unpacked" / "Hermes",
|
|
5022
|
+
release_dir / "linux-arm64-unpacked" / "claw-agent",
|
|
5017
5023
|
release_dir / "linux-arm64-unpacked" / "hermes",
|
|
5018
|
-
release_dir / "linux-arm64-unpacked" / "Hermes",
|
|
5019
5024
|
]
|
|
5020
5025
|
|
|
5021
5026
|
existing = [p for p in candidates if p.exists()]
|
package/agent/scripts/install.sh
CHANGED
|
@@ -172,7 +172,7 @@ while [[ $# -gt 0 ]]; do
|
|
|
172
172
|
echo " --stage NAME Run one desktop bootstrap stage"
|
|
173
173
|
echo " --json Print a JSON result frame for --stage"
|
|
174
174
|
echo " --non-interactive Skip stages that require user input"
|
|
175
|
-
echo " --include-desktop Also build the desktop app (apps/desktop ->
|
|
175
|
+
echo " --include-desktop Also build the desktop app (apps/desktop -> Claw Agent.app)"
|
|
176
176
|
echo " --dir PATH Installation directory"
|
|
177
177
|
echo " default (non-root): ~/.hermes/hermes-agent"
|
|
178
178
|
echo " default (root, Linux): /usr/local/lib/hermes-agent"
|
|
@@ -2579,6 +2579,8 @@ install_desktop() {
|
|
|
2579
2579
|
else
|
|
2580
2580
|
local cand
|
|
2581
2581
|
for cand in \
|
|
2582
|
+
"$desktop_dir/release/mac-arm64/Claw Agent.app" \
|
|
2583
|
+
"$desktop_dir/release/mac/Claw Agent.app" \
|
|
2582
2584
|
"$desktop_dir/release/mac-arm64/Hermes.app" \
|
|
2583
2585
|
"$desktop_dir/release/mac/Hermes.app"; do
|
|
2584
2586
|
if [ -d "$cand" ]; then
|