provider_options.go

 1package anthropic
 2
 3import "github.com/charmbracelet/fantasy/ai"
 4
 5const OptionsKey = "anthropic"
 6
 7type ProviderOptions struct {
 8	SendReasoning          *bool
 9	Thinking               *ThinkingProviderOption
10	DisableParallelToolUse *bool
11}
12
13func (o *ProviderOptions) Options() {}
14
15type ThinkingProviderOption struct {
16	BudgetTokens int64
17}
18
19type ReasoningOptionMetadata struct {
20	Signature    string
21	RedactedData string
22}
23
24func (*ReasoningOptionMetadata) Options() {}
25
26type ProviderCacheControlOptions struct {
27	CacheControl CacheControl
28}
29
30func (*ProviderCacheControlOptions) Options() {}
31
32type CacheControl struct {
33	Type string
34}
35
36func NewProviderOptions(opts *ProviderOptions) ai.ProviderOptions {
37	return ai.ProviderOptions{
38		OptionsKey: opts,
39	}
40}
41
42func NewProviderCacheControlOptions(opts *ProviderCacheControlOptions) ai.ProviderOptions {
43	return ai.ProviderOptions{
44		OptionsKey: opts,
45	}
46}