Versions in this module Expand all Collapse all v0 v0.0.9 Jun 6, 2025 Changes in this version + func MessagesToAnthropic(messages []Message) ([]anthropic.MessageParam, []anthropic.TextBlockParam, error) + func MessagesToGoogle(messages []Message) ([]*genai.Content, error) + func MessagesToOpenAI(messages []Message) ([]openai.ChatCompletionMessageParamUnion, error) + func ToolsToAnthropic(tools []Tool) []anthropic.ToolUnionParam + func ToolsToGoogle(tools []Tool) ([]*genai.Tool, error) + func ToolsToOpenAI(tools []Tool) []openai.ChatCompletionToolParam + func WriteDataStreamHeaders(w http.ResponseWriter) + type Attachment struct + ContentType string + Name string + URL string + type Chat struct + ID string + Messages []Message + type DataStream iter.Seq2[DataStreamPart, error] + func AnthropicToDataStream(stream *ssestream.Stream[anthropic.MessageStreamEventUnion]) DataStream + func GoogleToDataStream(stream iter.Seq2[*genai.GenerateContentResponse, error]) DataStream + func OpenAIToDataStream(stream *ssestream.Stream[openai.ChatCompletionChunk]) DataStream + func (s DataStream) Pipe(w io.Writer) error + func (s DataStream) WithAccumulator(accumulator *DataStreamAccumulator) DataStream + func (s DataStream) WithToolCalling(handleToolCall func(toolCall ToolCall) any) DataStream + type DataStreamAccumulator struct + func (a *DataStreamAccumulator) FinishReason() FinishReason + func (a *DataStreamAccumulator) Messages() []Message + func (a *DataStreamAccumulator) Push(part DataStreamPart) error + func (a *DataStreamAccumulator) Usage() Usage + type DataStreamDataPart struct + Content []any + func (p DataStreamDataPart) Format() (string, error) + func (p DataStreamDataPart) TypeID() byte + type DataStreamPart interface + Format func() (string, error) + TypeID func() byte + type ErrorStreamPart struct + Content string + func (p ErrorStreamPart) Format() (string, error) + func (p ErrorStreamPart) TypeID() byte + type FileStreamPart struct + Data []byte + MimeType string + func (p FileStreamPart) Format() (string, error) + func (p FileStreamPart) TypeID() byte + type FinishMessageStreamPart struct + FinishReason FinishReason + Usage Usage + func (p FinishMessageStreamPart) Format() (string, error) + func (p FinishMessageStreamPart) TypeID() byte + type FinishReason string + const FinishReasonContentFilter + const FinishReasonError + const FinishReasonLength + const FinishReasonOther + const FinishReasonStop + const FinishReasonToolCalls + const FinishReasonUnknown + type FinishStepStreamPart struct + FinishReason FinishReason + IsContinued bool + Usage Usage + func (p FinishStepStreamPart) Format() (string, error) + func (p FinishStepStreamPart) TypeID() byte + type GoogleStreamIterator interface + Next func() (*genai.GenerateContentResponse, error) + type Message struct + Annotations []any + Attachments []Attachment + Content string + CreatedAt *json.RawMessage + ID string + Parts []Part + Role string + type MessageAnnotationStreamPart struct + Content []any + func (p MessageAnnotationStreamPart) Format() (string, error) + func (p MessageAnnotationStreamPart) TypeID() byte + type Part struct + Data []byte + Details []ReasoningDetail + MimeType string + Reasoning string + Source *SourceInfo + Text string + ToolInvocation *ToolInvocation + Type PartType + type PartType string + const PartTypeFile + const PartTypeReasoning + const PartTypeSource + const PartTypeStepStart + const PartTypeText + const PartTypeToolInvocation + type ReasoningDetail struct + Data string + Signature string + Text string + Type string + type ReasoningSignatureStreamPart struct + Signature string + func (p ReasoningSignatureStreamPart) Format() (string, error) + func (p ReasoningSignatureStreamPart) TypeID() byte + type ReasoningStreamPart struct + Content string + func (p ReasoningStreamPart) Format() (string, error) + func (p ReasoningStreamPart) TypeID() byte + type RedactedReasoningStreamPart struct + Data string + func (p RedactedReasoningStreamPart) Format() (string, error) + func (p RedactedReasoningStreamPart) TypeID() byte + type Schema struct + Properties map[string]any + Required []string + type SourceInfo struct + ContentType string + Data string + Metadata map[string]any + URI string + type SourceStreamPart struct + ID string + SourceType string + Title string + URL string + func (p SourceStreamPart) Format() (string, error) + func (p SourceStreamPart) TypeID() byte + type StartStepStreamPart struct + MessageID string + func (p StartStepStreamPart) Format() (string, error) + func (p StartStepStreamPart) TypeID() byte + type TextStreamPart struct + Content string + func (p TextStreamPart) Format() (string, error) + func (p TextStreamPart) TypeID() byte + type Tool struct + Description string + Name string + Schema Schema + type ToolCall struct + Args map[string]any + ID string + Name string + type ToolCallDeltaStreamPart struct + ArgsTextDelta string + ToolCallID string + func (p ToolCallDeltaStreamPart) Format() (string, error) + func (p ToolCallDeltaStreamPart) TypeID() byte + type ToolCallResult interface + type ToolCallStartStreamPart struct + ToolCallID string + ToolName string + func (p ToolCallStartStreamPart) Format() (string, error) + func (p ToolCallStartStreamPart) TypeID() byte + type ToolCallStreamPart struct + Args map[string]any + ToolCallID string + ToolName string + func (p ToolCallStreamPart) Format() (string, error) + func (p ToolCallStreamPart) TypeID() byte + type ToolInvocation struct + Args any + Result any + State ToolInvocationState + Step *int + ToolCallID string + ToolName string + type ToolInvocationState string + const ToolInvocationStateCall + const ToolInvocationStatePartialCall + const ToolInvocationStateResult + type ToolResultStreamPart struct + Result any + ToolCallID string + func (p ToolResultStreamPart) Format() (string, error) + func (p ToolResultStreamPart) TypeID() byte + type Usage struct + CompletionTokens *int64 + PromptTokens *int64