types

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2026 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AIConfig

type AIConfig struct {
	// Enable AI features
	Enabled bool `yaml:"enabled" json:"enabled"`

	// OpenRouter API key (can also be set via AI_OPENROUTER_KEY env var)
	OpenRouterKey string `yaml:"openRouterKey" json:"openRouterKey"`

	// Default model to use (default: "anthropic/claude-sonnet-4")
	DefaultModel string `yaml:"defaultModel" json:"defaultModel"`

	// Allowed models (empty means all models allowed)
	AllowedModels []string `yaml:"allowedModels" json:"allowedModels"`

	// Max tokens per response (default: 8192)
	MaxTokens int `yaml:"maxTokens" json:"maxTokens"`
}

AIConfig holds configuration for the AI assistant feature.

func DefaultAIConfig

func DefaultAIConfig() *AIConfig

DefaultAIConfig returns sensible defaults for AI configuration.

func (*AIConfig) ApplyEnvironment

func (c *AIConfig) ApplyEnvironment()

ApplyEnvironment applies environment variables to AIConfig. Environment variables override config file values.

func (*AIConfig) Validate

func (c *AIConfig) Validate() error

Validate validates the AI configuration.

type APIConfig

type APIConfig struct {
	Enabled     bool `yaml:"enabled" envconfig:"WEB_API_ENABLED"`
	DisableAuth bool `yaml:"disableAuth" envconfig:"WEB_API_DISABLE_AUTH"`
}

type FrontendConfig

type FrontendConfig struct {
	Enabled  bool   `yaml:"enabled" envconfig:"WEB_FRONTEND_ENABLED"`
	Debug    bool   `yaml:"debug" envconfig:"WEB_FRONTEND_DEBUG"`
	Pprof    bool   `yaml:"pprof" envconfig:"WEB_FRONTEND_PPROF"`
	Minify   bool   `yaml:"minify" envconfig:"WEB_FRONTEND_MINIFY"`
	SiteName string `yaml:"siteName" envconfig:"WEB_FRONTEND_SITE_NAME"`
}

type ServerConfig

type ServerConfig struct {
	Port string `yaml:"port" envconfig:"WEB_SERVER_PORT"`
	Host string `yaml:"host" envconfig:"WEB_SERVER_HOST"`

	ReadTimeout  time.Duration `yaml:"readTimeout" envconfig:"WEB_SERVER_READ_TIMEOUT"`
	WriteTimeout time.Duration `yaml:"writeTimeout" envconfig:"WEB_SERVER_WRITE_TIMEOUT"`
	IdleTimeout  time.Duration `yaml:"idleTimeout" envconfig:"WEB_SERVER_IDLE_TIMEOUT"`

	AuthHeader string `yaml:"authHeader" envconfig:"WEB_SERVER_AUTH_HEADER"`
	TokenKey   string `yaml:"tokenKey" envconfig:"WEB_SERVER_TOKEN_KEY"`
}

type WebConfig

type WebConfig struct {
	Server       *ServerConfig   `yaml:"server"`
	PublicServer *ServerConfig   `yaml:"publicServer"`
	Frontend     *FrontendConfig `yaml:"frontend"`
	API          *APIConfig      `yaml:"api"`
}

Jump to

Keyboard shortcuts

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