diff --git a/crumb-mission-selector.sh b/crumb-mission-selector.sh index 7630b65..88ae670 100755 --- a/crumb-mission-selector.sh +++ b/crumb-mission-selector.sh @@ -570,11 +570,21 @@ function eule_tokens() { echo -e "\${CYAN}📊 Token-Verbrauch:\${NC}" echo "" TOTAL=0 + # Filter leere Arrays und parse JSON robuster while IFS= read -r line; do - zeit=\$(echo "\$line" | jq -r '.zeit') - tokens=\$(echo "\$line" | jq -r '.usage.total_tokens') - TOTAL=\$((TOTAL + tokens)) - echo " \$zeit: \$tokens Tokens" + # Skip leere Zeilen und [] Arrays + if [[ -z "\$line" ]] || [[ "\$line" == "[]" ]]; then + continue + fi + + zeit=\$(echo "\$line" | jq -r '.zeit // "unknown"' 2>/dev/null) + # Unterstütze usage als String oder Objekt + tokens=\$(echo "\$line" | jq -r 'if .usage | type == "string" then .usage | fromjson | .total_tokens // 0 else .usage.total_tokens // 0 end' 2>/dev/null) + + if [[ "\$tokens" =~ ^[0-9]+\$ ]]; then + TOTAL=\$((TOTAL + tokens)) + echo " \$zeit: \$tokens Tokens" + fi done < "\$LOGDIR/token_log.json" echo "" echo -e "\${GREEN}Gesamt: \$TOTAL Tokens\${NC}"