provider_options.go

 1package openaicompat
 2
 3import (
 4	"charm.land/fantasy"
 5	"charm.land/fantasy/openai"
 6)
 7
 8type ProviderOptions struct {
 9	User            *string                 `json:"user"`
10	ReasoningEffort *openai.ReasoningEffort `json:"reasoning_effort"`
11}
12
13type ReasoningData struct {
14	ReasoningContent string `json:"reasoning_content"`
15}
16
17func (*ProviderOptions) Options() {}
18
19func NewProviderOptions(opts *ProviderOptions) fantasy.ProviderOptions {
20	return fantasy.ProviderOptions{
21		Name: opts,
22	}
23}
24
25func ParseOptions(data map[string]any) (*ProviderOptions, error) {
26	var options ProviderOptions
27	if err := fantasy.ParseOptions(data, &options); err != nil {
28		return nil, err
29	}
30	return &options, nil
31}