Skip to main content

Module channel

Module channel 

Structs§

AttributedApprovalResponse
An approval response together with the back-channel that produced it.
ChannelApprovalRequest
Compact description of a tool call presented to the user for approval.
ChannelGatePrompt
A long-lived, channel-agnostic gate prompt (e.g. a parked SOP approval): rendered natively per channel (Discord embed + buttons, Telegram inline keyboard, …), answered through the channel’s normal inbound path — a component click or a <choice> <reference> text reply — NOT a blocking wait.
ChannelMessage
A message received from or sent to a channel
ChannelSopTopic
The single authority for the channel-SOP event topic grammar channel.alias:event_type. The producer that lifts a forge/platform event into SOP ingress builds the topic here; the SOP engine parses it here. The grammar lives in one place so the two sides cannot drift.
ForgeApiRequest
A low-level, provider-relative forge API request routed through a forge-backed channel. Channel-neutral so the Channel trait carries no forge-specific types; the git channel maps this onto its provider’s forge_request. method is an uppercase HTTP verb (GET/POST/PATCH/ PUT/DELETE); path is relative to the provider’s API base (e.g. repos/owner/repo/issues/12/labels); body is an optional JSON payload.
ForgeApiResponse
The outcome of a forge API request: the HTTP status and decoded JSON body (Null when the response had no body). Non-2xx statuses are carried here rather than raised, so the caller inspects the forge’s own error envelope.
GateChoice
One selectable choice on a ChannelGatePrompt.
GateChoiceInput
The text-collection spec of an input-bearing GateChoice.
RoomCreationOptions
Room creation options shared by channel implementations that support creating group conversations.
SendMessage
Message to send through a channel

Enums§

ChannelApprovalResponse
The operator’s response to a channel-presented approval prompt.
ChannelConversationScope
Conversation history scope for an inbound channel message.
GateChoiceEmphasis
Rendering hint for a GateChoice.
GateChoiceKind
The fixed vocabulary of gate-answer tokens, and the single source of truth for their wire spelling. A gate answer crosses two stringly-typed transports — a Discord custom_id and a <choice> <reference> text reply — so the token must be a string on the wire; this enum keeps producer (the route adapter that mints GateChoice::id) and consumer (the orchestrator that maps an answer to an approval decision) matching on ONE definition instead of re-typing the literal at each site, so adding a choice is a compile error at every place that must handle it rather than a silent drift.
RoomVisibility
Cross-channel room visibility used by room-management APIs.

Constants§

CHANNEL_SOP_SUBJECT_PREFIX
Reserved ChannelMessage.subject prefix the git/forge channel uses to label SOP-ingress events. Routing is NOT keyed on this (see ChannelMessage::internal_sop_event); it exists so channels that fill subject from user-controlled data (email) can keep this reserved namespace out of inbound subjects.

Traits§

Channel
Core channel trait — implement for any messaging platform.