Compare commits
2 Commits
33b023b01e
...
d96f37a0c6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d96f37a0c6 | ||
|
|
dd7c5eeaeb |
@@ -39,7 +39,8 @@ Usage:
|
|||||||
kugetsu doctor [--fix] Diagnose and fix kugetsu issues
|
kugetsu doctor [--fix] Diagnose and fix kugetsu issues
|
||||||
kugetsu notify [list|clear] Show or clear notifications
|
kugetsu notify [list|clear] Show or clear notifications
|
||||||
kugetsu list List all tracked sessions
|
kugetsu list List all tracked sessions
|
||||||
kugetsu prune [--force] Remove orphaned sessions (keeps base + pm-agent)
|
kugetsu queue Show queued issues (without need-user-approval label)
|
||||||
|
kugetsu enqueue <issue-ref> Add issue to queue for processing
|
||||||
kugetsu destroy <issue-ref> [-y] Delete session for issue
|
kugetsu destroy <issue-ref> [-y] Delete session for issue
|
||||||
kugetsu destroy --pm-agent [-y] Delete pm-agent session (not recommended)
|
kugetsu destroy --pm-agent [-y] Delete pm-agent session (not recommended)
|
||||||
kugetsu destroy --base [-y] Delete base session
|
kugetsu destroy --base [-y] Delete base session
|
||||||
@@ -1121,6 +1122,50 @@ cmd_destroy() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmd_queue() {
|
||||||
|
local index=$(read_index)
|
||||||
|
local issue_refs=$(echo "$index" | python3 -c "import sys, json; d=json.load(sys.stdin); print('\n'.join(d['issues'].keys()))" 2>/dev/null || true)
|
||||||
|
|
||||||
|
if [ -z "$issue_refs" ]; then
|
||||||
|
echo "Queue is empty. No pending issues."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Pending issues (ready for delegation):"
|
||||||
|
echo ""
|
||||||
|
while IFS= read -r issue_ref; do
|
||||||
|
local session_file=$(get_session_for_issue "$issue_ref")
|
||||||
|
local session_path="$SESSIONS_DIR/$session_file"
|
||||||
|
local worktree=""
|
||||||
|
if [ -f "$session_path" ]; then
|
||||||
|
worktree=$(python3 -c "import json; print(json.load(open('$session_path')).get('worktree_path', 'N/A'))" 2>/dev/null || echo "N/A")
|
||||||
|
fi
|
||||||
|
printf " %-50s %-40s\n" "$issue_ref" "$worktree"
|
||||||
|
done <<< "$issue_refs"
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd_enqueue() {
|
||||||
|
local issue_ref="${1:-}"
|
||||||
|
|
||||||
|
if [ -z "$issue_ref" ]; then
|
||||||
|
echo "Error: enqueue requires <issue-ref>" >&2
|
||||||
|
echo "Usage: kugetsu enqueue <issue-ref>" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
validate_issue_ref "$issue_ref"
|
||||||
|
|
||||||
|
local existing_session=$(get_session_for_issue "$issue_ref")
|
||||||
|
if [ -z "$existing_session" ] || [ "$existing_session" = "null" ]; then
|
||||||
|
echo "Error: No session found for '$issue_ref'" >&2
|
||||||
|
echo "Use 'kugetsu start $issue_ref <message>' to create a session first" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Issue '$issue_ref' is queued for processing."
|
||||||
|
echo "Use 'kugetsu continue $issue_ref <message>' to pick up the task."
|
||||||
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
usage
|
usage
|
||||||
@@ -1159,10 +1204,17 @@ main() {
|
|||||||
notify)
|
notify)
|
||||||
cmd_notify "$@"
|
cmd_notify "$@"
|
||||||
;;
|
;;
|
||||||
list)
|
list)
|
||||||
cmd_list "$@"
|
cmd_list "$@"
|
||||||
;;
|
;;
|
||||||
prune)
|
queue)
|
||||||
|
cmd_queue
|
||||||
|
;;
|
||||||
|
enqueue)
|
||||||
|
shift
|
||||||
|
cmd_enqueue "$@"
|
||||||
|
;;
|
||||||
|
prune)
|
||||||
cmd_prune "$@"
|
cmd_prune "$@"
|
||||||
;;
|
;;
|
||||||
destroy)
|
destroy)
|
||||||
|
|||||||
Reference in New Issue
Block a user