From 0f6a30f01c7de194eff386b8670bb9baefa8ec60 Mon Sep 17 00:00:00 2001 From: shokollm <270575765+shokollm@users.noreply.github.com> Date: Sun, 5 Apr 2026 23:43:52 +0000 Subject: [PATCH] fix(kugetsu): return proper JSON array from get_pending_tasks() --- skills/kugetsu/scripts/kugetsu | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/skills/kugetsu/scripts/kugetsu b/skills/kugetsu/scripts/kugetsu index ab2e6bd..ec9e3f5 100755 --- a/skills/kugetsu/scripts/kugetsu +++ b/skills/kugetsu/scripts/kugetsu @@ -310,12 +310,31 @@ get_pending_tasks() { return fi - find "$QUEUE_ITEMS_DIR" -name "*.json" -type f 2>/dev/null | while read -r file; do - local state=$(python3 -c "import json; print(json.load(open('$file')).get('state', ''))" 2>/dev/null || echo "") - if [ "$state" = "pending" ]; then - cat "$file" - fi - done | head -"$limit" + python3 -c " +import json +import os +import sys + +queue_dir = os.environ.get('QUEUE_ITEMS_DIR', '') +limit = int(sys.argv[1]) if len(sys.argv) > 1 else 10 + +items = [] +if os.path.isdir(queue_dir): + for filename in os.listdir(queue_dir): + if filename.endswith('.json'): + filepath = os.path.join(queue_dir, filename) + try: + with open(filepath) as f: + data = json.load(f) + if data.get('state') == 'pending': + items.append(data) + if len(items) >= limit: + break + except: + pass + +print(json.dumps(items)) +" "$limit" } get_queue_stats() {