+
    jHàjl  ã                  óf   € R t ^ RIHt ^ RIt^ RIHt R R ltR R ltRR	R
R	/R R lltR R lt	R# )um  ``hermes dashboard`` / ``hermes serve`` subcommand parsers.

``dashboard`` is the browser web UI; ``serve`` is the same gateway, headless â€”
what the desktop app and remote backends run. ``serve`` also skips the web UI
build (``headless_backend=True``): pure JSON-RPC/WS clients never load the SPA.
Both share one handler (``cmd_dashboard`` â†’ ``start_server``).
)ÚannotationsN)ÚCallablec               ó   € V ^8„  d   QhRR/# )é   ÚreturnÚNone© )Úformats   "ÚE/home/ubuntu/.hermes/hermes-agent/hermes_cli/subcommands/dashboard.pyÚ__annotate__r      s   € ÷ cñ c¨ñ có    c                ón  € 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\        P                  R7       V P                  RR
RR7       V P                  RR
RR7       R# )zWRuntime flags shared by ``dashboard`` and ``serve`` (same ``web_server.start_server``).z--portiŸ#  z,Port (default 9119, 0 for auto-assign by OS))ÚtypeÚdefaultÚhelpz--hostz	127.0.0.1zHost (default 127.0.0.1)©r   r   z
--insecureÚ
store_trueu÷   DEPRECATED / NO-OP. Formerly bypassed auth on a non-loopback bind. As of the June 2026 hardening it no longer disables authentication â€” a public bind always requires an auth provider (password or OAuth). Bind 127.0.0.1 + tunnel to keep it local.©Úactionr   z--skip-buildzÊSkip the web UI build step and serve the existing dist directly. Useful for non-interactive contexts (Windows Scheduled Tasks, CI) where npm may not be available. Pre-build with: cd web && npm run buildz
--isolatedzøWhen launched from a named profile, run a dedicated server scoped to that profile instead of routing to the machine-level server. Default behavior is unified: profile launches attach to (or start) ONE machine-level server and preselect the profile.z--open-profileÚopen_profileÚ ©Údestr   r   z--stopz5Stop all running Hermes web server processes and exitz--statusz1List running Hermes web server processes and exitN)Úadd_argumentÚintÚargparseÚSUPPRESS)Úparsers   &r
   Ú_add_server_runtime_argsr      sò   € à
×ÑØ”s DÐ/]ð ô _à
×Ñ˜¨+Ð<VÐÔWØ
×ÑØ˜\ðMð ô Nð ×ÑØ˜|ðVð ô Wð
 ×ÑØ˜\ðBð ô Cð ×ÑÐ(¨~ÀrÔPX×PaÑPaÐÔbð ×ÑØ˜Ð,cð ô eà
×ÑØ˜<Ð.að ö cr   c               ó    € V ^8„  d   QhRRRR/# )r   Úcmd_dashboardr   r   r   r   )r	   s   "r
   r   r   0   s   € ÷ bñ b°hð bÀ4ñ br   c               óâ   € \        V 4       V P                  RR\        P                  R7       V P                  RRRRRR	7       V P                  R
RRRRR	7       V P	                  VRRRR7       R# )zZCanonical ``serve`` arguments; shared by the full tree and Desktop's lean hot-path parser.ú	--no-openr   r   z--ssh-session-token-fileÚssh_session_token_fileÚPATHNz3Read a one-shot Desktop SSH session token from PATH)r   Úmetavarr   r   z--ssh-owner-nonceÚssh_owner_nonceÚNONCEz,Identify a Desktop-owned SSH backend processTÚserve)ÚfuncÚno_openÚheadless_backendÚcommand)r   r   r   r   Úset_defaults)r   r    s   &$r
   Ú_configure_serve_parserr.   0   sƒ   € ä˜VÔ$à
×Ñ˜¨L¼x×?PÑ?PÐÔQØ
×ÑØ"Ð)AÈ6Ð[_ØBð ô Dð ×ÑØÐ"3¸WÈdØ;ð ô =ð ×Ñ˜]°DÈ4ÐY`ÐÖar   Úadd_helpTÚexit_on_errorc               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r    r   r/   Úboolr0   r   zargparse.ArgumentParserr   )r	   s   "r
   r   r   >   s,   € ÷ ñ ØðØ*.ðØFJðàñr   c                óP   € \         P                  ! RRWR7      p\        W0R7       V# )zEBuild the standalone parser used by the lean ``serve`` dispatch path.zhermes servez”Run the Hermes backend server - the JSON-RPC/WebSocket gateway the desktop app and remote clients connect to. Headless: it never opens a browser UI.)ÚprogÚdescriptionr/   r0   ©r    )r   ÚArgumentParserr.   )r    r/   r0   r   s   $$$ r
   Úbuild_serve_parserr8   >   s0   € ô ×$Ò$Øðð ô8€Fô ˜FÕ@Ø€Mr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r    r   Úcmd_dashboard_registerr   r   r   )r	   s   "r
   r   r   L   s)   € ÷ 1Hñ 1HØ"*ð1HØDLð1HØQUñ1Hr   c               ó   € V P                  RRRR7      p\        V4       VP                  RRRR7       VP                  R	R\        P                  R7       VP                  VR
7       V P                  RRRR7      p\        WAR7       VP                  RR7      pVP                  RRRR7      pVP                  RRRR7       VP                  RRRRR7       VP                  RRRRR7       VP                  VR
7       R# )zVAttach ``dashboard`` (browser UI) and ``serve`` (headless backend the desktop spawns).Ú	dashboardzStart the web UI dashboardzQLaunch the Hermes Agent web dashboard for managing config, API keys, and sessions)r   r5   r"   r   z Don't open browser automaticallyr   z--tui)r)   r(   zVStart the Hermes backend server (headless; powers the desktop app and remote backends)u–   Run the Hermes backend server â€” the JSON-RPC/WebSocket gateway the desktop app and remote clients connect to. Headless: it never opens a browser UI.r6   Údashboard_subcommand)r   ÚregisterzVRegister a self-hosted dashboard with Nous Portal (writes the OAuth client ID to .env)z÷Register this install as a self-hosted dashboard with your Nous Portal account. Creates an OAuth client, writes HERMES_DASHBOARD_OAUTH_CLIENT_ID into ~/.hermes/.env, and prints how to engage the login gate. Requires being logged in (hermes setup).z--nameNzHHuman-readable label for the dashboard (default: an auto-generated name)r   z--redirect-uriÚredirect_uriz‡Optional public HTTPS OAuth redirect URI for the dashboard, e.g. https://hermes.example.com/auth/callback. Omit for localhost-only use.r   z--portal-urlÚ
portal_urlzìOverride the Nous Portal base URL for registration (default: the portal you logged into). The access token must be valid at this portal. Also settable via HERMES_DASHBOARD_PORTAL_URL. Mainly for testing against a staging/preview portal.)Ú
add_parserr   r   r   r   r-   r.   Úadd_subparsers)Ú
subparsersr    r:   Údashboard_parserÚserve_parserÚdashboard_subparsersÚdashboard_register_parsers   &$$    r
   Úbuild_dashboard_parserrH   L   sU  € ð "×,Ñ,ØÐ6Øgð -ó Ðô Ð-Ô.Ø×!Ñ!Ø˜LÐ/Qð "ô Sð
 ×!Ñ! '°,ÄX×EVÑEVÐ!ÔWØ×!Ñ! }Ð!Ô5ð
 ×(Ñ(ØØeðð )ó €Lô ˜LÕFð ,×:Ñ:Ð@VÐ:ÓWÐØ 4× ?Ñ ?ØØeðUð !@ó !VÐð ×*Ñ*Ø˜$ØWð +ô Yð ×*Ñ*Ø˜~°tðUð +ô Vð ×*Ñ*Ø˜\°4ð8ð +ô 9ð ×*Ñ*Ð0FÐ*ÖGr   )
Ú__doc__Ú
__future__r   r   Útypingr   r   r.   r8   rH   r   r   r
   Ú<module>rL      s=   ðñõ #ã Ý õcõBbðØ15ðØMQ÷÷1Hr   