1// Package deprecated is used to serve the old verion of the provider config
 2package deprecated
 3
 4import "github.com/charmbracelet/catwalk/pkg/catwalk"
 5
 6// Provider represents an AI provider configuration.
 7type Provider struct {
 8	Name                string                    `json:"name"`
 9	ID                  catwalk.InferenceProvider `json:"id"`
10	APIKey              string                    `json:"api_key,omitempty"`
11	APIEndpoint         string                    `json:"api_endpoint,omitempty"`
12	Type                catwalk.Type              `json:"type,omitempty"`
13	DefaultLargeModelID string                    `json:"default_large_model_id,omitempty"`
14	DefaultSmallModelID string                    `json:"default_small_model_id,omitempty"`
15	Models              []Model                   `json:"models,omitempty"`
16	DefaultHeaders      map[string]string         `json:"default_headers,omitempty"`
17}
18
19// Model represents an AI model configuration.
20type Model struct {
21	ID                     string  `json:"id"`
22	Name                   string  `json:"name"`
23	CostPer1MIn            float64 `json:"cost_per_1m_in"`
24	CostPer1MOut           float64 `json:"cost_per_1m_out"`
25	CostPer1MInCached      float64 `json:"cost_per_1m_in_cached"`
26	CostPer1MOutCached     float64 `json:"cost_per_1m_out_cached"`
27	ContextWindow          int64   `json:"context_window"`
28	DefaultMaxTokens       int64   `json:"default_max_tokens"`
29	CanReason              bool    `json:"can_reason"`
30	HasReasoningEffort     bool    `json:"has_reasoning_efforts"`
31	DefaultReasoningEffort string  `json:"default_reasoning_effort,omitempty"`
32	SupportsImages         bool    `json:"supports_attachments"`
33}