1- #[ cfg( target_os = "linux" ) ]
2- mod landlock;
3- mod proto;
4- mod seatbelt;
5-
61use clap:: Parser ;
7- use codex_core:: protocol:: SandboxPolicy ;
8- use codex_core:: SandboxPermissionOption ;
2+ use codex_cli:: create_sandbox_policy;
3+ use codex_cli:: proto;
4+ use codex_cli:: seatbelt;
5+ use codex_cli:: LandlockCommand ;
6+ use codex_cli:: SeatbeltCommand ;
97use codex_exec:: Cli as ExecCli ;
108use codex_repl:: Cli as ReplCli ;
119use codex_tui:: Cli as TuiCli ;
@@ -63,34 +61,6 @@ enum DebugCommand {
6361 Landlock ( LandlockCommand ) ,
6462}
6563
66- #[ derive( Debug , Parser ) ]
67- struct SeatbeltCommand {
68- /// Convenience alias for low-friction sandboxed automatic execution (network-disabled sandbox that can write to cwd and TMPDIR)
69- #[ arg( long = "full-auto" , default_value_t = false ) ]
70- full_auto : bool ,
71-
72- #[ clap( flatten) ]
73- pub sandbox : SandboxPermissionOption ,
74-
75- /// Full command args to run under seatbelt.
76- #[ arg( trailing_var_arg = true ) ]
77- command : Vec < String > ,
78- }
79-
80- #[ derive( Debug , Parser ) ]
81- struct LandlockCommand {
82- /// Convenience alias for low-friction sandboxed automatic execution (network-disabled sandbox that can write to cwd and TMPDIR)
83- #[ arg( long = "full-auto" , default_value_t = false ) ]
84- full_auto : bool ,
85-
86- #[ clap( flatten) ]
87- sandbox : SandboxPermissionOption ,
88-
89- /// Full command args to run under landlock.
90- #[ arg( trailing_var_arg = true ) ]
91- command : Vec < String > ,
92- }
93-
9464#[ derive( Debug , Parser ) ]
9565struct ReplProto { }
9666
@@ -127,7 +97,7 @@ async fn main() -> anyhow::Result<()> {
12797 full_auto,
12898 } ) => {
12999 let sandbox_policy = create_sandbox_policy ( full_auto, sandbox) ;
130- landlock:: run_landlock ( command, sandbox_policy) ?;
100+ codex_cli :: landlock:: run_landlock ( command, sandbox_policy) ?;
131101 }
132102 #[ cfg( not( target_os = "linux" ) ) ]
133103 DebugCommand :: Landlock ( _) => {
@@ -138,14 +108,3 @@ async fn main() -> anyhow::Result<()> {
138108
139109 Ok ( ( ) )
140110}
141-
142- fn create_sandbox_policy ( full_auto : bool , sandbox : SandboxPermissionOption ) -> SandboxPolicy {
143- if full_auto {
144- SandboxPolicy :: new_full_auto_policy ( )
145- } else {
146- match sandbox. permissions . map ( Into :: into) {
147- Some ( sandbox_policy) => sandbox_policy,
148- None => SandboxPolicy :: new_read_only_policy ( ) ,
149- }
150- }
151- }
0 commit comments