
    $j                    j    d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZmZmZ e G d d             Zy)	u1  ReferencePipelineContext — Phase 1/2/3 간 공유 상태.

F24.4.2 (2026-04-24): `ReferencePipelineOrchestrator.run()`이 setup 후 ctx를 구성해
Phase별 서비스(Phase1/2/3)에 전달한다. 각 Phase 서비스가 counters 및
`ref_image_map` 등 mutable 상태를 in-place로 업데이트한다.
    )annotations)	dataclassfield)Path)AnyDictListOptionalSetc                     e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<    ee      Zded<    ee      Z	ded<    ee      Z
ded<    ee      Zd ed!<    ee      Zded"<    ee      Zded#<   d$Zded%<   d$Zded&<   d$Zded'<   d$Zded(<   d$Zded)<   d$Zded*<   d$Zded+<   d$Zded,<   ed/d-       Zy.)0ReferencePipelineContextu,   Phase 1/2/3 간 공유되는 runtime 상태.str
episode_idr   episodemodeboolskip_compositezOptional[str]ipzList[Dict[str, Any]]entitieszDict[str, Dict[str, Any]]entity_by_idzDict[str, Set[str]]depszList[List[str]]batchesr   reference_dirgemini_clientintmax_concurrentprogressref_cp)default_factoryzDict[str, bytes]ref_image_mapzSet[str]already_donelow_freq_skip_idszDict[str, List[Dict[str, Any]]]grounding_referenceso00_char_idsbody_identity_char_idsr   generated_countfailed_countlow_freq_skippedskipped_countoutlook_generatedoutlook_skippedcomposite_generatedcomposite_skippedc                F    t        | j                        | j                  z
  S )N)lenr   r)   )selfs    ]/Users/manta/Documents/Projects/TheRoad-I1/backend/app/services/reference_pipeline_context.pytotal_to_genz%ReferencePipelineContext.total_to_gen8   s    4==!D$6$666    N)returnr   )__name__
__module____qualname____doc____annotations__r   dictr    setr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   propertyr2    r3   r1   r   r      s%   6 OL
I""++
MK ',D&AM#A"37L(7"'"<x< =BRV<W9W"37L(7 (-S'AHA OSL#cM3sOS  s7 7r3   r   N)r8   
__future__r   dataclassesr   r   pathlibr   typingr   r   r	   r
   r   r   r=   r3   r1   <module>rB      s4    # (  1 1 +7 +7 +7r3   