pub struct RelationshipPolicy {Show 13 fields
pub input_schema: Option<Value>,
pub output_schema: Option<Value>,
pub context: Option<TeamContextPolicy>,
pub history: TeamHistoryPolicy,
pub state_keys: Vec<String>,
pub state_write_keys: Vec<String>,
pub state_merge: TeamStateMergePolicy,
pub artifact_prefixes: Vec<String>,
pub resume: TeamResumePolicy,
pub timeout_ms: Option<u64>,
pub approval: RelationshipApprovalPolicy,
pub failure: RelationshipFailureStrategy,
pub circuit_breaker: Option<CircuitBreakerPolicy>,
}Expand description
Contract enforced for one exact relationship.
Fields§
§input_schema: Option<Value>Optional JSON Schema for arguments supplied to the relationship tool.
output_schema: Option<Value>Optional JSON Schema validated against a delegate’s returned value.
context: Option<TeamContextPolicy>Override the team-wide context policy for this edge.
history: TeamHistoryPolicyHistory projection applied to delegated child sessions.
state_keys: Vec<String>Exact state keys copied to delegated child sessions. Empty means all keys allowed by the selected context policy.
state_write_keys: Vec<String>Exact state keys a delegated member may write back. Empty allows all keys.
state_merge: TeamStateMergePolicyMerge behavior for delegated state writes.
artifact_prefixes: Vec<String>Allowed artifact-name prefixes written by a delegate. Empty allows all names.
resume: TeamResumePolicyDurable recovery contract for an interrupted delegation.
timeout_ms: Option<u64>Per-attempt timeout in milliseconds.
approval: RelationshipApprovalPolicyWhether invoking this edge requires a tool confirmation decision.
failure: RelationshipFailureStrategyFailure handling for this edge.
circuit_breaker: Option<CircuitBreakerPolicy>Optional circuit breaker for repeatedly failing delegate calls.
Trait Implementations§
Source§impl Clone for RelationshipPolicy
impl Clone for RelationshipPolicy
Source§fn clone(&self) -> RelationshipPolicy
fn clone(&self) -> RelationshipPolicy
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 RelationshipPolicy
impl Debug for RelationshipPolicy
Source§impl Default for RelationshipPolicy
impl Default for RelationshipPolicy
Source§fn default() -> RelationshipPolicy
fn default() -> RelationshipPolicy
Source§impl<'de> Deserialize<'de> for RelationshipPolicy
impl<'de> Deserialize<'de> for RelationshipPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RelationshipPolicy
Source§impl JsonSchema for RelationshipPolicy
impl JsonSchema for RelationshipPolicy
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 RelationshipPolicy
impl PartialEq for RelationshipPolicy
Source§impl Serialize for RelationshipPolicy
impl Serialize for RelationshipPolicy
impl StructuralPartialEq for RelationshipPolicy
Auto Trait Implementations§
impl Freeze for RelationshipPolicy
impl RefUnwindSafe for RelationshipPolicy
impl Send for RelationshipPolicy
impl Sync for RelationshipPolicy
impl Unpin for RelationshipPolicy
impl UnsafeUnpin for RelationshipPolicy
impl UnwindSafe for RelationshipPolicy
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.