diff options
Diffstat (limited to 'Omni/Agent/monitor.sh')
| -rwxr-xr-x | Omni/Agent/monitor.sh | 68 |
1 files changed, 57 insertions, 11 deletions
diff --git a/Omni/Agent/monitor.sh b/Omni/Agent/monitor.sh index 1626354..e57611f 100755 --- a/Omni/Agent/monitor.sh +++ b/Omni/Agent/monitor.sh @@ -1,29 +1,75 @@ #!/usr/bin/env bash # Omni/Agent/monitor.sh # Monitor the logs of a worker agent -# Usage: ./Omni/Agent/monitor.sh [worker-name] +# 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 -WORKER="${1:-omni-worker-1}" 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 [worker-name]" + echo "Usage: $0 [--raw] [worker-name]" exit 1 fi -LOG_FILE="$WORKER_DIR/_/llm/amp.log" - 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 -while [ ! -f "$LOG_FILE" ]; do - echo "Waiting for log file to be created..." - sleep 2 -done +if [ ! -f "$LOG_FILE" ]; then + echo "Waiting for log file at $LOG_FILE..." + while [ ! -f "$LOG_FILE" ]; do + sleep 1 + done +fi -# Tail the log file -tail -f "$LOG_FILE" +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 |
