config

package
v0.0.41 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 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.

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