pub enum HookResponse {
Show 20 variants
ObserveOnly,
InjectContext(Vec<ContextInjectionRequest>),
ModifyProjection(ProjectionPatch),
RequestCompaction(CompactionRequest),
ModifyValidationHints(ValidationHintPatch),
ModifyToolRequest(ToolRequestPatch),
ModifyApprovalRequest(ApprovalRequestPatch),
Deny(DenyReason),
RequestApproval(ApprovalRequestPatch),
RequestRetry(RetryRequest),
RewriteToolResult(ToolResultPatch),
ModifySubagentRequest(SubagentRequestPatch),
ModifyProcessRequest(ProcessRequestPatch),
ValidateDetach(DetachValidationRequest),
RequestUsageRollupRepair(UsageRollupRepairRequest),
RequestCleanupRepair(CleanupRepairRequest),
MarkProtectedContext(Vec<ContextItemId>),
RequestProjectionAuditRepair(ProjectionAuditRepairRequest),
StopCompletionWithRepairNeeded(RepairNeededReason),
StopRun(StopReason),
}Expand description
Enumerates the finite hook response cases. Serialized names are part of the SDK contract; update fixtures when variants change.
Variants§
ObserveOnly
Use this variant when the contract needs to represent observe only; selecting it has no side effect by itself.
InjectContext(Vec<ContextInjectionRequest>)
Use this variant when the contract needs to represent inject context; selecting it has no side effect by itself.
ModifyProjection(ProjectionPatch)
Use this variant when the contract needs to represent modify projection; selecting it has no side effect by itself.
RequestCompaction(CompactionRequest)
Use this variant when the contract needs to represent request compaction; selecting it has no side effect by itself.
ModifyValidationHints(ValidationHintPatch)
Use this variant when the contract needs to represent modify validation hints; selecting it has no side effect by itself.
ModifyToolRequest(ToolRequestPatch)
Use this variant when the contract needs to represent modify tool request; selecting it has no side effect by itself.
ModifyApprovalRequest(ApprovalRequestPatch)
Use this variant when the contract needs to represent modify approval request; selecting it has no side effect by itself.
Deny(DenyReason)
Use this variant when the contract needs to represent deny; selecting it has no side effect by itself.
RequestApproval(ApprovalRequestPatch)
Use this variant when the contract needs to represent request approval; selecting it has no side effect by itself.
RequestRetry(RetryRequest)
Use this variant when the contract needs to represent request retry; selecting it has no side effect by itself.
RewriteToolResult(ToolResultPatch)
Use this variant when the contract needs to represent rewrite tool result; selecting it has no side effect by itself.
ModifySubagentRequest(SubagentRequestPatch)
Use this variant when the contract needs to represent modify subagent request; selecting it has no side effect by itself.
ModifyProcessRequest(ProcessRequestPatch)
Use this variant when the contract needs to represent modify process request; selecting it has no side effect by itself.
ValidateDetach(DetachValidationRequest)
Use this variant when the contract needs to represent validate detach; selecting it has no side effect by itself.
RequestUsageRollupRepair(UsageRollupRepairRequest)
Use this variant when the contract needs to represent request usage rollup repair; selecting it has no side effect by itself.
RequestCleanupRepair(CleanupRepairRequest)
Use this variant when the contract needs to represent request cleanup repair; selecting it has no side effect by itself.
MarkProtectedContext(Vec<ContextItemId>)
Use this variant when the contract needs to represent mark protected context; selecting it has no side effect by itself.
RequestProjectionAuditRepair(ProjectionAuditRepairRequest)
Use this variant when the contract needs to represent request projection audit repair; selecting it has no side effect by itself.
StopCompletionWithRepairNeeded(RepairNeededReason)
Use this variant when the contract needs to represent stop completion with repair needed; selecting it has no side effect by itself.
StopRun(StopReason)
Use this variant when the contract needs to represent stop run; selecting it has no side effect by itself.
Implementations§
Source§impl HookResponse
impl HookResponse
Sourcepub fn response_class(&self) -> HookResponseClass
pub fn response_class(&self) -> HookResponseClass
Returns the response class currently held by this value. This is data-only and does not perform I/O, call host ports, append journals, publish events, or start processes.
Sourcepub fn changes_behavior(&self) -> bool
pub fn changes_behavior(&self) -> bool
Returns whether changes behavior applies for this state. This is data-only and does not perform I/O, call host ports, append journals, publish events, or start processes.
Trait Implementations§
Source§impl Clone for HookResponse
impl Clone for HookResponse
Source§fn clone(&self) -> HookResponse
fn clone(&self) -> HookResponse
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 HookResponse
impl Debug for HookResponse
Source§impl<'de> Deserialize<'de> for HookResponse
impl<'de> Deserialize<'de> for HookResponse
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>,
Source§impl PartialEq for HookResponse
impl PartialEq for HookResponse
Source§fn eq(&self, other: &HookResponse) -> bool
fn eq(&self, other: &HookResponse) -> bool
self and other values to be equal, and is used by ==.