config

package
v0.0.35 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package config loads and validates rocketclaw configuration files.

Index

Constants

View Source
const DefaultRuntimeDir = ".rocketclaw"

DefaultRuntimeDir is the generated runtime directory for rocketclaw configs.

Variables

This section is empty.

Functions

func LoadExternalMCPUsers

func LoadExternalMCPUsers(configPath string) (map[string]string, error)

LoadExternalMCPUsers reads the optional rocketclaw.users.json file next to configPath.

func MigrateSlackConfig added in v0.0.33

func MigrateSlackConfig(configPath string) (bool, error)

MigrateSlackConfig atomically promotes the prior Slack channel shape in configPath.

Types

type Config

type Config struct {
	Workspace         string                `json:"workspace"`
	WorkDir           string                `json:"-"`
	Overlays          []string              `json:"overlays,omitempty"`
	Models            map[string]string     `json:"models,omitempty"`
	Environment       []string              `json:"environment,omitempty"`
	Logging           LoggingConfig         `json:"logging"`
	MCPExternal       MCPExternalConfig     `json:"mcp_external"`
	Slack             SlackConfig           `json:"slack"`
	OpenAI            OpenAIConfig          `json:"openai"`
	AutoApproverModel string                `json:"auto_approver_model"`
	Instrumentation   InstrumentationConfig `json:"instrumentation"`
}

Config is the top-level rocketclaw runtime configuration.

func Load

func Load(configPath string) (*Config, error)

Load reads, normalizes, and validates the rocketclaw configuration file.

func (*Config) RenderAgentModel added in v0.0.32

func (c *Config) RenderAgentModel(model string) (string, error)

RenderAgentModel renders an agent model with the mappings from the loaded config.

func (*Config) RuntimeDirName added in v0.0.25

func (c *Config) RuntimeDirName() string

RuntimeDirName returns the selected generated runtime directory name.

func (*Config) Validate

func (c *Config) Validate() error

Validate verifies the configuration is usable.

type InstrumentationConfig added in v0.0.12

type InstrumentationConfig struct {
	Enabled           bool   `json:"enabled"`
	CollectorEndpoint string `json:"collector_endpoint"`
	ProjectName       string `json:"project_name"`
	APIKey            string `json:"api_key"`
	HideInputs        bool   `json:"hide_inputs"`
	HideOutputs       bool   `json:"hide_outputs"`
}

InstrumentationConfig configures OpenTelemetry/OpenInference tracing.

type LoggingConfig

type LoggingConfig struct {
	Level string `json:"level"`
}

LoggingConfig controls rocketclaw logging.

type MCPExternalConfig

type MCPExternalConfig struct {
	Enabled    bool   `json:"enabled"`
	ListenAddr string `json:"listen_addr"`
}

MCPExternalConfig configures the persistent external MCP HTTP server.

type OpenAIConfig

type OpenAIConfig struct {
	APIKey         string `json:"api_key"`
	APIBaseURL     string `json:"api_base_url"`
	RocketCodeAuth string `json:"rocketcode_auth"`
}

OpenAIConfig configures the OpenAI client used by RocketCode.

type SlackChannelConfig added in v0.0.33

type SlackChannelConfig struct {
	Channel        string   `json:"channel"`
	Agents         []string `json:"agents,omitempty"`
	AllowedUserIDs []string `json:"allowed_user_ids,omitempty"`
}

SlackChannelConfig configures one Slack channel.

type SlackConfig

type SlackConfig struct {
	BotToken string               `json:"bot_token"`
	AppToken string               `json:"app_token"`
	Channels []SlackChannelConfig `json:"channels,omitempty"`
}

SlackConfig configures Slack channel conversations.

Jump to

Keyboard shortcuts

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