docs: document agentResponse, OnDelivered, sendWithRetry return values
- agentResponse: add struct-level doc explaining the OnDelivered lifecycle - OutboundMessage.OnDelivered: field comment describing when it fires and what msgIDs contains - sendWithRetry: document ([]string, bool) return values - processOptions.SkipInitialSteeringPoll: update stale reference to Continue
This commit is contained in:
parent
82a98a21d2
commit
7f61db81fb
3 changed files with 15 additions and 2 deletions
|
|
@ -102,7 +102,7 @@ type processOptions struct {
|
||||||
SendResponse bool // Whether to send response via bus
|
SendResponse bool // Whether to send response via bus
|
||||||
SuppressToolFeedback bool // Whether to suppress inline tool feedback messages
|
SuppressToolFeedback bool // Whether to suppress inline tool feedback messages
|
||||||
NoHistory bool // If true, don't load session history (for heartbeat)
|
NoHistory bool // If true, don't load session history (for heartbeat)
|
||||||
SkipInitialSteeringPoll bool // If true, skip the steering poll at loop start (used by Continue)
|
SkipInitialSteeringPoll bool // If true, skip the steering poll at loop start (used by continueResponse)
|
||||||
Sender *providers.MessageSender // Author identity (nil for system/automated messages)
|
Sender *providers.MessageSender // Author identity (nil for system/automated messages)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -112,6 +112,12 @@ type continuationTarget struct {
|
||||||
ChatID string
|
ChatID string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// agentResponse carries the result of a single agent turn together with the
|
||||||
|
// channel/chat routing needed to publish it and the delivery callback.
|
||||||
|
// OnDelivered is called by the channel manager after all message chunks have
|
||||||
|
// been successfully sent; it receives the platform message IDs of the
|
||||||
|
// delivered chunks and is responsible for persisting the assistant message to
|
||||||
|
// session history. It may be nil (e.g. NoHistory turns, heartbeats).
|
||||||
type agentResponse struct {
|
type agentResponse struct {
|
||||||
Content string
|
Content string
|
||||||
Channel string
|
Channel string
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,11 @@ type OutboundMessage struct {
|
||||||
Content string `json:"content"`
|
Content string `json:"content"`
|
||||||
ReplyToMessageID string `json:"reply_to_message_id,omitempty"`
|
ReplyToMessageID string `json:"reply_to_message_id,omitempty"`
|
||||||
Metadata map[string]string `json:"metadata,omitempty"`
|
Metadata map[string]string `json:"metadata,omitempty"`
|
||||||
OnDelivered func(msgIDs []string) `json:"-"`
|
// OnDelivered is called by the channel manager after all chunks of this
|
||||||
|
// message have been successfully delivered. msgIDs contains the platform
|
||||||
|
// message IDs of each sent chunk; it may be empty if the channel does not
|
||||||
|
// return IDs. The callback fires at most once per OutboundMessage.
|
||||||
|
OnDelivered func(msgIDs []string) `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// MediaPart describes a single media attachment to send.
|
// MediaPart describes a single media attachment to send.
|
||||||
|
|
|
||||||
|
|
@ -752,6 +752,9 @@ func splitByLength(content string, maxLen int) []string {
|
||||||
// - ErrNotRunning / ErrSendFailed: permanent, no retry
|
// - ErrNotRunning / ErrSendFailed: permanent, no retry
|
||||||
// - ErrRateLimit: fixed delay retry
|
// - ErrRateLimit: fixed delay retry
|
||||||
// - ErrTemporary / unknown: exponential backoff retry
|
// - ErrTemporary / unknown: exponential backoff retry
|
||||||
|
//
|
||||||
|
// Returns the platform message IDs returned by the channel and true on
|
||||||
|
// success, or nil/false if delivery ultimately failed.
|
||||||
func (m *Manager) sendWithRetry(
|
func (m *Manager) sendWithRetry(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
name string,
|
name string,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue