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}