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}