+
    jHàj¾1  ã                  ó@   € R t ^ RIHt ^ RIHt ^ RIHt R tR R ltR# )z"``hermes cron`` subcommand parser.)Úannotations)ÚCallable)Úadd_accept_hooks_flagc               ó2   € V P                   ! VR RRV/VB  R# )ÚactionÚ
store_trueÚhelpN)Úadd_argument)Úparserr   ÚnamesÚkws   &$*,Ú@/home/ubuntu/.hermes/hermes-agent/hermes_cli/subcommands/cron.pyÚ_flagr   
   s   € Ø
×Ò˜ÐE |ÐE¸$ÐEÀ"ÔEó    c               ó    € V ^8„  d   QhRRRR/# )é   Úcmd_cronr   ÚreturnÚNone© )Úformats   "r   Ú__annotate__r      s   € ÷ ,ñ ,¨xð ,¸Dñ ,r   c          	     óT  € V P                  RRRR7      pVP                  RR7      pVP                  RRR	7      p\        VR
RR	7       VP                  RR.RR7      pVP                  RRR	7       VP                  RRRR7       VP                  RRR	7       VP                  RRR	7       VP                  RRRR7       VP                  R\        RR 7       VP                  R!R"R#R$R%7       VP                  R&R'R	7       \        VR(R)R*R+R,7       VP                  R-R.R/R7       VP                  R0R1R2R7       VP                  R3R4R	7       VP                  R5R6R	7       VP                  R7R8R9R:R;R<7       VP                  R=R>R?R7       VP                  R@RARBR7       VP                  RCRDR	7       VP                  RERFRGRHR:RIRJ7       \        VRKR*RLRM7       VP                  RNROR	7       VP                  RPRQR	7      pVP                  RRRSR	7       VP                  RTRUR	7       VP                  RVRWR	7       VP                  RRXR	7       VP                  RRYR	7       VP                  RRRZR7       VP                  R\        R[R 7       VP                  R!R"R#R\R%7       VP                  R]R^R#R_R%7       VP                  R`RaR#RbR%7       \        VRcRdR	7       VP                  R&ReR	7       VP                  R(R)RGRHR:RfRJ7       VP                  RgR)RGR*RhRi7       VP                  RERFRGRHR:RjRJ7       VP                  RkRFRGR*RlRi7       VP                  R-R.RmR7       VP                  R0R1RnR7       VP                  R3RoR	7       VP                  R5RpR	7       VP                  4       pVP                  R7R8R9R:RqR<7       VP                  RrR8RsRtR%7       VP                  R=R>RuR7       VP                  R@RARvR7       VP                  RCRwR	7       VP                  RxRyR	7      pVP                  RRRzR	7       VP                  R{R|R	7      p	V	P                  RRR}R	7       V	P                  R~RR€R7       \        V	R�R‚R	7       VP                  RƒR„R	7      p
V
P                  RRR…R	7       \        V
4       VP                  R†R‡Rˆ.R‰R7      pVP                  RRRŠR	7       VP                  R‹RŒR	7       VP                  R�RŽ.R�R7      pVP                  RRRR�R7       VP                  R‘\        ^R’R“7       VP                  R”R•R	7      pVP                  R–. R¬OR—R˜7       VP                  R™RRRRš.R›Rœ7       VP                  R�RRžR7       VP                  RŸR R	7      pVP                  RRR¡R	7       VP                  R¢RR. R­OR›Rœ7       VP                  R£RR¤R7       VP                  R¥RR¦R7       VP                  R§R¨R	7       VP                  R©RªR	7      p\        V4       \        V4       VP                  VR«7       R:# )®zGAttach the ``cron`` subcommand (and its sub-actions) to ``subparsers``.ÚcronzCron job managementzManage scheduled tasks)r   ÚdescriptionÚcron_command)ÚdestÚlistzList scheduled jobs)r   z--allz#Include disabled and completed jobsÚcreateÚaddzCreate a scheduled job)Úaliasesr   Úschedulez/Schedule like '30m', 'every 2h', or '0 9 * * *'ÚpromptÚ?z2Optional self-contained prompt or task instruction)Únargsr   z--namez Optional human-friendly job namez	--deliverz½Delivery target: origin, local, telegram, discord, signal, platform:chat_id, or bot-chat[:profile] (inject output into a local profile's canonical Bot Chat as a message the bot responds to)z--failure-deliverÚfailure_deliverzÃOverride target for FAILURE notices only (same grammar as --deliver). 'local' suppresses failure notices entirely; run state stays visible in `hermes cron list`. Omit = failures follow --deliver.)r   r   z--repeatzOptional repeat count)Útyper   z--skillÚskillsÚappendz.Attach a skill. Repeat to add multiple skills.)r   r   r   z--scriptzûPath to a script under ~/.hermes/scripts/. Default mode: script stdout is injected into the agent's prompt each run. With --no-agent: the script IS the job and its stdout is delivered verbatim. .sh/.bash files run via bash, everything else via Python.z
--no-agentÚno_agentFu«   Skip the LLM entirely â€” run --script on schedule and deliver its stdout directly. Empty stdout = silent. Classic watchdog pattern (memory alerts, disk alerts, CI pings).)r   Údefaultr   z--monitor-scriptÚmonitor_scriptak  Monitor mode: path to a cheap source script under ~/.hermes/scripts/ that runs each tick BEFORE the agent. Unchanged output (exact-bytes hash) suppresses the agent run entirely; changed output injects a MONITOR CHANGE DETECTED diff into the prompt. Script output must be stable (no timestamps). Mutually exclusive with --monitor-url; incompatible with --no-agent.z--monitor-urlÚmonitor_urlzˆMonitor mode: http(s) URL fetched with a bounded GET each tick instead of a script. Same hash-suppression semantics as --monitor-script.z	--workdirzÜAbsolute path for the job to run from. Injects AGENTS.md / CLAUDE.md / .cursorrules from that directory and uses it as the cwd for terminal/file/code_exec tools. Omit to preserve old behaviour (no project context files).z--modelz·Pin this job to a specific inference model (user-owned; the agent's cronjob tool cannot set this). Omit to follow cron.model, then the main agent model (`hermes model`), at fire time.z--pinÚpinnedr   Nz‘Lock the CURRENT main agent model (and its provider) onto this job so later `hermes model` changes never touch it. Ignored when --model is given.)r   r   r*   r   z
--providerÚmodel_providerzCInference provider paired with --model (e.g. 'openrouter', 'nous').z--reasoning-effortÚreasoning_efforta  Pin this job's reasoning (thinking) effort: none, minimal, low, medium, high, xhigh, max, or ultra. Overrides agent.reasoning_effort and agent.reasoning_overrides for this job; unsupported levels are clamped by the provider at request time. Omit to follow config.z--interpreterzãAbsolute or ~ path to a Python in your own venv (e.g. ~/venvs/report/bin/python) for a .py --script / --monitor-script, so it can import packages Hermes does not ship. .sh/.bash still run under bash. Omit to use Hermes' Python.z--continuityÚ
continuityÚstore_constTzëEach run wakes up with the job's own previous output injected into its prompt, so it can dedupe against what was already reported and continue where the last run left off (scouts, monitors, incremental digests). First run is unchanged.)r   r   Úconstr*   r   z--pausedzHCreate disabled in one write; resume to schedule, or explicitly run now.)r*   r   z--paused-reasonz$Auditable reason; requires --paused.ÚeditzEdit an existing scheduled jobÚjob_idzJob ID to editz
--schedulezNew schedulez--promptzNew prompt/task instructionzNew job namezNew delivery targetzkOverride target for failure notices (same grammar as --deliver; 'local' suppresses; '' clears the override)zNew repeat countzIReplace the job's skills with this set. Repeat to attach multiple skills.z--add-skillÚ
add_skillsz?Append a skill without replacing the existing list. Repeatable.z--remove-skillÚremove_skillsz-Remove a specific attached skill. Repeatable.z--clear-skillsz'Remove all attached skills from the jobz°Path to a script under ~/.hermes/scripts/. Pass empty string to clear. With --no-agent the script IS the job; otherwise its stdout is injected into the agent's prompt each run.zVEnable no-agent mode on this job (requires --script or an existing script on the job).z--agentzDDisable no-agent mode on this job (reverts to LLM-driven execution).)r   r   r2   r   zpTurn on run-to-run continuity: each run sees the job's own previous output (dedupe, continue where it left off).z--no-continuityzKTurn off run-to-run continuity (other context_from job refs are preserved).znSet/replace the monitor source script (see `hermes cron create --monitor-script`). Pass empty string to clear.z?Set/replace the monitor source URL. Pass empty string to clear.zqAbsolute path for the job to run from (injects AGENTS.md etc. and sets terminal cwd). Pass empty string to clear.z·Pin this job to a specific inference model (user-owned; the agent's cronjob tool cannot set this). Pass empty string to clear the pin and follow cron.model, then the main agent model.zCLock the CURRENT main agent model (and its provider) onto this job.z--unpinÚstore_falsezERelease the job's model pin so it follows the main agent model again.zCInference provider paired with --model. Pass empty string to clear.z¤Pin this job's reasoning (thinking) effort: none, minimal, low, medium, high, xhigh, max, or ultra. Pass empty string to clear the pin and follow config resolution.zvAbsolute or ~ path to a Python for a .py script / monitor script. Pass empty string to clear (back to Hermes' Python).ÚpausezPause a scheduled jobzJob ID to pauseÚresumezResume a paused jobzJob ID to resumez--atÚrun_atzRe-arm at an ISO-8601 timez	--run-nowzRe-arm to run nowÚrunz$Run a job on the next scheduler tickzJob ID to triggerÚremoveÚrmÚdeletezRemove a scheduled jobzJob ID to removeÚstatusz"Check if cron scheduler is runningÚrunsÚhistoryzShow durable execution attemptszOptional job ID filterz--limitzRows to show (1-500))r&   r*   r   Ú	incidentsz2List or acknowledge durable cron failure incidentsz--statez#Filter incidents by lifecycle state)Úchoicesr   Úincident_actionÚackzAction (default: list))r$   r*   rC   r   Úincident_idz Incident ID to acknowledge (ack)Únotepadz>Read/write a job's durable notepad (persistent KV across runs)zJob ID the notepad belongs toÚnotepad_actionÚkeyzNotepad key (get/set/delete)ÚvaluezValue to store (set)Údoctorz-Check scheduled jobs for common health issuesÚtickzRun due jobs once and exit)Úfunc)ÚdetectedÚalertedÚresolvedÚclosed)ÚgetÚsetr>   r   )Ú
add_parserÚadd_subparsersr   r	   ÚintÚadd_mutually_exclusive_groupr   Úset_defaults)Ú
subparsersr   Úcron_parserÚcron_subparsersÚ	cron_listÚcron_createÚ	cron_editÚ_pinÚ
cron_pauseÚcron_resumeÚcron_runÚcron_removeÚ	cron_runsÚcron_incidentsÚcron_notepadÚ	cron_ticks   &$              r   Úbuild_cron_parserrh      s  € à×'Ñ'ØÐ*Ð8Pð (ó R€Kà!×0Ñ0°nÐ0ÓE€Oà×*Ñ*¨6Ð8MÐ*ÓN€IÜ	ˆ)�WÐ#HÕIà!×,Ñ,Ø˜5˜'Ð(@ð -ó B€Kà×Ñ˜ZÐ._ÐÔ`Ø×ÑØ˜Ð"Vð ô Xà×Ñ˜XÐ,NÐÔOØ×Ñ˜[ðSð ô Tð ×ÑÐ0Ð7Hð ð ô !ð
 ×Ñ˜Z¬cÐ8OÐÔPØ×Ñ˜Y¨X¸hØ=ð ô ?à×Ñ˜Zðð ô  ô 
ˆ+�|¨*¸eð>õ?ð ×ÑÐ/Ð6Fð,ð ô -ð ×Ñ˜_°=ð ð ô !ð ×Ñ˜[ð lð ô ð ×Ñ˜YðTð ô Uð ×Ñ˜W¨8¸LÐRVðTð ô Uð ×Ñ˜\Ð0@ØRð ô Tà×ÑÐ1Ð8JðNð ô Oð
 ×Ñ˜_ðPð ô Qð ×ÑØ˜\°-ÀtÐUYðFð ô Gô 
ˆ+�z¨5ØWõYà×ÑÐ.Ð5[ÐÔ\à×*Ñ*¨6Ð8XÐ*ÓY€IØ×Ñ˜8Ð*:ÐÔ;Ø×Ñ˜<¨nÐÔ=Ø×Ñ˜:Ð,IÐÔJØ×Ñ˜8¨.ÐÔ9Ø×Ñ˜;Ð-BÐÔCØ×ÑÐ.Ð5Fð:ð ô ;ð ×Ñ˜:¬CÐ6HÐÔIØ×Ñ˜9¨8¸HØXð ô Zà×Ñ˜=¨|ÀHØNð ô Pà×ÑÐ+°/È(Ø<ð ô >ä	ˆ)Ð%Ð,UÕVØ×Ñ˜:ð9ð ô :ð ×ÑØ˜:¨mÀ4ÐQUð+ð ô ,ð ×Ñ˜9¨:¸mÐSXØSð ô Uà×ÑØ˜\°-ÀtÐUYðDð ô Eð ×ÑÐ,°<ÈÐ]bØ[ð ô ^à×ÑÐ-Ð4Dð>ð ô ?ð ×Ñ˜?°ØOð ô Rà×Ñ˜;ð Að ô ð ×Ñ˜9ðNð ô Oð ×1Ñ1Ó3€DØ×Ñ�g H°\È4ØRð ô Tà×Ñ�i h°}ØTð ô Và×Ñ˜<Ð.>ØRð ô Tà×ÑÐ/Ð6Hð4ð ô 5ð ×Ñ˜?ðCð ô Dð
 !×+Ñ+¨GÐ:QÐ+ÓR€JØ×Ñ˜HÐ+<ÐÔ=à!×,Ñ,¨XÐ<QÐ,ÓR€KØ×Ñ˜XÐ,>ÐÔ?Ø×Ñ˜V¨(Ð9UÐÔVÜ	ˆ+�{Ð)<Õ=à×)Ñ)¨%Ð6\Ð)Ó]€HØ×Ñ˜(Ð)<ÐÔ=Ü˜(Ô#à!×,Ñ,Ø˜4 Ð*Ð1Ið -ó K€Kà×Ñ˜XÐ,>ÐÔ?ð ×Ñ˜xÐ.RÐÔSà×*Ñ*Ø˜˜Ð*Kð +ó M€Ià×Ñ˜8¨3Ð5MÐÔNØ×Ñ˜9¬3¸ÐAWÐÔXð %×/Ñ/ØÐNð 0ó P€Nà×Ñ 	Ò3`Ø2ð  ô 4à×ÑØ ¨f¸vÀu¸oØ%ð  ô 'ð ×Ñ °SÐ?aÐÔbð #×-Ñ-ØÐXð .ó Z€Là×Ñ˜hÐ-LÐÔMØ×ÑØ ¨VÒ=]Ø%ð ô 'ð ×Ñ˜e¨3Ð5SÐÔTØ×Ñ˜g¨SÐ7MÐÔNà×Ñ˜xÐ.]ÐÔ^à×*Ñ*¨6Ð8TÐ*ÓU€IÜ˜)Ô$Ü˜+Ô&Ø×Ñ (ÐÖ+r   N)	Ú__doc__Ú
__future__r   Útypingr   Úhermes_cli.subcommands._sharedr   r   rh   r   r   r   Ú<module>rm      s   ðÙ (å "å å @òF÷,r   