Documentation
¶
Index ¶
- func ExtractEnvVarNames(input string) []string
- func LoadCommandsAllow(path string) ([]string, error)
- func LoadEnv(path string) (map[string]string, error)
- func RequiredEnvVarsForMCPServer(server MCPServer) []string
- func RequiredEnvVarsForMCPServers(servers []MCPServer) []string
- func SubstituteEnvVars(input string, env map[string]string) (string, error)
- func SubstituteEnvVarsWith(input string, env map[string]string, replacer EnvVarReplacer) (string, error)
- func WalkInstructionFiles(dir string, fn func(path string, entry fs.DirEntry) error) error
- type AgentConfig
- type AgentsConfig
- type ApprovalsConfig
- type CodexConfig
- type Config
- type EnvVarReplacer
- type InstructionFile
- type MCPConfig
- type MCPServer
- type Paths
- type ProjectConfig
- type SlashCommand
- type WarningsConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractEnvVarNames ¶
ExtractEnvVarNames returns env var names referenced by ${VAR} placeholders. input is a string that may contain placeholders; returns names in scan order.
func LoadCommandsAllow ¶
LoadCommandsAllow reads .agent-layer/commands.allow into a slice of prefixes.
func RequiredEnvVarsForMCPServer ¶
RequiredEnvVarsForMCPServer returns required env var names for a single MCP server. server is the MCP server definition; returns a sorted list of unique names.
func RequiredEnvVarsForMCPServers ¶
RequiredEnvVarsForMCPServers returns required env var names across all MCP servers. servers is a list of MCP server definitions; returns a sorted list of unique names.
func SubstituteEnvVars ¶
SubstituteEnvVars replaces ${VAR} placeholders using env values.
func SubstituteEnvVarsWith ¶
func SubstituteEnvVarsWith(input string, env map[string]string, replacer EnvVarReplacer) (string, error)
SubstituteEnvVarsWith replaces ${VAR} placeholders using env values and a replacer.
Types ¶
type AgentConfig ¶
AgentConfig is shared by agents that only need enablement and model selection.
type AgentsConfig ¶
type AgentsConfig struct {
Gemini AgentConfig `toml:"gemini"`
Claude AgentConfig `toml:"claude"`
Codex CodexConfig `toml:"codex"`
VSCode AgentConfig `toml:"vscode"`
Antigravity AgentConfig `toml:"antigravity"`
}
AgentsConfig holds per-client enablement and model selection.
type ApprovalsConfig ¶
type ApprovalsConfig struct {
Mode string `toml:"mode"`
}
ApprovalsConfig controls auto-approval behavior per client.
type CodexConfig ¶
type CodexConfig struct {
Enabled *bool `toml:"enabled"`
Model string `toml:"model"`
ReasoningEffort string `toml:"reasoning_effort"`
}
CodexConfig extends AgentConfig with Codex-specific settings.
type Config ¶
type Config struct {
Approvals ApprovalsConfig `toml:"approvals"`
Agents AgentsConfig `toml:"agents"`
MCP MCPConfig `toml:"mcp"`
Warnings WarningsConfig `toml:"warnings"`
}
Config is the root configuration loaded from .agent-layer/config.toml.
func LoadConfig ¶
LoadConfig reads .agent-layer/config.toml and validates it.
func LoadTemplateConfig ¶
LoadTemplateConfig returns the embedded default config template as a validated Config.
func ParseConfig ¶
ParseConfig parses and validates config TOML data from a source identifier. data is the TOML content; source is used in error messages.
type EnvVarReplacer ¶
EnvVarReplacer returns a replacement string for a resolved env var.
type InstructionFile ¶
InstructionFile holds a single instruction fragment.
func LoadInstructions ¶
func LoadInstructions(dir string) ([]InstructionFile, error)
LoadInstructions reads .agent-layer/instructions/*.md in lexicographic order.
type MCPConfig ¶
type MCPConfig struct {
Servers []MCPServer `toml:"servers"`
}
MCPConfig contains the external MCP servers configuration.
type MCPServer ¶
type MCPServer struct {
ID string `toml:"id"`
Enabled *bool `toml:"enabled"`
Clients []string `toml:"clients"`
Transport string `toml:"transport"`
URL string `toml:"url"`
Headers map[string]string `toml:"headers"`
Command string `toml:"command"`
Args []string `toml:"args"`
Env map[string]string `toml:"env"`
}
MCPServer defines a single MCP server entry.
func (MCPServer) AppliesToClient ¶
AppliesToClient reports whether the server is enabled for the given client.
type Paths ¶
type Paths struct {
Root string
ConfigPath string
EnvPath string
InstructionsDir string
SlashCommandsDir string
CommandsAllow string
}
Paths holds resolved paths for config files and directories.
func DefaultPaths ¶
DefaultPaths returns the default config paths for a repo root.
type ProjectConfig ¶
type ProjectConfig struct {
Config Config
Env map[string]string
Instructions []InstructionFile
SlashCommands []SlashCommand
CommandsAllow []string
Root string
}
ProjectConfig is the fully loaded configuration state for sync and launch.
func LoadProjectConfig ¶
func LoadProjectConfig(root string) (*ProjectConfig, error)
LoadProjectConfig reads and validates the full Agent Layer config from disk.
type SlashCommand ¶
SlashCommand represents a parsed slash command with metadata and body.
func LoadSlashCommands ¶
func LoadSlashCommands(dir string) ([]SlashCommand, error)
LoadSlashCommands reads .agent-layer/slash-commands/*.md in lexicographic order.
type WarningsConfig ¶
type WarningsConfig struct {
InstructionTokenThreshold *int `toml:"instruction_token_threshold"`
MCPServerThreshold *int `toml:"mcp_server_threshold"`
MCPToolsTotalThreshold *int `toml:"mcp_tools_total_threshold"`
MCPServerToolsThreshold *int `toml:"mcp_server_tools_threshold"`
MCPSchemaTokensTotalThreshold *int `toml:"mcp_schema_tokens_total_threshold"`
MCPSchemaTokensServerThreshold *int `toml:"mcp_schema_tokens_server_threshold"`
}
WarningsConfig configures optional warning thresholds. Nil disables warnings.