fix(kugetsu): destroy --base now also deletes PM agent session
When destroying base session, we now also delete the PM agent session and all issue session files. This ensures clean slate on re-init.
This commit is contained in:
@@ -1602,19 +1602,21 @@ cmd_destroy() {
|
||||
if [ "$target" = "base" ]; then
|
||||
if [ "$force" = true ]; then
|
||||
local base_session_id=$(get_base_session_id)
|
||||
local pm_agent_session_id=$(get_pm_agent_session_id)
|
||||
rm -f "$SESSIONS_DIR/base.json"
|
||||
local pm_agent=$(get_pm_agent_session_id)
|
||||
if [ -n "$pm_agent" ] && [ "$pm_agent" != "null" ]; then
|
||||
rm -f "$SESSIONS_DIR/pm-agent.json"
|
||||
echo '{"base": null, "pm_agent": null, "issues": {}}' > "$INDEX_FILE"
|
||||
else
|
||||
echo '{"base": null, "pm_agent": null, "issues": {}}' > "$INDEX_FILE"
|
||||
fi
|
||||
rm -f "$SESSIONS_DIR/pm-agent.json"
|
||||
rm -f "$SESSIONS_DIR/issue-"*.json 2>/dev/null || true
|
||||
echo '{"base": null, "pm_agent": null, "issues": {}}' > "$INDEX_FILE"
|
||||
|
||||
if [ -n "$base_session_id" ] && [ "$base_session_id" != "null" ]; then
|
||||
echo "Deleting opencode session: $base_session_id"
|
||||
opencode session delete "$base_session_id" 2>/dev/null || echo "Warning: Could not delete session from opencode (may already be deleted)"
|
||||
echo "Deleting base session: $base_session_id"
|
||||
opencode session delete "$base_session_id" 2>/dev/null || echo "Warning: Could not delete base session"
|
||||
fi
|
||||
echo "Base session destroyed"
|
||||
if [ -n "$pm_agent_session_id" ] && [ "$pm_agent_session_id" != "null" ]; then
|
||||
echo "Deleting PM agent session: $pm_agent_session_id"
|
||||
opencode session delete "$pm_agent_session_id" 2>/dev/null || echo "Warning: Could not delete PM agent session"
|
||||
fi
|
||||
echo "Base and PM agent sessions destroyed"
|
||||
else
|
||||
echo "Error: destroying base session requires --base -y" >&2
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user