hermes-agent/tools/environments
Teknium 7a3682ac3f
feat: mount skill credential files + fix env passthrough for remote backends (#3671)
Two related fixes for remote terminal backends (Modal/Docker):

1. NEW: Credential file mounting system
   Skills declare required_credential_files in frontmatter. Files are
   mounted into Docker (read-only bind mounts) and Modal (mounts at
   creation + sync via exec on each command for mid-session changes).
   Google Workspace skill updated with the new field.

2. FIX: Docker backend now includes env_passthrough vars
   Skills that declare required_environment_variables (e.g. Notion with
   NOTION_API_KEY) register vars in the env_passthrough system. The
   local backend checked this, but Docker's forward_env was a separate
   disconnected list. Now Docker exec merges both sources, so
   skill-declared env vars are forwarded into containers automatically.

   This fixes the reported issue where NOTION_API_KEY in ~/.hermes/.env
   wasn't reaching the Docker container despite being registered via
   the Notion skill's prerequisites.

Closes #3665
2026-03-28 23:53:40 -07:00
..
__init__.py feat(environments): add Daytona cloud sandbox backend 2026-03-05 10:02:21 -08:00
base.py fix(cli): respect HERMES_HOME in all remaining hardcoded ~/.hermes paths 2026-03-13 21:32:53 -07:00
daytona.py fix(daytona): migrate sandbox lookup from find_one to get/list 2026-03-19 17:54:46 +01:00
docker.py feat: mount skill credential files + fix env passthrough for remote backends (#3671) 2026-03-28 23:53:40 -07:00
local.py fix(terminal): avoid merging heredoc EOF with fence wrapper (#3598) 2026-03-28 14:43:41 -07:00
modal.py feat: mount skill credential files + fix env passthrough for remote backends (#3671) 2026-03-28 23:53:40 -07:00
persistent_shell.py fix(shell): exponential backoff for persistent shell polling (#2996) 2026-03-25 10:56:48 -07:00
singularity.py fix(terminal): add Singularity/Apptainer preflight availability check 2026-03-16 18:25:20 +03:00
ssh.py fix(shell): exponential backoff for persistent shell polling (#2996) 2026-03-25 10:56:48 -07:00