hermes-bsd/hermes_cli/subcommands
Ben Barclay 51eeb70cb8 feat(debug): add --nous flag to upload diagnostics to Nous S3
`hermes debug share --nous` uploads the (force-redacted) debug bundle to
Nous-internal S3 storage via a presigned URL minted by the Nous account
service, instead of a public paste. The bundle is private — viewable only
by Nous staff / allowlisted mods through a Google-OAuth-gated viewer — and
auto-deletes after 14 days. The paste.rs path is unchanged and remains the
default.

- hermes_cli/diagnostics_upload.py (new): stdlib-urllib NAS client —
  request_upload_url(), put_bundle(), confirm_upload() (best-effort),
  share_to_nous() orchestrator. Base URL via HERMES_DIAGNOSTICS_BASE_URL
  (default https://portal.nousresearch.com).
- hermes_cli/debug.py: extract collect_share_bundle() from build_debug_share()
  so the Nous path reuses the exact same redaction/collection (paste.rs
  behaviour unchanged); add build_nous_bundle() producing the gzipped
  {"format":"hermes-debug-share/1","redacted":...,"files":...} envelope the
  discord-support viewer parses; add the --nous run path with a privacy
  notice and a clean fallback (suggest --local) on failure.
- hermes_cli/main.py: add the --nous flag + help/epilog entry on
  `debug share`.
- tests: test_diagnostics_upload.py (new) mocks urllib; test_debug.py adds
  bundle/Nous coverage. 97 passing.
2026-06-30 17:29:23 -07:00
..
__init__.py
_shared.py
acp.py
auth.py
backup.py
claw.py
config.py
cron.py
dashboard.py test(cli): pin the hermes serve decoupling contract 2026-06-28 22:11:48 -05:00
debug.py feat(debug): add --nous flag to upload diagnostics to Nous S3 2026-06-30 17:29:23 -07:00
doctor.py
dump.py
gateway.py fix(gateway): honor --start-now/--start-on-login flags and support non-TTY headless installs 2026-06-28 04:09:54 -07:00
gui.py
hooks.py
import_cmd.py
insights.py
login.py
logout.py
logs.py
mcp.py
memory.py
model.py
pairing.py
plugins.py feat(plugins): enable-time consent prompt for tool_override grant 2026-06-30 04:00:42 -07:00
postinstall.py
profile.py
prompt_size.py
security.py
setup.py
skills.py fix(skills-hub): surface per-tap providers (NVIDIA/OpenAI/...) in runtime search (#53191) 2026-06-26 11:04:41 -07:00
slack.py
status.py
tools.py
uninstall.py
update.py
version.py
webhook.py
whatsapp.py