#!/bin/bash # Check CapMetro service changes for Route 5 and Route 500 # Returns JSON with new changes since last check set -e STATE_FILE="${STATE_FILE:-memory/capmetro-check-state.json}" WORKSPACE="${WORKSPACE:-/home/node/.openclaw/workspace}" cd "$WORKSPACE" # Initialize state if missing if [ ! -f "$STATE_FILE" ]; then mkdir -p "$(dirname "$STATE_FILE")" echo '{"lastCheck":"1970-01-01T00:00:00Z","seenChanges":[]}' > "$STATE_FILE" fi NOW=$(date -u +"%Y-%m-%dT%H:%M:%SZ") # Fetch current service changes page CHANGES=$(curl -s "https://www.capmetro.org/servicechange" | \ grep -oP 'href="/servicechange/[^"]+' | \ sed 's/href="//' | \ sort -u) # Check each change period for Route 5 or Route 500 RELEVANT_CHANGES='[]' for change_url in $CHANGES; do FULL_URL="https://www.capmetro.org$change_url" CONTENT=$(curl -s "$FULL_URL") # Check if Route 5 or Route 500 mentioned if echo "$CONTENT" | grep -qiE "(Route 5[^0-9]|Route 500)"; then TITLE=$(echo "$CONTENT" | grep -oP '