Teknium
0484910787
feat(terminal): pluggable terminal environment backends via plugin registry
Third-party sandbox vendors can now ship a terminal backend as a standalone
plugin instead of landing in core. Adds the five-piece pluggable-subsystem
pattern for terminal environments:
- agent/terminal_env_provider.py — TerminalEnvironmentProvider ABC with
declarative classification flags (is_remote, is_container,
skip_container_guards, cache_path_base, strip_env_keys,
session_isolated_when_nonpersistent) so every historical
frozenset-of-names classification site consults the registry instead
- agent/terminal_env_registry.py — thread-safe scoped registry; built-in
backend names are reserved and unregistrable
- PluginContext.register_terminal_environment_provider() mirroring
register_browser_provider
- _create_environment falls through to registered providers; unknown-backend
errors list plugin names
- Classification sites wired: approval guard skip, container path/cwd
handling (terminal/file/code-exec), prompt-builder env hints + probe,
host env probe suppression, skills remote-env note, cache path
translation, subprocess secret stripping (both spawn paths),
per-session isolation for name-resumed sandboxes
- Surfaces: hermes setup picker + doctor + status rows, dashboard
terminal-backend picker rows/probe/validation, terminal.backend schema
options recomputed per request
- Docs: developer-guide/terminal-environment-plugin.md + sidebar + plugins
capability table
2026-08-24 20:10:44 -07:00
..
2026-08-17 15:12:53 -05:00
2026-07-22 16:51:01 -04:00
2026-08-14 22:08:58 -07:00
2026-08-17 12:58:51 -07:00
2026-07-06 12:11:31 -07:00
2026-08-08 23:09:43 +05:30
2026-08-08 23:09:43 +05:30
2026-08-13 02:38:28 -07:00
2026-08-07 08:58:08 -07:00
2026-08-23 02:54:30 -07:00
2026-08-02 16:16:36 -07:00
2026-08-20 03:05:46 -07:00
2026-06-11 10:49:47 -07:00
2026-08-21 12:48:53 -07:00
2026-08-20 13:30:35 -05:00
2026-07-24 09:49:00 -07:00
2026-07-29 09:45:11 -07:00
2026-07-29 08:48:05 -07:00
2026-08-13 11:49:14 -07:00
2026-08-13 11:11:53 -07:00
2026-08-12 16:25:20 -07:00
2026-08-21 22:33:45 +05:30
2026-07-29 08:48:05 -07:00
2026-07-29 19:48:37 -07:00
2026-08-12 16:25:10 -07:00
2026-08-02 21:16:17 +05:30
2026-07-26 23:27:30 -07:00
2026-08-24 20:10:44 -07:00
2026-08-09 00:52:07 -07:00
2026-07-29 08:48:05 -07:00
2026-07-29 08:48:05 -07:00
2026-07-06 12:11:31 -07:00
2026-07-16 22:51:23 -04:00