@cyperx/clawforge 1.3.0 → 1.4.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.
- package/VERSION +1 -1
- package/bin/clawforge +4 -0
- package/bin/clawforge-dashboard +0 -0
- package/bin/clawforge-web +0 -0
- package/bin/spawn-agent.sh +9 -1
- package/bin/sprint.sh +9 -1
- package/bin/swarm.sh +9 -1
- package/bin/web.sh +68 -0
- package/package.json +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.4.1
|
package/bin/clawforge
CHANGED
|
@@ -81,6 +81,9 @@ Power Features (v1.2):
|
|
|
81
81
|
summary AI-generated summary of what an agent did
|
|
82
82
|
parse-cost Parse real cost/token data from agent output
|
|
83
83
|
|
|
84
|
+
Web Dashboard (v1.4):
|
|
85
|
+
web Launch web dashboard (accessible from phone/browser)
|
|
86
|
+
|
|
84
87
|
Developer Experience (v1.3):
|
|
85
88
|
profile Manage reusable agent profiles (presets)
|
|
86
89
|
replay Re-run a completed task with same parameters
|
|
@@ -246,6 +249,7 @@ doctor) exec "${BIN_DIR}/doctor.sh" "$@" ;;
|
|
|
246
249
|
replay) exec "${BIN_DIR}/replay.sh" "$@" ;;
|
|
247
250
|
export) exec "${BIN_DIR}/export.sh" "$@" ;;
|
|
248
251
|
completions) exec "${BIN_DIR}/completions.sh" "$@" ;;
|
|
252
|
+
web) exec "${BIN_DIR}/web.sh" "$@" ;;
|
|
249
253
|
logs) exec "${BIN_DIR}/logs.sh" "$@" ;;
|
|
250
254
|
on-complete) exec "${BIN_DIR}/on-complete.sh" "$@" ;;
|
|
251
255
|
|
package/bin/clawforge-dashboard
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/spawn-agent.sh
CHANGED
|
@@ -82,7 +82,15 @@ if [[ -n "$AFTER" ]]; then
|
|
|
82
82
|
fi
|
|
83
83
|
|
|
84
84
|
# ── Resolve settings ──────────────────────────────────────────────────
|
|
85
|
-
RESOLVED_AGENT=$(detect_agent "${AGENT:-}")
|
|
85
|
+
if ! RESOLVED_AGENT=$(detect_agent "${AGENT:-}" 2>/dev/null); then
|
|
86
|
+
if $DRY_RUN; then
|
|
87
|
+
RESOLVED_AGENT="${AGENT:-claude}"
|
|
88
|
+
log_warn "No local agent binary found; using '$RESOLVED_AGENT' for dry-run preview"
|
|
89
|
+
else
|
|
90
|
+
log_error "No coding agent found (need claude or codex)"
|
|
91
|
+
exit 1
|
|
92
|
+
fi
|
|
93
|
+
fi
|
|
86
94
|
EFFORT="${EFFORT:-$(config_get default_effort high)}"
|
|
87
95
|
|
|
88
96
|
if [[ -z "$MODEL" ]]; then
|
package/bin/sprint.sh
CHANGED
|
@@ -127,7 +127,15 @@ if $QUICK; then
|
|
|
127
127
|
fi
|
|
128
128
|
|
|
129
129
|
# ── Resolve agent + model ────────────────────────────────────────────
|
|
130
|
-
RESOLVED_AGENT=$(detect_agent "${AGENT:-}")
|
|
130
|
+
if ! RESOLVED_AGENT=$(detect_agent "${AGENT:-}" 2>/dev/null); then
|
|
131
|
+
if $DRY_RUN; then
|
|
132
|
+
RESOLVED_AGENT="${AGENT:-claude}"
|
|
133
|
+
log_warn "No local agent binary found; using '$RESOLVED_AGENT' for dry-run preview"
|
|
134
|
+
else
|
|
135
|
+
log_error "No coding agent found (need claude or codex)"
|
|
136
|
+
exit 1
|
|
137
|
+
fi
|
|
138
|
+
fi
|
|
131
139
|
MODEL_OVERRIDE="$MODEL" # preserve explicit --model
|
|
132
140
|
if [[ -z "$MODEL" ]]; then
|
|
133
141
|
if [[ "$RESOLVED_AGENT" == "claude" ]]; then
|
package/bin/swarm.sh
CHANGED
|
@@ -147,7 +147,15 @@ REPO_ABS=$(cd "$REPO" && pwd)
|
|
|
147
147
|
disk_check "$REPO_ABS" || { log_error "Aborting due to low disk space"; exit 1; }
|
|
148
148
|
|
|
149
149
|
# ── Resolve agent ─────────────────────────────────────────────────────
|
|
150
|
-
RESOLVED_AGENT=$(detect_agent "${AGENT:-}")
|
|
150
|
+
if ! RESOLVED_AGENT=$(detect_agent "${AGENT:-}" 2>/dev/null); then
|
|
151
|
+
if $DRY_RUN; then
|
|
152
|
+
RESOLVED_AGENT="${AGENT:-claude}"
|
|
153
|
+
log_warn "No local agent binary found; using '$RESOLVED_AGENT' for dry-run preview"
|
|
154
|
+
else
|
|
155
|
+
log_error "No coding agent found (need claude or codex)"
|
|
156
|
+
exit 1
|
|
157
|
+
fi
|
|
158
|
+
fi
|
|
151
159
|
if [[ "$RESOLVED_AGENT" == "claude" ]]; then
|
|
152
160
|
MODEL=$(config_get default_model_claude "claude-sonnet-4-5")
|
|
153
161
|
else
|
package/bin/web.sh
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# web.sh — Launch the ClawForge web dashboard
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
6
|
+
CLAWFORGE_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
7
|
+
WEB_DIR="${CLAWFORGE_DIR}/web"
|
|
8
|
+
BINARY="${SCRIPT_DIR}/clawforge-web"
|
|
9
|
+
|
|
10
|
+
export CLAWFORGE_DIR
|
|
11
|
+
|
|
12
|
+
usage() {
|
|
13
|
+
cat <<EOF
|
|
14
|
+
Usage: clawforge web [options]
|
|
15
|
+
|
|
16
|
+
Launch the ClawForge web dashboard.
|
|
17
|
+
Accessible from your phone, tablet, or any browser on the network.
|
|
18
|
+
|
|
19
|
+
Options:
|
|
20
|
+
--port <port> Port to listen on (default: 9876)
|
|
21
|
+
--open Open in default browser
|
|
22
|
+
--build Force rebuild the web binary
|
|
23
|
+
--help Show this help
|
|
24
|
+
|
|
25
|
+
Examples:
|
|
26
|
+
clawforge web # Start on http://localhost:9876
|
|
27
|
+
clawforge web --port 8080 # Custom port
|
|
28
|
+
clawforge web --open # Start + open browser
|
|
29
|
+
|
|
30
|
+
Keyboard shortcuts (in browser):
|
|
31
|
+
1/2/3/4 Filter: all/running/done/failed
|
|
32
|
+
Escape Close preview panel
|
|
33
|
+
Click task Open detail + agent output preview
|
|
34
|
+
EOF
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
PORT=9876
|
|
38
|
+
OPEN=false
|
|
39
|
+
BUILD=false
|
|
40
|
+
|
|
41
|
+
while [[ $# -gt 0 ]]; do
|
|
42
|
+
case "$1" in
|
|
43
|
+
--port|-p) PORT="$2"; shift 2 ;;
|
|
44
|
+
--open|-o) OPEN=true; shift ;;
|
|
45
|
+
--build) BUILD=true; shift ;;
|
|
46
|
+
--help|-h) usage; exit 0 ;;
|
|
47
|
+
*) shift ;;
|
|
48
|
+
esac
|
|
49
|
+
done
|
|
50
|
+
|
|
51
|
+
# Build if needed
|
|
52
|
+
if [[ ! -f "$BINARY" ]] || $BUILD; then
|
|
53
|
+
echo "Building web dashboard..."
|
|
54
|
+
if ! command -v go &>/dev/null; then
|
|
55
|
+
echo "Error: go is required. Install with: brew install go"
|
|
56
|
+
exit 1
|
|
57
|
+
fi
|
|
58
|
+
(cd "$WEB_DIR" && go build -o "$BINARY" .)
|
|
59
|
+
echo "Built: $BINARY"
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
# Open browser
|
|
63
|
+
if $OPEN; then
|
|
64
|
+
(sleep 1 && open "http://localhost:${PORT}" 2>/dev/null || xdg-open "http://localhost:${PORT}" 2>/dev/null) &
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
# Run
|
|
68
|
+
exec "$BINARY" --port="$PORT"
|