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 notify [list|clear] Show or clear notifications
|
||||
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 --pm-agent [-y] Delete pm-agent session (not recommended)
|
||||
kugetsu destroy --base [-y] Delete base session
|
||||
@@ -1121,6 +1122,50 @@ cmd_destroy() {
|
||||
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() {
|
||||
if [ $# -eq 0 ]; then
|
||||
usage
|
||||
@@ -1159,10 +1204,17 @@ main() {
|
||||
notify)
|
||||
cmd_notify "$@"
|
||||
;;
|
||||
list)
|
||||
cmd_list "$@"
|
||||
;;
|
||||
prune)
|
||||
list)
|
||||
cmd_list "$@"
|
||||
;;
|
||||
queue)
|
||||
cmd_queue
|
||||
;;
|
||||
enqueue)
|
||||
shift
|
||||
cmd_enqueue "$@"
|
||||
;;
|
||||
prune)
|
||||
cmd_prune "$@"
|
||||
;;
|
||||
destroy)
|
||||
|
||||
Reference in New Issue
Block a user