blob: e57611f17b772b83b1ed90ca5f1dbd3b416cac45 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#!/usr/bin/env bash
# Omni/Agent/monitor.sh
# Monitor the logs of a worker agent
# Usage: ./Omni/Agent/monitor.sh [--raw] [worker-name]
set -e
RAW_MODE=false
WORKER="omni-worker-1"
# Parse arguments
while [[ "$#" -gt 0 ]]; do
case $1 in
--raw) RAW_MODE=true ;;
*) WORKER="$1" ;;
esac
shift
done
REPO_ROOT="$(git rev-parse --show-toplevel)"
WORKER_DIR="$REPO_ROOT/../$WORKER"
LOG_FILE="$WORKER_DIR/_/llm/amp.log"
if [ ! -d "$WORKER_DIR" ]; then
echo "Error: Worker directory '$WORKER_DIR' not found."
echo "Usage: $0 [--raw] [worker-name]"
exit 1
fi
echo "Monitoring worker: $WORKER"
echo "Watching log: $LOG_FILE"
if [ "$RAW_MODE" = true ]; then
echo "Mode: RAW output"
else
echo "Mode: FORMATTED output"
fi
echo "---------------------------------------------------"
# Wait for log file to appear
if [ ! -f "$LOG_FILE" ]; then
echo "Waiting for log file at $LOG_FILE..."
while [ ! -f "$LOG_FILE" ]; do
sleep 1
done
fi
if [ "$RAW_MODE" = true ]; then
tail -f "$LOG_FILE"
else
# Tail the log and use jq to parse/filter relevant events
tail -f "$LOG_FILE" | grep --line-buffered "^{" | jq -R -r '
try (
fromjson |
if .message == "executing 1 tools in 1 batch(es)" then
"🤖 THOUGHT: Planning tool execution (" + (.batches[0][0] // "unknown") + ")"
elif .message == "Tool Bash - checking permissions" then
empty
elif .message == "Tool Bash permitted - action: allow" then
"🔧 TOOL: Bash command executed"
elif .toolName != null and .message == "Processing tool completion for ledger" then
"✅ TOOL: " + .toolName + " completed"
elif .message == "ide-fs" and .method == "readFile" then
"📂 READ: " + .path
elif .message == "System prompt build complete (no changes)" then
"🧠 THINKING..."
elif .message == "System prompt build complete (first build)" then
"🚀 STARTING new task context"
elif .level == "error" then
"❌ ERROR: " + .message
else
empty
end
) catch empty
'
fi
|