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}