Files
crumbmissions/fix_token_logs.sh
Branko May Trinkwald 2915828adf Add complete Crumbforest mission system
- Interactive mission selector with metadata-driven design
- 5 educational missions (basics + advanced)
- AI assistant roles (Deepbit, Bugsy, Schnippsi, Tobi)
- SnakeCam gesture recognition system
- Token tracking utilities
- CLAUDE.md documentation
- .gitignore for logs and secrets
2025-12-21 01:16:48 +01:00

64 lines
1.8 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
echo "🔧 Repariere Crumbforest Token-Logs mit eingebetteten JSON-Strings …"
LOG_DIRS=(
"/home/zero/.bugsy_logs"
"/home/zero/.deepbit_logs"
"/home/zero/.dumbo_logs"
"/home/zero/.funkfox_logs"
"/home/zero/.pepper_logs"
"/home/zero/.schnecki_logs"
"/home/zero/.schnippsi_logs"
"/home/zero/.schraubaer_logs"
"/home/zero/.snake_logs"
"/home/zero/.taube_logs"
"/home/zero/.templatus_logs"
"/home/zero/.tobi_logs"
)
for dir in "${LOG_DIRS[@]}"; do
FILE="$dir/token_log.json"
if [ -f "$FILE" ]; then
echo "🔍 Prüfe $FILE"
TMP="$FILE.fixed"
# Filter & reparieren Zeile für Zeile
jq -c '.' "$FILE" 2>/dev/null | while read -r line; do
usage_raw=$(echo "$line" | jq -r '.usage')
if [[ "$usage_raw" =~ ^\{.*\}$ ]]; then
# usage ist korrektes Objekt direkt übernehmen
echo "$line" >> "$TMP"
else
# usage ist String versuche zu reparieren
usage_fixed=$(echo "$usage_raw" | jq '.' 2>/dev/null)
if [ $? -eq 0 ]; then
zeit=$(echo "$line" | jq -r '.zeit')
rolle=$(echo "$line" | jq -r '.rolle')
jq -n \
--arg zeit "$zeit" \
--arg rolle "$rolle" \
--argjson usage "$usage_fixed" \
'{zeit: $zeit, rolle: $rolle, usage: $usage}' >> "$TMP"
else
echo "⚠️ Ungültige Zeile übersprungen in $FILE:"
echo "$line"
fi
fi
done
# Nur ersetzen, wenn wir etwas geschrieben haben
if [ -s "$TMP" ]; then
mv "$TMP" "$FILE"
echo "✅ Repariert: $FILE"
else
echo " Keine gültigen Einträge in $FILE"
rm -f "$TMP"
fi
else
echo "❌ Datei nicht gefunden: $FILE"
fi
done
echo "🎉 Alle Token-Logs geprüft und repariert (sofern nötig)."