hermes-agent/hermes_cli
teknium1 370cc9394b
feat(side): extend /side to CLI + TUI, shared prompt composer, tests, docs
Follow-ups on the #53969 salvage:

- hermes_cli/side_question.py: shared compose_side_prompt() used by all
  three surfaces; treats the parent history as read-only by construction.
- gateway: /side now uses the shared composer and registers its task in
  _background_tasks with a done-callback (same lifecycle as /background,
  addressing the sweeper review note); dropped the unused
  _SIDE_BOUNDARY_PROMPT and the dead /sidereturn no-op command (with its
  /return and /closeside alias squatting).
- CLI: /side snapshots self.conversation_history into a side prompt and
  reuses the /background daemon-thread runner (new prompt_override /
  display_prompt / task_label parameters); dispatch wired in cli.py.
- TUI: new prompt.side RPC (history snapshot under history_lock, throwaway
  AIAgent, background.complete delivery) + /side slash command in ui-tui.
- No /btw alias: /btw is a long-standing alias of /background
  (hermes_cli/commands.py) — /side ships alias-free and a registry test
  pins /btw -> background.
- tests: tests/gateway/test_side_command.py (19) covering the byte-identical
  main-history invariant, empty-history, no-session-entry, task lifecycle
  tracking, prompt composition, and registry; tests/cli/test_cli_side_command.py
  (7) covering the CLI surface and dispatch.
- docs: /side rows in the CLI and messaging tables of
  website/docs/reference/slash-commands.md + cross-surface list.
2026-07-26 16:17:57 -07:00
..
dashboard_auth
proxy
subcommands feat(slack): support long app descriptions in the manifest generator 2026-07-23 12:01:24 -07:00
__init__.py
_early_recovery.py
_parser.py feat: raise default tool-calling iteration limit from 90 to 500 2026-07-26 12:54:45 -07:00
_subprocess_compat.py
active_sessions.py
auth.py
auth_commands.py
azure_detect.py
backup.py fix(state): stop cancelling our own POSIX locks on live SQLite databases 2026-07-25 21:44:43 -07:00
banner.py
blueprint_cmd.py
browser_connect.py
build_info.py
bundles.py
callbacks.py
checkpoints.py
claw.py
cli_agent_setup_mixin.py
cli_billing_mixin.py
cli_commands_mixin.py feat(side): extend /side to CLI + TUI, shared prompt composer, tests, docs 2026-07-26 16:17:57 -07:00
cli_output.py
clipboard.py
codex_models.py
codex_runtime_plugin_migration.py
codex_runtime_switch.py
colors.py
commands.py feat(side): extend /side to CLI + TUI, shared prompt composer, tests, docs 2026-07-26 16:17:57 -07:00
completion.py
config.py fix(config): merge duplicate kanban block so auto_subscribe_on_create default survives 2026-07-26 13:42:22 -07:00
console_engine.py
container_boot.py
context_switch_guard.py
copilot_auth.py
credential_lifecycle.py
cron.py
curator.py fix(curator): make the autonomous write policy consistent (#67140) 2026-07-25 19:27:17 -07:00
curses_ui.py
dashboard_register.py
debug.py
default_soul.py
dep_ensure.py
diagnostics_upload.py
dingtalk_auth.py
doctor.py
dump.py
env_loader.py
fallback_cmd.py
fallback_config.py
gateway.py fix(setup): stop asking about self-configuring platform knobs 2026-07-26 08:43:24 -07:00
gateway_enroll.py
gateway_windows.py
goals.py
gui_uninstall.py
hooks.py
input_sanitize.py
inventory.py refactor(cli): route every aux picker through one provider-inventory seam 2026-07-25 22:47:12 -07:00
journey.py
kanban.py fix(kanban): cover remaining add_notify_sub call sites for chat_type (#56580) 2026-07-26 13:42:33 -07:00
kanban_db.py fix(kanban): snap notify-sub cursor to current MAX(task_events.id) at creation 2026-07-26 16:14:15 -07:00
kanban_decompose.py
kanban_diagnostics.py
kanban_specify.py fix(auxiliary): route direct-create aux callers through call_llm (#65029) 2026-07-15 07:39:17 -07:00
kanban_swarm.py
logs.py
main.py fix(cli): live-probe dashboard status and share update cleanup across paths 2026-07-26 14:11:05 -07:00
managed_scope.py
managed_uv.py fix(managed-uv): don't retry patches at or below the installed version 2026-07-25 16:42:49 -07:00
mcp_catalog.py
mcp_config.py feat(mcp): fnmatch glob support in tools.include/exclude filters 2026-07-26 08:26:09 -07:00
mcp_picker.py
mcp_security.py
mcp_startup.py fix(mcp): propagate profile HERMES_HOME override into shared discovery owner; restore stdio startup + WSTransport tests 2026-07-26 14:14:03 -07:00
memory_oauth.py
memory_setup.py
middleware.py
migrate.py
moa_cmd.py
moa_config.py
model_catalog.py
model_cost_guard.py
model_normalize.py
model_setup_flows.py
model_switch.py
models.py
nous_account.py
nous_auth_keepalive.py
nous_billing.py fix(billing): rename user-facing "terminal billing" copy to Remote Spending (#68355) 2026-07-21 12:20:25 +05:30
nous_subscription.py
onepassword_secrets_cli.py
oneshot.py
pairing.py
partial_compress.py
pets.py
platforms.py
plugins.py
plugins_cmd.py
portal_cli.py
profile_describer.py
profile_distribution.py
profiles.py
projects_cmd.py
projects_db.py
prompt_size.py
provider_catalog.py
providers.py
proxy_cli.py
psutil_android.py
pt_input_extras.py
pty_bridge.py
pty_session.py
relaunch.py
route_identity.py
runtime_provider.py
secret_prompt.py
secrets_cli.py
security_advisories.py
security_audit.py
security_audit_startup.py
send_cmd.py
service_manager.py
session_export.py
session_export_html.py
session_export_md.py
session_filters.py
session_listing.py
session_recap.py
session_recovery.py fix(sessions): retain all reconstructed sessions 2026-07-26 08:06:46 -07:00
setup.py
setup_hidden_env.py fix(setup): stop asking about self-configuring platform knobs 2026-07-26 08:43:24 -07:00
setup_whatsapp_cloud.py
side_question.py feat(side): extend /side to CLI + TUI, shared prompt composer, tests, docs 2026-07-26 16:17:57 -07:00
skills_config.py
skills_hub.py
skin_cmd.py
skin_engine.py
slack_cli.py
sqlite_runtime.py
sqlite_safe_read.py fix(sessions): close the snapshot check/use race and guard damaged state_meta 2026-07-25 23:05:30 -07:00
sqlite_util.py
status.py
stdio.py
suggestions_cmd.py
telegram_managed_bot.py
timeouts.py
tips.py feat: raise default tool-calling iteration limit from 90 to 500 2026-07-26 12:54:45 -07:00
tools_config.py fix(install): clear stale Windows cua lock 2026-07-26 16:01:54 -07:00
toolset_validation.py
uninstall.py
urllib_security.py
voice.py
web_git.py
web_server.py fix(dashboard): QA pass — log colors, nameless channels, config bool, UX gaps 2026-07-26 15:17:30 -07:00
webhook.py
win_pty_bridge.py
windows_ssh_runtime.py
write_approval_commands.py
xai_retirement.py