pub struct AgentMessageV1 {
pub client_msg_id: String,
pub network: NetworkV1,
pub message_type: MessageType,
pub from: String,
pub to: Option<String>,
pub to_instance: Option<String>,
pub reply_to: Option<String>,
pub deadline: Option<UtcTimestamp>,
pub body: Option<MessageBodyV1>,
pub sealed: Option<SealedBlobV1>,
}Expand description
message (client → service).
Fields§
§client_msg_id: StringClient-chosen ULID; resending the same id is a no-op.
network: NetworkV1§message_type: MessageType§from: StringThe sending agent (bus agent id).
to: Option<String>A direct message to one agent (bus agent id); absent: everyone on the channel or swarm.
to_instance: Option<String>1.9 R3: the instance (instance_id, as presence_update shows it)
that runs to. Hive then delivers only there, so another engine
announcing the same agent name never receives it. Org networks only,
and only with to. Without it Hive binds the message (or handoff
offer) to the one other instance that announced to in the vault
within 24 hours; when several did, it refuses with 409 invalid_state
reason ambiguous_recipient (RB7-M6) and the sender names one; when
none did, 404 not_found field to. Announcing the name later
reaches nothing already sent. A reply goes to the instance of the replied
message either way. An id that is no instance of the
organization is 404 not_found field to_instance, like an unknown
one; to_instance on a swarm network is 400 invalid_request.
reply_to: Option<String>The message this answers or replies to (gid).
deadline: Option<UtcTimestamp>For questions: when an unanswered question becomes a task proposal; Hive sets the organization’s default when absent.
body: Option<MessageBodyV1>§sealed: Option<SealedBlobV1>