Versions in this module Expand all Collapse all v0 v0.0.3 Mar 26, 2026 Changes in this version type Turn + func (t *Turn) ThreadRoot() id.EventID v0.0.1 Mar 24, 2026 Changes in this version + const DefaultAgentMaxTextLength + func AcceptProviderLogin(login *bridgev2.UserLogin, provider string, unsupportedReason string, ...) (bool, string) + func AppendArtifactPart(td *TurnData, raw map[string]any) + func AppendChatMessagesToPromptContext(ctx *PromptContext, messages []openai.ChatCompletionMessageParamUnion) + func AppendPromptText(dst *string, text string) + func ApplyBoolDefault(target **bool, value bool) + func ApplyDefaultCommandPrefix(prefix *string, value string) + func ApplyStreamPart(turn *Turn, part map[string]any, opts PartApplyOptions) bool + func BroadcastCommandDescriptions(ctx context.Context, portal *bridgev2.Portal, bot bridgev2.MatrixAPI, ...) + func BuildCompactFinalUIMessage(uiMessage map[string]any) map[string]any + func BuildDataURL(mimeType, b64Data string) string + func BuildDefaultFinalEditTopLevelExtra(uiMessage map[string]any) map[string]any + func BuildStandardMetaTypes(newPortal func() any, newMessage func() any, newLogin func() any, ...) database.MetaTypes + func CanonicalToolArguments(raw any) string + func EnsurePortalLifecycle(ctx context.Context, opts PortalLifecycleOptions) (bool, error) + func FormatCanonicalValue(raw any) string + func HasUnsupportedResponsesPromptContext(ctx PromptContext) bool + func NewConnectorBase(cfg *Config) *agentremote.ConnectorBase + func PromptContextHasBlockType(ctx PromptContext, kinds ...PromptBlockType) bool + func PromptContextToChatCompletionMessages(ctx PromptContext, supportsVideoURL bool) []openai.ChatCompletionMessageParamUnion + func PromptContextToResponsesInput(ctx PromptContext) responses.ResponseInputParam + func RefreshPortalLifecycle(ctx context.Context, opts PortalLifecycleOptions) + func ResolveCommandLogin(ctx context.Context, ce *commands.Event, defaultLogin *bridgev2.UserLogin) (*bridgev2.UserLogin, error) + func TurnDataHasFilePart(td TurnData, partType, filename, title string) bool + func TurnDataHasPartType(td TurnData, partType string) bool + func TurnDataHasToolCall(td TurnData, callID string) bool + func TurnDataHasURLPart(td TurnData, partType, url string) bool + func TurnGeneratedFiles(td TurnData) []agentremote.GeneratedFileRef + func TurnReasoningText(td TurnData) string + func TurnText(td TurnData) string + func TurnToolCalls(td TurnData, toolType string) []agentremote.ToolCallMetadata + func TypedClientCreator[T bridgev2.NetworkAPI](create func(*bridgev2.UserLogin) (T, error)) func(*bridgev2.UserLogin) (bridgev2.NetworkAPI, error) + func TypedClientUpdater[T interface{ ... }]() func(bridgev2.NetworkAPI, *bridgev2.UserLogin) + func UIMessageFromTurnData(td TurnData) map[string]any + type Agent struct + AvatarURL string + Capabilities AgentCapabilities + Description string + ID string + Identifiers []string + Metadata map[string]any + ModelKey string + Name string + func (a *Agent) EnsureGhost(ctx context.Context, login *bridgev2.UserLogin) error + func (a *Agent) EventSender(loginID networkid.UserLoginID) bridgev2.EventSender + func (a *Agent) UserInfo() *bridgev2.UserInfo + type AgentCapabilities struct + MaxTextLength int + SupportsAudioInput bool + SupportsAudioOutput bool + SupportsFileInput bool + SupportsFilesOutput bool + SupportsImageInput bool + SupportsImageOutput bool + SupportsPDFInput bool + SupportsReasoning bool + SupportsStreaming bool + SupportsTextInput bool + SupportsToolCalling bool + SupportsVideoInput bool + func BaseAgentCapabilities() AgentCapabilities + func MultimodalAgentCapabilities() AgentCapabilities + type AgentCatalog interface + DefaultAgent func(ctx context.Context, login *bridgev2.UserLogin) (*Agent, error) + ListAgents func(ctx context.Context, login *bridgev2.UserLogin) ([]*Agent, error) + ResolveAgent func(ctx context.Context, login *bridgev2.UserLogin, identifier string) (*Agent, error) + type ApprovalController struct + func (a *ApprovalController) EmitRequest(ctx context.Context, approvalID, toolCallID string) + func (a *ApprovalController) Request(req ApprovalRequest) ApprovalHandle + func (a *ApprovalController) Respond(ctx context.Context, approvalID, toolCallID string, approved bool, ...) + func (a *ApprovalController) SetHandler(...) + type ApprovalHandle interface + ID func() string + ToolCallID func() string + Wait func(ctx context.Context) (ToolApprovalResponse, error) + type ApprovalRequest struct + ApprovalID string + Metadata map[string]any + Presentation *agentremote.ApprovalPromptPresentation + TTL time.Duration + ToolCallID string + ToolName string + type ChatInfo struct + ID string + Metadata map[string]any + Name string + Topic string + type Command struct + Args string + Description string + Handler func(conv *Conversation, args string) error + Name string + type Config struct + AcceptLogin func(login *bridgev2.UserLogin) (bool, string) + AfterLoadClient func(client bridgev2.NetworkAPI) + Agent *Agent + AgentCatalog AgentCatalog + BridgeInfoVersion func() (info, capabilities int) + BridgeName func() bridgev2.BridgeName + ClientCache *map[networkid.UserLoginID]bridgev2.NetworkAPI + ClientCacheMu *sync.Mutex + Commands []Command + ConfigData any + ConfigPath string + ConfigUpgrader configupgrade.Upgrader + CreateChat func(ctx context.Context, session any, params *CreateChatParams) (*bridgev2.CreateChatResponse, error) + CreateClient func(login *bridgev2.UserLogin) (bridgev2.NetworkAPI, error) + CreateLogin func(ctx context.Context, user *bridgev2.User, flowID string) (bridgev2.LoginProcess, error) + DBMeta func() database.MetaTypes + DBName string + DeleteChat func(conv *Conversation) error + Description string + ExampleConfig string + FetchMessages func(ctx context.Context, params bridgev2.FetchMessagesParams) (*bridgev2.FetchMessagesResponse, error) + FillBridgeInfo func(portal *bridgev2.Portal, content *event.BridgeEventContent) + GetCapabilities func(session any, conv *Conversation) *RoomFeatures + GetChatInfo func(conv *Conversation) (*bridgev2.ChatInfo, error) + GetContactList func(ctx context.Context, session any) ([]*bridgev2.ResolveIdentifierResponse, error) + GetLoginFlows func() []bridgev2.LoginFlow + GetUserInfo func(ghost *bridgev2.Ghost) (*bridgev2.UserInfo, error) + InitConnector func(br *bridgev2.Bridge) + IsThisUser func(userID string) bool + LoadLogin func(ctx context.Context, login *bridgev2.UserLogin) error + LoginFlows []bridgev2.LoginFlow + MakeBrokenLogin func(login *bridgev2.UserLogin, reason string) *agentremote.BrokenLoginClient + Name string + NetworkCapabilities func() *bridgev2.NetworkGeneralCapabilities + OnConnect func(ctx context.Context, login *LoginInfo) (any, error) + OnDelete func(session any, conv *Conversation, msgID string) error + OnDisconnect func(session any) + OnEdit func(session any, conv *Conversation, edit *MessageEdit) error + OnMessage func(session any, conv *Conversation, msg *Message, turn *Turn) error + OnReaction func(session any, conv *Conversation, reaction *Reaction) error + OnRoomName func(session any, conv *Conversation, name string) (bool, error) + OnRoomTopic func(session any, conv *Conversation, topic string) (bool, error) + OnTyping func(session any, conv *Conversation, typing bool) + Port int + ProtocolID string + ProviderIdentity ProviderIdentity + ResolveIdentifier func(ctx context.Context, session any, id string, createChat bool) (*bridgev2.ResolveIdentifierResponse, error) + RoomFeatures *RoomFeatures + SearchUsers func(ctx context.Context, session any, query string) ([]*bridgev2.ResolveIdentifierResponse, error) + StartConnector func(ctx context.Context, br *bridgev2.Bridge) error + StopConnector func(ctx context.Context, br *bridgev2.Bridge) + TurnManagement *TurnConfig + UpdateClient func(client bridgev2.NetworkAPI, login *bridgev2.UserLogin) + func NewStandardConnectorConfig(p StandardConnectorConfigParams) *Config + type Conversation struct + ID string + Title string + func NewConversation(ctx context.Context, login *bridgev2.UserLogin, portal *bridgev2.Portal, ...) *Conversation + func (c *Conversation) BroadcastCapabilities(ctx context.Context) error + func (c *Conversation) Context() context.Context + func (c *Conversation) EnsureRoomAgent(ctx context.Context, agent *Agent) error + func (c *Conversation) Login() *bridgev2.UserLogin + func (c *Conversation) LoginHandle() *LoginHandle + func (c *Conversation) Portal() *bridgev2.Portal + func (c *Conversation) QueueRemoteEvent(evt bridgev2.RemoteEvent) + func (c *Conversation) RoomAgents(ctx context.Context) (*RoomAgentSet, error) + func (c *Conversation) SendHTML(ctx context.Context, text, html string) error + func (c *Conversation) SendMedia(ctx context.Context, data []byte, mediaType, filename string) error + func (c *Conversation) SendNotice(ctx context.Context, text string) error + func (c *Conversation) Sender() bridgev2.EventSender + func (c *Conversation) Session() any + func (c *Conversation) SetRoomName(ctx context.Context, name string) error + func (c *Conversation) SetRoomTopic(ctx context.Context, topic string) error + func (c *Conversation) SetTyping(ctx context.Context, typing bool) error + func (c *Conversation) Spec() ConversationSpec + func (c *Conversation) StartTurn(ctx context.Context, agent *Agent, source *SourceRef) *Turn + func (c *Conversation) Stream(ctx context.Context) *Turn + type ConversationKind string + const ConversationKindDelegated + const ConversationKindNormal + type ConversationSpec struct + ArchiveOnCompletion bool + Kind ConversationKind + Metadata map[string]any + ParentConversationID string + ParentEventID string + PortalID string + Title string + Visibility ConversationVisibility + type ConversationStateCarrier interface + GetSDKPortalMetadata func() *SDKPortalMetadata + SetSDKPortalMetadata func(*SDKPortalMetadata) + type ConversationVisibility string + const ConversationVisibilityHidden + const ConversationVisibilityNormal + type CreateChatParams struct + Metadata map[string]any + Name string + UserID string + type FinalEditPayload struct + Content *event.MessageEventContent + ReplyTo id.EventID + ThreadRoot id.EventID + TopLevelExtra map[string]any + type FinalMetadataProvider interface + FinalMetadata func(turn *Turn, finishReason string) any + type FinalMetadataProviderFunc func(turn *Turn, finishReason string) any + func (f FinalMetadataProviderFunc) FinalMetadata(turn *Turn, finishReason string) any + type LoginHandle struct + func (l *LoginHandle) Conversation(ctx context.Context, portalID string) (*Conversation, error) + func (l *LoginHandle) EnsureConversation(ctx context.Context, spec ConversationSpec) (*Conversation, error) + func (l *LoginHandle) UserLogin() *bridgev2.UserLogin + type LoginInfo struct + Domain string + Login *bridgev2.UserLogin + Metadata map[string]any + UserID string + type Message struct + HTML string + ID string + MediaType string + MediaURL string + Metadata map[string]any + MsgType MessageType + RawEvent *event.Event + RawMsg *bridgev2.MatrixMessage + ReplyTo string + Sender string + Text string + Timestamp time.Time + type MessageEdit struct + NewHTML string + NewText string + OriginalID string + RawEdit *bridgev2.MatrixEdit + type MessageType string + const MessageAudio + const MessageFile + const MessageImage + const MessageText + const MessageVideo + type ModelInfo struct + Capabilities []string + ID string + Name string + Provider string + type NewConversationOptions struct + ApprovalFlow *agentremote.ApprovalFlow[*pendingSDKApprovalData] + type PartApplyOptions struct + DefaultFinishReason string + HandleTerminalEvents bool + ResetMetadataOnAbort bool + ResetMetadataOnDataParts bool + ResetMetadataOnEmptyMessageMeta bool + ResetMetadataOnEmptyTextDelta bool + ResetMetadataOnStartMarkers bool + type PlaceholderMessagePayload struct + Content *event.MessageEventContent + DBMetadata any + Extra map[string]any + type PortalLifecycleOptions struct + AIRoomKind string + ChatInfo *bridgev2.ChatInfo + CleanupOnCreateError func(context.Context, *bridgev2.Portal) + ForceCapabilities bool + Login *bridgev2.UserLogin + Portal *bridgev2.Portal + RefreshExtra func(context.Context, *bridgev2.Portal) + SaveBeforeCreate bool + type PromptBlock struct + AudioB64 string + AudioFormat string + FileB64 string + FileURL string + Filename string + ImageB64 string + ImageURL string + MimeType string + Text string + ToolCallArguments string + ToolCallID string + ToolName string + Type PromptBlockType + VideoB64 string + VideoURL string + type PromptBlockType string + const PromptBlockAudio + const PromptBlockFile + const PromptBlockImage + const PromptBlockText + const PromptBlockThinking + const PromptBlockToolCall + const PromptBlockVideo + type PromptContext struct + DeveloperPrompt string + Messages []PromptMessage + SystemPrompt string + func ChatMessagesToPromptContext(messages []openai.ChatCompletionMessageParamUnion) PromptContext + func UserPromptContext(blocks ...PromptBlock) PromptContext + type PromptMessage struct + Blocks []PromptBlock + IsError bool + Role PromptRole + ToolCallID string + ToolName string + func PromptMessagesFromTurnData(td TurnData) []PromptMessage + func (m PromptMessage) Text() string + type PromptRole string + const PromptRoleAssistant + const PromptRoleToolResult + const PromptRoleUser + type ProviderIdentity struct + IDPrefix string + LogKey string + StatusNetwork string + type Reaction struct + Emoji string + MessageID string + RawMsg *bridgev2.MatrixReaction + Sender string + type RoomAgentSet struct + AgentIDs []string + type RoomFeatures struct + Custom *event.RoomFeatures + CustomCapabilityID string + MaxTextLength int + SupportsAudio bool + SupportsDelete bool + SupportsDeleteChat bool + SupportsEdit bool + SupportsFiles bool + SupportsImages bool + SupportsReactions bool + SupportsReadReceipts bool + SupportsReply bool + SupportsTyping bool + SupportsVideo bool + type SDKPortalMetadata struct + Conversation sdkConversationState + type SourceKind string + const SourceKindBackfill + const SourceKindDelegated + const SourceKindFollowUp + const SourceKindProactive + const SourceKindSteering + const SourceKindSystem + const SourceKindUserMessage + type SourceRef struct + EventID string + Kind SourceKind + Metadata map[string]any + ParentConversationID string + SenderID string + func UserMessageSource(eventID string) *SourceRef + type StandardConnectorConfigParams struct + AcceptLogin func(login *bridgev2.UserLogin) (bool, string) + AfterLoadClient func(client bridgev2.NetworkAPI) + AgentCatalog AgentCatalog + BeeperBridgeType string + ClientCache *map[networkid.UserLoginID]bridgev2.NetworkAPI + ClientCacheMu *sync.Mutex + ConfigData any + ConfigUpgrader configupgrade.Upgrader + CreateClient func(login *bridgev2.UserLogin) (bridgev2.NetworkAPI, error) + CreateLogin func(ctx context.Context, user *bridgev2.User, flowID string) (bridgev2.LoginProcess, error) + DefaultCommandPrefix func() string + DefaultPort uint16 + Description string + DisplayName string + ExampleConfig string + FillBridgeInfo func(portal *bridgev2.Portal, content *event.BridgeEventContent) + GetCapabilities func(session any, conv *Conversation) *RoomFeatures + GetLoginFlows func() []bridgev2.LoginFlow + InitConnector func(br *bridgev2.Bridge) + LoadLogin func(ctx context.Context, login *bridgev2.UserLogin) error + LoginFlows []bridgev2.LoginFlow + MakeBrokenLogin func(login *bridgev2.UserLogin, reason string) *agentremote.BrokenLoginClient + Name string + NetworkCapabilities func() *bridgev2.NetworkGeneralCapabilities + NetworkID string + NetworkIcon string + NetworkURL string + NewGhost func() any + NewLogin func() any + NewMessage func() any + NewPortal func() any + ProtocolID string + ProviderIdentity ProviderIdentity + StartConnector func(ctx context.Context, br *bridgev2.Bridge) error + StopConnector func(ctx context.Context, br *bridgev2.Bridge) + UpdateClient func(client bridgev2.NetworkAPI, login *bridgev2.UserLogin) + type StreamPartState struct + func (s *StreamPartState) AccumulatedText() string + func (s *StreamPartState) ApplyPart(part map[string]any, partTimestamp time.Time) + func (s *StreamPartState) CompletedAtMs() int64 + func (s *StreamPartState) ErrorText() string + func (s *StreamPartState) FinishReason() string + func (s *StreamPartState) FirstTokenAtMs() int64 + func (s *StreamPartState) LastVisibleText() string + func (s *StreamPartState) SetCompletedAtMs(v int64) + func (s *StreamPartState) SetErrorText(errText string) + func (s *StreamPartState) SetFinishReason(reason string) + func (s *StreamPartState) SetFirstTokenAtMs(v int64) + func (s *StreamPartState) SetLastVisibleText(text string) + func (s *StreamPartState) SetStartedAtMs(v int64) + func (s *StreamPartState) StartedAtMs() int64 + func (s *StreamPartState) VisibleText() string + type ToolApprovalResponse struct + Always bool + Approved bool + Reason string + type ToolInputOptions struct + DisplayTitle string + Extra map[string]any + ProviderExecuted bool + ToolName string + type ToolOutputOptions struct + Extra map[string]any + ProviderExecuted bool + Streaming bool + type ToolsController struct + func (c *ToolsController) Denied(ctx context.Context, toolCallID string) + func (c *ToolsController) EnsureInputStart(ctx context.Context, toolCallID string, input any, opts ToolInputOptions) + func (c *ToolsController) Input(ctx context.Context, toolCallID, toolName string, input any, ...) + func (c *ToolsController) InputDelta(ctx context.Context, toolCallID, toolName, delta string, providerExecuted bool) + func (c *ToolsController) InputError(ctx context.Context, toolCallID, toolName, rawInput, errText string, ...) + func (c *ToolsController) Output(ctx context.Context, toolCallID string, output any, opts ToolOutputOptions) + func (c *ToolsController) OutputError(ctx context.Context, toolCallID, errText string, providerExecuted bool) + type Turn struct + func (t *Turn) Abort(reason string) + func (t *Turn) Agent() *Agent + func (t *Turn) Approvals() *ApprovalController + func (t *Turn) Context() context.Context + func (t *Turn) Emitter() *streamui.Emitter + func (t *Turn) End(finishReason string) + func (t *Turn) EndWithError(errText string) + func (t *Turn) Err() error + func (t *Turn) ID() string + func (t *Turn) InitialEventID() id.EventID + func (t *Turn) NetworkMessageID() networkid.MessageID + func (t *Turn) SendStatus(status event.MessageStatus, message string) + func (t *Turn) Session() *turns.StreamSession + func (t *Turn) SetFinalEditPayload(payload *FinalEditPayload) + func (t *Turn) SetFinalMetadataProvider(provider FinalMetadataProvider) + func (t *Turn) SetID(turnID string) + func (t *Turn) SetPlaceholderMessagePayload(payload *PlaceholderMessagePayload) + func (t *Turn) SetReplyTo(eventID id.EventID) + func (t *Turn) SetSendFunc(fn func(ctx context.Context) (id.EventID, networkid.MessageID, error)) + func (t *Turn) SetSender(sender bridgev2.EventSender) + func (t *Turn) SetStreamHook(hook func(turnID string, seq int, content map[string]any, txnID string) bool) + func (t *Turn) SetStreamPublisherFunc(fn func(ctx context.Context) (bridgev2.BeeperStreamPublisher, bool)) + func (t *Turn) SetStreamTransport(fn func(ctx context.Context, portal *bridgev2.Portal, part map[string]any)) + func (t *Turn) SetSuppressFinalEdit(suppress bool) + func (t *Turn) SetSuppressSend(suppress bool) + func (t *Turn) SetThread(rootEventID id.EventID) + func (t *Turn) Source() *SourceRef + func (t *Turn) Stream() *TurnStream + func (t *Turn) StreamDescriptor(ctx context.Context) (*event.BeeperStreamInfo, error) + func (t *Turn) SuppressSend() bool + func (t *Turn) UIState() *streamui.UIState + func (t *Turn) VisibleText() string + func (t *Turn) Writer() *Writer + type TurnConfig struct + DebounceMs int + IdleTimeoutMs int + KeyFunc func(portalID string) string + OneAtATime bool + QueueSize int + type TurnData struct + Extra map[string]any + ID string + Metadata map[string]any + Parts []TurnPart + Role string + func BuildTurnDataFromUIMessage(uiMessage map[string]any, opts TurnDataBuildOptions) TurnData + func DecodeTurnData(raw map[string]any) (TurnData, bool) + func TurnDataFromUIMessage(uiMessage map[string]any) (TurnData, bool) + func TurnDataFromUserPromptMessages(messages []PromptMessage) (TurnData, bool) + func (td TurnData) Clone() TurnData + func (td TurnData) ToMap() map[string]any + type TurnDataBuildOptions struct + ArtifactParts []map[string]any + GeneratedFiles []agentremote.GeneratedFileRef + ID string + Metadata map[string]any + Reasoning string + Role string + Text string + ToolCalls []agentremote.ToolCallMetadata + type TurnManager struct + func NewTurnManager(cfg *TurnConfig) *TurnManager + func (tm *TurnManager) Acquire(ctx context.Context, key string) (func(), error) + func (tm *TurnManager) DebounceWindow() time.Duration + func (tm *TurnManager) IsActive(key string) bool + func (tm *TurnManager) QueueLimit() int + func (tm *TurnManager) ResolveKey(portalID string) string + func (tm *TurnManager) Run(ctx context.Context, key string, fn func(context.Context) error) error + type TurnPart struct + Approval map[string]any + ErrorText string + Extra map[string]any + Filename string + Input any + MediaType string + Output any + ProviderExecuted bool + Reasoning string + State string + Text string + Title string + ToolCallID string + ToolName string + ToolType string + Type string + URL string + type TurnSnapshot struct + Body string + GeneratedFiles []agentremote.GeneratedFileRef + PromptMessages []PromptMessage + ThinkingContent string + ToolCalls []agentremote.ToolCallMetadata + TurnData TurnData + UIMessage map[string]any + func BuildTurnSnapshot(uiMessage map[string]any, opts TurnDataBuildOptions, toolType string) TurnSnapshot + func SnapshotFromTurnData(td TurnData, toolType string) TurnSnapshot + type TurnStream struct + func (s *TurnStream) Emitter() *streamui.Emitter + func (s *TurnStream) SetTransport(hook func(turnID string, seq int, content map[string]any, txnID string) bool) + type UIStateReplayer struct + func NewUIStateReplayer(state *streamui.UIState) UIStateReplayer + func (r UIStateReplayer) ApprovalRequest(approvalID, toolCallID string) + func (r UIStateReplayer) Artifact(sourceID string, citation citations.SourceCitation, ...) + func (r UIStateReplayer) DataPart(part map[string]any) + func (r UIStateReplayer) File(url, mediaType, filename string) + func (r UIStateReplayer) Finish(finishReason string, metadata map[string]any) + func (r UIStateReplayer) Reasoning(partID, text string) + func (r UIStateReplayer) SourceDocument(doc citations.SourceDocument) + func (r UIStateReplayer) SourceURL(citation citations.SourceCitation, sourceID string) + func (r UIStateReplayer) Start(metadata map[string]any) + func (r UIStateReplayer) StepFinish() + func (r UIStateReplayer) StepStart() + func (r UIStateReplayer) Text(partID, text string) + func (r UIStateReplayer) ToolInput(toolCallID, toolName string, input any, providerExecuted bool) + func (r UIStateReplayer) ToolInputText(toolCallID, toolName, inputText string, providerExecuted bool) + func (r UIStateReplayer) ToolOutput(toolCallID string, output any, providerExecuted bool) + func (r UIStateReplayer) ToolOutputDenied(toolCallID string) + func (r UIStateReplayer) ToolOutputError(toolCallID, errorText string, providerExecuted bool) + type UserInfo struct + Avatar string + ID string + Metadata map[string]any + Name string + type Writer struct + Emitter *streamui.Emitter + Portal *bridgev2.Portal + State *streamui.UIState + func (w *Writer) Abort(ctx context.Context, reason string) + func (w *Writer) Approvals() *ApprovalController + func (w *Writer) Data(ctx context.Context, name string, payload any, transient bool) + func (w *Writer) Error(ctx context.Context, errText string) + func (w *Writer) File(ctx context.Context, url, mediaType string) + func (w *Writer) Finish(ctx context.Context, finishReason string, metadata map[string]any) + func (w *Writer) FinishReasoning(ctx context.Context) + func (w *Writer) FinishText(ctx context.Context) + func (w *Writer) MessageMetadata(ctx context.Context, metadata map[string]any) + func (w *Writer) RawPart(ctx context.Context, part map[string]any) + func (w *Writer) ReasoningDelta(ctx context.Context, delta string) + func (w *Writer) SourceDocument(ctx context.Context, document citations.SourceDocument) + func (w *Writer) SourceURL(ctx context.Context, citation citations.SourceCitation) + func (w *Writer) Start(ctx context.Context, metadata map[string]any) + func (w *Writer) StepFinish(ctx context.Context) + func (w *Writer) StepStart(ctx context.Context) + func (w *Writer) TextDelta(ctx context.Context, delta string) + func (w *Writer) Tools() *ToolsController