Documentation
¶
Index ¶
- type ContentBlock
- type Handler
- func (h *Handler) CreateToolResultMessage(results []ToolResult) Message
- func (h *Handler) ExtractToolUses(message interface{}) ([]ToolUse, error)
- func (h *Handler) ProcessToolResponse(ctx context.Context, response interface{}) (interface{}, error)
- func (h *Handler) TransformToolsForProvider(tools []interface{}, provider string) ([]interface{}, error)
- func (h *Handler) ValidateToolDefinition(tool interface{}) error
- type Message
- type SSEEvent
- type StreamingHandler
- type ToolResult
- type ToolUse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContentBlock ¶
type ContentBlock struct {
Type string `json:"type"`
Text string `json:"text,omitempty"`
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Input json.RawMessage `json:"input,omitempty"`
Content json.RawMessage `json:"content,omitempty"`
ToolUseID string `json:"tool_use_id,omitempty"`
}
ContentBlock represents a content block in Claude's response
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler processes tool-related responses and requests
func (*Handler) CreateToolResultMessage ¶
func (h *Handler) CreateToolResultMessage(results []ToolResult) Message
CreateToolResultMessage creates a message containing tool results
func (*Handler) ExtractToolUses ¶
ExtractToolUses extracts tool use blocks from a message
func (*Handler) ProcessToolResponse ¶
func (h *Handler) ProcessToolResponse(ctx context.Context, response interface{}) (interface{}, error)
ProcessToolResponse processes a response that may contain tool use blocks
func (*Handler) TransformToolsForProvider ¶
func (h *Handler) TransformToolsForProvider(tools []interface{}, provider string) ([]interface{}, error)
TransformToolsForProvider transforms tool definitions for a specific provider
func (*Handler) ValidateToolDefinition ¶
ValidateToolDefinition validates a tool definition
type Message ¶
type Message struct {
Role string `json:"role"`
Content []ContentBlock `json:"content"`
}
Message represents a message with content blocks
type StreamingHandler ¶
type StreamingHandler struct {
// contains filtered or unexported fields
}
StreamingHandler processes tool-related SSE streams
func NewStreamingHandler ¶
func NewStreamingHandler() *StreamingHandler
NewStreamingHandler creates a new streaming handler
func (*StreamingHandler) ExtractToolUseFromStream ¶
func (sh *StreamingHandler) ExtractToolUseFromStream(event SSEEvent) (*ToolUse, error)
ExtractToolUseFromStream extracts tool use information from a streaming event
func (*StreamingHandler) ProcessToolStream ¶
func (sh *StreamingHandler) ProcessToolStream(ctx context.Context, reader io.Reader, writer io.Writer) error
ProcessToolStream processes a stream that may contain tool use events
type ToolResult ¶
type ToolResult struct {
Type string `json:"type"`
ToolUseID string `json:"tool_use_id"`
Content json.RawMessage `json:"content,omitempty"`
Error *string `json:"error,omitempty"`
}
ToolResult represents a tool execution result