pub enum HarnessProviderInteractionResponseV1 {
ApproveOnce,
Deny,
Answer {
text: String,
},
}Expand description
Exact mirror of gate4agent_types::ProviderInteractionResponse: this
crate has no dependency on gate4agent-types (see the doc comment on
HarnessTerminalControlV1), so ResolveInteraction’s answer payload is
duplicated here as its own closed wire enum rather than imported.
Unlike the source type’s own validate_for, validate() below does not
check Answer/ApproveOnce/Deny against the live interaction’s own
HarnessProviderInteractionKindV1 (Approval vs Question) – that
check needs the interaction the node is holding under correlation_id
and stays the node’s job, not this wire’s, the same way
WriteSessionInput never checks that a PTY exists before sending. It
bounds Answer { text } to HARNESS_ACP_INTERACTION_RESPONSE_MAX_BYTES
and rejects unsafe control bytes, but not emptiness: the source type’s
EmptyAnswer rule applies only when the interaction turns out to be a
Question, which this wire does not know either.