summaryrefslogtreecommitdiff
path: root/Omni/Agent/monitor.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Agent/monitor.sh')
-rwxr-xr-xOmni/Agent/monitor.sh68
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