Versions in this module Expand all Collapse all v0 v0.1.1 Jul 18, 2026 Changes in this version + const DefaultMaxTokens + const MaxModelTokensCap + var BuiltinModels = []BuiltinModel + func AnthropicAssistantBlocks(msg Message, opts ReplayOptions) []map[string]any + func BlocksToRPCContent(blocks []ContentBlock) []map[string]any + func ClearPendingOAuthState(globalDir string) + func CloneCompatMap(m map[string]any) map[string]any + func DefaultThinkingBudget(level string) int + func ErrUnknownProvider(id string) error + func HasAssistantOutput(blocks []ContentBlock) bool + func HasAuthConfigured(auth *Auth, mc ModelConfig) bool + func IsThinkingOff(level string) bool + func IsToolRole(r Role) bool + func LoadPendingOAuthState(globalDir string) (oauth.PendingState, bool, error) + func MapThinkingLevel(mc ModelConfig, level string) (mapped string, ok bool) + func MessageStopReason(providerReason string, hasToolCalls bool) string + func ModelMaxTokens(mc ModelConfig) int + func NormalizeMessage(msg *Message) + func NormalizeStopReason(reason string) string + func OAuthBetaHeader() string + func OllamaAssistantWire(msg Message) (content, thinking string) + func OpenAIAssistantWire(msg Message, opts ReplayOptions) (content any, reasoningContent string) + func ResolveAPIKey(auth *Auth, mc ModelConfig) (string, error) + func ResolveChatTemplateKwargs(raw map[string]any, level string, thinkMap map[string]*string) map[string]any + func SavePendingOAuthState(globalDir string, state oauth.PendingState) error + func TextFromBlocks(blocks []ContentBlock) string + func ThinkingFromBlocks(blocks []ContentBlock) string + type Auth struct + func LoadAuth(globalDir string) (*Auth, error) + func NewAuthForTest() *Auth + func (a *Auth) Entry(provider string) (AuthEntry, bool) + func (a *Auth) IsOAuth(provider string) bool + func (a *Auth) Logout(provider string) error + func (a *Auth) Providers() []string + func (a *Auth) Resolve(provider string) (string, error) + func (a *Auth) Save() error + func (a *Auth) SetCLIOverride(key string) + func (a *Auth) SetOAuthCredentials(provider, access, refresh string, expiresUnix int64) + func (a *Auth) SetOAuthFromTokenSet(provider string, tokens oauth.TokenSet) + func (a *Auth) SetOAuthToken(provider, token string) + func (a *Auth) SetProviderKey(provider, key string) + type AuthEntry struct + Access string + Env map[string]string + Expires int64 + Key string + Refresh string + Type string + type BlockBuilder struct + func (b *BlockBuilder) AppendText(delta string) + func (b *BlockBuilder) AppendThinking(delta string) + func (b *BlockBuilder) AppendThinkingSignature(delta string) + func (b *BlockBuilder) AppendToolCall(tc ToolCall) + func (b *BlockBuilder) Blocks() []ContentBlock + func (b *BlockBuilder) HasText() bool + func (b *BlockBuilder) HasThinking() bool + func (b *BlockBuilder) Reset() + type BlockType string + const BlockTypeText + const BlockTypeThinking + const BlockTypeToolCall + type BuiltinModel struct + APIType string + ContextWindow int + ID string + Input []string + MaxTokens int + Name string + Provider string + Reasoning bool + type ChatEvent struct + Err error + StopReason string + ThinkingSignature string + Token string + ToolCall *ToolCall + ToolCallDelta string + ToolCallID string + ToolCallIndex int + ToolCallName string + Type EventType + Usage *Usage + type ChatRequest struct + CacheRetention string + MaxTokens int + Messages []Message + Model string + SessionID string + ThinkingBudget int + ThinkingLevel string + Tools []ToolDef + type CompatSettings struct + AllowEmptySignature *bool + CacheControlFormat *string + ChatTemplateKwargs map[string]any + ForceAdaptiveThinking *bool + MaxTokensField *string + OpenRouterRouting map[string]any + ReasoningAsContent *bool + RequiresAssistantAfterToolResult *bool + RequiresReasoningContentOnAssistantMessages *bool + RequiresThinkingAsText *bool + RequiresToolResultName *bool + SendSessionAffinityHeaders *bool + SessionAffinityFormat *string + SupportsCacheControlOnTools *bool + SupportsDeveloperRole *bool + SupportsEagerToolInputStreaming *bool + SupportsLongCacheRetention *bool + SupportsReasoningEffort *bool + SupportsStore *bool + SupportsStrictMode *bool + SupportsUsageInStreaming *bool + ThinkingFormat *string + VercelGatewayRouting map[string]any + func (c CompatSettings) AllowEmptySignatureEnabled() bool + func (c CompatSettings) CacheControlFormatAnthropic() bool + func (c CompatSettings) DeveloperRoleEnabled() bool + func (c CompatSettings) ForceAdaptiveThinkingEnabled() bool + func (c CompatSettings) MaxTokensFieldName() string + func (c CompatSettings) ReasoningAsContentEnabled() bool + func (c CompatSettings) ReasoningEffortEnabled() bool + func (c CompatSettings) RequiresAssistantAfterToolResultEnabled() bool + func (c CompatSettings) RequiresReasoningContentOnAssistantMessagesEnabled() bool + func (c CompatSettings) RequiresThinkingAsTextEnabled() bool + func (c CompatSettings) RequiresToolResultNameEnabled() bool + func (c CompatSettings) ResolvedSessionAffinityFormat() string + func (c CompatSettings) ResolvedThinkingFormat() string + func (c CompatSettings) SendSessionAffinityHeadersEnabled() bool + func (c CompatSettings) SupportsCacheControlOnToolsEnabled() bool + func (c CompatSettings) SupportsEagerToolInputStreamingEnabled() bool + func (c CompatSettings) SupportsLongCacheRetentionEnabled() bool + func (c CompatSettings) SupportsStoreEnabled() bool + func (c CompatSettings) SupportsStrictModeEnabled() bool + func (c CompatSettings) SupportsUsageInStreamingEnabled() bool + type ContentBlock struct + Signature string + Text string + ToolCall *ToolCall + Type BlockType + type CostTier struct + CacheReadPerM float64 + CacheWritePerM float64 + InputPerM float64 + InputTokensAbove int + OutputPerM float64 + type EventType string + const EventDone + const EventError + const EventThinking + const EventToken + const EventToolCall + const EventToolCallDelta + type HTTPHooks interface + AfterResponse func(ctx context.Context, provider, model string, status int, h http.Header) + BeforeHeaders func(ctx context.Context, provider, model string, h http.Header) + BeforeRequest func(ctx context.Context, provider, model string, body []byte) + type HTTPHooksSetter interface + SetHTTPHooks func(HTTPHooks) + type ImageContent struct + Data string + MimeType string + Type string + type InferenceParams struct + MaxTokens int + Temperature *float64 + TopP *float64 + type Message struct + Blocks []ContentBlock + Content string + ErrorMessage string + Images []ImageContent + Role Role + StopReason string + ToolCallID string + ToolCalls []ToolCall + ToolName string + func AssistantMessage(blocks []ContentBlock, toolCalls []ToolCall, stopReason, errMsg string) Message + func PrepareOpenAIMessages(msgs []Message, compat CompatSettings) []Message + type ModelConfig struct + APIBase string + APIKeyRef string + APIType string + AuthHeader bool + Compat CompatSettings + ContextWindow int + CostTiers []CostTier + DefaultParams InferenceParams + Headers map[string]string + Input []string + InputCostPerM float64 + Local bool + Model string + Name string + OutputCostPerM float64 + Provider string + ProviderID string + Reasoning bool + ThinkingLevelMap map[string]*string + func (m ModelConfig) SupportsImage() bool + type Provider interface + Chat func(ctx context.Context, req ChatRequest) (<-chan ChatEvent, error) + Name func() string + type ReplayOptions struct + Compat CompatSettings + type Role string + const RoleAssistant + const RoleBashExecution + const RoleCustom + const RoleSystem + const RoleTool + const RoleToolLegacy + const RoleUser + func NormalizeRole(r Role) Role + type ToolCall struct + Args map[string]any + ID string + Name string + func ToolCallsFromBlocks(blocks []ContentBlock, legacy []ToolCall) []ToolCall + type ToolDef struct + Description string + Name string + Parameters map[string]any + PromptGuidelines []string + PromptSnippet string + type Usage struct + CacheRead int + CacheWrite int + Cost *float64 + InputTokens int + OutputTokens int