From ebd8ef139418fb4a35b35487f026d2d1d48607a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=BCmel=20Branko?= Date: Sun, 28 Dec 2025 17:12:01 +0100 Subject: [PATCH] fix(missions): replace destructive token cleaner with actual token accountant --- native_crumbcore_v1/setup_missions.sh | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/native_crumbcore_v1/setup_missions.sh b/native_crumbcore_v1/setup_missions.sh index be0351c..952a678 100755 --- a/native_crumbcore_v1/setup_missions.sh +++ b/native_crumbcore_v1/setup_missions.sh @@ -170,6 +170,41 @@ REDIRECT # print_info "Patched $filename -> $shim_path" fi done + + # 6b. Patch Token Check (Replace destructive cleaner with real counter) + TOKEN_CHECK="$REPO_ROLES_DIR/../token_check.sh" + if [ -f "$TOKEN_CHECK" ]; then + cat << 'TOKEN' > "$TOKEN_CHECK" +#!/bin/bash +# Crumbforest Token Budget Checker +# Sums up tokens from all log files + +echo "πŸ“Š Crumbforest Token Budget" +TRAFFIC=0 + +# Find logs (avoiding .bak and .cleaned) +LOGS=$(find "$HOME" -name "token_log.json" -type f 2>/dev/null) + +for f in $LOGS; do + # Check if valid JSON content exists + if [ -s "$f" ]; then + # Try to sum total_tokens. Handle potential empty lines or [] + # We use inputs to handle stream of objects + SUM=$(jq -n '[inputs | .usage.total_tokens // 0] | add' "$f" 2>/dev/null) + if [ "$SUM" != "null" ] && [ "$SUM" != "" ] && [ "$SUM" != "0" ]; then + echo " πŸ“„ $(basename $(dirname "$f"))/$(basename "$f"): $SUM KrΓΌmel" + TRAFFIC=$((TRAFFIC + SUM)) + fi + fi +done + +echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +echo "πŸ’° Gesamtverbrauch: $TRAFFIC KrΓΌmel" +TOKEN + chmod +x "$TOKEN_CHECK" + print_info "Patched token_check.sh with real accounting logic (non-destructive)." + fi + print_info "Mission repo patched for server environment." fi