
    Si	                    b    d Z ddlmZ ddlZddlZddlmZ erddlmZm	Z	 	 d	 	 	 	 	 	 	 	 	 ddZ
y)	u'  
utils/delegate_runner.py — 격리된 단일 서브에이전트 실행 래퍼

실제 LLM 호출은 하지 않음 (인터페이스만 제공).
실제 실행은 dispatch.py 또는 cokacdir를 통해 수행.
이 모듈은 실행 결과를 SubAgentResult로 구조화하여 반환하는 wrapper.
    )annotationsN)TYPE_CHECKING)SubAgentResultSubAgentTaskc                b   ddl m} t        j                         }|j	                         r ||ddddd      S 	 |j	                         rd}d}d}nd	}d
| j
                  d| }d}t        j                         |z
  }
 |||||
d|      S # t        $ r}	d}d}t        |	      }Y d}	~	Bd}	~	ww xY w)u  격리된 단일 서브에이전트 실행.

    실제 LLM 호출은 하지 않음 (인터페이스만 제공).
    실제 실행은 dispatch.py 또는 cokacdir를 통해 수행.
    이 함수는 실행 결과를 구조화하여 반환하는 wrapper.

    Args:
        task: 실행할 서브에이전트 태스크
        depth: 현재 위임 깊이
        interrupted: 인터럽트 시그널 이벤트
        task_index: 배치 내 태스크 인덱스

    Returns:
        SubAgentResult: 실행 결과
    r   )r   interruptedNg        zInterrupted before start)
task_indexstatussummaryduration_seconds	api_callserrorzInterrupted during execution	completedz[stub] goal=z depth=r   )utils.delegate_controllerr   time	monotonicis_setgoal	Exceptionstr)taskdepthr   r	   r   
start_timer
   r   r   excdurations              F/home/jay/workspace/.worktrees/task-2117-dev1/utils/delegate_runner.pyrun_subagentr      s    , 9!J !  ,
 	
 "FG >E !F$TYYM@GE ~~*,H!   Cs   -B 	B.B))B.)r   )
r   z'SubAgentTask'r   intr   zthreading.Eventr	   r   returnz'SubAgentResult')__doc__
__future__r   	threadingr   typingr   r   r   r   r        r   <module>r&      s\    #    F 	@
@@ !@ 	@
 @r%   