+
    „WÝj  ã                  óB   € R t ^ RIHt ^ RIt^ RIHt ^ RIHt R R ltR# )z'``hermes approvals`` subcommand parser.)ÚannotationsN)ÚCallable)Úadd_json_flagc               ó    € V ^8„  d   QhRRRR/# )é   Úcmd_approvalsr   ÚreturnÚNone© )Úformats   "ÚTC:\Users\johnn\AppData\Local\hermes\hermes-agent\hermes_cli\subcommands\approvals.pyÚ__annotate__r      s   € ÷ ;6ñ ;6¸ð ;6Àdñ ;6ó    c               ó˜  € V P                  RRRR7      pVP                  RRR7      pVP                  RR	R
R7      pVP                  RRRRR7       \        VR4       VP                  R\        ^ZRR7       VP                  RR\        ^RR7       VP                  R\        ^RR7       VP                  RRR7       VP                  VR7       VP                  RRR R7      pVP                  R!R"R#R$R%7       \        VR4       VP                  R&\        P                  R'R(R)7       VP                  VR7       VP                  VR7       R*# )+z6Attach the ``approvals`` subcommand to ``subparsers``.Ú	approvalsz=Approval-prompt tools (mine history into allowlist proposals)zÚTools for the dangerous-command approval system. `hermes approvals suggest` mines past approval decisions from the session database and proposes command_allowlist entries so repeatedly-approved commands stop prompting.)ÚhelpÚdescriptionÚapprovals_commandz<subcommand>)ÚdestÚmetavarÚsuggestz5Propose command_allowlist entries from past approvalsa/  Scan the session database for dangerous-classified commands that ran with user approval, rank the recurring patterns, and print a numbered allowlist proposal. Nothing is written unless --apply is given. Destructive classes (recursive delete, sudo, disk writes, credential edits, ...) are never proposed.z--applyÚapply_indiceszN[,M...]zUMerge the numbered proposals (from a prior run) into command_allowlist in config.yaml)r   r   r   z9Emit machine-readable JSON instead of human-readable textz--daysz;How far back to scan session history (default: 90; 0 = all))ÚtypeÚdefaultr   z--min-countÚ	min_countz@Minimum approval count for a pattern to be proposed (default: 2))r   r   r   r   z--limitz1Maximum number of proposals to show (default: 20)z--dbzCPath to an alternate session database (default: ~/.hermes/state.db))r   )ÚfuncÚtestz>Dry-run the approval verdict for a command (never executes it)uò  Evaluate a command against the REAL runtime approval guards â€” hardline blocklist, user approvals.deny rules, dangerous-pattern detection, allowlist, yolo/off bypass â€” and print the verdict, the matching rule, and the normalized-command trace, without executing the command, prompting anyone, or persisting anything. Exit codes: 0 allow, 2 ask-approval, 3 deny (hardline or user deny rule). Tip: use `--` before the command so its own flags aren't parsed: hermes approvals test -- rm -rf ./buildz
--env-typeÚenv_typeÚlocalzsTerminal backend type to evaluate against (default: local; isolated container backends like docker skip the guards))r   r   r   Úcommand_wordsÚcommandz=The command to evaluate (prefix with -- to protect its flags))Únargsr   r   N)Ú
add_parserÚadd_subparsersÚadd_argumentr   ÚintÚset_defaultsÚargparseÚ	REMAINDER)Ú
subparsersr   Úapprovals_parserÚapprovals_subparsersÚsuggest_parserÚtest_parsers   &$    r   Úbuild_approvals_parserr.      s¼  € à!×,Ñ,ØÐYð;ð -ó <Ðð ,×:Ñ:Ø ¨.ð ;ó :Ðð *×4Ñ4ØÐOðFð 5ó G€Nð ×ÑØ˜°ð+ð  ô ,ô �.Ð"]Ô^Ø×ÑØ”s BØJð  ô Lð ×ÑØ˜K¬c¸1ØOð  ô Qð ×ÑØœ RÐ.að  ô cà×ÑØÐZð  ô \à×Ñ ]ÐÔ3à&×1Ñ1ØÐUðEð 2ó 	F€Kð ×ÑØ˜:¨wðCð ô Dô �+ÐZÔ[Ø×ÑØÜ× Ñ Øð Mð ô Nð ×Ñ -ÐÔ0à×!Ñ! }Ð!Ö5r   )	Ú__doc__Ú
__future__r   r'   Útypingr   Úhermes_cli.subcommands._sharedr   r.   r
   r   r   Ú<module>r3      s   ðÙ -å "ã Ý å 8÷;6r   