pub struct GeminiTarget;Trait Implementations§
Source§impl Target for GeminiTarget
impl Target for GeminiTarget
fn name(&self) -> &'static str
fn display_name(&self) -> &'static str
Source§fn shell_tool_name(&self) -> &'static str
fn shell_tool_name(&self) -> &'static str
The harness’s SHELL tool — the only tool this hook should decide about. Droid’s is
Execute, Gemini’s run_shell_command; most are Bash. Defaults to Bash, the common
case.fn detect_paths(&self, home: &Path) -> Vec<PathBuf>
fn install(&self, home: &Path) -> Result<InstallOutcome, String>
fn hook_format(&self) -> Option<&dyn HookFormat>
Source§fn hook_format_for(&self, _stdin: &str) -> Option<&dyn HookFormat>
fn hook_format_for(&self, _stdin: &str) -> Option<&dyn HookFormat>
The format that answers THIS envelope. Most harnesses send one hook event, so it is
hook_format. Codex sends PreToolUse and PermissionRequest to the same command and
expects a different answer to each, so it picks by the event the envelope names.Source§fn hook_formats(&self) -> Vec<&dyn HookFormat>
fn hook_formats(&self) -> Vec<&dyn HookFormat>
Every format
hook_format_for can return, so the contract guards that need no envelope walk
all of them and a second event’s format cannot ship unchecked. The foreign-tool guard is
driven by sample_envelope and reaches only the format that envelope routes to; Codex’s
PermissionRequest tool filter has its own test in codex.rs.Auto Trait Implementations§
impl Freeze for GeminiTarget
impl RefUnwindSafe for GeminiTarget
impl Send for GeminiTarget
impl Sync for GeminiTarget
impl Unpin for GeminiTarget
impl UnsafeUnpin for GeminiTarget
impl UnwindSafe for GeminiTarget
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more