pub struct PlannedToolCall {
pub request_id: String,
pub server_id: String,
pub tool_name: String,
pub action: Option<String>,
pub parameters: Value,
pub model_metadata: Option<ModelMetadata>,
pub dependencies: Vec<String>,
}Expand description
One step in a submitted plan.
Fields§
§request_id: StringPlanner-assigned identifier for this step. Reused as the
request identifier when the step is synthesised into a full
ToolCallRequest for capability and guard evaluation.
server_id: StringTarget tool-server id.
tool_name: StringName of the tool to invoke.
action: Option<String>Free-form tag describing the action the planner is modelling
(e.g. "read", "write", "transfer"). The kernel does not
interpret this field in v1; it is recorded for telemetry and
future pre-invocation guards that want to discriminate on intent
without inspecting parameters.
parameters: ValueArguments the planner intends to pass to the tool server.
model_metadata: Option<ModelMetadata>Optional metadata describing the model executing the planner.
Scoped per step (not per plan) so an orchestrator that routes
individual steps across different models can declare each step’s
model independently. Consumed by Constraint::ModelConstraint
enforcement in the same way as runtime ToolCallRequests.
dependencies: Vec<String>Other planned step ids this step conceptually depends on.
Advisory only in v1: the kernel records the edges for downstream audit but does not topo-sort the plan, reject cycles, or suppress evaluation of dependent steps when a predecessor is denied.
Trait Implementations§
Source§impl Clone for PlannedToolCall
impl Clone for PlannedToolCall
Source§fn clone(&self) -> PlannedToolCall
fn clone(&self) -> PlannedToolCall
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 PlannedToolCall
impl Debug for PlannedToolCall
Source§impl<'de> Deserialize<'de> for PlannedToolCall
impl<'de> Deserialize<'de> for PlannedToolCall
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PlannedToolCall, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PlannedToolCall, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for PlannedToolCall
impl Serialize for PlannedToolCall
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,
Auto Trait Implementations§
impl Freeze for PlannedToolCall
impl RefUnwindSafe for PlannedToolCall
impl Send for PlannedToolCall
impl Sync for PlannedToolCall
impl Unpin for PlannedToolCall
impl UnsafeUnpin for PlannedToolCall
impl UnwindSafe for PlannedToolCall
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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<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