Documentation
¶
Index ¶
- Constants
- type SSEHandlerCh
- func (h *SSEHandlerCh) AiMsgData(dataType string, id string, data interface{}) error
- func (h *SSEHandlerCh) AiMsgError(errText string) error
- func (h *SSEHandlerCh) AiMsgFinish(finishReason string, usage interface{}) error
- func (h *SSEHandlerCh) AiMsgFinishStep() error
- func (h *SSEHandlerCh) AiMsgReasoningDelta(reasoningId string, reasoning string) error
- func (h *SSEHandlerCh) AiMsgReasoningEnd(reasoningId string) error
- func (h *SSEHandlerCh) AiMsgReasoningStart(reasoningId string) error
- func (h *SSEHandlerCh) AiMsgStart(messageId string) error
- func (h *SSEHandlerCh) AiMsgStartStep() error
- func (h *SSEHandlerCh) AiMsgTextDelta(textId string, text string) error
- func (h *SSEHandlerCh) AiMsgTextEnd(textId string) error
- func (h *SSEHandlerCh) AiMsgTextStart(textId string) error
- func (h *SSEHandlerCh) AiMsgToolInputAvailable(toolCallId, toolName string, input json.RawMessage) error
- func (h *SSEHandlerCh) AiMsgToolInputDelta(toolCallId, inputTextDelta string) error
- func (h *SSEHandlerCh) AiMsgToolInputStart(toolCallId, toolName string) error
- func (h *SSEHandlerCh) Close()
- func (h *SSEHandlerCh) Err() error
- func (h *SSEHandlerCh) SetupSSE() error
- func (h *SSEHandlerCh) WriteComment(comment string) error
- func (h *SSEHandlerCh) WriteData(data string) error
- func (h *SSEHandlerCh) WriteError(errorMsg string) error
- func (h *SSEHandlerCh) WriteEvent(eventType, data string) error
- func (h *SSEHandlerCh) WriteJsonData(data interface{}) error
- type SSEMessage
- type SSEMessageType
Constants ¶
const ( SSEContentType = "text/event-stream" SSECacheControl = "no-cache" SSEConnection = "keep-alive" SSEKeepaliveMsg = ": keepalive\n\n" SSEStreamStartMsg = ": stream-start\n\n" SSEKeepaliveInterval = 1 * time.Second )
const ( AiMsgStart = "start" AiMsgTextStart = "text-start" AiMsgTextDelta = "text-delta" AiMsgTextEnd = "text-end" AiMsgReasoningStart = "reasoning-start" AiMsgReasoningDelta = "reasoning-delta" AiMsgReasoningEnd = "reasoning-end" AiMsgToolInputStart = "tool-input-start" AiMsgToolInputDelta = "tool-input-delta" AiMsgToolInputAvailable = "tool-input-available" AiMsgToolOutputAvailable = "tool-output-available" // not used here, but reserved AiMsgStartStep = "start-step" AiMsgFinishStep = "finish-step" AiMsgFinish = "finish" AiMsgError = "error" )
AI message type constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SSEHandlerCh ¶
type SSEHandlerCh struct {
// contains filtered or unexported fields
}
SSEHandlerCh provides channel-based Server-Sent Events functionality
func MakeSSEHandlerCh ¶
func MakeSSEHandlerCh(w http.ResponseWriter, ctx context.Context) *SSEHandlerCh
MakeSSEHandlerCh creates a new channel-based SSE handler
func (*SSEHandlerCh) AiMsgData ¶
func (h *SSEHandlerCh) AiMsgData(dataType string, id string, data interface{}) error
func (*SSEHandlerCh) AiMsgError ¶
func (h *SSEHandlerCh) AiMsgError(errText string) error
func (*SSEHandlerCh) AiMsgFinish ¶
func (h *SSEHandlerCh) AiMsgFinish(finishReason string, usage interface{}) error
func (*SSEHandlerCh) AiMsgFinishStep ¶
func (h *SSEHandlerCh) AiMsgFinishStep() error
func (*SSEHandlerCh) AiMsgReasoningDelta ¶
func (h *SSEHandlerCh) AiMsgReasoningDelta(reasoningId string, reasoning string) error
func (*SSEHandlerCh) AiMsgReasoningEnd ¶
func (h *SSEHandlerCh) AiMsgReasoningEnd(reasoningId string) error
func (*SSEHandlerCh) AiMsgReasoningStart ¶
func (h *SSEHandlerCh) AiMsgReasoningStart(reasoningId string) error
func (*SSEHandlerCh) AiMsgStart ¶
func (h *SSEHandlerCh) AiMsgStart(messageId string) error
func (*SSEHandlerCh) AiMsgStartStep ¶
func (h *SSEHandlerCh) AiMsgStartStep() error
func (*SSEHandlerCh) AiMsgTextDelta ¶
func (h *SSEHandlerCh) AiMsgTextDelta(textId string, text string) error
func (*SSEHandlerCh) AiMsgTextEnd ¶
func (h *SSEHandlerCh) AiMsgTextEnd(textId string) error
func (*SSEHandlerCh) AiMsgTextStart ¶
func (h *SSEHandlerCh) AiMsgTextStart(textId string) error
func (*SSEHandlerCh) AiMsgToolInputAvailable ¶
func (h *SSEHandlerCh) AiMsgToolInputAvailable(toolCallId, toolName string, input json.RawMessage) error
func (*SSEHandlerCh) AiMsgToolInputDelta ¶
func (h *SSEHandlerCh) AiMsgToolInputDelta(toolCallId, inputTextDelta string) error
func (*SSEHandlerCh) AiMsgToolInputStart ¶
func (h *SSEHandlerCh) AiMsgToolInputStart(toolCallId, toolName string) error
func (*SSEHandlerCh) Close ¶
func (h *SSEHandlerCh) Close()
Close closes the write channel, sends [DONE], and cleans up resources
func (*SSEHandlerCh) Err ¶
func (h *SSEHandlerCh) Err() error
Err returns any error that occurred during writing
func (*SSEHandlerCh) SetupSSE ¶
func (h *SSEHandlerCh) SetupSSE() error
SetupSSE configures the response headers and starts the writer goroutine
func (*SSEHandlerCh) WriteComment ¶
func (h *SSEHandlerCh) WriteComment(comment string) error
WriteComment queues an SSE comment
func (*SSEHandlerCh) WriteData ¶
func (h *SSEHandlerCh) WriteData(data string) error
WriteData queues data to be written in SSE format
func (*SSEHandlerCh) WriteError ¶
func (h *SSEHandlerCh) WriteError(errorMsg string) error
WriteError queues an error message and closes the handler
func (*SSEHandlerCh) WriteEvent ¶
func (h *SSEHandlerCh) WriteEvent(eventType, data string) error
WriteEvent queues an SSE event with optional event type
func (*SSEHandlerCh) WriteJsonData ¶
func (h *SSEHandlerCh) WriteJsonData(data interface{}) error
WriteJsonData marshals data to JSON and queues it for writing
type SSEMessage ¶
type SSEMessage struct {
Type SSEMessageType
Data string
EventType string // Only used for SSEMsgEvent
}
SSEMessage represents a message to be written to the SSE stream
type SSEMessageType ¶
type SSEMessageType string
SSEMessageType represents the type of message to write
const ( SSEMsgData SSEMessageType = "data" SSEMsgEvent SSEMessageType = "event" SSEMsgComment SSEMessageType = "comment" SSEMsgError SSEMessageType = "error" )