[docs]defbuild_exec_command(self,*,provider_bin:str,repo_dir:Path,prompt:str,sandbox_policy:str=DEFAULT_SANDBOX_POLICY,sandbox_mode:str|None=None,model:str|None=None,reasoning_effort:str|None=None,json_output:bool=True,)->list[str]:normalized_policy=normalize_sandbox_policy(sandbox_policy)cmd=[provider_bin,"--print","--add-dir",str(Path(repo_dir))]ifjson_output:# Claude requires --verbose when using --print + stream-json output.cmd.extend(["--verbose","--output-format","stream-json"])ifnormalized_policy=="bypass":cmd.extend(["--permission-mode","bypassPermissions"])elifisinstance(sandbox_mode,str)andsandbox_mode.strip():permission_mode=self.SANDBOX_PERMISSION_MODE.get(sandbox_mode.strip())ifisinstance(permission_mode,str):cmd.extend(["--permission-mode",permission_mode])ifisinstance(model,str)andmodel.strip():cmd.extend(["--model",model.strip()])normalized_effort=normalize_reasoning_effort(reasoning_effort)ifisinstance(normalized_effort,str)andnormalized_effort:translated=self.REASONING_MAP.get(normalized_effort,normalized_effort)cmd.extend(["--effort",translated])cmd.append(prompt)returncmd