
    *j                        d Z ddlmZ ddlmZ ddlmZ ddlmZ ed         Z	 ed           G d	 d
                      Z
ddZdS )z4Strict parser for ReviewPackageV2 approval commands.    )annotations)	dataclass)Literal)ReviewPackageV2)approveblockedneeds_clarificationrejectreviseT)frozenc                  (    e Zd ZU ded<   dZded<   dS )ApprovalDecisionV2ApprovalActionV2action strreasonN)__name__
__module____qualname____annotations__r        X/home/agent/jarvis_runtime/autoshortsbot/AutoShortsBot/autoshorts/review/approvals_v2.pyr   r      s/         Fr   r   commandr   packager   returnc                >   | pd                                                                 }|st          dd          S |d                                         }|dk    rt          d          S |dk    rt          d          S |d	k    rt          dd
          S t	          |          dk    rt          dd          S |\  }}}}||j        k    rt          dd          S ||j        k    rt          dd          S ||j        k    rt          dd          S t          d          S )Nr   r	   zempty commandr   REJECTr
   REVISEr   APPROVEznot an approval command   r   zGapproval command must be APPROVE <candidate_id> <version> <script_hash>zcandidate_id mismatchzversion mismatchzscript_hash mismatchr   )stripsplitr   upperlencandidate_idversionscript_hash)r   r   partsverb_r'   r(   r)   s           r   parse_approval_command_v2r-      s7   ]!!##))++E J!"7III8>>Dx!(+++x!(+++y!"79RSSS
5zzQ!)-vwww,1)A|Wkw+++!)-DEEE'/!!!)-?@@@g)))!)-CDDDi(((r   N)r   r   r   r   r   r   )__doc__
__future__r   dataclassesr   typingr   autoshorts.strategy.spine_v2r   r   r   r-   r   r   r   <module>r3      s    : : " " " " " " ! ! ! ! ! !       8 8 8 8 8 8Z[  $       
) ) ) ) ) )r   