Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EnsureConfigExists ¶ added in v0.14.0
func EnsureConfigExists() error
EnsureConfigExists checks if a config file exists and creates a default one if not
func HasEnvVars ¶ added in v0.19.0
HasEnvVars checks if content contains environment variable patterns
func HasScriptArgs ¶ added in v0.19.0
HasScriptArgs checks if content contains script argument patterns
func LoadSystemPrompt ¶
LoadSystemPrompt loads system prompt from file or returns the string directly
Types ¶
type ArgsSubstituter ¶ added in v0.19.0
type ArgsSubstituter struct {
// contains filtered or unexported fields
}
ArgsSubstituter handles script argument substitution
func NewArgsSubstituter ¶ added in v0.19.0
func NewArgsSubstituter(args map[string]string) *ArgsSubstituter
NewArgsSubstituter creates a new args substituter with the given arguments
func (*ArgsSubstituter) SubstituteArgs ¶ added in v0.19.0
func (a *ArgsSubstituter) SubstituteArgs(content string) (string, error)
SubstituteArgs replaces ${VAR} and ${VAR:-default} patterns with script arguments
type Config ¶
type Config struct { MCPServers map[string]MCPServerConfig `json:"mcpServers" yaml:"mcpServers"` Model string `json:"model,omitempty" yaml:"model,omitempty"` MaxSteps int `json:"max-steps,omitempty" yaml:"max-steps,omitempty"` Debug bool `json:"debug,omitempty" yaml:"debug,omitempty"` Compact bool `json:"compact,omitempty" yaml:"compact,omitempty"` SystemPrompt string `json:"system-prompt,omitempty" yaml:"system-prompt,omitempty"` ProviderAPIKey string `json:"provider-api-key,omitempty" yaml:"provider-api-key,omitempty"` ProviderURL string `json:"provider-url,omitempty" yaml:"provider-url,omitempty"` Prompt string `json:"prompt,omitempty" yaml:"prompt,omitempty"` NoExit bool `json:"no-exit,omitempty" yaml:"no-exit,omitempty"` Stream *bool `json:"stream,omitempty" yaml:"stream,omitempty"` // Model generation parameters MaxTokens int `json:"max-tokens,omitempty" yaml:"max-tokens,omitempty"` Temperature *float32 `json:"temperature,omitempty" yaml:"temperature,omitempty"` TopP *float32 `json:"top-p,omitempty" yaml:"top-p,omitempty"` TopK *int32 `json:"top-k,omitempty" yaml:"top-k,omitempty"` StopSequences []string `json:"stop-sequences,omitempty" yaml:"stop-sequences,omitempty"` // TLS configuration TLSSkipVerify bool `json:"tls-skip-verify,omitempty" yaml:"tls-skip-verify,omitempty"` }
Config represents the application configuration
func LoadAndValidateConfig ¶ added in v0.19.0
LoadAndValidateConfig loads config from viper and validates it
func MergeConfigs ¶ added in v0.19.0
MergeConfigs merges script frontmatter config with base config
type EnvSubstituter ¶ added in v0.19.0
type EnvSubstituter struct{}
EnvSubstituter handles environment variable substitution
func (*EnvSubstituter) SubstituteEnvVars ¶ added in v0.19.0
func (e *EnvSubstituter) SubstituteEnvVars(content string) (string, error)
SubstituteEnvVars replaces ${env://VAR} and ${env://VAR:-default} patterns with environment variables
type MCPServerConfig ¶
type MCPServerConfig struct { Type string `json:"type"` Command []string `json:"command,omitempty"` Environment map[string]string `json:"environment,omitempty"` URL string `json:"url,omitempty"` Name string `json:"name,omitempty"` // For builtin servers Options map[string]any `json:"options,omitempty"` // For builtin servers AllowedTools []string `json:"allowedTools,omitempty" yaml:"allowedTools,omitempty"` ExcludedTools []string `json:"excludedTools,omitempty" yaml:"excludedTools,omitempty"` // Legacy fields for backward compatibility Transport string `json:"transport,omitempty"` Args []string `json:"args,omitempty"` Env map[string]any `json:"env,omitempty"` Headers []string `json:"headers,omitempty"` }
MCPServerConfig represents configuration for an MCP server
func (*MCPServerConfig) GetTransportType ¶ added in v0.15.0
func (s *MCPServerConfig) GetTransportType() string
GetTransportType returns the transport type for the server config
func (*MCPServerConfig) UnmarshalJSON ¶ added in v0.16.0
func (s *MCPServerConfig) UnmarshalJSON(data []byte) error
UnmarshalJSON handles both new and legacy config formats