Compare commits
1 Commits
fix/issue-
...
270219873f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
270219873f |
@@ -310,31 +310,12 @@ get_pending_tasks() {
|
||||
return
|
||||
fi
|
||||
|
||||
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"
|
||||
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"
|
||||
}
|
||||
|
||||
get_queue_stats() {
|
||||
|
||||
@@ -8,7 +8,10 @@ source "$SCRIPT_DIR/kugetsu-index.sh"
|
||||
source "$SCRIPT_DIR/kugetsu-worktree.sh"
|
||||
source "$SCRIPT_DIR/kugetsu-log.sh"
|
||||
|
||||
load_agent_env "pm-agent"
|
||||
# Load GITEA_TOKEN from default.env
|
||||
if [ -f "$HOME/.kugetsu/env/default.env" ]; then
|
||||
source "$HOME/.kugetsu/env/default.env"
|
||||
fi
|
||||
|
||||
# Check if a notified task has completed (forked session ended or has new commits)
|
||||
check_task_completion() {
|
||||
|
||||
@@ -153,10 +153,12 @@ cmd_delegate() {
|
||||
local issue_ref=$(extract_issue_ref_from_message "$message")
|
||||
|
||||
if [ -n "$issue_ref" ] && [[ "$issue_ref" =~ \#[0-9]+$ ]]; then
|
||||
cmd_start "$issue_ref" "$message"
|
||||
# Enqueue for daemon to process via cmd_start/cmd_continue
|
||||
enqueue_task "$issue_ref" "$message"
|
||||
return
|
||||
fi
|
||||
|
||||
# No issue ref detected — delegate directly to PM agent (legacy path)
|
||||
local pm_session=$(get_pm_agent_session_id)
|
||||
if [ -z "$pm_session" ] || [ "$pm_session" = "null" ] || [ "$pm_session" = "None" ]; then
|
||||
echo "Error: PM agent session not found. Run 'kugetsu init' first." >&2
|
||||
@@ -165,7 +167,7 @@ cmd_delegate() {
|
||||
|
||||
mkdir -p "$LOGS_DIR"
|
||||
local log_file="$LOGS_DIR/delegate-$(date +%s).log"
|
||||
nohup sh -c "GITEA_TOKEN='${GITEA_TOKEN:-}' opencode run '$message' --continue --session '$pm_session' >> '$log_file' 2>&1" > /dev/null 2>&1 &
|
||||
nohup sh -c "GITEA_TOKEN='***' opencode run '$message' --continue --session '$pm_session' >> '$log_file' 2>&1" > /dev/null 2>&1 &
|
||||
disown
|
||||
echo "Delegated to PM agent (logged to $(basename "$log_file"))"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user