From 6a8fa563dd27c277c7fa7e83595f9affedf38951 Mon Sep 17 00:00:00 2001 From: shokollm <270575765+shokollm@users.noreply.github.com> Date: Tue, 7 Apr 2026 00:48:06 +0000 Subject: [PATCH] fix: properly quote base and pm_agent in write_index calls When base or pm_agent are not null, they need to be quoted with escaped quotes ("") in write_index calls. This fixes 'write_index would create malformed JSON' error during init. --- skills/kugetsu/scripts/kugetsu-index.sh | 40 ++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/skills/kugetsu/scripts/kugetsu-index.sh b/skills/kugetsu/scripts/kugetsu-index.sh index f1e6695..aa22364 100755 --- a/skills/kugetsu/scripts/kugetsu-index.sh +++ b/skills/kugetsu/scripts/kugetsu-index.sh @@ -50,7 +50,11 @@ set_base_in_index() { if [ "$session_id" = "null" ]; then write_index "null" "$pm_agent" "$issues" else - write_index "\"$session_id\"" "$pm_agent" "$issues" + if [ "$pm_agent" = "null" ]; then + write_index "\"$session_id\"" "null" "$issues" + else + write_index "\"$session_id\"" "\"$pm_agent\"" "$issues" + fi fi } @@ -63,7 +67,11 @@ set_pm_agent_in_index() { if [ "$session_id" = "null" ]; then write_index "$base" "null" "$issues" else - write_index "$base" "\"$session_id\"" "$issues" + if [ "$base" = "null" ]; then + write_index "null" "\"$session_id\"" "$issues" + else + write_index "\"$base\"" "\"$session_id\"" "$issues" + fi fi } @@ -79,7 +87,19 @@ add_issue_to_index() { issues=$(python3 -c "import sys, json; d=json.load(sys.stdin); d['$issue_ref']='$session_file'; print(json.dumps(d))" <<< "$issues") - write_index "$base" "$pm_agent" "$issues" + if [ "$base" = "null" ]; then + if [ "$pm_agent" = "null" ]; then + write_index "null" "null" "$issues" + else + write_index "null" "\"$pm_agent\"" "$issues" + fi + else + if [ "$pm_agent" = "null" ]; then + write_index "\"$base\"" "null" "$issues" + else + write_index "\"$base\"" "\"$pm_agent\"" "$issues" + fi + fi } remove_issue_from_index() { @@ -93,7 +113,19 @@ remove_issue_from_index() { issues=$(python3 -c "import sys, json; d=json.load(sys.stdin); d.pop('$issue_ref', None); print(json.dumps(d))" <<< "$issues") - write_index "$base" "$pm_agent" "$issues" + if [ "$base" = "null" ]; then + if [ "$pm_agent" = "null" ]; then + write_index "null" "null" "$issues" + else + write_index "null" "\"$pm_agent\"" "$issues" + fi + else + if [ "$pm_agent" = "null" ]; then + write_index "\"$base\"" "null" "$issues" + else + write_index "\"$base\"" "\"$pm_agent\"" "$issues" + fi + fi } validate_issue_ref() { -- 2.49.1