Skip to main content

PiDriver

Struct PiDriver 

Source
pub struct PiDriver;
Expand description

The modular driver for Pi (37-03): print-mode -p launch, pi auth check health, and the de-Claude-ified workflow-reference prompt. NO JSON unwrapper or monitor/CloseRule integration here — that is 37.1/38 (CONTEXT D-04).

Trait Implementations§

Source§

impl AgentDriver for PiDriver

Source§

fn workflow_root(&self) -> String

Pi installs its GSD workflows under ~/.pi/agent/gsd-core/workflows/, NOT the Codex install the default points at (code-review finding #5).

Source§

fn capabilities(&self) -> DriverCapabilities

Pi declares subagent-dispatch capability when a subagent extension is installed in the user profile (see [pi_subagent_dispatch_available]).

Source§

fn name(&self) -> &'static str

Human-readable driver name.
Source§

fn render_prompt(&self, intent: &StageIntent) -> String

Render the stage prompt for this agent from a crate::prompt::StageIntent.
Source§

fn build_command( &self, _phase: PhaseId, prompt: &str, _extra_writable_roots: &[PathBuf], ) -> (&'static str, Vec<String>)

Build the command and arguments to launch this agent headless.
Source§

fn health(&self, _state: &State) -> Result<(), String>

Driver-specific pre-launch health check.
Source§

fn parse_completion(&self, _output: &str) -> Option<AgentResult>

Parse this agent’s completion signal out of captured output; None when the transport is process-exit (no event stream to scan).
Source§

fn environment(&self) -> Vec<(String, String)>

Extra environment variables for the agent process tree.
Source§

fn sandbox_requirements(&self) -> SandboxRequirements

Sandbox requirements for this agent’s launch.
Source§

fn discover(&self) -> Result<(), String>

Discover capabilities from the installed CLI (e.g. codex features list).
Source§

fn test_contract(&self) -> Vec<ContractResult>

The conformance suite every driver must pass (37-04).
Source§

fn interactivity_mode(&self, _stage: Stage) -> InteractivityMode

The interactivity requirement for running stage headless.
Source§

fn health_classification(&self, state: &State) -> DriverHealth

Classify this driver’s health (the pass/fail AgentDriver::health mapped onto the richer DriverHealth).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more