blob: 2638e2d7289366c8af4848c467644e7ac2e95754 (
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
|
#!/usr/bin/env bash
set -e
# Omni/Agent/monitor-worker.sh
# Monitors the worker agent's activity by filtering the debug log.
# Usage: ./Omni/Agent/monitor-worker.sh [worker-directory-name]
WORKER_NAME="${1:-omni-worker-1}"
REPO_ROOT="$(git rev-parse --show-toplevel)"
WORKER_PATH="$REPO_ROOT/../$WORKER_NAME"
LOG_FILE="$WORKER_PATH/_/llm/amp.log"
if [ ! -f "$LOG_FILE" ]; then
echo "Waiting for log file at $LOG_FILE..."
while [ ! -f "$LOG_FILE" ]; do sleep 1; done
fi
echo "Monitoring Worker Agent in '$WORKER_PATH'..."
echo "Press Ctrl+C to stop."
echo "------------------------------------------------"
# Tail the log and use jq to parse/filter relevant events
# We handle JSON parse errors gracefully (in case of partial writes)
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
'
|