modeldata

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package modeldata validates the curated snapshot used to generate built-in model metadata.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnthropicMessagesCompat added in v0.2.0

type AnthropicMessagesCompat struct {
	SupportsEagerToolInputStreaming string `json:"supportsEagerToolInputStreaming,omitempty"`
	SupportsLongCacheRetention      string `json:"supportsLongCacheRetention,omitempty"`
	SupportsSessionAffinity         string `json:"supportsSessionAffinity,omitempty"`
	SupportsCacheControlOnTools     string `json:"supportsCacheControlOnTools,omitempty"`
	SupportsEmptyThinkingSignature  string `json:"supportsEmptyThinkingSignature,omitempty"`
	ThinkingFormat                  string `json:"thinkingFormat,omitempty"`
}

AnthropicMessagesCompat mirrors sigma.AnthropicMessagesCompat.

type AzureOpenAIResponses

type AzureOpenAIResponses struct {
	Endpoint         string `json:"endpoint,omitempty"`
	Deployment       string `json:"deployment,omitempty"`
	APIVersion       string `json:"apiVersion,omitempty"`
	APIKeyEnvVar     string `json:"apiKeyEnvVar,omitempty"`
	CredentialSource string `json:"credentialSource,omitempty"`
}

AzureOpenAIResponses mirrors sigma.AzureOpenAIResponsesConfig.

type Catalog

type Catalog struct {
	SchemaVersion int          `json:"schemaVersion"`
	SnapshotDate  string       `json:"snapshotDate"`
	Sources       []Source     `json:"sources"`
	TextModels    []TextModel  `json:"textModels"`
	ImageModels   []ImageModel `json:"imageModels"`
}

Catalog is the reviewable input used by cmd/sigma-generate-models.

func Decode

func Decode(r io.Reader) (Catalog, error)

Decode reads and validates catalog JSON.

func Load

func Load(path string) (Catalog, error)

Load reads and validates a catalog JSON file.

func (*Catalog) Sort

func (c *Catalog) Sort()

Sort returns metadata in generated output order.

func (Catalog) Validate

func (c Catalog) Validate() error

Validate reports clear generator failures for missing or duplicate metadata.

type Cost

type Cost struct {
	InputPerMillion           float64 `json:"inputPerMillion"`
	OutputPerMillion          float64 `json:"outputPerMillion"`
	CacheReadInputPerMillion  float64 `json:"cacheReadInputPerMillion,omitempty"`
	CacheWriteInputPerMillion float64 `json:"cacheWriteInputPerMillion,omitempty"`
	Currency                  string  `json:"currency"`
}

Cost records text model pricing in currency units per one million tokens.

type ImageCost

type ImageCost struct {
	Unit     string             `json:"unit"`
	Currency string             `json:"currency"`
	Values   map[string]float64 `json:"values"`
}

ImageCost records image pricing notes for metadata discovery.

type ImageModel

type ImageModel struct {
	ID               string            `json:"id"`
	Name             string            `json:"name"`
	Provider         string            `json:"provider"`
	API              string            `json:"api"`
	BaseURL          string            `json:"baseURL"`
	MaxWidth         int               `json:"maxWidth"`
	MaxHeight        int               `json:"maxHeight"`
	SupportedSizes   []string          `json:"supportedSizes"`
	SupportedFormats []string          `json:"supportedFormats"`
	Cost             ImageCost         `json:"cost"`
	Headers          map[string]string `json:"headers,omitempty"`
	AuthEnvNames     []string          `json:"authEnvNames"`
	ProviderMetadata map[string]any    `json:"providerMetadata,omitempty"`
}

ImageModel is generator input for root-package sigma.ImageModel metadata.

type OpenAICodexResponses

type OpenAICodexResponses struct {
	Model string `json:"model,omitempty"`
}

OpenAICodexResponses mirrors sigma.OpenAICodexResponsesConfig.

type OpenAICompletionsCompat

type OpenAICompletionsCompat struct {
	SupportsStore                               string                            `json:"supportsStore,omitempty"`
	SupportsDeveloperRole                       string                            `json:"supportsDeveloperRole,omitempty"`
	ReasoningFormat                             string                            `json:"reasoningFormat,omitempty"`
	SupportsReasoningEffort                     string                            `json:"supportsReasoningEffort,omitempty"`
	SupportsStreamingUsage                      string                            `json:"supportsStreamingUsage,omitempty"`
	SupportsStrictTools                         string                            `json:"supportsStrictTools,omitempty"`
	SupportsToolStream                          string                            `json:"supportsToolStream,omitempty"`
	MaxTokensField                              string                            `json:"maxTokensField,omitempty"`
	CacheControlFormat                          string                            `json:"cacheControlFormat,omitempty"`
	SupportsSessionAffinity                     string                            `json:"supportsSessionAffinity,omitempty"`
	RequiresToolResultName                      string                            `json:"requiresToolResultName,omitempty"`
	RequiresAssistantAfterToolResult            string                            `json:"requiresAssistantAfterToolResult,omitempty"`
	RequiresReasoningContentOnAssistantMessages string                            `json:"requiresReasoningContentOnAssistantMessages,omitempty"`
	OpenRouterRouting                           *OpenRouterRoutingPreference      `json:"openRouterRouting,omitempty"`
	VercelAIGatewayRouting                      *VercelAIGatewayRoutingPreference `json:"vercelAIGatewayRouting,omitempty"`
}

OpenAICompletionsCompat mirrors sigma.OpenAICompletionsCompat without importing the root package from this internal generator package.

type OpenRouterRoutingPreference

type OpenRouterRoutingPreference struct {
	Order                  []string       `json:"order,omitempty"`
	Only                   []string       `json:"only,omitempty"`
	Ignore                 []string       `json:"ignore,omitempty"`
	AllowFallbacks         *bool          `json:"allow_fallbacks,omitempty"`
	RequireParameters      *bool          `json:"require_parameters,omitempty"`
	DataCollection         string         `json:"data_collection,omitempty"`
	ZDR                    *bool          `json:"zdr,omitempty"`
	EnforceDistillableText *bool          `json:"enforce_distillable_text,omitempty"`
	Quantizations          []string       `json:"quantizations,omitempty"`
	MaxPrice               map[string]any `json:"max_price,omitempty"`
	PreferredMinThroughput any            `json:"preferred_min_throughput,omitempty"`
	PreferredMaxLatency    any            `json:"preferred_max_latency,omitempty"`
	Sort                   any            `json:"sort,omitempty"`
}

OpenRouterRoutingPreference mirrors sigma.OpenRouterRoutingPreference.

type Source

type Source struct {
	Name string `json:"name"`
	URL  string `json:"url"`
}

Source records where the stored metadata snapshot came from.

type TextModel

type TextModel struct {
	ID                      string                   `json:"id"`
	Name                    string                   `json:"name"`
	Provider                string                   `json:"provider"`
	API                     string                   `json:"api"`
	BaseURL                 string                   `json:"baseURL"`
	SupportedInputs         []string                 `json:"supportedInputs"`
	SupportsTools           bool                     `json:"supportsTools"`
	SupportsThinking        bool                     `json:"supportsThinking"`
	ThinkingLevels          []string                 `json:"thinkingLevels,omitempty"`
	ThinkingLevelMap        map[string]string        `json:"thinkingLevelMap,omitempty"`
	Cost                    Cost                     `json:"cost"`
	ContextWindow           int                      `json:"contextWindow"`
	MaxOutputTokens         int                      `json:"maxOutputTokens"`
	Headers                 map[string]string        `json:"headers,omitempty"`
	AuthEnvNames            []string                 `json:"authEnvNames"`
	DefaultTransport        string                   `json:"defaultTransport"`
	OpenAICompletionsCompat *OpenAICompletionsCompat `json:"openAICompletionsCompat,omitempty"`
	AnthropicMessagesCompat *AnthropicMessagesCompat `json:"anthropicMessagesCompat,omitempty"`
	AzureOpenAIResponses    *AzureOpenAIResponses    `json:"azureOpenAIResponses,omitempty"`
	OpenAICodexResponses    *OpenAICodexResponses    `json:"openAICodexResponses,omitempty"`
	ProviderMetadata        map[string]any           `json:"providerMetadata,omitempty"`
}

TextModel is generator input for root-package sigma.Model metadata.

type VercelAIGatewayRoutingPreference

type VercelAIGatewayRoutingPreference struct {
	Order   []string       `json:"order,omitempty"`
	Only    []string       `json:"only,omitempty"`
	Models  []string       `json:"models,omitempty"`
	Caching string         `json:"caching,omitempty"`
	BYOK    map[string]any `json:"byok,omitempty"`
}

VercelAIGatewayRoutingPreference mirrors sigma.VercelAIGatewayRoutingPreference.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL