Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Compile ¶
func Compile(opts CompileOptions) error
Compile reads the settings YAML and generates all output files.
func MarshalYAML ¶
func MarshalYAML(settings *SessionSettings) ([]byte, error)
MarshalYAML marshals SessionSettings to YAML bytes.
Types ¶
type ClaudeConfig ¶
type ClaudeConfig struct {
ClaudeJSON map[string]interface{} `yaml:"claude_json,omitempty"`
SettingsJSON map[string]interface{} `yaml:"settings_json,omitempty"`
MCPServers map[string]interface{} `yaml:"mcp_servers,omitempty"`
}
ClaudeConfig holds Claude-related configuration data.
type CompileOptions ¶
type CompileOptions struct {
InputPath string // Path to settings YAML (default: /session-settings/settings.yaml)
OutputDir string // Base output directory (default: /home/agentapi)
EnvFilePath string // Path for env file output (default: /session-settings/env)
StartupPath string // Path for startup script (default: /session-settings/startup.sh)
MCPOutputPath string // Path for MCP config (default: /mcp-config/merged.json)
}
CompileOptions configures the compile-settings behavior.
func DefaultCompileOptions ¶
func DefaultCompileOptions() CompileOptions
DefaultCompileOptions returns the default compile options.
type GithubConfig ¶
type GithubConfig struct {
Token string `yaml:"token,omitempty"`
SecretName string `yaml:"secret_name,omitempty"`
ConfigSecretName string `yaml:"config_secret_name,omitempty"`
}
GithubConfig holds GitHub authentication configuration reference info.
type RepositoryConfig ¶
type RepositoryConfig struct {
FullName string `yaml:"fullname"`
CloneDir string `yaml:"clone_dir"`
}
RepositoryConfig holds repository information.
type SessionMeta ¶
type SessionMeta struct {
ID string `yaml:"id"`
UserID string `yaml:"user_id"`
Scope string `yaml:"scope"`
TeamID string `yaml:"team_id,omitempty"`
AgentType string `yaml:"agent_type,omitempty"`
Oneshot bool `yaml:"oneshot,omitempty"`
Teams []string `yaml:"teams,omitempty"`
}
SessionMeta contains session identification metadata.
type SessionSettings ¶
type SessionSettings struct {
Session SessionMeta `yaml:"session"`
Env map[string]string `yaml:"env,omitempty"`
Claude ClaudeConfig `yaml:"claude,omitempty"`
Repository *RepositoryConfig `yaml:"repository,omitempty"`
InitialMessage string `yaml:"initial_message,omitempty"`
WebhookPayload string `yaml:"webhook_payload,omitempty"`
Startup StartupConfig `yaml:"startup,omitempty"`
Github *GithubConfig `yaml:"github,omitempty"`
}
SessionSettings is the top-level unified settings YAML structure. It consolidates all configuration needed for a session Pod.
func LoadSettings ¶
func LoadSettings(path string) (*SessionSettings, error)
LoadSettings reads and parses a SessionSettings from a YAML file.
type StartupConfig ¶
type StartupConfig struct {
Command []string `yaml:"command,omitempty"`
Args []string `yaml:"args,omitempty"`
}
StartupConfig holds the startup command configuration.