@@ -62,7 +62,7 @@ def __init__(self) -> None:
6262
6363 manager .run_agent (
6464 agent = "auggie" ,
65- image = "nezhar /auggie-cli :latest" ,
65+ image = "vibepod /auggie:latest" ,
6666 workspace = workspace ,
6767 config_dir = config_dir ,
6868 config_mount_path = "/config" ,
@@ -110,7 +110,7 @@ def __init__(self) -> None:
110110
111111 manager .run_agent (
112112 agent = "devstral" ,
113- image = "nezhar /devstral-cli :latest" ,
113+ image = "vibepod /devstral:latest" ,
114114 workspace = workspace ,
115115 config_dir = config_dir ,
116116 config_mount_path = "/config" ,
@@ -663,7 +663,7 @@ def run_agent(self, **kwargs) -> object: # type: ignore[no-untyped-def]
663663 run_cmd .run (agent = "gemini" , workspace = tmp_path , detach = True , ikwid = True )
664664
665665 # Command should be unchanged (no ikwid args appended)
666- assert captured ["command" ] == ["gemini" ]
666+ assert captured ["command" ] == ["env" , "HOME=/config" , "node" , "/usr/local/bin/ gemini" ]
667667
668668
669669def test_ikwid_false_does_not_modify_command (monkeypatch , tmp_path : Path ) -> None :
@@ -1047,3 +1047,101 @@ def __init__(self) -> None:
10471047 run_cmd .run (agent = "c" , workspace = tmp_path )
10481048
10491049 assert exc .value .exit_code == EXIT_DOCKER_NOT_RUNNING
1050+
1051+
1052+ def test_run_forwards_host_terminal_env (monkeypatch , tmp_path : Path ) -> None :
1053+ captured : dict = {}
1054+
1055+ class _CapturingDockerManager :
1056+ def ensure_network (self , name : str ) -> None :
1057+ pass
1058+
1059+ def networks_with_running_containers (self ) -> list [str ]:
1060+ return []
1061+
1062+ def pull_image (self , image : str ) -> None :
1063+ pass
1064+
1065+ def ensure_proxy (self , ** kwargs ) -> None : # type: ignore[no-untyped-def]
1066+ pass
1067+
1068+ def run_agent (self , ** kwargs ) -> object : # type: ignore[no-untyped-def]
1069+ captured .update (kwargs )
1070+ container = type (
1071+ "_Container" ,
1072+ (),
1073+ {
1074+ "name" : "vibepod-gemini-test" ,
1075+ "id" : "abc123" ,
1076+ "status" : "running" ,
1077+ "attrs" : {"NetworkSettings" : {"Networks" : {}}},
1078+ "reload" : lambda self : None ,
1079+ "labels" : {},
1080+ "logs" : lambda self , ** kw : b"" ,
1081+ },
1082+ )()
1083+ return container
1084+
1085+ monkeypatch .setenv ("TERM" , "xterm-256color" )
1086+ monkeypatch .setenv ("COLORTERM" , "truecolor" )
1087+ monkeypatch .setenv ("TERM_PROGRAM" , "vscode" )
1088+ monkeypatch .setenv ("TERM_PROGRAM_VERSION" , "1.100.0" )
1089+ monkeypatch .setenv ("LANG" , "en_US.UTF-8" )
1090+ monkeypatch .setattr (run_cmd , "get_config" , lambda : _make_config ())
1091+ monkeypatch .setattr (run_cmd , "DockerManager" , _CapturingDockerManager )
1092+
1093+ run_cmd .run (agent = "gemini" , workspace = tmp_path , detach = True )
1094+
1095+ env = captured ["env" ]
1096+ assert env ["TERM" ] == "xterm-256color"
1097+ assert env ["COLORTERM" ] == "truecolor"
1098+ assert env ["TERM_PROGRAM" ] == "vscode"
1099+ assert env ["TERM_PROGRAM_VERSION" ] == "1.100.0"
1100+ assert env ["LANG" ] == "en_US.UTF-8"
1101+
1102+
1103+ def test_run_sets_default_term_when_host_term_missing (monkeypatch , tmp_path : Path ) -> None :
1104+ captured : dict = {}
1105+
1106+ class _CapturingDockerManager :
1107+ def ensure_network (self , name : str ) -> None :
1108+ pass
1109+
1110+ def networks_with_running_containers (self ) -> list [str ]:
1111+ return []
1112+
1113+ def pull_image (self , image : str ) -> None :
1114+ pass
1115+
1116+ def ensure_proxy (self , ** kwargs ) -> None : # type: ignore[no-untyped-def]
1117+ pass
1118+
1119+ def run_agent (self , ** kwargs ) -> object : # type: ignore[no-untyped-def]
1120+ captured .update (kwargs )
1121+ container = type (
1122+ "_Container" ,
1123+ (),
1124+ {
1125+ "name" : "vibepod-gemini-test" ,
1126+ "id" : "abc123" ,
1127+ "status" : "running" ,
1128+ "attrs" : {"NetworkSettings" : {"Networks" : {}}},
1129+ "reload" : lambda self : None ,
1130+ "labels" : {},
1131+ "logs" : lambda self , ** kw : b"" ,
1132+ },
1133+ )()
1134+ return container
1135+
1136+ monkeypatch .delenv ("TERM" , raising = False )
1137+ monkeypatch .delenv ("COLORTERM" , raising = False )
1138+ monkeypatch .delenv ("TERM_PROGRAM" , raising = False )
1139+ monkeypatch .delenv ("TERM_PROGRAM_VERSION" , raising = False )
1140+ monkeypatch .delenv ("LANG" , raising = False )
1141+ monkeypatch .setattr (run_cmd , "get_config" , lambda : _make_config ())
1142+ monkeypatch .setattr (run_cmd , "DockerManager" , _CapturingDockerManager )
1143+
1144+ run_cmd .run (agent = "gemini" , workspace = tmp_path , detach = True )
1145+
1146+ env = captured ["env" ]
1147+ assert env ["TERM" ] == "xterm-256color"
0 commit comments