+
    jHàj[%  ã                  ó.   € R t ^ RIHt ^ RIHt R R ltR# )z%``hermes profile`` subcommand parser.)Úannotations)ÚCallablec               ó    € V ^8„  d   QhRRRR/# )é   Úcmd_profiler   ÚreturnÚNone© )Úformats   "ÚC/home/ubuntu/.hermes/hermes-agent/hermes_cli/subcommands/profile.pyÚ__annotate__r      s   € ÷ \2ñ \2°Xð \2À$ñ \2ó    c               óÂ  € V P                  RRR7      pVP                  RR7      pVP                  RRR7       VP                  RR	R7      pVP                  R
RR7       VP                  RRR7      pVP                  R
RR7       VP                  RRRR7       VP                  RRRR7       VP                  RRRR7       VP                  RRRR7       VP                  RRRR7       VP                  RRRR7       VP                  RRR R7       VP                  R!R"R#R$7       VP                  R%R&R7      pVP                  R
R'R7       VP                  R(R)RR*R7       VP                  R+R,R7      pVP                  R
R-R"R.R/7       VP                  R0R"R1R$7       VP                  R2RR3R7       VP                  R4RR5R7       VP                  R6R7RR8R97       VP                  R:R;R7      pVP                  R
R<R7       VP                  R=R>R7      p	V	P                  R
R?R7       V	P                  R@RRAR7       V	P                  RBRCRDRERF7       VP                  RGRHR7      p
V
P                  RIRJR7       V
P                  RKRLR7       VP                  RMRNRORP7      pVP                  R
RQR7       VP                  RRRSRTRP7      pVP                  RIRUR7       VP                  RKRVR7       VP                  RWRXR7      pVP                  R
RYR7       VP                  RZR[R"R\R$7       VP                  R]R^R7      pVP                  R_R`R7       VP                  RBRaRDRbRF7       VP                  RcRdReRP7      pVP                  RfRgR7       VP                  RBRhRDRiRF7       VP                  RjRRkR7       VP                  RlRRmR7       VP                  R(R)RRnR7       VP                  RoRpRqRP7      pVP                  R
RrR7       VP                  RsRRtR7       VP                  R(R)RRuR7       VP                  RvRwR7      pVP                  R
RxR7       VP                  VRy7       R"# )zz4Attach the ``profile`` subcommand to ``subparsers``.Úprofileu6   Manage profiles â€” multiple isolated Hermes instances)ÚhelpÚprofile_action)ÚdestÚlistzList all profilesÚusezSet sticky default profileÚprofile_namezProfile name (or 'default')ÚcreatezCreate a new profilez&Profile name (lowercase, alphanumeric)z--cloneÚ
store_truez‡Copy config.yaml, .env, SOUL.md, and skills from active profile (messaging bot tokens/allowlists are left behind; see --clone-channels))Úactionr   z--clone-allz]Full copy of active profile (all state, excluding per-profile history and messaging channels)z--clone-fromÚSOURCEzGSource profile to clone from; implies --clone unless --clone-all is set)Úmetavarr   z--clone-channelszÃAlso copy the source's messaging channels (bot tokens, allowlists, platform sections). Two profiles holding one bot token collide; refused when the source is served by a live multiplexed gateway.z--sync-importsz÷With --clone/--clone-from: also carry over the `hermes import-agent` sync manifest so the new profile stays registered against the same Claude Code / Codex trees (`hermes -p <name> import-agent --sync`). Never syncs config from the source profile.z
--no-aliaszSkip wrapper script creationz--no-skillszWCreate an empty profile with no bundled skills (opts out of `hermes update` skill sync)z--descriptionNzÍOne- or two-sentence description of what this profile is good at. Used by the kanban decomposer to route tasks based on role instead of profile name alone. Skip and add later via `hermes profile describe`.)Údefaultr   ÚdeletezDelete a profilezProfile to deletez-yz--yeszSkip confirmation promptÚdescribezERead or set a profile's description (used by the kanban orchestrator)Ú?z6Profile to describe (omit + use --all --auto to sweep))Únargsr   r   z--textzHSet description to this exact text (overwrites any existing description)z--autozRAuto-generate description via the auxiliary LLM (uses auxiliary.profile_describer)z--overwritezsWith --auto, replace user-authored descriptions too (default: only fill in missing or previously-auto descriptions)z--allÚall_missingz7With --auto, run on every profile missing a description)r   r   r   ÚshowzShow profile detailszProfile to showÚaliaszManage wrapper scriptszProfile namez--removezRemove the wrapper scriptz--nameÚ
alias_nameÚNAMEz)Custom alias name (default: profile name))r   r   r   Úrenamez?Rename a profile ('default': sets a display name; id unchanged)Úold_namezCurrent profile nameÚnew_nameuU   New profile name (for 'default': a display name â€” the canonical id stays 'default')zpurge-identityz8Retry a deleted profile's session/routing identity purgeay  Re-run the session/routing identity purge that `hermes profile delete` performs automatically. The profile directory is already gone when this is needed: state still keyed by the deleted profile name (routing keys, heartbeats, routing/delivery rows) is deleted. Run it after restarting the gateway (which reloads the routing index from the DB) or after stopping it. Idempotent.)r   ÚdescriptionzDeleted profile namezmigrate-identityz<Retry a renamed profile's session/routing identity migrationa¯  Re-run the session/routing identity migration that `hermes profile rename` performs automatically. The rename has already happened when this is needed, so pass the OLD and NEW names: state still keyed by the old profile name (session keys, profile_name, heartbeats, routing/delivery rows) is rekeyed to the new one. Run it after restarting the gateway (which reloads the routing index from the DB) or after stopping it. Idempotent.zProfile name before the renamezProfile name after the renameÚexportzExport a profile to archivezProfile to exportz-oz--outputzhOutput file (default: a managed profile-exports/<name>-<timestamp>.tar.gz under the default Hermes home)ÚimportzImport a profile from archiveÚarchivezPath to .tar.gz archiveÚimport_namez-Profile name (default: inferred from archive)Úinstallz@Install a profile distribution from a git URL or local directoryzªInstall a Hermes profile distribution. SOURCE can be a git URL (github.com/user/repo, https://..., git@...) or a local directory containing distribution.yaml at its root.Úsourcez0Distribution source (git URL or local directory)Úinstall_namez3Override profile name (default: read from manifest)z--aliasz6Create a shell wrapper alias for the installed profilez--forcezDOverwrite an existing profile of the same name (user data preserved)z"Skip manifest preview confirmationÚupdatez>Re-pull a distribution and apply updates (user data preserved)aL  Fetch the distribution from its recorded source and overwrite distribution-owned files (SOUL.md, mcp.json) and the skills and cron jobs the distribution ships; skills or cron jobs you added yourself stay in place. User data (memories, sessions, auth, .env) is never touched. config.yaml is preserved unless --force-config is passed.zProfile to updatez--force-configzFAlso overwrite config.yaml (normally preserved to keep user overrides)zSkip confirmationÚinfozFShow a profile's distribution manifest (version, requirements, source)zProfile to inspect)Úfunc)Ú
add_parserÚadd_subparsersÚadd_argumentÚset_defaults)Ú
subparsersr   Úprofile_parserÚprofile_subparsersÚprofile_useÚprofile_createÚprofile_deleteÚprofile_describeÚprofile_showÚprofile_aliasÚprofile_renameÚprofile_purgeÚprofile_migrateÚprofile_exportÚprofile_importÚprofile_installÚprofile_updateÚprofile_infos   &$                r   Úbuild_profile_parserrH      sÚ  € à×*Ñ*ØÐPð +ó R€Nà'×6Ñ6Ð<LÐ6ÓMÐà×!Ñ! &Ð/BÐ!ÔCØ$×/Ñ/°Ð<XÐ/ÓY€KØ×Ñ˜^Ð2OÐÔPà'×2Ñ2°8ÐBXÐ2ÓY€NØ×Ñ Ð5]ÐÔ^Ø×ÑØ˜,ðWð  ô Xð ×ÑØ˜lØlð  ô nð ×ÑØ ØVð  ô Xð ×ÑØ <ð$ð  ô %ð
 ×ÑØ ðeð  ô fð
 ×ÑØ˜\Ð0Nð  ô Pà×ÑØ˜lØfð  ô ð ×ÑØ ðXð  ô Yð (×2Ñ2°8ÐBTÐ2ÓU€NØ×Ñ Ð5HÐÔIØ×Ñ  g°lÐIcÐÔdà)×4Ñ4ØÐ`ð 5ó bÐà×!Ñ!Ø˜c¨4ØEð "ô Gð ×!Ñ!Ø˜$ØWð "ô Yð ×!Ñ!Ø˜ð2ð "ô 3ð ×!Ñ!Ø˜lð@ð "ô Að ×!Ñ!Ø�m¨LØFð "ô Hð &×0Ñ0°Ð>TÐ0ÓU€LØ×Ñ˜nÐ3DÐÔEà&×1Ñ1°'Ð@XÐ1ÓY€MØ×Ñ˜~°NÐÔCØ×Ñ˜z°,ÐE`ÐÔaØ×ÑØ�|¨VØ8ð ô :ð (×2Ñ2ØÐXð 3ó Z€Nà×Ñ 
Ð1GÐÔHØ×ÑØØdð  ô fð '×1Ñ1ØØGð4ð 2ó 5€Mð ×Ñ˜~Ð4JÐÔKà(×3Ñ3ØØKð'ð 4ó (€Oð × Ñ  Ð2RÐ ÔSØ× Ñ  Ð2QÐ ÔRà'×2Ñ2°8ÐB_Ð2Ó`€NØ×Ñ Ð5HÐÔIØ×ÑØˆj $ð.ð  ô /ð
 (×2Ñ2°8ÐBaÐ2Ób€NØ×Ñ 	Ð0IÐÔJØ×ÑØ�}¨fØ<ð  ô >ð
 )×3Ñ3ØÐZðBð 4ó C€Oð
 × Ñ  Ð0bÐ ÔcØ× Ñ Ø�~¨vØBð !ô Dð × Ñ Ø˜,ØEð !ô Gð × Ñ Ø˜,ØSð !ô Uð × Ñ Øˆg˜lÐ1Uð !ô Wð (×2Ñ2ØÐWðHð 3ó I€Nð ×Ñ Ð5HÐÔIØ×ÑØ ØUð  ô Wð ×Ñ  g°lÐI\ÐÔ]à%×0Ñ0ØÐ]ð 1ó _€Là×Ñ˜nÐ3GÐÔHà×Ñ [ÐÖ1r   N)Ú__doc__Ú
__future__r   Útypingr   rH   r	   r   r   Ú<module>rL      s   ðÙ +å "å ÷\2r   