sessionsettings

package
v1.232.0 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2026 License: MIT Imports: 8 Imported by: 0

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.

Jump to

Keyboard shortcuts

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