Documentation
¶
Index ¶
- Constants
- func ContainsPotentialSecretLiteral(content string) bool
- func ExpandPath(value string, repoRoot string) (string, error)
- func ExpandPathIfNeeded(raw string, value string, repoRoot string) (string, error)
- func ExtractEnvVarNames(input string) []string
- func IsBuiltInEnvVar(name string) bool
- func LoadCommandsAllow(path string) ([]string, error)
- func LoadCommandsAllowFS(fsys fs.FS, root string, path string) ([]string, error)
- func LoadEnv(path string) (map[string]string, error)
- func LoadEnvFS(fsys fs.FS, root string, path string) (map[string]string, error)
- func RequiredEnvVarsForMCPServer(server MCPServer) []string
- func RequiredEnvVarsForMCPServers(servers []MCPServer) []string
- func ShouldExpandPath(value string) bool
- func SubstituteEnvVars(input string, env map[string]string) (string, error)
- func SubstituteEnvVarsWith(input string, env map[string]string, replacer EnvVarReplacer) (string, error)
- func WithBuiltInEnv(env map[string]string, repoRoot string) map[string]string
- 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 ¶
const ( TransportHTTP = "http" TransportStdio = "stdio" )
MCP transport type constants.
const BuiltinRepoRootEnvVar = "AL_REPO_ROOT"
BuiltinRepoRootEnvVar is the built-in placeholder for the repo root path.
Variables ¶
This section is empty.
Functions ¶
func ContainsPotentialSecretLiteral ¶ added in v0.8.0
ContainsPotentialSecretLiteral reports whether content includes likely secret literals.
func ExpandPath ¶ added in v0.5.6
ExpandPath expands "~" and resolves relative paths against repoRoot. value is the resolved string (placeholders already substituted).
func ExpandPathIfNeeded ¶ added in v0.5.6
ExpandPathIfNeeded expands value when the raw input signals a path placeholder.
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 IsBuiltInEnvVar ¶ added in v0.5.6
IsBuiltInEnvVar reports whether name is reserved for built-in placeholders.
func LoadCommandsAllow ¶
LoadCommandsAllow reads .agent-layer/commands.allow into a slice of prefixes.
func LoadCommandsAllowFS ¶ added in v0.5.7
LoadCommandsAllowFS reads .agent-layer/commands.allow from fsys into a slice of prefixes. root is used for path resolution when path is absolute; path is used for error messages.
func LoadEnvFS ¶ added in v0.5.7
LoadEnvFS reads .agent-layer/.env from fsys into a key-value map. root is used for path resolution when path is absolute; path is used for error messages.
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 ShouldExpandPath ¶ added in v0.5.6
ShouldExpandPath reports whether value requests path expansion. Path expansion is enabled when the value starts with "~" or "${AL_REPO_ROOT}".
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 LoadConfigFS ¶ added in v0.5.7
LoadConfigFS reads .agent-layer/config.toml from fsys and validates it. root is used for path resolution when path is absolute; path is used for error messages.
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.
func LoadInstructionsFS ¶ added in v0.5.7
LoadInstructionsFS reads .agent-layer/instructions/*.md from fsys in lexicographic order. root is used for path resolution when dir is absolute; dir is used for error messages.
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"`
HTTPTransport string `toml:"http_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.
func LoadProjectConfigFS ¶ added in v0.5.7
func LoadProjectConfigFS(fsys fs.FS, root string) (*ProjectConfig, error)
LoadProjectConfigFS reads and validates the full Agent Layer config from an fs.FS rooted at repo root. fsys is the filesystem to read from; root is used for error messages and built-in env values.
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.
func LoadSlashCommandsFS ¶ added in v0.5.7
LoadSlashCommandsFS reads .agent-layer/slash-commands/*.md from fsys in lexicographic order. root is used for path resolution when dir is absolute; dir is used for error messages.
type WarningsConfig ¶
type WarningsConfig struct {
VersionUpdateOnSync *bool `toml:"version_update_on_sync"`
NoiseMode string `toml:"noise_mode"`
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 fields disable their warnings.