pub struct SubprocessOutput {
pub format: Option<String>,
pub result_ptr: Option<String>,
pub ok_from: Option<String>,
pub stats: Option<SubprocessStats>,
}Expand description
GH #83 — declarative stdout → worker-result normalization for a
SubprocessDef (plain mode only; streaming modes keep their event
protocol untouched).
Fields§
§format: Option<String>Expected stdout format. Some("json") = stdout MUST parse as
JSON (an unparsable stdout is a failed step). None = the
historical lenient JSON-or-raw wrap.
result_ptr: Option<String>JSON Pointer (RFC 6901) selecting the worker-result value out of
the parsed stdout (e.g. "/result"). None = the whole parsed
value.
ok_from: Option<String>Where the ok/failure signal comes from: "exit_code" (default
behavior) or a JSON Pointer into the parsed stdout whose value
must be boolean true for ok.
stats: Option<SubprocessStats>Declarative stdout → per-step worker-stats mapping (token usage
/ model / num_turns), applied by the engine after a successful
JSON parse. None = no stats extraction (the engine still
records exit code + declared model as baseline stats).
Trait Implementations§
Source§impl Clone for SubprocessOutput
impl Clone for SubprocessOutput
Source§fn clone(&self) -> SubprocessOutput
fn clone(&self) -> SubprocessOutput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SubprocessOutput
impl Debug for SubprocessOutput
Source§impl<'de> Deserialize<'de> for SubprocessOutput
impl<'de> Deserialize<'de> for SubprocessOutput
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SubprocessOutput, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SubprocessOutput, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for SubprocessOutput
Source§impl JsonSchema for SubprocessOutput
impl JsonSchema for SubprocessOutput
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for SubprocessOutput
impl PartialEq for SubprocessOutput
Source§impl Serialize for SubprocessOutput
impl Serialize for SubprocessOutput
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for SubprocessOutput
Auto Trait Implementations§
impl Freeze for SubprocessOutput
impl RefUnwindSafe for SubprocessOutput
impl Send for SubprocessOutput
impl Sync for SubprocessOutput
impl Unpin for SubprocessOutput
impl UnsafeUnpin for SubprocessOutput
impl UnwindSafe for SubprocessOutput
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more